hgext/mq.py
changeset 2805 52516e48e3f3
parent 2804 4b20daa25f15
child 2807 bdc067ff6cf5
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'))