X-Git-Url: https://git.distorted.org.uk/~mdw/stgit/blobdiff_plain/99c529152847b7e20e48dc477925e315918eed5d..ceba3178f434c2a1fc4c839459efe15b9953fe7c:/stgit/commands/common.py diff --git a/stgit/commands/common.py b/stgit/commands/common.py index 4e802bc..723fc5b 100644 --- a/stgit/commands/common.py +++ b/stgit/commands/common.py @@ -214,7 +214,7 @@ def pop_patches(patches, keep = False): print 'done' -def parse_patches(patch_args, patch_list): +def parse_patches(patch_args, patch_list, boundary = 0): """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 +236,26 @@ def parse_patches(patch_args, patch_list): 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: - 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]