~mdw
/
stgit
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add the 'sync' command
[stgit]
/
stgit
/
commands
/
common.py
diff --git
a/stgit/commands/common.py
b/stgit/commands/common.py
index
4e802bc
..
466f584
100644
(file)
--- a/
stgit/commands/common.py
+++ b/
stgit/commands/common.py
@@
-109,7
+109,7
@@
def git_id(rev):
def check_local_changes():
if git.local_changes():
raise CmdException, \
def check_local_changes():
if git.local_changes():
raise CmdException, \
- 'local changes in the tree. Use "refresh"
to commit them
'
+ 'local changes in the tree. Use "refresh"
or "status --reset"
'
def check_head_top_equal():
if not crt_series.head_top_equal():
def check_head_top_equal():
if not crt_series.head_top_equal():
@@
-120,7
+120,9
@@
def check_head_top_equal():
def check_conflicts():
if os.path.exists(os.path.join(basedir.get(), 'conflicts')):
def check_conflicts():
if os.path.exists(os.path.join(basedir.get(), 'conflicts')):
- raise CmdException, 'Unsolved conflicts. Please resolve them first'
+ raise CmdException, \
+ 'Unsolved conflicts. Please resolve them first or\n' \
+ ' revert the changes with "status --reset"'
def print_crt_patch(branch = None):
if not branch:
def print_crt_patch(branch = None):
if not branch:
@@
-214,7
+216,7
@@
def pop_patches(patches, keep = False):
print 'done'
print 'done'
-def parse_patches(patch_args, patch_list):
+def parse_patches(patch_args, patch_list
, boundary = 0, ordered = False
):
"""Parse patch_args list for patch names in patch_list and return
a list. The names can be individual patches and/or in the
patch1..patch2 format.
"""Parse patch_args list for patch names in patch_list and return
a list. The names can be individual patches and/or in the
patch1..patch2 format.
@@
-236,12
+238,26
@@
def parse_patches(patch_args, patch_list):
if pair[0]:
first = patch_list.index(pair[0])
else:
if pair[0]:
first = patch_list.index(pair[0])
else:
- first =
0
+ first =
-1
# exclusive boundary
if pair[1]:
last = patch_list.index(pair[1]) + 1
else:
# exclusive boundary
if pair[1]:
last = patch_list.index(pair[1]) + 1
else:
- last = len(patch_list)
+ last = -1
+
+ # only cross the boundary if explicitly asked
+ if not boundary:
+ boundary = len(patch_list)
+ if first < 0:
+ if last <= boundary:
+ first = 0
+ else:
+ first = boundary
+ if last < 0:
+ if first < boundary:
+ last = boundary
+ else:
+ last = len(patch_list)
if last > first:
pl = patch_list[first:last]
if last > first:
pl = patch_list[first:last]
@@
-257,6
+273,9
@@
def parse_patches(patch_args, patch_list):
patches += pl
patches += pl
+ if ordered:
+ patches = [p for p in patch_list if p in patches]
+
return patches
def name_email(address):
return patches
def name_email(address):