Wie erstelle ich einen Zweig in SVN?
Wie erstelle ich einen Zweig in SVN?
Das Verzweigen in Subversion wird durch eine sehr sehr leichte und effiziente Kopierfunktion erleichtert.
Verzweigung und Markierung sind praktisch gleich. Kopieren Sie einfach mit dem svn copy
Befehl einen ganzen Ordner im Repository an eine andere Stelle im Repository .
Grundsätzlich bedeutet dies, dass das Kopieren eines Ordners gemäß Konvention bedeutet - ob es sich um ein Backup, ein Tag, einen Zweig oder was auch immer handelt. Abhängig davon, wie Sie über Dinge nachdenken möchten (normalerweise abhängig davon, welches SCM-Tool Sie in der Vergangenheit verwendet haben), müssen Sie eine Ordnerstruktur in Ihrem Repository einrichten, um Ihren Stil zu unterstützen.
Häufige Arten sind eine Reihe von Ordnern an der Spitze Ihres Repository haben genannt tags
, branches
, trunk
usw. - , dass Sie Ihre ganzen kopieren kann trunk
(oder Untergruppen) in den tags
und / oder branches
Ordner. Wenn Sie mehr als ein Projekt haben, möchten Sie möglicherweise diese Art von Struktur unter jedem Projekt replizieren:
Es kann eine Weile dauern, bis Sie sich an das Konzept gewöhnt haben - aber es funktioniert - stellen Sie nur sicher, dass Sie (und Ihr Team) klar sind, welche Konventionen Sie verwenden werden. Es ist auch eine gute Idee, eine gute Namenskonvention zu haben - etwas, das Ihnen sagt, warum der Zweig / das Tag erstellt wurde und ob es noch angemessen ist -, über Möglichkeiten nachzudenken, veraltete Zweige zu archivieren.
svn cp
billige Kopien, kopiert es nicht die tatsächlichen Dateien während der Verzweigung. Siehe svnbook.red-bean.com/de/1.1/ch04s02.htmlErstellen Sie einen neuen Zweig mit dem folgenden
svn copy
Befehl:quelle
svn switch svn+ssh://host.example.com/repos/project/branches/NAME_OF_BRANCH .
Sie als Nächstes (wenn Sie die aktuelle Kasse auf einen neuen Zweig umstellen möchten) odersvn checkout svn+ssh://host.example.com/repos/project/branches/NAME_OF_BRANCH
(wenn Sie einen neuen Zweig in einem separaten Verzeichnis haben möchten), um mit der Arbeit an einem neu erstellten Zweig zu beginnen.--parents
Option mit verwendensvn copy
!-m
Option weglasse , heißt es wiesvn: E155010: Path '/home/constantine/someDirectory/svn+ssh:https:/myhost.com/svn/dir1/dir2/trunk/dir3/dir4/dir5' does not exist
. Damit-m
heißt essvn: E205009: Local, non-commit operations do not take a log message or revision properties
. (Ich habe die Adressen ersetzt, aber sie existieren, außer ofc, dem neuen Zweigverzeichnis und dem gesamten Pfad + der URL, die SVN aus irgendeinem Grund im Fehler zusammengeführt hat) .Wenn Ihr Repo über https verfügbar ist, können Sie diesen Befehl verwenden, um ...
quelle
Wenn Sie einige lokale Änderungen in der Amtsleitung haben, verwenden Sie diese,
Rsync
um Änderungen zu synchronisierenquelle
rsync
auf diese Weise zu verwenden.svn cp
kopiert auch alle lokalen Änderungen.Angenommen, Sie möchten einen Zweig aus einem Trunk-Namen (als "TEST") erstellen und verwenden dann:
quelle
Normalerweise kopieren Sie es nach svn + ssh: //host.example.com/repos/project/branches/mybranch, damit Sie mehrere Zweige im Repository behalten können, aber Ihre Syntax ist gültig.
Hier einige Ratschläge zum Einrichten Ihres Repository-Layouts .
quelle
Top Tipp für neue SVN-Benutzer; Dies kann ein wenig helfen, um schnell die richtigen URLs zu erhalten.
Führen Sie
svn info
diese Option aus , um nützliche Informationen zum aktuell ausgecheckten Zweig anzuzeigen.Die URL sollte (wenn Sie svn im Stammordner ausführen) die URL enthalten, von der Sie kopieren müssen.
Verwenden Sie auch den
svn switch
Befehl , um zum neu erstellten Zweig zu wechseln :quelle
Wenn Sie sogar vorhaben, Ihre Niederlassung zusammenzuführen, sollten Sie sich Folgendes ansehen:
Svnmerge.py
Ich habe gehört, dass Subversion 1.5 mehr Merge-Tracking einbaut. Ich habe keine Erfahrung damit. Mein Projekt ist auf 1.4.x und svnmerge.py ist ein Lebensretter!
quelle
quelle
Im Folgenden finden Sie die Schritte zum Erstellen eines Zweigs aus dem Trunk mithilfe von TortoiseSVN in einem Windows-Computer. Dazu muss natürlich der TortoiseSVN-Client installiert sein.
quelle