eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/share.py
changeset 69 c6bca38c1cbf
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/share.py	Sat Jan 08 11:20:57 2011 +0530
@@ -0,0 +1,38 @@
+# Copyright 2006, 2007 Matt Mackall <mpm@selenic.com>
+#
+# This software may be used and distributed according to the terms of the
+# GNU General Public License version 2 or any later version.
+
+'''share a common history between several working directories'''
+
+from mercurial.i18n import _
+from mercurial import hg, commands
+
+def share(ui, source, dest=None, noupdate=False):
+    """create a new shared repository
+
+    Initialize a new repository and working directory that shares its
+    history with another repository.
+
+    .. 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)
+
+cmdtable = {
+    "share":
+    (share,
+     [('U', 'noupdate', None, _('do not create a working copy'))],
+     _('[-U] SOURCE [DEST]')),
+}
+
+commands.norepo += " share"