Show More
@@ -8,7 +8,9 b'' | |||||
8 | from __future__ import absolute_import |
|
8 | from __future__ import absolute_import | |
9 |
|
9 | |||
10 | from . import ( |
|
10 | from . import ( | |
|
11 | encoding, | |||
11 | error, |
|
12 | error, | |
|
13 | pycompat, | |||
12 | util, |
|
14 | util, | |
13 | ) |
|
15 | ) | |
14 |
|
16 | |||
@@ -19,7 +21,7 b' def _formatsetrepr(r):' | |||||
19 | type(r) example |
|
21 | type(r) example | |
20 | ======== ================================= |
|
22 | ======== ================================= | |
21 | tuple ('<not %r>', other) |
|
23 | tuple ('<not %r>', other) | |
22 |
|
|
24 | bytes '<branch closed>' | |
23 | callable lambda: '<branch %r>' % sorted(b) |
|
25 | callable lambda: '<branch %r>' % sorted(b) | |
24 | object other |
|
26 | object other | |
25 | ======== ================================= |
|
27 | ======== ================================= | |
@@ -28,12 +30,15 b' def _formatsetrepr(r):' | |||||
28 | return '' |
|
30 | return '' | |
29 | elif isinstance(r, tuple): |
|
31 | elif isinstance(r, tuple): | |
30 | return r[0] % r[1:] |
|
32 | return r[0] % r[1:] | |
31 |
elif isinstance(r, |
|
33 | elif isinstance(r, bytes): | |
32 | return r |
|
34 | return r | |
33 | elif callable(r): |
|
35 | elif callable(r): | |
34 | return r() |
|
36 | return r() | |
35 | else: |
|
37 | else: | |
36 | return repr(r) |
|
38 | return pycompat.sysbytes(repr(r)) | |
|
39 | ||||
|
40 | def _typename(o): | |||
|
41 | return pycompat.sysbytes(type(o).__name__).lstrip('_') | |||
37 |
|
42 | |||
38 | class abstractsmartset(object): |
|
43 | class abstractsmartset(object): | |
39 |
|
44 | |||
@@ -384,6 +389,7 b' class baseset(abstractsmartset):' | |||||
384 | s._ascending = self._ascending |
|
389 | s._ascending = self._ascending | |
385 | return s |
|
390 | return s | |
386 |
|
391 | |||
|
392 | @encoding.strmethod | |||
387 | def __repr__(self): |
|
393 | def __repr__(self): | |
388 | d = {None: '', False: '-', True: '+'}[self._ascending] |
|
394 | d = {None: '', False: '-', True: '+'}[self._ascending] | |
389 | s = _formatsetrepr(self._datarepr) |
|
395 | s = _formatsetrepr(self._datarepr) | |
@@ -394,8 +400,8 b' class baseset(abstractsmartset):' | |||||
394 | # We fallback to the sorted version for a stable output. |
|
400 | # We fallback to the sorted version for a stable output. | |
395 | if self._ascending is not None: |
|
401 | if self._ascending is not None: | |
396 | l = self._asclist |
|
402 | l = self._asclist | |
397 | s = repr(l) |
|
403 | s = pycompat.sysbytes(repr(l)) | |
398 |
return '<%s%s %s>' % (type(self) |
|
404 | return '<%s%s %s>' % (_typename(self), d, s) | |
399 |
|
405 | |||
400 | class filteredset(abstractsmartset): |
|
406 | class filteredset(abstractsmartset): | |
401 | """Duck type for baseset class which iterates lazily over the revisions in |
|
407 | """Duck type for baseset class which iterates lazily over the revisions in | |
@@ -505,12 +511,13 b' class filteredset(abstractsmartset):' | |||||
505 | pass |
|
511 | pass | |
506 | return x |
|
512 | return x | |
507 |
|
513 | |||
|
514 | @encoding.strmethod | |||
508 | def __repr__(self): |
|
515 | def __repr__(self): | |
509 | xs = [repr(self._subset)] |
|
516 | xs = [pycompat.sysbytes(repr(self._subset))] | |
510 | s = _formatsetrepr(self._condrepr) |
|
517 | s = _formatsetrepr(self._condrepr) | |
511 | if s: |
|
518 | if s: | |
512 | xs.append(s) |
|
519 | xs.append(s) | |
513 |
return '<%s %s>' % (type(self) |
|
520 | return '<%s %s>' % (_typename(self), ', '.join(xs)) | |
514 |
|
521 | |||
515 | def _iterordered(ascending, iter1, iter2): |
|
522 | def _iterordered(ascending, iter1, iter2): | |
516 | """produce an ordered iteration from two iterators with the same order |
|
523 | """produce an ordered iteration from two iterators with the same order | |
@@ -755,9 +762,10 b' class addset(abstractsmartset):' | |||||
755 | self.reverse() |
|
762 | self.reverse() | |
756 | return val |
|
763 | return val | |
757 |
|
764 | |||
|
765 | @encoding.strmethod | |||
758 | def __repr__(self): |
|
766 | def __repr__(self): | |
759 | d = {None: '', False: '-', True: '+'}[self._ascending] |
|
767 | d = {None: '', False: '-', True: '+'}[self._ascending] | |
760 |
return '<%s%s %r, %r>' % (type(self) |
|
768 | return '<%s%s %r, %r>' % (_typename(self), d, self._r1, self._r2) | |
761 |
|
769 | |||
762 | class generatorset(abstractsmartset): |
|
770 | class generatorset(abstractsmartset): | |
763 | """Wrap a generator for lazy iteration |
|
771 | """Wrap a generator for lazy iteration | |
@@ -918,9 +926,10 b' class generatorset(abstractsmartset):' | |||||
918 | return self.last() |
|
926 | return self.last() | |
919 | return next(it(), None) |
|
927 | return next(it(), None) | |
920 |
|
928 | |||
|
929 | @encoding.strmethod | |||
921 | def __repr__(self): |
|
930 | def __repr__(self): | |
922 | d = {False: '-', True: '+'}[self._ascending] |
|
931 | d = {False: '-', True: '+'}[self._ascending] | |
923 |
return '<%s%s>' % (type(self |
|
932 | return '<%s%s>' % (_typename(self), d) | |
924 |
|
933 | |||
925 | class _generatorsetasc(generatorset): |
|
934 | class _generatorsetasc(generatorset): | |
926 | """Special case of generatorset optimized for ascending generators.""" |
|
935 | """Special case of generatorset optimized for ascending generators.""" | |
@@ -1087,10 +1096,10 b' class _spanset(abstractsmartset):' | |||||
1087 | y = max(self._end - start, self._start) |
|
1096 | y = max(self._end - start, self._start) | |
1088 | return _spanset(x, y, self._ascending, self._hiddenrevs) |
|
1097 | return _spanset(x, y, self._ascending, self._hiddenrevs) | |
1089 |
|
1098 | |||
|
1099 | @encoding.strmethod | |||
1090 | def __repr__(self): |
|
1100 | def __repr__(self): | |
1091 | d = {False: '-', True: '+'}[self._ascending] |
|
1101 | d = {False: '-', True: '+'}[self._ascending] | |
1092 |
return '<%s%s %d:%d>' % (type(self |
|
1102 | return '<%s%s %d:%d>' % (_typename(self), d, self._start, self._end) | |
1093 | self._start, self._end) |
|
|||
1094 |
|
1103 | |||
1095 | class fullreposet(_spanset): |
|
1104 | class fullreposet(_spanset): | |
1096 | """a set containing all revisions in the repo |
|
1105 | """a set containing all revisions in the repo | |
@@ -1123,7 +1132,7 b' class fullreposet(_spanset):' | |||||
1123 |
|
1132 | |||
1124 | def prettyformat(revs): |
|
1133 | def prettyformat(revs): | |
1125 | lines = [] |
|
1134 | lines = [] | |
1126 | rs = repr(revs) |
|
1135 | rs = pycompat.sysbytes(repr(revs)) | |
1127 | p = 0 |
|
1136 | p = 0 | |
1128 | while p < len(rs): |
|
1137 | while p < len(rs): | |
1129 | q = rs.find('<', p + 1) |
|
1138 | q = rs.find('<', p + 1) |
General Comments 0
You need to be logged in to leave comments.
Login now