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