##// END OF EJS Templates
dispatch: do not drop unpaired argument at _earlygetopt()...
Yuya Nishihara -
r35056:7384250e stable
parent child Browse files
Show More
@@ -661,6 +661,10 b' def _earlygetopt(aliases, args):'
661 >>> args = [b'x', b'-Rbar', b'y']
661 >>> args = [b'x', b'-Rbar', b'y']
662 >>> _earlygetopt([b'-R'], args), args
662 >>> _earlygetopt([b'-R'], args), args
663 (['bar'], ['x', 'y'])
663 (['bar'], ['x', 'y'])
664
665 >>> args = [b'x', b'-R', b'--', b'y']
666 >>> _earlygetopt([b'-R'], args), args
667 ([], ['x', '-R', '--', 'y'])
664 """
668 """
665 try:
669 try:
666 argcount = args.index("--")
670 argcount = args.index("--")
@@ -675,14 +679,15 b' def _earlygetopt(aliases, args):'
675 if equals > -1:
679 if equals > -1:
676 arg = arg[:equals]
680 arg = arg[:equals]
677 if arg in aliases:
681 if arg in aliases:
678 del args[pos]
679 if equals > -1:
682 if equals > -1:
683 del args[pos]
680 values.append(fullarg[equals + 1:])
684 values.append(fullarg[equals + 1:])
681 argcount -= 1
685 argcount -= 1
682 else:
686 else:
683 if pos + 1 >= argcount:
687 if pos + 1 >= argcount:
684 # ignore and let getopt report an error if there is no value
688 # ignore and let getopt report an error if there is no value
685 break
689 break
690 del args[pos]
686 values.append(args.pop(pos))
691 values.append(args.pop(pos))
687 argcount -= 2
692 argcount -= 2
688 elif arg[:2] in shortopts:
693 elif arg[:2] in shortopts:
@@ -175,7 +175,7 b' divergent bookmarks'
175 Z 1:0d2164f0ce0d
175 Z 1:0d2164f0ce0d
176
176
177 $ cd ../b
177 $ cd ../b
178 $ hg up --config
178 $ hg up
179 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
179 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
180 updating bookmark foobar
180 updating bookmark foobar
181 $ echo c2 > f2
181 $ echo c2 > f2
@@ -30,6 +30,18 b' Missing arg:'
30 (use 'hg cat -h' to show more help)
30 (use 'hg cat -h' to show more help)
31 [255]
31 [255]
32
32
33 Missing parameter for early option:
34
35 $ hg log -R 2>&1 | grep 'hg log'
36 hg log: option -R requires argument
37 hg log [OPTION]... [FILE]
38 (use 'hg log -h' to show more help)
39
40 $ hg log -R -- 2>&1 | grep 'hg log'
41 hg log: option -R requires argument
42 hg log [OPTION]... [FILE]
43 (use 'hg log -h' to show more help)
44
33 [defaults]
45 [defaults]
34
46
35 $ hg cat a
47 $ hg cat a
@@ -17,7 +17,7 b' Function to test discovery between two r'
17 > hg -R a debugdiscovery b --verbose --debug --config progress.debug=true
17 > hg -R a debugdiscovery b --verbose --debug --config progress.debug=true
18 > echo
18 > echo
19 > echo "% -- b -> a tree"
19 > echo "% -- b -> a tree"
20 > hg -R b debugdiscovery a --verbose --old --config
20 > hg -R b debugdiscovery a --verbose --old
21 > echo
21 > echo
22 > echo "% -- b -> a set"
22 > echo "% -- b -> a set"
23 > hg -R b debugdiscovery a --verbose --debug --config progress.debug=true
23 > hg -R b debugdiscovery a --verbose --debug --config progress.debug=true
General Comments 0
You need to be logged in to leave comments. Login now