2010-05-25 20 views
13

Wenn eine Arbeitskopie (lokale Kopie) von einem Zweig erstellt wurde, nennen wir es A. Codierung wurde in Zweig A durchgeführt, aber Zweig A war "Closed" zu Commits, und Zweig b wurde geöffnet. Wie führe ich meine Arbeitskopie-Änderungen in Zweig B zusammen und verbinde mich mit Zweig B, ohne meine Änderungen zuerst an Zweig A zu übergeben.SVN Working Copy zu verschiedenen Branch Merge Ohne Commit zum Arbeitskopie Branch

Trunk -> Zweig A.

I checked out branch A and made changes. 
    Branch A was closed to commits. 

Neue Niederlassung erstellt von Zweig A. Zweig A -> Zweig B.

I would like to commit my working copy changes (currently pointing at Branch A into branch B without commiting to Branch A) 

Antwort

16
  1. Make Backup Ihrer Arbeitskopie.
  2. svn switchB
  3. Änderungen prüfen verzweigen (Basisrevision abweichen, und svn nicht blind, stumm Text verschmilzt nur), Konflikte lösen, wenn überhaupt
  4. begehen

mit einem Dinge wie diese tun Arbeitskopie mit nicht festgeschriebenen Änderungen ist gefährlich. Wenn etwas schief läuft oder zu viele widersprüchliche Änderungen vorliegen, setze einen Rollback auf deine gesicherte Version, erstelle einen temporären Zweig aus der Basisrevision deiner Arbeitskopie von A, wechsle dorthin und bestätige deine Änderungen, damit sie an einem sicheren Ort sind. Dann fusionieren Sie diesen Zweig in B wie Sie wollen und löschen Sie es danach.

das SVN-Mantra Denken Sie daran: Commit früh, begehen oft. Wenn ich nicht festgelegte Änderungen länger als einen Arbeitstag habe, werde ich nervös. Normalerweise erstelle ich einen Feature-Zweig für jede Entwicklung, die länger als ein paar Stunden dauert. und regelmäßig dazu verpflichten. Wenn ich fertig bin, füge ich es zusammen, wo auch immer es herkommt und lösche es danach.

+0

Das funktionierte. Ich brauchte das Backup nicht, aber es war gut zu haben, da man nicht mehrere Tage Arbeit verlieren möchte. Ich mag das Svn Mantra! –

2

Um sehr vorsichtig sein, ich meine Änderungen an eine Nebenstelle begehen würde (nennen wir es C), dann verschmelzen den C Zweig an den neuen Open-for-Commits Zweig B.

  1. cd zu Arbeitsverzeichnis mit Änderungen
  2. svn copy . C
  3. cd .. in Ihren Arbeitsbereich Ordner mit Auscheckvorgänge
  4. svn co B
  5. cd in B Verzeichnis
  6. svn merge die Revision von Schritt begehen wollen 2
  7. Änderungen überprüfen.
  8. Commit!