Ich habe ein Repository namens Master, der Produkt Releases hält. Es hat mehrere Tags (wie 1.0,2.0,3.0) als Grundlinie. Wenn ich Hotfix für eine Version erstellen möchte, z. B. 1.0. Ich benutze Befehl wie folgt:Problem von hg Klon srC# tag dest
hg clone master#1.0 hotfix_1.0.1
cd hotfix_1.0.1
hg tip
changeset: 14:b2492c2611a1
tag: tip
user: codingboy <[email protected]>
date: Thu Dec 09 14:03:23 2010 +0800
summary: fix bug4
Ich finde Tipp-Version ist was ich brauche, ist aber nicht mit 1.0 markiert. Es wird dazu führen, dass meine Änderungen in Hotfix_1.0.1 nicht Push-to-Master sein können. der Fehler ist
(abort) unknown 1.0 revision.
ich überprüfen Master-Repository. Das Protokoll zeigt unter
changeset: 15:3497c46cbc7f
tag: tip
user: codingboy <[email protected]>
date: Thu Dec 09 14:03:27 2010 +0800
summary: Added tag 1.0 for changeset b2492c2611a1
changeset: 14:b2492c2611a1
tag: 1.0
user: codingboy <[email protected]>
date: Thu Dec 09 14:03:23 2010 +0800
summary: fix bug4
so scheint es geklonte Repository verloren Changset # 15. Mein Verständnis ist hg Klon srC# Tag dest sollte Klon Tag, die ich brauche klonen. Aber diese Operation kann das Kind des Änderungssatzes # 14, bei dem es sich um einen Tag handelt, nicht klonen. Also, was ich getan habe, ist den Befehl
hg clone master hotfix_1.0.1 -u 1.0
Ich mag diesen Befehl nicht. Wenn das Master-Repository riesig ist und ich nur die alte Version reparieren möchte, wird es Zeit verschwenden, Änderungen zu klonen und zu pushen.
Gibt es einen anderen Ansatz, um ein Repository von einer Baseline oder einem Tag korrekt zu klonen?
dank ...
Mögliche Duplikat mit meiner [Frage] (http://stackoverflow.com/questions/3770889/how-to-get-the-tag-changeset-after-you-clone-or-pull-to-a-tag -verwenden-mercurial). Ich sagte in einem meiner Kommentare, dass ein Pre-Clone- und Pre-Pull-Hook, um das rev-Argument zu ändern, um das Tag-Changeset (wenn es das einzige Kind ist) die beste Lösung wäre, aber ich hatte nie die Chance, es tatsächlich zu tun . –