mirror of
https://github.com/facebook/sapling.git
synced 2024-10-11 17:27:53 +03:00
836347bf1b
Summary: Add a warning when a user enables a sparse profile on the command line that does not exist. Triggering the check from multiple places, to not have to clutter the `_config` function. The `_config` function is called from other places as well (eg cloning a sparse repo) and I didn't want to add another guard parameter to it for such a benign functionality. Besides the `_checknonexistingprofiles` function is only called in 3 situtations: 1. `hg sparse {enable|enableprofile}` 2. `hg sparse --enable-profile` (which is actually deprecated) 3. `hg clone --enable-profile` Special care has been taken when cloning a sparse repo to do the check after the clone. Reviewed By: markbt Differential Revision: D17571442 fbshipit-source-id: 882dbe8b142bf192754dd17d0729d1bb0b472a83
86 lines
1.9 KiB
Perl
86 lines
1.9 KiB
Perl
$ setconfig extensions.treemanifest=!
|
|
test sparse
|
|
|
|
$ cat >> $HGRCPATH << EOF
|
|
> [ui]
|
|
> ssh = python "$RUNTESTDIR/dummyssh"
|
|
> username = nobody <no.reply@fb.com>
|
|
> [extensions]
|
|
> sparse=
|
|
> purge=
|
|
> rebase=
|
|
> EOF
|
|
|
|
$ 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
|
|
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 ..
|