Mercurial > hg > mercurial-crew-with-dirclash
comparison hgext/mq.py @ 2694:0fb28dbf0dc7
MQ: uniformise message and logfile option.
Possibility to change message in qrefresh option
author | "Mathieu Clabaut <mathieu.clabaut@gmail.com>" |
---|---|
date | Wed, 26 Jul 2006 20:11:54 +0200 |
parents | 4e2dc5c16e61 |
children | be273f6074de |
comparison
equal
deleted
inserted
replaced
2693:8342c0286184 | 2694:0fb28dbf0dc7 |
---|---|
440 p.close() | 440 p.close() |
441 wlock = None | 441 wlock = None |
442 r = self.qrepo() | 442 r = self.qrepo() |
443 if r: r.add([patch]) | 443 if r: r.add([patch]) |
444 if commitfiles: | 444 if commitfiles: |
445 self.refresh(repo, short=True) | 445 self.refresh(repo, msg=None, short=True) |
446 | 446 |
447 def strip(self, repo, rev, update=True, backup="all", wlock=None): | 447 def strip(self, repo, rev, update=True, backup="all", wlock=None): |
448 def limitheads(chlog, stop): | 448 def limitheads(chlog, stop): |
449 """return the list of all nodes that have no children""" | 449 """return the list of all nodes that have no children""" |
450 p = {} | 450 p = {} |
737 self.ui.write("No patches applied\n") | 737 self.ui.write("No patches applied\n") |
738 return | 738 return |
739 qp = self.qparents(repo, top) | 739 qp = self.qparents(repo, top) |
740 commands.dodiff(sys.stdout, self.ui, repo, qp, None, files) | 740 commands.dodiff(sys.stdout, self.ui, repo, qp, None, files) |
741 | 741 |
742 def refresh(self, repo, short=False): | 742 def refresh(self, repo, msg=None, short=False): |
743 if len(self.applied) == 0: | 743 if len(self.applied) == 0: |
744 self.ui.write("No patches applied\n") | 744 self.ui.write("No patches applied\n") |
745 return | 745 return |
746 wlock = repo.wlock() | 746 wlock = repo.wlock() |
747 self.check_toppatch(repo) | 747 self.check_toppatch(repo) |
820 repo.dirstate.update(a, 'a') | 820 repo.dirstate.update(a, 'a') |
821 repo.dirstate.update(r, 'r') | 821 repo.dirstate.update(r, 'r') |
822 repo.dirstate.update(c, 'n') | 822 repo.dirstate.update(c, 'n') |
823 repo.dirstate.forget(forget) | 823 repo.dirstate.forget(forget) |
824 | 824 |
825 if not message: | 825 if not msg: |
826 message = "patch queue: %s\n" % patch | 826 if not message: |
827 message = "patch queue: %s\n" % patch | |
828 else: | |
829 message = "\n".join(message) | |
827 else: | 830 else: |
828 message = "\n".join(message) | 831 message = msg |
832 | |
829 self.strip(repo, top, update=False, backup='strip', wlock=wlock) | 833 self.strip(repo, top, update=False, backup='strip', wlock=wlock) |
830 n = repo.commit(filelist, message, changes[1], force=1, wlock=wlock) | 834 n = repo.commit(filelist, message, changes[1], force=1, wlock=wlock) |
831 self.applied[-1] = revlog.hex(n) + ':' + patch | 835 self.applied[-1] = revlog.hex(n) + ':' + patch |
832 self.applied_dirty = 1 | 836 self.applied_dirty = 1 |
833 else: | 837 else: |
1142 return 0 | 1146 return 0 |
1143 | 1147 |
1144 def new(ui, repo, patch, **opts): | 1148 def new(ui, repo, patch, **opts): |
1145 """create a new patch""" | 1149 """create a new patch""" |
1146 q = repomap[repo] | 1150 q = repomap[repo] |
1147 q.new(repo, patch, msg=opts['message'], force=opts['force']) | 1151 message=commands.logmessage(**opts) |
1152 q.new(repo, patch, msg=message, force=opts['force']) | |
1148 q.save_dirty() | 1153 q.save_dirty() |
1149 return 0 | 1154 return 0 |
1150 | 1155 |
1151 def refresh(ui, repo, **opts): | 1156 def refresh(ui, repo, **opts): |
1152 """update the current patch""" | 1157 """update the current patch""" |
1153 q = repomap[repo] | 1158 q = repomap[repo] |
1154 q.refresh(repo, short=opts['short']) | 1159 message=commands.logmessage(**opts) |
1160 q.refresh(repo, msg=message, short=opts['short']) | |
1155 q.save_dirty() | 1161 q.save_dirty() |
1156 return 0 | 1162 return 0 |
1157 | 1163 |
1158 def diff(ui, repo, *files, **opts): | 1164 def diff(ui, repo, *files, **opts): |
1159 """diff of the current patch""" | 1165 """diff of the current patch""" |
1232 return 0 | 1238 return 0 |
1233 | 1239 |
1234 def save(ui, repo, **opts): | 1240 def save(ui, repo, **opts): |
1235 """save current queue state""" | 1241 """save current queue state""" |
1236 q = repomap[repo] | 1242 q = repomap[repo] |
1237 ret = q.save(repo, msg=opts['message']) | 1243 message=commands.logmessage(**opts) |
1244 ret = q.save(repo, msg=message) | |
1238 if ret: | 1245 if ret: |
1239 return ret | 1246 return ret |
1240 q.save_dirty() | 1247 q.save_dirty() |
1241 if opts['copy']: | 1248 if opts['copy']: |
1242 path = q.path | 1249 path = q.path |
1323 (init, | 1330 (init, |
1324 [('c', 'create-repo', None, 'create queue repository')], | 1331 [('c', 'create-repo', None, 'create queue repository')], |
1325 'hg qinit [-c]'), | 1332 'hg qinit [-c]'), |
1326 "qnew": | 1333 "qnew": |
1327 (new, | 1334 (new, |
1328 [('m', 'message', '', 'commit message'), | 1335 [('m', 'message', '', _('use <text> as commit message')), |
1336 ('l', 'logfile', '', _('read the commit message from <file>')), | |
1329 ('f', 'force', None, 'force')], | 1337 ('f', 'force', None, 'force')], |
1330 'hg qnew [-m TEXT] [-f] PATCH'), | 1338 'hg qnew [-m TEXT] [-l FILE] [-f] PATCH'), |
1331 "qnext": (next, [], 'hg qnext'), | 1339 "qnext": (next, [], 'hg qnext'), |
1332 "qprev": (prev, [], 'hg qprev'), | 1340 "qprev": (prev, [], 'hg qprev'), |
1333 "^qpop": | 1341 "^qpop": |
1334 (pop, | 1342 (pop, |
1335 [('a', 'all', None, 'pop all patches'), | 1343 [('a', 'all', None, 'pop all patches'), |
1344 ('m', 'merge', None, 'merge from another queue'), | 1352 ('m', 'merge', None, 'merge from another queue'), |
1345 ('n', 'name', '', 'merge queue name')], | 1353 ('n', 'name', '', 'merge queue name')], |
1346 'hg qpush [-f] [-l] [-a] [-m] [-n NAME] [PATCH | INDEX]'), | 1354 'hg qpush [-f] [-l] [-a] [-m] [-n NAME] [PATCH | INDEX]'), |
1347 "^qrefresh": | 1355 "^qrefresh": |
1348 (refresh, | 1356 (refresh, |
1349 [('s', 'short', None, 'short refresh')], | 1357 [('m', 'message', '', _('change commit message with <text>')), |
1350 'hg qrefresh [-s]'), | 1358 ('l', 'logfile', '', _('change commit message with <file> content')), |
1359 ('s', 'short', None, 'short refresh')], | |
1360 'hg qrefresh [-m TEXT] [-l FILE] [-s]'), | |
1351 "qrestore": | 1361 "qrestore": |
1352 (restore, | 1362 (restore, |
1353 [('d', 'delete', None, 'delete save entry'), | 1363 [('d', 'delete', None, 'delete save entry'), |
1354 ('u', 'update', None, 'update queue working dir')], | 1364 ('u', 'update', None, 'update queue working dir')], |
1355 'hg qrestore [-d] [-u] REV'), | 1365 'hg qrestore [-d] [-u] REV'), |
1356 "qsave": | 1366 "qsave": |
1357 (save, | 1367 (save, |
1358 [('m', 'message', '', 'commit message'), | 1368 [('m', 'message', '', _('use <text> as commit message')), |
1369 ('l', 'logfile', '', _('read the commit message from <file>')), | |
1359 ('c', 'copy', None, 'copy patch directory'), | 1370 ('c', 'copy', None, 'copy patch directory'), |
1360 ('n', 'name', '', 'copy directory name'), | 1371 ('n', 'name', '', 'copy directory name'), |
1361 ('e', 'empty', None, 'clear queue status file'), | 1372 ('e', 'empty', None, 'clear queue status file'), |
1362 ('f', 'force', None, 'force copy')], | 1373 ('f', 'force', None, 'force copy')], |
1363 'hg qsave [-m TEXT] [-c] [-n NAME] [-e] [-f]'), | 1374 'hg qsave [-m TEXT] [-l FILE] [-c] [-n NAME] [-e] [-f]'), |
1364 "qseries": | 1375 "qseries": |
1365 (series, | 1376 (series, |
1366 [('m', 'missing', None, 'print patches not in series')], | 1377 [('m', 'missing', None, 'print patches not in series')], |
1367 'hg qseries [-m]'), | 1378 'hg qseries [-m]'), |
1368 "^strip": | 1379 "^strip": |