2009-09-08 2 views
8

Ein anderer „das sollte einfach sein, aber ich weiß nicht, wie es zu tun“ Frage ...Suche svn verpflichtet

Wir haben eine SVN-Repository mit vielen vielen Zweigen. Gibt es eine Möglichkeit, eine Frage zu stellen wie "Was sind all die Commits, die ich in der letzten Woche gegen alle Zweige getan habe?" oder "Was sind alle Überarbeitungen, die Änderungen in Datei X in allen Zweigen enthalten?"

Ich kann einen bestimmten Zweig loggen und es durchsuchen, um Antworten auf Fragen wie diese für einen Zweig zu bekommen, aber wie stelle ich Fragen wie diese, wo die Antwort mehrere Zweige umfassen kann?

Antwort

5

Zweige sind nicht speziell für Subversion, sie sind nur Verzeichnisse. Die Frage "Was habe ich letzte Woche begangen?" Unterscheidet sich nicht von einem einzelnen Verzeichnis, einer ganzen Verzweigung oder einem gesamten Repository. Denken Sie daran, dass Sie dies für das gesamte Repository tun können, ohne es auszuprobieren, indem Sie die Repository-URL an svn log übergeben.

Wenn man fragt, welche Revisionen sich geändert haben, ist eine einzelne Datei über Zweige hinweg schwieriger, da es sich bei Subversion um mehrere verschiedene Dateien handelt. Sie müssen svn log die Datei in jedem Zweig, oder svn log das gesamte Repository und Filter.

0

Eine Möglichkeit, ein Subversion-Repository zu durchsuchen, besteht darin, git svn zu verwenden, um Ihr gesamtes Repository, Zweige und alle, in ein Git-Repository zu importieren. Dann können Sie Tools wie gitk verwenden, um das Repository anzuzeigen. Da ein Git-Repository vollständig lokal ist, haben Tools wie gitk einfachen Zugriff auf das gesamte Repository, und sie sind schnell, wirklich schnell.

1

Das Dialogfeld "Protokoll anzeigen" in TortoiseSVN verfügt über eine Statistikschaltfläche, die die Commits nach Autor gruppiert. Das würde deine erste Frage beantworten, wenn du TortoiseSVN benutzt.

-1

Oooh, lass uns Programmierer hier sein ... Laden Sie die Bibliothek SharpSVN herunter und rollen Sie Ihre eigenen.

4

Beispiel von dem, was @derobert sagt, heute ist unter der Annahme, 9. September und Ihren trunk/branches/tags ist in http://host/svn/project1:

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