##// END OF EJS Templates
log: use revsetlang.formatspec() to concatenate list expression...
Yuya Nishihara -
r35662:7a0a90d6 default
parent child Browse files
Show More
@@ -41,6 +41,7 b' from . import ('
41 registrar,
41 registrar,
42 revlog,
42 revlog,
43 revset,
43 revset,
44 revsetlang,
44 scmutil,
45 scmutil,
45 smartset,
46 smartset,
46 templatekw,
47 templatekw,
@@ -2347,13 +2348,13 b' def _makenofollowlogfilematcher(repo, pa'
2347 '_fdescendants': ('_firstdescendants(%(val)s)', None),
2348 '_fdescendants': ('_firstdescendants(%(val)s)', None),
2348 '_matchfiles': ('_matchfiles(%(val)s)', None),
2349 '_matchfiles': ('_matchfiles(%(val)s)', None),
2349 'date': ('date(%(val)r)', None),
2350 'date': ('date(%(val)r)', None),
2350 'branch': ('branch(%(val)r)', ' or '),
2351 'branch': ('branch(%(val)r)', '%lr'),
2351 '_patslog': ('filelog(%(val)r)', ' or '),
2352 '_patslog': ('filelog(%(val)r)', '%lr'),
2352 '_patsfollow': ('follow(%(val)r)', ' or '),
2353 '_patsfollow': ('follow(%(val)r)', '%lr'),
2353 '_patsfollowfirst': ('_followfirst(%(val)r)', ' or '),
2354 '_patsfollowfirst': ('_followfirst(%(val)r)', '%lr'),
2354 'keyword': ('keyword(%(val)r)', ' or '),
2355 'keyword': ('keyword(%(val)r)', '%lr'),
2355 'prune': ('not ancestors(%(val)r)', ' and '),
2356 'prune': ('ancestors(%(val)r)', 'not %lr'),
2356 'user': ('user(%(val)r)', ' or '),
2357 'user': ('user(%(val)r)', '%lr'),
2357 }
2358 }
2358
2359
2359 def _makelogrevset(repo, pats, opts, revs):
2360 def _makelogrevset(repo, pats, opts, revs):
@@ -2473,14 +2474,15 b' def _makelogrevset(repo, pats, opts, rev'
2473 continue
2474 continue
2474 if op not in _opt2logrevset:
2475 if op not in _opt2logrevset:
2475 continue
2476 continue
2476 revop, andor = _opt2logrevset[op]
2477 revop, listop = _opt2logrevset[op]
2477 if '%(val)' not in revop:
2478 if '%(val)' not in revop:
2478 expr.append(revop)
2479 expr.append(revop)
2479 else:
2480 else:
2480 if not isinstance(val, list):
2481 if not listop:
2481 e = revop % {'val': val}
2482 e = revop % {'val': val}
2482 else:
2483 else:
2483 e = '(' + andor.join((revop % {'val': v}) for v in val) + ')'
2484 e = [revop % {'val': v} for v in val]
2485 e = revsetlang.formatspec(listop, e)
2484 expr.append(e)
2486 expr.append(e)
2485
2487
2486 if expr:
2488 if expr:
@@ -1500,12 +1500,14 b' glog always reorders nodes which explain'
1500 (func
1500 (func
1501 (symbol 'branch')
1501 (symbol 'branch')
1502 (string 'default'))
1502 (string 'default'))
1503 (or
1504 (list
1503 (func
1505 (func
1504 (symbol 'branch')
1506 (symbol 'branch')
1505 (string 'branch'))
1507 (string 'branch'))
1506 (func
1508 (func
1507 (symbol 'branch')
1509 (symbol 'branch')
1508 (string 'branch'))))
1510 (string 'branch'))))))
1509 <filteredset
1511 <filteredset
1510 <spanset- 0:37>,
1512 <spanset- 0:37>,
1511 <addset
1513 <addset
@@ -1571,26 +1573,25 b' glog always reorders nodes which explain'
1571 [255]
1573 [255]
1572 $ testlog --prune 31 --prune 32
1574 $ testlog --prune 31 --prune 32
1573 []
1575 []
1574 (and
1575 (not
1576 (not
1577 (or
1578 (list
1576 (func
1579 (func
1577 (symbol 'ancestors')
1580 (symbol 'ancestors')
1578 (string '31')))
1581 (string '31'))
1579 (not
1580 (func
1582 (func
1581 (symbol 'ancestors')
1583 (symbol 'ancestors')
1582 (string '32'))))
1584 (string '32')))))
1583 <filteredset
1584 <filteredset
1585 <filteredset
1585 <spanset- 0:37>,
1586 <spanset- 0:37>,
1586 <not
1587 <not
1588 <addset
1587 <filteredset
1589 <filteredset
1588 <spanset- 0:37>,
1590 <spanset- 0:37>,
1589 <generatorsetdesc+>>>>,
1591 <generatorsetdesc+>>,
1590 <not
1591 <filteredset
1592 <filteredset
1592 <spanset- 0:37>,
1593 <spanset- 0:37>,
1593 <generatorsetdesc+>>>>
1594 <generatorsetdesc+>>>>>
1594
1595
1595 Dedicated repo for --follow and paths filtering. The g is crafted to
1596 Dedicated repo for --follow and paths filtering. The g is crafted to
1596 have 2 filelog topological heads in a linear changeset graph.
1597 have 2 filelog topological heads in a linear changeset graph.
General Comments 0
You need to be logged in to leave comments. Login now