patch = stack.Series(branch).get_current()
if patch:
- print 'Now at patch "%s"' % patch
+ out.info('Now at patch "%s"' % patch)
else:
- print 'No patches applied'
+ out.info('No patches applied')
def resolved(filename, reset = None):
if reset:
"""
forwarded = crt_series.forward_patches(patches)
if forwarded > 1:
- print 'Fast-forwarded patches "%s" - "%s"' % (patches[0],
- patches[forwarded - 1])
+ out.info('Fast-forwarded patches "%s" - "%s"'
+ % (patches[0], patches[forwarded - 1]))
elif forwarded == 1:
- print 'Fast-forwarded patch "%s"' % patches[0]
+ out.info('Fast-forwarded patch "%s"' % patches[0])
names = patches[forwarded:]
# check for patches merged upstream
if names and check_merged:
- print 'Checking for patches merged upstream...',
- sys.stdout.flush()
+ out.start('Checking for patches merged upstream')
merged = crt_series.merged_patches(names)
- print 'done (%d found)' % len(merged)
+ out.done('%d found' % len(merged))
else:
merged = []
for p in names:
- print 'Pushing patch "%s"...' % p,
- sys.stdout.flush()
+ out.start('Pushing patch "%s"' % p)
if p in merged:
crt_series.push_patch(p, empty = True)
- print 'done (merged upstream)'
+ out.done('merged upstream')
else:
modified = crt_series.push_patch(p)
if crt_series.empty_patch(p):
- print 'done (empty patch)'
+ out.done('empty patch')
elif modified:
- print 'done (modified)'
+ out.done('modified')
else:
- print 'done'
+ out.done()
def pop_patches(patches, keep = False):
"""Pop the patches in the list from the stack. It is assumed that
the patches are listed in the stack reverse order.
"""
if len(patches) == 0:
- print 'nothing to push/pop'
+ out.info('Nothing to push/pop')
else:
p = patches[-1]
if len(patches) == 1:
- print 'Popping patch "%s"...' % p,
+ out.start('Popping patch "%s"' % p)
else:
- print 'Popping "%s" - "%s" patches...' % (patches[0], p),
- sys.stdout.flush()
-
+ out.start('Popping patches "%s" - "%s"' % (patches[0], p))
crt_series.pop_patch(p, keep)
-
- print 'done'
+ out.done()
def parse_patches(patch_args, patch_list, boundary = 0, ordered = False):
"""Parse patch_args list for patch names in patch_list and return
for addr in addr_str.split(',')]
return ', '.join([addr for addr in addr_list if addr])
-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."""
- if not msg:
- return None
-
- 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',
- alternative = True):
- """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 = default_name
- if alternative and unacceptable(patchname):
- suffix = 0
- while unacceptable('%s-%d' % (patchname, suffix)):
- suffix += 1
- patchname = '%s-%d' % (patchname, suffix)
- return patchname
-
-def prepare_rebase(real_rebase, force=None):
+def prepare_rebase(force=None):
if not force:
# Be sure we won't loose results of stg-(un)commit by error.
# Do not require an existing orig-base for compatibility with 0.12 and earlier.
# pop all patches
applied = crt_series.get_applied()
if len(applied) > 0:
- print 'Popping all applied patches...',
- sys.stdout.flush()
+ out.start('Popping all applied patches')
crt_series.pop_patch(applied[0])
- print 'done'
+ out.done()
return applied
def rebase(target):
if target == git.get_head():
- print 'Already at "%s", no need for rebasing.' % target
+ out.info('Already at "%s", no need for rebasing.' % target)
return
-
- print 'Rebasing to "%s"...' % target
+ out.start('Rebasing to "%s"' % target)
git.reset(tree_id = git_id(target))
+ out.done()
def post_rebase(applied, nopush, merged):
# memorize that we rebased to here