sapling/tests/test-fileset.t
Patrick Mezard faab1846cc fileset: matchctx.existing() must consider unknown files
By default, unknown files are ignored. If the 'unknown()' predicate
appears in the syntax tree, then they are taken in account.
Unfortunately, matchctx.existing() was filtering against non-deleted
context files, which does not include unknown files. So:

  $ hg debugfileset 'binary() and unknown()'

would not return existing binary unknown files.
2012-08-15 22:29:09 +02:00

89 lines
1.1 KiB
Raku

$ fileset() {
> hg debugfileset "$@"
> }
$ hg init repo
$ cd repo
$ echo a > a1
$ echo a > a2
$ echo b > b1
$ echo b > b2
$ hg ci -Am addfiles
adding a1
adding a2
adding b1
adding b2
Test operators and basic patterns
$ fileset a1
a1
$ fileset 'a*'
a1
a2
$ fileset '"re:a\d"'
a1
a2
$ fileset 'a1 or a2'
a1
a2
$ fileset 'a1 | a2'
a1
a2
$ fileset 'a* and "*1"'
a1
$ fileset 'a* & "*1"'
a1
$ fileset 'not (r"a*")'
b1
b2
$ fileset '! ("a*")'
b1
b2
$ fileset 'a* - a1'
a2
Test files status
$ rm a1
$ hg rm a2
$ echo b >> b2
$ hg cp b1 c1
$ echo c > c2
$ echo c > c3
$ cat > .hgignore <<EOF
> \.hgignore
> 2$
> EOF
$ fileset 'modified()'
b2
$ fileset 'added()'
c1
$ fileset 'removed()'
a2
$ fileset 'deleted()'
a1
$ fileset 'unknown()'
c3
$ fileset 'ignored()'
.hgignore
c2
$ fileset 'hgignore()'
a2
b2
$ fileset 'clean()'
b1
$ fileset 'copied()'
c1
Test files properties
>>> file('bin', 'wb').write('\0a')
$ fileset 'binary()'
$ fileset 'binary() and unknown()'
bin
$ hg add bin
$ fileset 'binary()'
bin