comparison hgext/mq.py @ 3691:79151c94c3b4

mq: add --git option to qimport -r
author Brendan Cully <brendan@kublai.com>
date Mon, 20 Nov 2006 13:03:52 -0800
parents 193e9c6d1a6d
children 49136e90517b
comparison
equal deleted inserted replaced
3688:d92dad355000 3691:79151c94c3b4
1260 else: 1260 else:
1261 p = str(self.series.index(pname)) + " " + pname 1261 p = str(self.series.index(pname)) + " " + pname
1262 return p 1262 return p
1263 1263
1264 def qimport(self, repo, files, patchname=None, rev=None, existing=None, 1264 def qimport(self, repo, files, patchname=None, rev=None, existing=None,
1265 force=None): 1265 force=None, git=False):
1266 def checkseries(patchname): 1266 def checkseries(patchname):
1267 if patchname in self.series: 1267 if patchname in self.series:
1268 raise util.Abort(_('patch %s is already in the series file') 1268 raise util.Abort(_('patch %s is already in the series file')
1269 % patchname) 1269 % patchname)
1270 def checkfile(patchname): 1270 def checkfile(patchname):
1304 else: 1304 else:
1305 if heads != [repo.changelog.node(rev[0])]: 1305 if heads != [repo.changelog.node(rev[0])]:
1306 raise util.Abort(_('revision %d has unmanaged children') 1306 raise util.Abort(_('revision %d has unmanaged children')
1307 % rev[0]) 1307 % rev[0])
1308 lastparent = None 1308 lastparent = None
1309
1310 if git:
1311 self.diffopts().git = True
1309 1312
1310 for r in rev: 1313 for r in rev:
1311 p1, p2 = repo.changelog.parentrevs(r) 1314 p1, p2 = repo.changelog.parentrevs(r)
1312 n = repo.changelog.node(r) 1315 n = repo.changelog.node(r)
1313 if p2 != revlog.nullrev: 1316 if p2 != revlog.nullrev:
1422 1425
1423 With --force, an existing patch of the same name will be overwritten. 1426 With --force, an existing patch of the same name will be overwritten.
1424 1427
1425 An existing changeset may be placed under mq control with --rev 1428 An existing changeset may be placed under mq control with --rev
1426 (e.g. qimport --rev tip -n patch will place tip under mq control). 1429 (e.g. qimport --rev tip -n patch will place tip under mq control).
1430 With --git, patches imported with --rev will use the git diff
1431 format.
1427 """ 1432 """
1428 q = repo.mq 1433 q = repo.mq
1429 q.qimport(repo, filename, patchname=opts['name'], 1434 q.qimport(repo, filename, patchname=opts['name'],
1430 existing=opts['existing'], force=opts['force'], rev=opts['rev']) 1435 existing=opts['existing'], force=opts['force'], rev=opts['rev'],
1436 git=opts['git'])
1431 q.save_dirty() 1437 q.save_dirty()
1432 return 0 1438 return 0
1433 1439
1434 def init(ui, repo, **opts): 1440 def init(ui, repo, **opts):
1435 """init a new queue repository 1441 """init a new queue repository
2088 "^qimport": 2094 "^qimport":
2089 (qimport, 2095 (qimport,
2090 [('e', 'existing', None, 'import file in patch dir'), 2096 [('e', 'existing', None, 'import file in patch dir'),
2091 ('n', 'name', '', 'patch file name'), 2097 ('n', 'name', '', 'patch file name'),
2092 ('f', 'force', None, 'overwrite existing files'), 2098 ('f', 'force', None, 'overwrite existing files'),
2093 ('r', 'rev', [], 'place existing revisions under mq control')], 2099 ('r', 'rev', [], 'place existing revisions under mq control'),
2094 'hg qimport [-e] [-n NAME] [-f] [-r REV]... FILE...'), 2100 ('g', 'git', None, _('use git extended diff format'))],
2101 'hg qimport [-e] [-n NAME] [-f] [-g] [-r REV]... FILE...'),
2095 "^qinit": 2102 "^qinit":
2096 (init, 2103 (init,
2097 [('c', 'create-repo', None, 'create queue repository')], 2104 [('c', 'create-repo', None, 'create queue repository')],
2098 'hg qinit [-c]'), 2105 'hg qinit [-c]'),
2099 "qnew": 2106 "qnew":