return name in name2patch or crt_series.patch_exists(name)
for victim in victims:
- patchname = make_patch_name(victim.get_log())
- if not patchname:
- patchname = 'patch'
- if name_taken(patchname):
- suffix = 0
- while name_taken('%s-%d' % (patchname, suffix)):
- suffix += 1
- patchname = '%s-%d' % (patchname, suffix)
+ patchname = make_patch_name(victim.get_log(), name_taken)
patch2name[victim] = patchname
name2patch[patchname] = victim
return str_list[0]
-def make_patch_name(msg):
+def patch_name_from_msg(msg):
"""Return a string to be used as a patch name. This is generated
from the first 30 characters of the top line of the string passed
as argument."""
subject_line = msg[:30].lstrip().split('\n', 1)[0].lower()
return re.sub('[\W]+', '-', subject_line).strip('-')
+
+def make_patch_name(msg, unacceptable, default_name = 'patch'):
+ """Return a patch name generated from the given commit message,
+ guaranteed to make unacceptable(name) be false. If the commit
+ message is empty, base the name on default_name instead."""
+ patchname = patch_name_from_msg(msg)
+ if not patchname:
+ patchname = 'patch'
+ if unacceptable(patchname):
+ suffix = 0
+ while unacceptable('%s-%d' % (patchname, suffix)):
+ suffix += 1
+ patchname = '%s-%d' % (patchname, suffix)
+ return patchname
__parse_patch(filename)
if not patch:
- patch = make_patch_name(message)
- if not patch:
- raise CmdException, 'Unknown patch name'
+ patch = make_patch_name(message, crt_series.patch_exists)
# refresh_patch() will invoke the editor in this case, with correct
# patch content
elif len(patch_branch) == 2:
patch = patch_branch[0]
else:
- patch = make_patch_name(commit.get_log())
- if not patch:
- raise CmdException, 'Unknown patch name'
+ patch = make_patch_name(commit.get_log(), crt_series.patch_exists)
if options.parent:
parent = git_id(options.parent)
if patchnames:
patchname = patchnames[n]
else:
- patchname = make_patch_name(commit.get_log())
- if not patchname:
- raise CmdException, 'Unknown patch name for commit %s' % commit_id
+ patchname = make_patch_name(commit.get_log(),
+ crt_series.patch_exists)
crt_series.new_patch(patchname,
can_edit = False, before_existing = True,