return None
cd = cd.set_tree(tree)
if msg == None:
- msg = '\n\n'.join('%s\n\n%s' % (pn.ljust(70, '-'),
- trans.patches[pn].data.message)
- for pn in patches)
+ msg = utils.append_comment(
+ trans.patches[patches[0]].data.message,
+ '\n\n'.join('%s\n\n%s' % (pn.ljust(70, '-'),
+ trans.patches[pn].data.message)
+ for pn in patches[1:]))
if save_template:
save_template(msg)
raise SaveTemplateDone()
else:
- msg = utils.edit_string(msg, '.stgit-squash.txt').strip()
+ msg = utils.edit_string(msg, '.stgit-squash.txt')
+ msg = utils.strip_comment(msg).strip()
cd = cd.set_message(msg)
return cd
self.load()
if name not in self.__cache:
self.__cache[name] = [self.__defaults.get(name, None)]
- return self.__cache[name][0]
+ return self.__cache[name][-1]
def getall(self, name):
self.load()
os.remove(filename)
return s
+def append_comment(s, comment, separator = '---'):
+ return ('%s\n\n%s\nEverything following the line with "%s" will be'
+ ' ignored\n\n%s' % (s, separator, separator, comment))
+
+def strip_comment(s, separator = '---'):
+ try:
+ return s[:s.index('\n%s\n' % separator)]
+ except ValueError:
+ return s
+
def find_patch_name(patchname, unacceptable):
"""Find a patch name which is acceptable."""
if unacceptable(patchname):