# HG changeset patch # User Greg Ward # Date 2010-01-14 03:05:06 # Node ID 279c8a73fde10f73078432a06b2cf3b7a774fff6 # Parent 26fc868cb8b0a89748cf37a1d1970fa964eecbf3 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 @@ def share(ui, source, dest=None, noupdat 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)