SVN hooks i autoupdate’y

Czsami problemy są nieco ukryte, jednak jak zawsze debug daje radę. Hooks w svn’ie to rzecz bardzo przydatna, jeszcze bardziej jak chcemy po każdym commit’owaniu otrzymać działającą kopię na stronie testowej, klasyczne wykorzystanie cron’a jest często uciążliwe, a hook post-commit wykonywany jest jak sama nazwa wskazuje po commit’owaniu, autoupdate można zrobic tak: {REPO}/hooks/post-commit (skrypt z bitem wykonywalności) #!/bin/sh /usr/local/bin/update Sam skrypt update w moim przypadku to C: #include #include #include int main(void) { execl("/path/to/svn", "svn", "update", "--username", "USERNAME", "--password", "PASSWORD", "--no-auth-cache", "/path/to/svnsite/", (const char *) NULL); return(EXIT_FAILURE); } ` ``` gcc update.c -o update cp update /usr/local/bin chmod +s /usr/local/bin/update W całym kodzie ważny jest –no-auth-cache, ponieważ bez tego system będzie prosić o dopowiedź w jaki sposób przchowywać hasła w pliku cache, jakoże wykonywane jest to przez użytkownika apache (w moim przypadku), który nie posiada własnego shella i home (oczywiste), pytanie takie jest powodem nie działania skryptu. ...

czerwca 3, 2009 · paramah

Trac AUTH PLAIN

Niestety czasami jest tak, że trzeba wymusić PLAIN w SMTP ;) domyślnie TRAC tego nie potrafi, więc trzeba było dodać mały hack do konfiguracji, żeby wymuszać. Hack: trac:/home/trac/sites# diff /usr/share/python-support/trac/trac/notification-orig.py /usr/share/python-support/trac/trac/notification.py 87c87,90 < --- > > force_plain = BoolOption('notification', 'force_plain', 'false', > """Force AUTH PLAIN in SMTP Authentication.""") > 162a166 > self._force_plain = self.env.config.getbool('notification', 'force_plain') 279c283 < # self.server.set_debuglevel(True) --- > self.server.set_debuglevel(True) 285a290,292 > if self._force_plain: > self.server.ehlo() > self.server.esmtp_features["auth"] = "LOGIN PLAIN" W trac.ini dodajemy: ...

listopada 13, 2008 · paramah