Mercurial > hg > mercurial-crew-with-dirclash
comparison hgext/mq.py @ 2805:52516e48e3f3
Update qsave to use StatusEntry; don't throw exception on bad status lines.
author | Brendan Cully <brendan@kublai.com> |
---|---|
date | Mon, 07 Aug 2006 14:48:18 -0700 |
parents | 4b20daa25f15 |
children | bdc067ff6cf5 |
comparison
equal
deleted
inserted
replaced
2804:4b20daa25f15 | 2805:52516e48e3f3 |
---|---|
40 commands.norepo += " qclone qversion" | 40 commands.norepo += " qclone qversion" |
41 | 41 |
42 class StatusEntry: | 42 class StatusEntry: |
43 def __init__(self, rev, name=None): | 43 def __init__(self, rev, name=None): |
44 if not name: | 44 if not name: |
45 self.rev, self.name = rev.split(':') | 45 fields = rev.split(':') |
46 if len(fields) == 2: | |
47 self.rev, self.name = fields | |
48 else: | |
49 self.rev, self.name = None, None | |
46 else: | 50 else: |
47 self.rev, self.name = rev, name | 51 self.rev, self.name = rev, name |
48 | 52 |
49 def __str__(self): | 53 def __str__(self): |
50 return self.rev + ':' + self.name | 54 return self.rev + ':' + self.name |
956 if self.ui.verbose: | 960 if self.ui.verbose: |
957 self.ui.write("D ") | 961 self.ui.write("D ") |
958 self.ui.write("%s\n" % x) | 962 self.ui.write("%s\n" % x) |
959 | 963 |
960 def issaveline(self, l): | 964 def issaveline(self, l): |
961 name = l.split(':')[1] | 965 if l.name == '.hg.patches.save.line': |
962 if name == '.hg.patches.save.line': | |
963 return True | 966 return True |
964 | 967 |
965 def qrepo(self, create=False): | 968 def qrepo(self, create=False): |
966 if create or os.path.isdir(os.path.join(self.path, ".hg")): | 969 if create or os.path.isdir(os.path.join(self.path, ".hg")): |
967 return hg.repository(self.ui, path=self.path, create=create) | 970 return hg.repository(self.ui, path=self.path, create=create) |
1037 r = self.qrepo() | 1040 r = self.qrepo() |
1038 if r: | 1041 if r: |
1039 pp = r.dirstate.parents() | 1042 pp = r.dirstate.parents() |
1040 msg += "\nDirstate: %s %s" % (hg.hex(pp[0]), hg.hex(pp[1])) | 1043 msg += "\nDirstate: %s %s" % (hg.hex(pp[0]), hg.hex(pp[1])) |
1041 msg += "\n\nPatch Data:\n" | 1044 msg += "\n\nPatch Data:\n" |
1042 text = msg + "\n".join(str(self.applied)) + '\n' + (ar and "\n".join(ar) | 1045 text = msg + "\n".join([str(x) for x in self.applied]) + '\n' + (ar and |
1043 + '\n' or "") | 1046 "\n".join(ar) + '\n' or "") |
1044 n = repo.commit(None, text, user=None, force=1) | 1047 n = repo.commit(None, text, user=None, force=1) |
1045 if not n: | 1048 if not n: |
1046 self.ui.warn("repo commit failed\n") | 1049 self.ui.warn("repo commit failed\n") |
1047 return 1 | 1050 return 1 |
1048 self.applied.append(StatusEntry(revlog.hex(n),'.hg.patches.save.line')) | 1051 self.applied.append(StatusEntry(revlog.hex(n),'.hg.patches.save.line')) |