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'))