contrib/convert-repo
author Pierre-Yves David <pierre-yves.david@logilab.fr>
Fri, 31 Jan 2014 01:04:05 -0800
changeset 20477 2607a21bb40b
parent 6365 1d3eb332f3cb
permissions -rwxr-xr-x
pull: move transaction logic into the pull object Most local change that occurs during a pull are doing within a `transaction`. Currently this mean (1) adding new changeset (2) adding obsolescence markers. We want the two operations to be done in the same transaction. However we do not want to create a transaction if nothing is added to the repo. Creating an empty transaction would drop the previous transaction data and confuse tool and people who are still using rollback. So the current pull code has some logic to create and handle this transaction on demand. We are moving this logic in to the `pulloperation` object itself to simplify this lazy creation logic through all different par of the push. Note that, in the future, other part of pull (phases, bookmark) will probably want to be part of the transaction too.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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)