##// END OF EJS Templates
ci: stop running with Python 2...
ci: stop running with Python 2 We're dropping support for Python 2 after hg 6.0. Differential Revision: https://phab.mercurial-scm.org/D11748

File last commit:

r49142:f3552978 stable
r49144:5d83a40c default
Show More
test-narrow-sparse.t
97 lines | 2.1 KiB | text/troff | Tads3Lexer
/ tests / test-narrow-sparse.t
Pulkit Goyal
tests: add tests for narrow clone when both sparse and narrow are enabled...
r41182 Testing interaction of sparse and narrow when both are enabled on the client
side and we do a non-ellipsis clone
#testcases tree flat
$ . "$TESTDIR/narrow-library.sh"
$ cat << EOF >> $HGRCPATH
> [extensions]
> sparse =
> EOF
#if tree
$ cat << EOF >> $HGRCPATH
> [experimental]
> treemanifest = 1
> EOF
#endif
$ hg init master
$ cd master
$ mkdir inside
$ echo 'inside' > inside/f
$ hg add inside/f
$ hg commit -m 'add inside'
$ mkdir widest
$ echo 'widest' > widest/f
$ hg add widest/f
$ hg commit -m 'add widest'
$ mkdir outside
$ echo 'outside' > outside/f
$ hg add outside/f
$ hg commit -m 'add outside'
$ cd ..
narrow clone the inside file
$ hg clone --narrow ssh://user@dummy/master narrow --include inside/f
requesting all changes
adding changesets
adding manifests
adding file changes
added 3 changesets with 1 changes to 1 files
new changesets *:* (glob)
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd narrow
$ hg tracked
I path:inside/f
$ hg files
inside/f
Pulkit Goyal
sparse: don't enable on clone if it was a narrow clone...
r41183 XXX: we should have a flag in `hg debugsparse` to list the sparse profile
$ test -f .hg/sparse
[1]
Pulkit Goyal
tests: add tests for narrow clone when both sparse and narrow are enabled...
r41182
$ cat .hg/requires
dotencode
dirstate-v2: freeze the on-disk format...
r49116 exp-rc-dirstate-v2 (dirstate-v2 !)
Pulkit Goyal
tests: add tests for narrow clone when both sparse and narrow are enabled...
r41182 fncache
generaldelta
narrowhg-experimental
persistent-nodemap: enable the feature by default when using Rust...
r47646 persistent-nodemap (rust !)
revlog-compression: use zstd by default (if available)...
r47636 revlog-compression-zstd (zstd !)
Pulkit Goyal
tests: add tests for narrow clone when both sparse and narrow are enabled...
r41182 revlogv1
sparserevlog
store
treemanifest (tree !)
Pulkit Goyal
tests: show that debugrebuilddirstate is broken with narrow+sparse...
r41184
$ hg debugrebuilddirstate
Charles Chamberlain
narrow: widen when files are excluded by sparse and not included by narrow...
r48084
We only make the following assertions for the flat test case since in the
treemanifest test case debugsparse fails with "path ends in directory
separator: outside/" which seems like a bug unrelated to the regression this is
testing for.
#if flat
widening with both sparse and narrow is possible
$ cat >> .hg/hgrc <<EOF
> [extensions]
> sparse =
> narrow =
> EOF
$ hg debugsparse -X outside/f -X widest/f
$ hg tracked -q --addinclude outside/f
$ find . -name .hg -prune -o -type f -print | sort
./inside/f
$ hg debugsparse -d outside/f
$ find . -name .hg -prune -o -type f -print | sort
./inside/f
./outside/f
#endif