Ich bin im Stammordner eines von SVN gehosteten Projekts trunk
und untersuche das Einrichten von zwei Zweigen.
Ein Zweig ist ein "Schnappschuss" des Projekts bei der aktuellen (stabilen) Revision, und ein zweiter Zweig ist einer, an dem ich arbeiten werde, um neuen Code anzuwenden, den Trunk zu testen und dann auf eine neue Version zu aktualisieren.
Mein Ziel ist es, den Schnappschuss als Versicherung zu behalten und schnell eine ältere, stabile Version unseres Projekts zu erhalten. Der zweite Zweig wird, sobald wir neuen Code angewendet und die Tests bestanden haben, wieder in den Trunk integriert, den wir der Öffentlichkeit anbieten.
Um den Schnappschuss einzurichten, habe ich unseren trunk
in einen Zweig namens kopiert v1p2p3
:
$ svn cp https://www.example.com/svn/trunk \
https://www.example.com/svn/branches/v1p2p3 \
-m "Branching from root trunk to v1p2p3 at r1114"
So weit, ist es gut:
Committed revision 1115.
Ich möchte meine lokale Repository-Kopie auf diesen Zweig umstellen, um sicherzustellen, dass alles funktioniert, aber ich erhalte eine Fehlermeldung:
$ svn switch --relocate https://www.example.com/svn/trunk \
https://www.example.com/svn/branches/v1p2p3
Die Fehlermeldung lautet:
svn: E155024: Invalid relocation destination:
'https://www.example.com/svn/branches/v1p2p3'
(does not point to target)
Was mache ich falsch?
(Wenn dies nicht funktioniert, kann ich vermutlich nicht mit dem ehrgeizigeren zweiten Zweig beginnen. Ich suche nach einer Möglichkeit, dies zu tun, ohne das vorhandene Projektlayout zu beschädigen. Vielen Dank für Ihren Rat und Entschuldigung, wenn dies eine dumme Frage ist.)
trunk
Ruhe lassen, richtig?svn info
Die Kurzversion der (richtigen) Antwort von tzaman lautet (für frische SVN)
--relocate
Schalter ist sowieso veraltet, wenn es nötig ist, müssen Siesvn relocate
Befehl verwendenAnstatt einen Snapshot-Zweig (ReadOnly) zu erstellen, können Sie Tags verwenden (herkömmliche RO-Labels für den Verlauf).
Unter Windows muss das Caret-Zeichen (
^
) maskiert werden:quelle
In meinem Fall wollte ich
check out
einenew branch
, die in letzter Zeit gekürzt wurde, aber groß ist, und ich möchte Zeit und Internetbandbreite sparen, da ich mich in einem langsam gemessenen Netzwerk befindealso ich,
copped the previous branch
dass ich schon eingecheckt habeIch bin in das Arbeitsverzeichnis gegangen und anhand der SVN-Informationen kann ich sehen, dass es sich um den vorherigen Zweig handelt. Ich habe den folgenden Befehl ausgeführt (Sie finden diesen Befehl unter
svn switch --help
).Check
svn info
wieder können Sie sehen , es ist die newBranchName voran gehen immer undsvn up
und so bekam ich die neue Niederlassung einfach und schnell mit minimaler Datenübertragung über das Internet
Ich hoffe, mein Fall zu teilen hilft und beschleunigt Ihre Arbeit
quelle