comparison hgext/mq.py @ 23350:e63941631a3f

merge with stable
author Matt Mackall <mpm@selenic.com>
date Tue, 18 Nov 2014 12:29:30 -0600
parents 5ccced6eab0b
children 94092019e839
comparison
equal deleted inserted replaced
23349:7dd1870120b2 23350:e63941631a3f
146 lines[i] = header + value 146 lines[i] = header + value
147 else: 147 else:
148 lines.insert(i, header + value) 148 lines.insert(i, header + value)
149 return lines 149 return lines
150 lines.append(header + value) 150 lines.append(header + value)
151 return lines
152
153 def insertplainheader(lines, header, value):
154 if lines and lines[0] and ':' not in lines[0]:
155 lines.insert(0, '')
156 lines.insert(0, '%s: %s' % (header, value))
151 return lines 157 return lines
152 158
153 class patchheader(object): 159 class patchheader(object):
154 def __init__(self, pf, plainmode=False): 160 def __init__(self, pf, plainmode=False):
155 def eatdiff(lines): 161 def eatdiff(lines):
258 if not self.updateheader(['From: ', '# User '], user): 264 if not self.updateheader(['From: ', '# User '], user):
259 try: 265 try:
260 inserthgheader(self.comments, '# User ', user) 266 inserthgheader(self.comments, '# User ', user)
261 except ValueError: 267 except ValueError:
262 if self.plainmode: 268 if self.plainmode:
263 self.comments = ['From: ' + user] + self.comments 269 insertplainheader(self.comments, 'From', user)
264 else: 270 else:
265 tmp = ['# HG changeset patch', '# User ' + user] 271 tmp = ['# HG changeset patch', '# User ' + user]
266 self.comments = tmp + self.comments 272 self.comments = tmp + self.comments
267 self.user = user 273 self.user = user
268 274
270 if not self.updateheader(['Date: ', '# Date '], date): 276 if not self.updateheader(['Date: ', '# Date '], date):
271 try: 277 try:
272 inserthgheader(self.comments, '# Date ', date) 278 inserthgheader(self.comments, '# Date ', date)
273 except ValueError: 279 except ValueError:
274 if self.plainmode: 280 if self.plainmode:
275 self.comments = ['Date: ' + date] + self.comments 281 insertplainheader(self.comments, 'Date', date)
276 else: 282 else:
277 tmp = ['# HG changeset patch', '# Date ' + date] 283 tmp = ['# HG changeset patch', '# Date ' + date]
278 self.comments = tmp + self.comments 284 self.comments = tmp + self.comments
279 self.date = date 285 self.date = date
280 286
291 297
292 def setmessage(self, message): 298 def setmessage(self, message):
293 if self.comments: 299 if self.comments:
294 self._delmsg() 300 self._delmsg()
295 self.message = [message] 301 self.message = [message]
296 self.comments += self.message 302 if message:
303 if self.plainmode and self.comments and self.comments[-1]:
304 self.comments.append('')
305 self.comments.append(message)
297 306
298 def updateheader(self, prefixes, new): 307 def updateheader(self, prefixes, new):
299 '''Update all references to a field in the patch header. 308 '''Update all references to a field in the patch header.
300 Return whether the field is present.''' 309 Return whether the field is present.'''
301 res = False 310 res = False