2009-09-08 13 views
8

Un altro "questo dovrebbe essere facile, ma non so come farlo" questione ...Ricerca svn impegna

Abbiamo un repository SVN con molti molti rami. C'è un modo per fare una domanda del tipo "Quali sono tutti i commit che ho fatto nell'ultima settimana contro tutti i rami?" o "Quali sono tutte le revisioni che includono le modifiche al file X tra tutte le filiali?"

Posso fare un log su un ramo particolare e cercarlo per ottenere risposte a domande come questa per un ramo, ma come faccio a fare domande come questa in cui la risposta può estendersi su più rami?

risposta

5

I rami non sono speciali per Subversion, sono solo directory. Quindi chiedere "cosa ho commesso la scorsa settimana" non è diverso su una singola directory, un intero ramo o un intero repository. Ricordare che è possibile farlo sull'intero repository senza verificarlo passando l'URL del repository su svn log.

Chiedere quali revisioni hanno cambiato un singolo file tra i rami è più difficile, perché per quanto riguarda Subversion, si tratta di più file diversi. Dovrai svn log il file in ogni ramo o svn log l'intero repository e il filtro.

0

Un modo per esplorare un repository Subversion è utilizzare git svn per importare l'intero repository, i rami e tutto, in un repository Git. Quindi è possibile utilizzare strumenti come gitk per visualizzare il repository. Dal momento che un repository Git è completamente locale, strumenti come gitk hanno un facile accesso a tutta la repository, e sono veloce, molto veloce.

1

La finestra di dialogo di log spettacolo in TortoiseSVN ha un pulsante di statistiche che i gruppi si impegna per autore. Ciò risponderebbe alla tua prima domanda se ti capita di usare TortoiseSVN.

2

È necessario utilizzare strumenti di terze parti (come fisheye) o un'API (come SVNKit). Vedere la discussione pertinente here e here.

-1

Oooh, cerchiamo di essere programmatori qui ... scaricare la libreria SharpSVN e rotolare il proprio.

4

Esempio di ciò che dice @derobert, assumendo oggi è 9 settembre e il busto/rami/tag sono in http://host/svn/project1:

svn log -r {2009-09-02T07:00}:HEAD http://host/svn/project1 
Problemi correlati