Mercurial > hg-stable
changeset 13229:f3058dd05281
mq: record more data in patchheader class (no behavior changes)
* parse branch and nodeid header lines
* remember the line number where diffs started
Combined, these make mq.patchheader() very useful for parsing and
preserving a patch header through edits. TortoiseHg will use the
nodeid and parent to display these header datums in the graph when
patches are unapplied, and uses diffstartline to parse patch files
using record.parsepatch().
author | Steve Borho <steve@borho.org> |
---|---|
date | Fri, 31 Dec 2010 17:09:38 -0600 |
parents | d18a748d9c33 |
children | 0935ff767285 a0fd2fdb1813 |
files | hgext/mq.py |
diffstat | 1 files changed, 12 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/mq.py Sat Jan 01 18:42:04 2011 -0600 +++ b/hgext/mq.py Fri Dec 31 17:09:38 2010 -0600 @@ -86,6 +86,8 @@ parent = None format = None subject = None + branch = None + nodeid = None diffstart = 0 for line in file(pf): @@ -106,6 +108,10 @@ date = line[7:] elif line.startswith("# Parent "): parent = line[9:] + elif line.startswith("# Branch "): + branch = line[9:] + elif line.startswith("# Node ID "): + nodeid = line[10:] elif not line.startswith("# ") and line: message.append(line) format = None @@ -134,6 +140,9 @@ eatdiff(message) eatdiff(comments) + # Remember the exact starting line of the patch diffs before consuming + # empty lines, for external use by TortoiseHg and others + self.diffstartline = len(comments) eatempty(message) eatempty(comments) @@ -147,6 +156,9 @@ self.user = user self.date = date self.parent = parent + # nodeid and branch are for external use by TortoiseHg and others + self.nodeid = nodeid + self.branch = branch self.haspatch = diffstart > 1 self.plainmode = plainmode