22 Oct 2006 ensonic   » (Master)

how to lock you out of sf.net CVS

In the past I was using the freedesktop.org syncmail script for my repositories on sf.net. The advantage over the sf.net one is, that it also sends a mail with links for viewcvs. Now since May when sf.net changed the cvs infrastructure the scripts stopped sending mail.

Recentry I stated to analyse the problem. Wayne Davison of sf.net pointed out that the email system changed and the fdo script was using sendmail directly. Okay, with my nearly non-existent python skills I rewrote the fdo one to send mails to the smtp on a given port. I tested the script on a local cvs repository and it worked. Still on the sf.net site it didn't. Its not easy to debug it if you can't see the output :(

This was when I had the smart, but lethal idea. I've added 2>commitinfo.log to the hookscript invokation in commitinfo (and the same for loginfo). Then I've added the logs to the checkoutlist file. The plan was that by checking out CVSROOT I get the logs. Unfortunately CVS tries to be smart and quotes the stderr redirect and passes this as the first arg to the hookscript. This then fails to parse it and aborts. CVS in turn interprets this as hookscript check failed and thus rejects the commit. Bang!

Fortunately the sf.net admins commented out the broken entries, so that now I can commit stuff again. Had anyone more succes with adapting the fdo syncmail script?

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!