sapling/tests/test-sparse-clear.t
Scott Ragan 598c76eb7b creates hg sparse --clear-rules option
Summary:
The sparse profile in .hg/sparse currently only can grow, removing rules from this must either be done manually (by editing the file), or one by one using the the -d/--delete command line switch.

To mirror the hg sparse --import-rules command line, hg sparse --clear-rules removes local includes/excludes rules.

Test Plan: fb-hgext/tests/test-sparse-clear.t

Reviewers: marianomartin, mjpieters

Reviewed By: mjpieters

Subscribers: mjpieters

Differential Revision: https://phabricator.intern.facebook.com/D4609102

Tasks: 16073155

Signature: t1:4609102:1488028035:f5f7b7420d911667fb4a07ac770b7e0480a76977
2017-02-27 10:53:50 -08:00

74 lines
1.1 KiB
Perl

test sparse
$ hg init myrepo
$ cd myrepo
$ cat >> $HGRCPATH <<EOF
> [extensions]
> sparse=$TESTDIR/../hgext3rd/sparse.py
> purge=
> strip=
> rebase=
> EOF
$ echo a > index.html
$ echo x > data.py
$ echo z > readme.txt
$ cat > base.sparse <<EOF
> [include]
> *.sparse
> EOF
$ hg ci -Aqm 'initial'
$ cat > webpage.sparse <<EOF
> %include base.sparse
> [include]
> *.html
> EOF
$ hg ci -Aqm 'initial'
Clear rules when there are includes
$ hg sparse --include *.py
$ ls
data.py
$ hg sparse --clear-rules
$ ls
base.sparse
data.py
index.html
readme.txt
webpage.sparse
Clear rules when there are excludes
$ hg sparse --exclude *.sparse
$ ls
data.py
index.html
readme.txt
$ hg sparse --clear-rules
$ ls
base.sparse
data.py
index.html
readme.txt
webpage.sparse
Clearing rules should not alter profiles
$ hg sparse --enable-profile webpage.sparse
$ ls
base.sparse
index.html
webpage.sparse
$ hg sparse --include *.py
$ ls
base.sparse
data.py
index.html
webpage.sparse
$ hg sparse --clear-rules
$ ls
base.sparse
index.html
webpage.sparse