[PATCH stable] share: be more explicit about the dangers of rollback

Greg Ward greg-hg at gerg.ca
Wed Jan 13 21:05:40 CST 2010


# HG changeset patch
# User Greg Ward <greg-hg at gerg.ca>
# Date 1263438306 18000
# Branch stable
# Node ID db5395311c84ecbbe994973c511a3aa57fdd08d6
# Parent  cd3e5c47d6631dc5eccaa5ee043ef1905ded8c8b
share: be more explicit about the dangers of rollback.

diff --git a/hgext/share.py b/hgext/share.py
--- a/hgext/share.py
+++ b/hgext/share.py
@@ -14,8 +14,15 @@
     Initialize a new repository and working directory that shares its
     history with another repository.
 
-    NOTE: actions that change history such as rollback or moving the
-    source may confuse sharers.
+    NOTE: using rollback or extensions that destroy/modify history
+    (MQ, rebase, etc.) can cause considerable confusion with shared
+    clones.  In particular, if two shared clones are both updated to the
+    same changeset, and one of them destroys that changeset with
+    rollback, the other clone will suddenly stop working: all
+    operations will fail with \"abort: working directory has unknown
+    parent\".  The only known workaround is to use debugsetparents
+    on the broken clone to reset it to a changeset that still exists
+    (e.g. tip).
     """
 
     return hg.share(ui, source, dest, not noupdate)


More information about the Mercurial-devel mailing list