2010-11-12 9 views
5

Dies sollte trivial und offensichtlich sein, aber ich kann keine Beispiele dafür finden. (Ich bin mir sicher, das ist, weil ich nur nach den falschen Wörtern suche.)Neue Datei im Stamm in einen Zweig "einbinden"

Ich muss eine Datei aus dem Stamm meines Repository in einen Zweig zusammenführen. Die Datei ist neu im Stamm und noch nicht im Zweig; Daher funktioniert der normale Weg, auf dem ich merke, einfach nicht. Also muss ich diese neue Datei irgendwie in den Zweig bekommen.

Ich muss dies selektiv mit bestimmten Dateien tun; mit anderen Worten, ich möchte nicht den ganzen Stamm zusammenführen, und ich kann nicht einmal eine ganze Änderungsliste zusammenführen.

Vielen Dank für Anregungen.

bearbeiten — Ich weiß, kann ich nur die Datei von meinem Stamm-Arbeitsbereich kopieren und svn add es den Zweig, aber ich glaube nicht, dass der „richtige“ Weg, dies zu tun.

+0

Haben Sie versucht, nur die Revision zusammenzuführen, die diese Datei eingeführt hat? wenn es natürlich die einzige Datei wäre ... – mpapis

+0

Nein, das Einchecken im Kofferraum enthielt viele Sachen, die ich nicht in den Zweig einbinden kann. – Pointy

Antwort

10

Sie können etwas wie svn cp ^/trunk/file1 ^/branches/mybranch/file1 tun, um einzelne Dateien vom Stamm in den Zweig zu kopieren.

+0

Wow, das macht bestimmt * etwas *. Auch wenn ich zweimal Upvote machen könnte, würde ich für diesen "^" Trick - ich vermute, dass das so etwas wie "der offensichtliche Repository-Host" für eine angemessene Bedeutung von "offensichtlich" bedeutet? – Pointy

+2

^bedeutet "der Stamm des aktuellen Arbeitskopie-Repository". –

+0

Dies scheint falsch, es wird einen Konflikt erstellen, wenn Sie später versuchen, eine Zusammenführung zwischen Stamm und mybranch zu tun. –

0

Der folgende Befehl, ignoriert alle Konflikte, überschreibt alte Dateien und fügt neue Dateien: Go Verzeichnis trunk und von BRANCHEN fusionieren:

svn merge --accept ihre voll

0

das übergeordnete Verzeichnis finden das existiert bereits im Zielzweig. Verwenden Sie --depth, um Verzeichnisse und Dateien rekursiv zusammenzuführen.

Zum Beispiel:

svn merge -c 1234 --depth infinity ^/RING/trunk/exec/parent parent 

Wo 1234 die Revisionsnummer zusammengeführt werden.

Neue Dateien können in ^/RING/trunk/exec/parent existieren, sind aber noch nicht im übergeordneten Verzeichnis des Zielzweigs erstellt. Der obige Zusammenführungsbefehl würde die neuen Dateien im Ziel-Zweig-Elternverzeichnis hinzufügen.

Verwandte Themen