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