~mdw
/
stgit
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Make 'push --undo' safer
[stgit]
/
stgit
/
commands
/
pull.py
diff --git
a/stgit/commands/pull.py
b/stgit/commands/pull.py
index
25832a5
..
227249e
100644
(file)
--- a/
stgit/commands/pull.py
+++ b/
stgit/commands/pull.py
@@
-39,6
+39,9
@@
format."""
options = [make_option('-n', '--nopush',
help = 'do not push the patches back after pulling',
options = [make_option('-n', '--nopush',
help = 'do not push the patches back after pulling',
+ action = 'store_true'),
+ make_option('-m', '--merged',
+ help = 'check for patches merged upstream',
action = 'store_true')]
def func(parser, options, args):
action = 'store_true')]
def func(parser, options, args):
@@
-64,7
+67,7
@@
def func(parser, options, args):
# pop all patches
applied = crt_series.get_applied()
if len(applied) > 0:
# pop all patches
applied = crt_series.get_applied()
if len(applied) > 0:
- print 'Popping all patches...',
+ print 'Popping all
applied
patches...',
sys.stdout.flush()
crt_series.pop_patch(applied[0])
print 'done'
sys.stdout.flush()
crt_series.pop_patch(applied[0])
print 'done'
@@
-75,15
+78,12
@@
def func(parser, options, args):
print 'done'
# push the patches back
print 'done'
# push the patches back
- if options.nopush:
- applied = []
- for p in applied:
- print 'Pushing patch "%s"...' % p,
- sys.stdout.flush()
- crt_series.push_patch(p)
- if crt_series.empty_patch(p):
- print 'done (empty patch)'
- else:
- print 'done'
+ if not options.nopush:
+ push_patches(applied, options.merged)
+
+ # maybe tidy up
+ repack = config.get('stgit', 'keepoptimized')
+ if repack == 'yes':
+ git.repack()
print_crt_patch()
print_crt_patch()