Mercurial > hg
annotate contrib/convert-repo @ 10251:a19d2993385d stable
subrepo: fix merging of already merged subrepos (issue1986)
This fixes a bug seen when merging a main repo which contains a subrepo when
both repos have been merged before. Each repo (main and sub) has two
branches, both of which have been merged before.
In a subrepo, if the revision to merge to is an ancestor of the current rev,
then the merge should be a noop.
Test provided by Steve Losh.
author | Benoit Boissinot <benoit.boissinot@ens-lyon.org> |
---|---|
date | Fri, 15 Jan 2010 21:08:04 +0100 |
parents | 1d3eb332f3cb |
children |
rev | line source |
---|---|
4514
ec889780f28b
Add a wrapper script for convert extension
Edouard Gomez <ed.gomez@free.fr>
parents:
diff
changeset
|
1 #!/usr/bin/env python |
ec889780f28b
Add a wrapper script for convert extension
Edouard Gomez <ed.gomez@free.fr>
parents:
diff
changeset
|
2 # |
ec889780f28b
Add a wrapper script for convert extension
Edouard Gomez <ed.gomez@free.fr>
parents:
diff
changeset
|
3 # Wrapper script around the convert.py hgext extension |
ec889780f28b
Add a wrapper script for convert extension
Edouard Gomez <ed.gomez@free.fr>
parents:
diff
changeset
|
4 # for foreign SCM conversion to mercurial format. |
ec889780f28b
Add a wrapper script for convert extension
Edouard Gomez <ed.gomez@free.fr>
parents:
diff
changeset
|
5 # |
ec889780f28b
Add a wrapper script for convert extension
Edouard Gomez <ed.gomez@free.fr>
parents:
diff
changeset
|
6 |
ec889780f28b
Add a wrapper script for convert extension
Edouard Gomez <ed.gomez@free.fr>
parents:
diff
changeset
|
7 import sys |
ec889780f28b
Add a wrapper script for convert extension
Edouard Gomez <ed.gomez@free.fr>
parents:
diff
changeset
|
8 from mercurial import ui, fancyopts |
ec889780f28b
Add a wrapper script for convert extension
Edouard Gomez <ed.gomez@free.fr>
parents:
diff
changeset
|
9 from hgext import convert |
ec889780f28b
Add a wrapper script for convert extension
Edouard Gomez <ed.gomez@free.fr>
parents:
diff
changeset
|
10 |
ec889780f28b
Add a wrapper script for convert extension
Edouard Gomez <ed.gomez@free.fr>
parents:
diff
changeset
|
11 # Options extracted from the cmdtable |
ec889780f28b
Add a wrapper script for convert extension
Edouard Gomez <ed.gomez@free.fr>
parents:
diff
changeset
|
12 func, options, help = convert.cmdtable['convert'] |
ec889780f28b
Add a wrapper script for convert extension
Edouard Gomez <ed.gomez@free.fr>
parents:
diff
changeset
|
13 |
ec889780f28b
Add a wrapper script for convert extension
Edouard Gomez <ed.gomez@free.fr>
parents:
diff
changeset
|
14 # An ui instance |
ec889780f28b
Add a wrapper script for convert extension
Edouard Gomez <ed.gomez@free.fr>
parents:
diff
changeset
|
15 u = ui.ui() |
ec889780f28b
Add a wrapper script for convert extension
Edouard Gomez <ed.gomez@free.fr>
parents:
diff
changeset
|
16 |
ec889780f28b
Add a wrapper script for convert extension
Edouard Gomez <ed.gomez@free.fr>
parents:
diff
changeset
|
17 opts = {} |
ec889780f28b
Add a wrapper script for convert extension
Edouard Gomez <ed.gomez@free.fr>
parents:
diff
changeset
|
18 args = [] |
ec889780f28b
Add a wrapper script for convert extension
Edouard Gomez <ed.gomez@free.fr>
parents:
diff
changeset
|
19 try: |
6365
1d3eb332f3cb
convertrepo: make it work with refactored convert extension
Patrick Mezard <pmezard@gmail.com>
parents:
4514
diff
changeset
|
20 args = list(fancyopts.fancyopts(sys.argv[1:], options, opts)) |
1d3eb332f3cb
convertrepo: make it work with refactored convert extension
Patrick Mezard <pmezard@gmail.com>
parents:
4514
diff
changeset
|
21 args += [None]*(3 - len(args)) |
1d3eb332f3cb
convertrepo: make it work with refactored convert extension
Patrick Mezard <pmezard@gmail.com>
parents:
4514
diff
changeset
|
22 src, dest, revmapfile = args |
1d3eb332f3cb
convertrepo: make it work with refactored convert extension
Patrick Mezard <pmezard@gmail.com>
parents:
4514
diff
changeset
|
23 except (fancyopts.getopt.GetoptError, ValueError), inst: |
1d3eb332f3cb
convertrepo: make it work with refactored convert extension
Patrick Mezard <pmezard@gmail.com>
parents:
4514
diff
changeset
|
24 u.warn('Usage:\n%s\n' % help) |
4514
ec889780f28b
Add a wrapper script for convert extension
Edouard Gomez <ed.gomez@free.fr>
parents:
diff
changeset
|
25 sys.exit(-1) |
ec889780f28b
Add a wrapper script for convert extension
Edouard Gomez <ed.gomez@free.fr>
parents:
diff
changeset
|
26 |
6365
1d3eb332f3cb
convertrepo: make it work with refactored convert extension
Patrick Mezard <pmezard@gmail.com>
parents:
4514
diff
changeset
|
27 convert.convert(u, src, dest, revmapfile, **opts) |