sapling/eden/scm/tests/test-sparse-clone.t
Durham Goode 9473b487b5 tests: enable treemanifest for ~100 more tests
Summary:
Enables treemanifest for about 100 more tests. To make them pass I had
to expose the gettreepack capability from peers, which just works, and enable
treeonly and sendtrees by default in the tests, which I probably should've done
before anyway.

Reviewed By: quark-zju

Differential Revision: D21894955

fbshipit-source-id: 7a6a4d453824fb8c81a797a5487bf2ecc2b67761
2020-06-10 19:29:48 -07:00

82 lines
1.9 KiB
Perl

#chg-compatible
test sparse
$ configure dummyssh
$ setconfig ui.username="nobody <no.reply@fb.com>"
$ enable sparse rebase
$ hg init myrepo
$ cd myrepo
$ echo a > index.html
$ echo x > data.py
$ echo z > readme.txt
$ cat > webpage.sparse <<EOF
> [include]
> *.html
> EOF
$ cat > backend.sparse <<EOF
> [include]
> *.py
> EOF
$ hg ci -Aqm 'initial'
$ cd ..
Verify local clone with a sparse profile works
$ hg clone --enable-profile webpage.sparse myrepo clone1
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd clone1
$ ls
index.html
$ cd ..
Verify local clone with include works
$ hg clone --include *.sparse myrepo clone2
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd clone2
$ ls
backend.sparse
webpage.sparse
$ cd ..
Verify local clone with exclude works
$ hg clone --exclude data.py myrepo clone3
updating to branch default
4 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd clone3
$ ls
backend.sparse
index.html
readme.txt
webpage.sparse
$ cd ..
Verify sparse clone profile over ssh works
$ hg clone -q --enable-profile webpage.sparse ssh://user@dummy/myrepo clone4
$ cd clone4
$ ls
index.html
$ cd ..
Verify sparse clone with a non-existing sparse profile warns
$ hg clone --enable-profile nonexisting.sparse myrepo clone5
updating to branch default
the profile 'nonexisting.sparse' does not exist in the current commit, it will only take effect when you check out a commit containing a profile with that name
(if the path is a typo, use 'hg sparse disableprofile' to remove it)
5 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd clone5
$ ls
backend.sparse
data.py
index.html
readme.txt
webpage.sparse
$ cd ..