summaryrefslogtreecommitdiff
path: root/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/share.py
diff options
context:
space:
mode:
Diffstat (limited to 'eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/share.py')
-rw-r--r--eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/share.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/share.py b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/share.py
new file mode 100644
index 0000000..cc33148
--- /dev/null
+++ b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/share.py
@@ -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"