Show More
@@ -1922,10 +1922,17 b' def _list(repo, subset, x):' | |||||
1922 | return baseset() |
|
1922 | return baseset() | |
1923 | # remove duplicates here. it's difficult for caller to deduplicate sets |
|
1923 | # remove duplicates here. it's difficult for caller to deduplicate sets | |
1924 | # because different symbols can point to the same rev. |
|
1924 | # because different symbols can point to the same rev. | |
|
1925 | cl = repo.changelog | |||
1925 | ls = [] |
|
1926 | ls = [] | |
1926 | seen = set() |
|
1927 | seen = set() | |
1927 | for t in s.split('\0'): |
|
1928 | for t in s.split('\0'): | |
1928 | r = repo[t].rev() |
|
1929 | try: | |
|
1930 | # fast path for integer revision | |||
|
1931 | r = int(t) | |||
|
1932 | if str(r) != t or r not in cl: | |||
|
1933 | raise ValueError | |||
|
1934 | except ValueError: | |||
|
1935 | r = repo[t].rev() | |||
1929 | if r in seen: |
|
1936 | if r in seen: | |
1930 | continue |
|
1937 | continue | |
1931 | if (r in subset |
|
1938 | if (r in subset |
@@ -1011,6 +1011,26 b' test unknown revision in `_list`' | |||||
1011 | abort: unknown revision 'unknown'! |
|
1011 | abort: unknown revision 'unknown'! | |
1012 | [255] |
|
1012 | [255] | |
1013 |
|
1013 | |||
|
1014 | test integer range in `_list` | |||
|
1015 | ||||
|
1016 | $ log '-1|-10' | |||
|
1017 | 9 | |||
|
1018 | 0 | |||
|
1019 | ||||
|
1020 | $ log '-10|-11' | |||
|
1021 | abort: unknown revision '-11'! | |||
|
1022 | [255] | |||
|
1023 | ||||
|
1024 | $ log '9|10' | |||
|
1025 | abort: unknown revision '10'! | |||
|
1026 | [255] | |||
|
1027 | ||||
|
1028 | test '0000' != '0' in `_list` | |||
|
1029 | ||||
|
1030 | $ log '0|0000' | |||
|
1031 | 0 | |||
|
1032 | -1 | |||
|
1033 | ||||
1014 | test that chained `or` operations make balanced addsets |
|
1034 | test that chained `or` operations make balanced addsets | |
1015 |
|
1035 | |||
1016 | $ try '0:1|1:2|2:3|3:4|4:5' |
|
1036 | $ try '0:1|1:2|2:3|3:4|4:5' |
General Comments 0
You need to be logged in to leave comments.
Login now