##// END OF EJS Templates
rust-matchers: better support file_set in IntersectionMatcher...
rust-matchers: better support file_set in IntersectionMatcher Previously, if both of the input matchers had non-exact file sets, IntersectionMatcher would simply have an empty fileset. Now, we duplicate Python behavior: we *union* the filesets of the matchers in that case. This makes some sense, because without exact input file sets, we can't do an exact intersection and must over-approximate. Concretely, this is necessary because the file_set is the list of files that were explicitly listed by the user, and we want to provide explicit errors for all such files, from both matchers.

File last commit:

r49730:6000f5b2 default
r51749:e037af7d default
Show More
stack.py
22 lines | 722 B | text/x-python | PythonLexer
# stack.py - Mercurial functions for stack definition
#
# Copyright Olivia Mackall <olivia@selenic.com> and other
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.
def getstack(repo, rev=None):
"""return a sorted smartrev of the stack containing either rev if it is
not None or the current working directory parent.
The stack will always contain all drafts changesets which are ancestors to
the revision and are not merges.
"""
if rev is None:
rev = b'.'
revspec = b'only(%s) and not public() and not ::merge()'
revisions = repo.revs(revspec, rev)
revisions.sort()
return revisions