[PATCH 5 of 8] mq: make patchheader .plainmode more reliable
Mads Kiilerich
mads at kiilerich.com
Wed Sep 24 01:00:06 UTC 2014
# HG changeset patch
# User Mads Kiilerich <madski at unity3d.com>
# Date 1411225616 -7200
# Sat Sep 20 17:06:56 2014 +0200
# Node ID 39cc9d328c6e61f631ae4f96b5bb0702f3145d39
# Parent 889f7da574226e636d689fa4dd425b2b1fbb5ac5
mq: make patchheader .plainmode more reliable
Instead of having to make extra checks whenever we use .plainmode, let the
initial value consider the actual patch header content.
diff --git a/hgext/mq.py b/hgext/mq.py
--- a/hgext/mq.py
+++ b/hgext/mq.py
@@ -202,7 +202,11 @@ class patchheader(object):
self.nodeid = nodeid
self.branch = branch
self.haspatch = diffstart > 1
- self.plainmode = plainmode
+ self.plainmode = (plainmode or
+ '# HG changeset patch' not in self.comments and
+ util.any(c.startswith('Date: ') or
+ c.startswith('From: ')
+ for c in self.comments))
def setuser(self, user):
if not self.updateheader(['From: ', '# User '], user):
@@ -210,7 +214,7 @@ class patchheader(object):
patchheaderat = self.comments.index('# HG changeset patch')
self.comments.insert(patchheaderat + 1, '# User ' + user)
except ValueError:
- if self.plainmode or self._hasheader(['Date: ']):
+ if self.plainmode:
self.comments = ['From: ' + user] + self.comments
else:
tmp = ['# HG changeset patch', '# User ' + user]
@@ -223,7 +227,7 @@ class patchheader(object):
patchheaderat = self.comments.index('# HG changeset patch')
self.comments.insert(patchheaderat + 1, '# Date ' + date)
except ValueError:
- if self.plainmode or self._hasheader(['From: ']):
+ if self.plainmode:
self.comments = ['Date: ' + date] + self.comments
else:
tmp = ['# HG changeset patch', '# Date ' + date]
@@ -258,14 +262,6 @@ class patchheader(object):
break
return res
- def _hasheader(self, prefixes):
- '''Check if a header starts with any of the given prefixes.'''
- for prefix in prefixes:
- for comment in self.comments:
- if comment.startswith(prefix):
- return True
- return False
-
def __str__(self):
s = '\n'.join(self.comments).rstrip()
if not s:
More information about the Mercurial-devel
mailing list