[PATCH] mq: add basic support for DEP-3 patch fields
Andrew Shadura
bugzilla at tut.by
Sun May 5 06:37:00 CDT 2013
# HG changeset patch
# User Andrew Shadura <bugzilla at tut.by>
# Date 1367753776 -7200
# Node ID 33f279c34ac6c5b4bd4eb525719261afe7e2433d
# Parent 70f0d1da36b0b304ea00fbdd742285e2dc1c22eb
mq: add basic support for DEP-3 patch fields
Add support for fields specified in Debian patch tagging guidelines
in a document called DEP-3. The documents specifies Description,
Author and Last-Update headers, which are semantically almost
identical to Subject, From and Date already supported by mq.
Additional features of DEP-3, such as Description continuation lines,
multiple Author fields aren't (yet) supported. Also, Last-Update
header isn't updated, as it uses ISO date format without time,
so having Date instead makes more sense.
diff --git a/hgext/mq.py b/hgext/mq.py
--- a/hgext/mq.py
+++ b/hgext/mq.py
@@ -146,14 +146,26 @@ class patchheader(object):
line.startswith("subject: "))):
subject = line[9:]
format = "tag"
+ elif (format != "tagdone" and (line.startswith("Description: ") or
+ line.startswith("description: "))):
+ subject = line[13:]
+ format = "tag"
elif (format != "tagdone" and (line.startswith("From: ") or
line.startswith("from: "))):
user = line[6:]
format = "tag"
+ elif (format != "tagdone" and (line.startswith("Author: ") or
+ line.startswith("author: "))):
+ user = line[8:]
+ format = "tag"
elif (format != "tagdone" and (line.startswith("Date: ") or
line.startswith("date: "))):
date = line[6:]
format = "tag"
+ elif (format != "tagdone" and (line.startswith("Last-Update: ") or
+ line.startswith("last-update: "))):
+ date = line[13:]
+ format = "tag"
elif format == "tag" and line == "":
# when looking for tags (subject: from: etc) they
# end once you find a blank line in the source
@@ -187,7 +199,7 @@ class patchheader(object):
self.plainmode = plainmode
def setuser(self, user):
- if not self.updateheader(['From: ', '# User '], user):
+ if not self.updateheader(['From: ', 'Author: ', '# User '], user):
try:
patchheaderat = self.comments.index('# HG changeset patch')
self.comments.insert(patchheaderat + 1, '# User ' + user)
More information about the Mercurial-devel
mailing list