In den guten alten Tagen von Subversion konnte ich manchmal eine neue Datei von einer bestehenden ableiten, die svn copy
verwendet. Wenn sich dann etwas in Abschnitten änderte, die sie gemeinsam hatten, konnte ich immer noch svn merge
verwenden, um die abgeleitete Version zu aktualisieren.Kann ich in Mercurial Änderungen von einer Datei auf eine andere Datei in derselben Verzweigung anwenden?
Um das Beispiel von hginit.com zu verwenden, sagen Sie, dass das "guac" Rezept bereits existiert, und ich will einen "superguac" schaffen, der Anweisungen enthält, wie man 1000 rauschenden Fußballfans Guacamole dient. Unter Verwendung des gerade beschriebenen Prozesses könnte ich:
svn cp guac superguac
svn ci -m "Created superguac by copying guac"
(edit superguac)
svn ci -m "Added instructions for serving 1000 raving soccer fans to superguac"
(edit guac)
svn ci -m "Fixed a typo in guac"
svn merge -r3:4 guac superguac
und somit die Tippfehlerkorrektur auf Superguac angewendet werden.
Mercurial bietet einen hg copy
Befehl, der eine Datei als eine Kopie des Originals markiert, aber ich bin nicht sicher, ob die Repository-Struktur einen ähnlichen Workflow unterstützt. Hier ist das gleiche Beispiel, und ich sorgfältig bearbeiten nur eine einzelne Datei in die befehle ich in der Zusammenführung verwenden möchten:
hg cp guac superguac
hg ci -m "Created superguac by copying guac"
(edit superguac)
hg ci -m "Added instructions for serving 1000 raving soccer fans to superguac"
(edit guac)
hg ci -m "Fixed a typo in guac"
Ich möchte jetzt die Änderung in guac zu superguac anzuwenden. Ist das möglich? Wenn ja, was ist der richtige Befehl? Gibt es in Mercurial einen anderen Workflow, der dieselben Ergebnisse erzielt (auf einen Zweig beschränkt)?
ich dieses spezielle Beispiel erkennen aussieht, ist ziemlich einfach Zweige zur Neufassung mit und Mercurial löst diese Situation trivial. Leider benötige ich in meiner realen Anwendung beide Dateien im selben Zweig, daher meine Schwierigkeit ... – Stephen
Nachdem ich darüber mehr nachgedacht habe (und beide Lösungen in meinem Repo getestet habe), denke ich, dass beide Antworten von Nutzen sind. Wenn ich die Antwort von Rudi vorher gekannt hätte, könnten alle Änderungen, die für beide Dateien gelten, seine Methode verwenden. Leider, da ich beide Dateien nach der Kopie bearbeitet habe, bietet Ry4ans Lösung mir einen Workaround. Danke geht an beide! – Stephen