2010-04-22 9 views

risposta

6

Non credo che svn è dotato di supporto per questa caratteristica, ma si potrebbe scrivere un piccolo script per eseguire

svn log --xml 

Nella directory di qualunque pronti contro termine si voleva provare, poi analizzarlo e scegli solo le voci fatte da un determinato utente.

+0

Dove si esegue questa operazione, nella directory del repository sul server? Per esempio. la directory che contiene conf, dav, db, format, hooks, lock. Se così dice svn: '.' non è una copia funzionante –

+0

No, vorrai farlo su un client. svn co http://url.com/svn/thing; cosa cd; svn log --xml – Allyn

+0

Quindi quello non mostrerebbe se un altro utente lo ha controllato? Fondamentalmente voglio sapere chi sta controllando un certo repo. –

2

I secondo Allyn's answer, ma ho un'aggiunta: Se si utilizza Windows, TortoiseSVN consente di filtrare l'output, inclusa la possibilità di filtrare in base al nome utente.

9

Ecco un piccolo trucco che utilizza GNU's sed per eseguire un'espressione regolare sull'output del registro dal comando svn. Cambiare nome utente per il nome utente si richiede

svn log | sed -n '/| username |/,/-----$/ p' 

Per ottenere un elenco delle cartelle da una configurazione WebDAV (ero su una casella di Ubuntu al momento della scrittura) provare qualcosa di simile ....

grep SVNPath /etc/apache2/mods-available/dav_svn.conf | grep -v \# | sed 's/^\s*SVNPath //' 

Questo semplifica semplicemente una volta la linea, due volte per rimuovere le righe commentate e filtra la parola chiave SVNPath ei caratteri spazio vuoto associati. I risultati sono cartelle repository quindi se si intende utilizzare il comando svn, anteporre al file: //

Problemi correlati