Show More
@@ -912,7 +912,7 class queue: | |||||
912 | qp = self.qparents(repo, top) |
|
912 | qp = self.qparents(repo, top) | |
913 | self.printdiff(repo, qp, files=pats, opts=opts) |
|
913 | self.printdiff(repo, qp, files=pats, opts=opts) | |
914 |
|
914 | |||
915 |
def refresh(self, repo, |
|
915 | def refresh(self, repo, pats=None, **opts): | |
916 | if len(self.applied) == 0: |
|
916 | if len(self.applied) == 0: | |
917 | self.ui.write("No patches applied\n") |
|
917 | self.ui.write("No patches applied\n") | |
918 | return |
|
918 | return | |
@@ -925,7 +925,7 class queue: | |||||
925 | message, comments, user, date, patchfound = self.readheaders(patch) |
|
925 | message, comments, user, date, patchfound = self.readheaders(patch) | |
926 |
|
926 | |||
927 | patchf = self.opener(patch, "w") |
|
927 | patchf = self.opener(patch, "w") | |
928 | msg = msg.rstrip() |
|
928 | msg = opts.get('msg', '').rstrip() | |
929 | if msg: |
|
929 | if msg: | |
930 | if comments: |
|
930 | if comments: | |
931 | # Remove existing message. |
|
931 | # Remove existing message. | |
@@ -939,6 +939,7 class queue: | |||||
939 | comments = "\n".join(comments) + '\n\n' |
|
939 | comments = "\n".join(comments) + '\n\n' | |
940 | patchf.write(comments) |
|
940 | patchf.write(comments) | |
941 |
|
941 | |||
|
942 | fns, matchfn, anypats = cmdutil.matchpats(repo, pats, opts) | |||
942 | tip = repo.changelog.tip() |
|
943 | tip = repo.changelog.tip() | |
943 | if top == tip: |
|
944 | if top == tip: | |
944 | # if the top of our patch queue is also the tip, there is an |
|
945 | # if the top of our patch queue is also the tip, there is an | |
@@ -956,7 +957,7 class queue: | |||||
956 | # caching against the next repo.status call |
|
957 | # caching against the next repo.status call | |
957 | # |
|
958 | # | |
958 | mm, aa, dd, aa2, uu = repo.status(patchparent, tip)[:5] |
|
959 | mm, aa, dd, aa2, uu = repo.status(patchparent, tip)[:5] | |
959 | if short: |
|
960 | if opts.get('short'): | |
960 | filelist = mm + aa + dd |
|
961 | filelist = mm + aa + dd | |
961 | else: |
|
962 | else: | |
962 | filelist = None |
|
963 | filelist = None | |
@@ -992,7 +993,7 class queue: | |||||
992 | m = list(util.unique(mm)) |
|
993 | m = list(util.unique(mm)) | |
993 | r = list(util.unique(dd)) |
|
994 | r = list(util.unique(dd)) | |
994 | a = list(util.unique(aa)) |
|
995 | a = list(util.unique(aa)) | |
995 |
filelist = |
|
996 | filelist = filter(matchfn, util.unique(m + r + a)) | |
996 | self.printdiff(repo, patchparent, files=filelist, |
|
997 | self.printdiff(repo, patchparent, files=filelist, | |
997 | changes=(m, a, r, [], u), fp=patchf) |
|
998 | changes=(m, a, r, [], u), fp=patchf) | |
998 | patchf.close() |
|
999 | patchf.close() | |
@@ -1004,7 +1005,15 class queue: | |||||
1004 | for dst, src in copies: |
|
1005 | for dst, src in copies: | |
1005 | repo.dirstate.copy(src, dst) |
|
1006 | repo.dirstate.copy(src, dst) | |
1006 | repo.dirstate.update(r, 'r') |
|
1007 | repo.dirstate.update(r, 'r') | |
|
1008 | # if the patch excludes a modified file, mark that file with mtime=0 | |||
|
1009 | # so status can see it. | |||
|
1010 | mm = [] | |||
|
1011 | for i in range(len(m)-1, -1, -1): | |||
|
1012 | if not matchfn(m[i]): | |||
|
1013 | mm.append(m[i]) | |||
|
1014 | del m[i] | |||
1007 | repo.dirstate.update(m, 'n') |
|
1015 | repo.dirstate.update(m, 'n') | |
|
1016 | repo.dirstate.update(mm, 'n', st_mtime=0) | |||
1008 | repo.dirstate.forget(forget) |
|
1017 | repo.dirstate.forget(forget) | |
1009 |
|
1018 | |||
1010 | if not msg: |
|
1019 | if not msg: | |
@@ -1423,7 +1432,7 def new(ui, repo, patch, **opts): | |||||
1423 | q.save_dirty() |
|
1432 | q.save_dirty() | |
1424 | return 0 |
|
1433 | return 0 | |
1425 |
|
1434 | |||
1426 | def refresh(ui, repo, **opts): |
|
1435 | def refresh(ui, repo, *pats, **opts): | |
1427 | """update the current patch""" |
|
1436 | """update the current patch""" | |
1428 | q = repo.mq |
|
1437 | q = repo.mq | |
1429 | message = commands.logmessage(opts) |
|
1438 | message = commands.logmessage(opts) | |
@@ -1433,7 +1442,7 def refresh(ui, repo, **opts): | |||||
1433 | patch = q.applied[-1].name |
|
1442 | patch = q.applied[-1].name | |
1434 | (message, comment, user, date, hasdiff) = q.readheaders(patch) |
|
1443 | (message, comment, user, date, hasdiff) = q.readheaders(patch) | |
1435 | message = ui.edit('\n'.join(message), user or ui.username()) |
|
1444 | message = ui.edit('\n'.join(message), user or ui.username()) | |
1436 |
q.refresh(repo, msg=message, |
|
1445 | q.refresh(repo, pats, msg=message, **opts) | |
1437 | q.save_dirty() |
|
1446 | q.save_dirty() | |
1438 | return 0 |
|
1447 | return 0 | |
1439 |
|
1448 | |||
@@ -1942,8 +1951,10 cmdtable = { | |||||
1942 | [('e', 'edit', None, _('edit commit message')), |
|
1951 | [('e', 'edit', None, _('edit commit message')), | |
1943 | ('m', 'message', '', _('change commit message with <text>')), |
|
1952 | ('m', 'message', '', _('change commit message with <text>')), | |
1944 | ('l', 'logfile', '', _('change commit message with <file> content')), |
|
1953 | ('l', 'logfile', '', _('change commit message with <file> content')), | |
1945 |
('s', 'short', None, 'short refresh') |
|
1954 | ('s', 'short', None, 'short refresh'), | |
1946 | 'hg qrefresh [-e] [-m TEXT] [-l FILE] [-s]'), |
|
1955 | ('I', 'include', [], _('include names matching the given patterns')), | |
|
1956 | ('X', 'exclude', [], _('exclude names matching the given patterns'))], | |||
|
1957 | 'hg qrefresh [-I] [-X] [-e] [-m TEXT] [-l FILE] [-s] FILES...'), | |||
1947 | 'qrename|qmv': |
|
1958 | 'qrename|qmv': | |
1948 | (rename, [], 'hg qrename PATCH1 [PATCH2]'), |
|
1959 | (rename, [], 'hg qrename PATCH1 [PATCH2]'), | |
1949 | "qrestore": |
|
1960 | "qrestore": |
General Comments 0
You need to be logged in to leave comments.
Login now