diff options
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.py | 38 |
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" |