The TODO list before 1.0:
-- automatic patch signing (probably at import time)
- more regression tests
- stg help should probably pipe through the $PAGER
- configurable pull command (currently uses git-pull only)
help = 'use COMMNAME as the committer name'),
make_option('--commemail',
help = 'use COMMEMAIL as the committer ' \
- 'e-mail')]
+ 'e-mail'),
+ make_option('--sign',
+ help = 'add Signed-off-by line',
+ action = 'store_true'),
+ make_option('--ack',
+ help = 'add Acked-by line',
+ action = 'store_true')]
def func(parser, options, args):
if options.author:
options.authname, options.authemail = name_email(options.author)
+ if options.sign:
+ sign_str = 'Signed-off-by'
+ elif options.ack:
+ sign_str = 'Acked-by'
+ else:
+ sign_str = None
+
if git.local_changes() \
or not crt_series.head_top_equal() \
or options.edit or options.message \
or options.authname or options.authemail or options.authdate \
- or options.commname or options.commemail:
+ or options.commname or options.commemail \
+ or options.sign or options.ack:
print 'Refreshing patch "%s"...' % patch,
sys.stdout.flush()
author_date = options.authdate,
committer_name = options.commname,
committer_email = options.commemail,
- backup = True)
+ backup = True, sign_str = sign_str)
print 'done'
else:
author_name = None, author_email = None,
author_date = None,
committer_name = None, committer_email = None,
- backup = False, log = 'refresh'):
+ backup = False, sign_str = None, log = 'refresh'):
"""Generates a new commit for the given patch
"""
name = self.get_current()
if not committer_email:
committer_email = patch.get_commemail()
+ if sign_str:
+ descr = '%s\n%s: %s <%s>\n' % (descr.rstrip(), sign_str,
+ committer_name, committer_email)
+
bottom = patch.get_bottom()
commit_id = git.commit(files = files,