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": |