This option makes the commits range given by the --to option
exclusive, i.e. the last commit is not uncomitted.
Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
options = [make_option('-n', '--number', type = 'int',
help = 'uncommit the specified number of commits'),
make_option('-t', '--to',
options = [make_option('-n', '--number', type = 'int',
help = 'uncommit the specified number of commits'),
make_option('-t', '--to',
- help = 'uncommit to the specified commit')]
+ help = 'uncommit to the specified commit'),
+ make_option('-x', '--exclusive',
+ help = 'exclude the commit specified by the --to option',
+ action = 'store_true')]
def func(parser, options, args):
"""Uncommit a number of patches.
def func(parser, options, args):
"""Uncommit a number of patches.
commits.append((commit, commit_id, parent))
next_commit = parent
else:
commits.append((commit, commit_id, parent))
next_commit = parent
else:
- out.start('Uncommitting to %s' % to_commit)
+ if options.exclusive:
+ out.start('Uncommitting to %s (exclusive)' % to_commit)
+ else:
+ out.start('Uncommitting to %s' % to_commit)
while True:
commit, commit_id, parent = get_commit(next_commit)
while True:
commit, commit_id, parent = get_commit(next_commit)
- commits.append((commit, commit_id, parent))
if commit_id == to_commit:
if commit_id == to_commit:
+ if not options.exclusive:
+ commits.append((commit, commit_id, parent))
+ commits.append((commit, commit_id, parent))
next_commit = parent
patch_nr = len(commits)
next_commit = parent
patch_nr = len(commits)