Show More
@@ -490,6 +490,10 b' def _earlygetopt(aliases, args):' | |||||
490 | >>> _earlygetopt(['--cwd'], args), args |
|
490 | >>> _earlygetopt(['--cwd'], args), args | |
491 | (['foo'], ['x', 'y']) |
|
491 | (['foo'], ['x', 'y']) | |
492 |
|
492 | |||
|
493 | >>> args = ['x', '--cwd=bar', 'y'] | |||
|
494 | >>> _earlygetopt(['--cwd'], args), args | |||
|
495 | (['bar'], ['x', 'y']) | |||
|
496 | ||||
493 | >>> args = ['x', '-R', 'foo', 'y'] |
|
497 | >>> args = ['x', '-R', 'foo', 'y'] | |
494 | >>> _earlygetopt(['-R'], args), args |
|
498 | >>> _earlygetopt(['-R'], args), args | |
495 | (['foo'], ['x', 'y']) |
|
499 | (['foo'], ['x', 'y']) | |
@@ -506,14 +510,22 b' def _earlygetopt(aliases, args):' | |||||
506 | values = [] |
|
510 | values = [] | |
507 | pos = 0 |
|
511 | pos = 0 | |
508 | while pos < argcount: |
|
512 | while pos < argcount: | |
509 | if args[pos] in aliases: |
|
513 | fullarg = arg = args[pos] | |
510 | if pos + 1 >= argcount: |
|
514 | equals = arg.find('=') | |
511 | # ignore and let getopt report an error if there is no value |
|
515 | if equals > -1: | |
512 |
|
|
516 | arg = arg[:equals] | |
|
517 | if arg in aliases: | |||
513 | del args[pos] |
|
518 | del args[pos] | |
514 | values.append(args.pop(pos)) |
|
519 | if equals > -1: | |
515 | argcount -= 2 |
|
520 | values.append(fullarg[equals + 1:]) | |
516 | elif args[pos][:2] in shortopts: |
|
521 | argcount -= 1 | |
|
522 | else: | |||
|
523 | if pos + 1 >= argcount: | |||
|
524 | # ignore and let getopt report an error if there is no value | |||
|
525 | break | |||
|
526 | values.append(args.pop(pos)) | |||
|
527 | argcount -= 2 | |||
|
528 | elif arg[:2] in shortopts: | |||
517 | # short option can have no following space, e.g. hg log -Rfoo |
|
529 | # short option can have no following space, e.g. hg log -Rfoo | |
518 | values.append(args.pop(pos)[2:]) |
|
530 | values.append(args.pop(pos)[2:]) | |
519 | argcount -= 1 |
|
531 | argcount -= 1 |
General Comments 0
You need to be logged in to leave comments.
Login now