##// 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 41 registrar,
42 42 revlog,
43 43 revset,
44 revsetlang,
44 45 scmutil,
45 46 smartset,
46 47 templatekw,
@@ -2347,13 +2348,13 b' def _makenofollowlogfilematcher(repo, pa'
2347 2348 '_fdescendants': ('_firstdescendants(%(val)s)', None),
2348 2349 '_matchfiles': ('_matchfiles(%(val)s)', None),
2349 2350 'date': ('date(%(val)r)', None),
2350 'branch': ('branch(%(val)r)', ' or '),
2351 '_patslog': ('filelog(%(val)r)', ' or '),
2352 '_patsfollow': ('follow(%(val)r)', ' or '),
2353 '_patsfollowfirst': ('_followfirst(%(val)r)', ' or '),
2354 'keyword': ('keyword(%(val)r)', ' or '),
2355 'prune': ('not ancestors(%(val)r)', ' and '),
2356 'user': ('user(%(val)r)', ' or '),
2351 'branch': ('branch(%(val)r)', '%lr'),
2352 '_patslog': ('filelog(%(val)r)', '%lr'),
2353 '_patsfollow': ('follow(%(val)r)', '%lr'),
2354 '_patsfollowfirst': ('_followfirst(%(val)r)', '%lr'),
2355 'keyword': ('keyword(%(val)r)', '%lr'),
2356 'prune': ('ancestors(%(val)r)', 'not %lr'),
2357 'user': ('user(%(val)r)', '%lr'),
2357 2358 }
2358 2359
2359 2360 def _makelogrevset(repo, pats, opts, revs):
@@ -2473,14 +2474,15 b' def _makelogrevset(repo, pats, opts, rev'
2473 2474 continue
2474 2475 if op not in _opt2logrevset:
2475 2476 continue
2476 revop, andor = _opt2logrevset[op]
2477 revop, listop = _opt2logrevset[op]
2477 2478 if '%(val)' not in revop:
2478 2479 expr.append(revop)
2479 2480 else:
2480 if not isinstance(val, list):
2481 if not listop:
2481 2482 e = revop % {'val': val}
2482 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 2486 expr.append(e)
2485 2487
2486 2488 if expr:
@@ -1500,12 +1500,14 b' glog always reorders nodes which explain'
1500 1500 (func
1501 1501 (symbol 'branch')
1502 1502 (string 'default'))
1503 (func
1504 (symbol 'branch')
1505 (string 'branch'))
1506 (func
1507 (symbol 'branch')
1508 (string 'branch'))))
1503 (or
1504 (list
1505 (func
1506 (symbol 'branch')
1507 (string 'branch'))
1508 (func
1509 (symbol 'branch')
1510 (string 'branch'))))))
1509 1511 <filteredset
1510 1512 <spanset- 0:37>,
1511 1513 <addset
@@ -1571,26 +1573,25 b' glog always reorders nodes which explain'
1571 1573 [255]
1572 1574 $ testlog --prune 31 --prune 32
1573 1575 []
1574 (and
1575 (not
1576 (func
1577 (symbol 'ancestors')
1578 (string '31')))
1579 (not
1580 (func
1581 (symbol 'ancestors')
1582 (string '32'))))
1576 (not
1577 (or
1578 (list
1579 (func
1580 (symbol 'ancestors')
1581 (string '31'))
1582 (func
1583 (symbol 'ancestors')
1584 (string '32')))))
1583 1585 <filteredset
1584 <filteredset
1585 <spanset- 0:37>,
1586 <not
1586 <spanset- 0:37>,
1587 <not
1588 <addset
1587 1589 <filteredset
1588 1590 <spanset- 0:37>,
1589 <generatorsetdesc+>>>>,
1590 <not
1591 <filteredset
1592 <spanset- 0:37>,
1593 <generatorsetdesc+>>>>
1591 <generatorsetdesc+>>,
1592 <filteredset
1593 <spanset- 0:37>,
1594 <generatorsetdesc+>>>>>
1594 1595
1595 1596 Dedicated repo for --follow and paths filtering. The g is crafted to
1596 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