##// END OF EJS Templates
largefiles: restore archiving largefiles with hgweb (issue4859)...
largefiles: restore archiving largefiles with hgweb (issue4859) This regressed in 7699d3212994, when trying to conditionally disable archiving of largefiles. I'm not sure if wrapfunction() is the right way to do this, but it seems to work. The mysterious issue with lfstatus getting out of sync in the proxy and the unfiltered view crops up again here. See the referenced cset for more info.

File last commit:

r26233:d3dbb65c default
r26417:9a466b9f 3.5.2 stable
Show More
test-fileset.t
308 lines | 5.5 KiB | text/troff | Tads3Lexer
Patrick Mezard
tests: test filesets with test-fileset.t
r17362 $ fileset() {
> hg debugfileset "$@"
> }
$ hg init repo
$ cd repo
$ echo a > a1
$ echo a > a2
$ echo b > b1
Patrick Mezard
test-fileset: test file status predicates
r17364 $ echo b > b2
Patrick Mezard
tests: test filesets with test-fileset.t
r17362 $ hg ci -Am addfiles
adding a1
adding a2
adding b1
Patrick Mezard
test-fileset: test file status predicates
r17364 adding b2
Patrick Mezard
tests: test filesets with test-fileset.t
r17362
Test operators and basic patterns
Yuya Nishihara
fileset: pretty print syntax tree in debug output
r25255 $ fileset -v a1
('symbol', 'a1')
Patrick Mezard
tests: test filesets with test-fileset.t
r17362 a1
Yuya Nishihara
fileset: pretty print syntax tree in debug output
r25255 $ fileset -v 'a*'
('symbol', 'a*')
Patrick Mezard
tests: test filesets with test-fileset.t
r17362 a1
a2
Yuya Nishihara
fileset: pretty print syntax tree in debug output
r25255 $ fileset -v '"re:a\d"'
('string', 're:a\\d')
Patrick Mezard
tests: test filesets with test-fileset.t
r17362 a1
a2
Yuya Nishihara
fileset: pretty print syntax tree in debug output
r25255 $ fileset -v 'a1 or a2'
(or
('symbol', 'a1')
('symbol', 'a2'))
Patrick Mezard
tests: test filesets with test-fileset.t
r17362 a1
a2
$ fileset 'a1 | a2'
a1
a2
$ fileset 'a* and "*1"'
a1
$ fileset 'a* & "*1"'
a1
$ fileset 'not (r"a*")'
b1
Patrick Mezard
test-fileset: test file status predicates
r17364 b2
Patrick Mezard
tests: test filesets with test-fileset.t
r17362 $ fileset '! ("a*")'
b1
Patrick Mezard
test-fileset: test file status predicates
r17364 b2
Patrick Mezard
fileset: actually implement 'minusset'...
r17363 $ fileset 'a* - a1'
a2
Matt Mackall
fileset: handle underbar in symbols...
r19470 $ fileset 'a_b'
Patrick Mezard
tests: test filesets with test-fileset.t
r17362
Patrick Mezard
test-fileset: test file status predicates
r17364 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
Patrick Mezard
fileset: exclude deleted files from matchctx.existing()...
r17365 Test files properties
>>> file('bin', 'wb').write('\0a')
$ fileset 'binary()'
Patrick Mezard
fileset: matchctx.existing() must consider unknown files...
r17366 $ fileset 'binary() and unknown()'
bin
Patrick Mezard
fileset: matchctx.existing() must consider ignored files...
r17367 $ echo '^bin$' >> .hgignore
$ fileset 'binary() and ignored()'
bin
Patrick Mezard
fileset: matchctx.existing() must consider unknown files...
r17366 $ hg add bin
$ fileset 'binary()'
bin
Patrick Mezard
fileset: exclude deleted files from matchctx.existing()...
r17365
Patrick Mezard
fileset: do not traceback on invalid grep pattern
r17368 $ fileset 'grep("b{1}")'
b2
c1
b1
$ fileset 'grep("missingparens(")'
hg: parse error: invalid match pattern: unbalanced parenthesis
[255]
Patrick Mezard
test-fileset: test remaining predicates...
r17369 #if execbit
$ chmod +x b2
$ fileset 'exec()'
b2
#endif
#if symlink
$ ln -s b2 b2link
$ fileset 'symlink() and unknown()'
b2link
$ hg add b2link
#endif
Siddharth Agarwal
fileset: add a fileset for portable filenames...
r24408 #if no-windows
$ echo foo > con.xml
Siddharth Agarwal
test-fileset.t: remove 'bar ' and 'baz\' from tested filenames...
r24430 $ fileset 'not portable()'
Siddharth Agarwal
fileset: add a fileset for portable filenames...
r24408 con.xml
Siddharth Agarwal
test-fileset.t: remove 'bar ' and 'baz\' from tested filenames...
r24430 $ hg --config ui.portablefilenames=ignore add con.xml
Siddharth Agarwal
fileset: add a fileset for portable filenames...
r24408 #endif
Patrick Mezard
test-fileset: test remaining predicates...
r17369 >>> file('1k', 'wb').write(' '*1024)
>>> file('2k', 'wb').write(' '*2048)
$ hg add 1k 2k
$ fileset 'size("bar")'
hg: parse error: couldn't parse size: bar
[255]
$ fileset 'size(1k)'
1k
$ fileset '(1k or 2k) and size("< 2k")'
1k
$ fileset '(1k or 2k) and size("<=2k")'
1k
2k
$ fileset '(1k or 2k) and size("> 1k")'
2k
$ fileset '(1k or 2k) and size(">=1K")'
1k
2k
$ fileset '(1k or 2k) and size(".5KB - 1.5kB")'
1k
av6
filesets: ignore unit case in size() predicate for single value...
r25925 $ fileset 'size("1M")'
$ fileset 'size("1 GB")'
Patrick Mezard
test-fileset: test remaining predicates...
r17369
Test merge states
$ hg ci -m manychanges
$ hg up -C 0
* files updated, 0 files merged, * files removed, 0 files unresolved (glob)
$ echo c >> b2
$ hg ci -m diverging b2
created new head
$ fileset 'resolved()'
$ fileset 'unresolved()'
$ hg merge
merging b2
warning: conflicts during merge.
merging b2 incomplete! (edit conflicts, then use 'hg resolve --mark')
* files updated, 0 files merged, * files removed, 1 files unresolved (glob)
use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
[1]
$ fileset 'resolved()'
$ fileset 'unresolved()'
b2
$ echo e > b2
$ hg resolve -m b2
Pierre-Yves David
resolve: add parenthesis around "no more unresolved files" message...
r21947 (no more unresolved files)
Patrick Mezard
test-fileset: test remaining predicates...
r17369 $ fileset 'resolved()'
b2
$ fileset 'unresolved()'
$ hg ci -m merge
Test subrepo predicate
$ hg init sub
$ echo a > sub/suba
$ hg -R sub add sub/suba
$ hg -R sub ci -m sub
$ echo 'sub = sub' > .hgsub
Matt Harbison
convert: support incremental conversion with hg subrepos...
r25558 $ hg init sub2
$ echo b > sub2/b
$ hg -R sub2 ci -Am sub2
adding b
$ echo 'sub2 = sub2' >> .hgsub
Patrick Mezard
test-fileset: test remaining predicates...
r17369 $ fileset 'subrepo()'
$ hg add .hgsub
$ fileset 'subrepo()'
sub
Matt Harbison
convert: support incremental conversion with hg subrepos...
r25558 sub2
Patrick Mezard
test-fileset: test remaining predicates...
r17369 $ fileset 'subrepo("sub")'
sub
$ fileset 'subrepo("glob:*")'
sub
Matt Harbison
convert: support incremental conversion with hg subrepos...
r25558 sub2
Patrick Mezard
debugfileset: implement --rev, more tests
r17370 $ hg ci -m subrepo
Patrick Mezard
test-fileset: test remaining predicates...
r17369
Matt Harbison
convert: support incremental conversion with hg subrepos...
r25558 Test that .hgsubstate is updated as appropriate during a conversion. The
saverev property is enough to alter the hashes of the subrepo.
$ hg init ../converted
$ hg --config extensions.convert= convert --config convert.hg.saverev=True \
> sub ../converted/sub
initializing destination ../converted/sub repository
scanning source...
sorting...
converting...
0 sub
$ hg clone -U sub2 ../converted/sub2
$ hg --config extensions.convert= convert --config convert.hg.saverev=True \
> . ../converted
scanning source...
sorting...
converting...
4 addfiles
3 manychanges
2 diverging
1 merge
0 subrepo
no ".hgsubstate" updates will be made for "sub2"
$ hg up -q -R ../converted -r tip
$ hg --cwd ../converted cat sub/suba sub2/b -r tip
a
b
$ oldnode=`hg log -r tip -T "{node}\n"`
$ newnode=`hg log -R ../converted -r tip -T "{node}\n"`
Yuya Nishihara
test-fileset: remove bashism, use test instead of '[[ ]]'...
r25587 $ [ "$oldnode" != "$newnode" ] || echo "nothing changed"
Matt Harbison
convert: support incremental conversion with hg subrepos...
r25558
Patrick Mezard
debugfileset: implement --rev, more tests
r17370 Test with a revision
$ hg log -G --template '{rev} {desc}\n'
@ 4 subrepo
|
o 3 merge
|\
| o 2 diverging
| |
o | 1 manychanges
|/
o 0 addfiles
$ echo unknown > unknown
$ fileset -r1 'modified()'
b2
$ fileset -r1 'added() and c1'
c1
$ fileset -r1 'removed()'
a2
$ fileset -r1 'deleted()'
$ fileset -r1 'unknown()'
$ fileset -r1 'ignored()'
$ fileset -r1 'hgignore()'
b2
bin
$ fileset -r1 'binary()'
bin
$ fileset -r1 'size(1k)'
1k
$ fileset -r3 'resolved()'
$ fileset -r3 'unresolved()'
#if execbit
$ fileset -r1 'exec()'
b2
#endif
#if symlink
$ fileset -r1 'symlink()'
b2link
#endif
Siddharth Agarwal
fileset: add a fileset for portable filenames...
r24408 #if no-windows
$ fileset -r1 'not portable()'
con.xml
Matt Harbison
test-fileset: forget non-portable files to avoid failures on Windows...
r24424 $ hg forget 'con.xml'
Siddharth Agarwal
fileset: add a fileset for portable filenames...
r24408 #endif
Patrick Mezard
debugfileset: implement --rev, more tests
r17370 $ fileset -r4 'subrepo("re:su.*")'
sub
Matt Harbison
convert: support incremental conversion with hg subrepos...
r25558 sub2
Patrick Mezard
debugfileset: implement --rev, more tests
r17370 $ fileset -r4 'subrepo("sub")'
sub
Patrick Mezard
fileset: fix generator vs list bug in fast path...
r17371 $ fileset -r4 'b2 or c1'
b2
c1
Patrick Mezard
debugfileset: implement --rev, more tests
r17370
Matt Mackall
filesets: add eol predicate
r18842 >>> open('dos', 'wb').write("dos\r\n")
>>> open('mixed', 'wb').write("dos\r\nunix\n")
>>> open('mac', 'wb').write("mac\r")
$ hg add dos mixed mac
$ fileset 'eol(dos)'
dos
mixed
$ fileset 'eol(unix)'
.hgsub
.hgsubstate
a1
b1
b2
c1
mixed
$ fileset 'eol(mac)'
mac