SVN Tips: get diff with files only

Wyciągnięcie tylko nazw plików z SVN’a z ostatniej rewizji jest stosnkowo proste, jednak wymaga wyciągnięcia numeru revizji “HEAD” i decrementację numerka: #!/bin/bash REV=`svn info -rHEAD --xml |grep revision |sed 's/revision="//g' |sed 's/">//g' |head -n1``` let "REV-=1" svn diff -r $REV:HEAD --summarize W outpucie jest lista plików.

kwietnia 16, 2010 · paramah

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