##// END OF EJS Templates
merge: with stable
merge: with stable

File last commit:

r48054:40b51c28 default
r49115:e2836d08 merge default
Show More
test-narrow-clone.t
298 lines | 6.6 KiB | text/troff | Tads3Lexer
/ tests / test-narrow-clone.t
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096 $ . "$TESTDIR/narrow-library.sh"
$ hg init master
$ cd master
$ cat >> .hg/hgrc <<EOF
> [narrow]
> serveellipses=True
> EOF
$ mkdir dir
$ mkdir dir/src
$ cd dir/src
$ for x in `$TESTDIR/seq.py 20`; do echo $x > "f$x"; hg add "f$x"; hg commit -m "Commit src $x"; done
$ cd ..
$ mkdir tests
$ cd tests
$ for x in `$TESTDIR/seq.py 20`; do echo $x > "t$x"; hg add "t$x"; hg commit -m "Commit test $x"; done
$ cd ../../..
Gregory Szorc
narrowspec: limit patterns to path: and rootfilesin: (BC)...
r39567 Only path: and rootfilesin: pattern prefixes are allowed
$ hg clone --narrow ssh://user@dummy/master badnarrow --noupdate --include 'glob:**'
abort: invalid prefix on narrow pattern: glob:**
(narrow patterns must begin with one of the following: path:, rootfilesin:)
[255]
$ hg clone --narrow ssh://user@dummy/master badnarrow --noupdate --exclude 'set:ignored'
abort: invalid prefix on narrow pattern: set:ignored
(narrow patterns must begin with one of the following: path:, rootfilesin:)
[255]
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096 narrow clone a file, f10
$ hg clone --narrow ssh://user@dummy/master narrow --noupdate --include "dir/src/f10"
requesting all changes
adding changesets
adding manifests
adding file changes
added 3 changesets with 1 changes to 1 files
new changesets *:* (glob)
$ cd narrow
$ cat .hg/requires | grep -v generaldelta
dotencode
Simon Sapin
dirstate-v2: Update the expected output of some tests for new requirement...
r48054 exp-dirstate-v2 (dirstate-v2 !)
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096 fncache
Augie Fackler
narrowrepo: make repo requirement include the string 'experimental'...
r36106 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 !)
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096 revlogv1
Boris Feld
test: enable sparse-revlog for test-narrow-clone.t...
r40936 sparserevlog
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096 store
Gregory Szorc
simplestore: use a custom store for the simple store repo...
r37433 testonly-simplestore (reposimplestore !)
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096
Martin von Zweigbergk
tests: avoid unnecessarily looking inside .hg/ in test-narrow*...
r38873 $ hg tracked
I path:dir/src/f10
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096 $ hg tracked
I path:dir/src/f10
$ hg update
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ find * | sort
dir
dir/src
dir/src/f10
$ cat dir/src/f10
10
$ cd ..
Charles Chamberlain
narrow: add capabilities for local repos, not just remote peers...
r47664 local-to-local narrow clones work
Augie Fackler
narrow: add test showing that local-to-local narrow clones don't work...
r39752
$ hg clone --narrow master narrow-via-localpeer --noupdate --include "dir/src/f10"
requesting all changes
Charles Chamberlain
narrow: add capabilities for local repos, not just remote peers...
r47664 adding changesets
adding manifests
adding file changes
added 3 changesets with 1 changes to 1 files
new changesets 5d21aaea77f8:26ce255d5b5d
Augie Fackler
narrow: add test showing that local-to-local narrow clones don't work...
r39752 $ hg tracked -R narrow-via-localpeer
Charles Chamberlain
narrow: add capabilities for local repos, not just remote peers...
r47664 I path:dir/src/f10
Augie Fackler
narrow: add test showing that local-to-local narrow clones don't work...
r39752 $ rm -Rf narrow-via-localpeer
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096 narrow clone with a newline should fail
$ hg clone --narrow ssh://user@dummy/master narrow_fail --noupdate --include 'dir/src/f10
> '
abort: newlines are not allowed in narrowspec paths
[255]
narrow clone a directory, tests/, except tests/t19
$ hg clone --narrow ssh://user@dummy/master narrowdir --noupdate --include "dir/tests/" --exclude "dir/tests/t19"
requesting all changes
adding changesets
adding manifests
adding file changes
added 21 changesets with 19 changes to 19 files
new changesets *:* (glob)
$ cd narrowdir
Martin von Zweigbergk
tests: avoid unnecessarily looking inside .hg/ in test-narrow*...
r38873 $ hg tracked
I path:dir/tests
X path:dir/tests/t19
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096 $ hg tracked
I path:dir/tests
X path:dir/tests/t19
$ hg update
19 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ find * | sort
dir
dir/tests
dir/tests/t1
dir/tests/t10
dir/tests/t11
dir/tests/t12
dir/tests/t13
dir/tests/t14
dir/tests/t15
dir/tests/t16
dir/tests/t17
dir/tests/t18
dir/tests/t2
dir/tests/t20
dir/tests/t3
dir/tests/t4
dir/tests/t5
dir/tests/t6
dir/tests/t7
dir/tests/t8
dir/tests/t9
$ cd ..
narrow clone everything but a directory (tests/)
$ hg clone --narrow ssh://user@dummy/master narrowroot --noupdate --exclude "dir/tests"
requesting all changes
adding changesets
adding manifests
adding file changes
added 21 changesets with 20 changes to 20 files
new changesets *:* (glob)
$ cd narrowroot
Martin von Zweigbergk
tests: avoid unnecessarily looking inside .hg/ in test-narrow*...
r38873 $ hg tracked
I path:.
X path:dir/tests
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096 $ hg tracked
I path:.
X path:dir/tests
$ hg update
20 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ find * | sort
dir
dir/src
dir/src/f1
dir/src/f10
dir/src/f11
dir/src/f12
dir/src/f13
dir/src/f14
dir/src/f15
dir/src/f16
dir/src/f17
dir/src/f18
dir/src/f19
dir/src/f2
dir/src/f20
dir/src/f3
dir/src/f4
dir/src/f5
dir/src/f6
dir/src/f7
dir/src/f8
dir/src/f9
$ cd ..
narrow clone no paths at all
$ hg clone --narrow ssh://user@dummy/master narrowempty --noupdate
requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 0 changes to 0 files
new changesets * (glob)
$ cd narrowempty
$ hg tracked
$ hg update
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
Joerg Sonnenberger
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems...
r45218 $ ls -A
.hg
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096
$ cd ..
simple clone
$ hg clone ssh://user@dummy/master simpleclone
requesting all changes
adding changesets
adding manifests
adding file changes
added 40 changesets with 40 changes to 40 files
new changesets * (glob)
updating to branch default
40 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd simpleclone
$ find * | sort
dir
dir/src
dir/src/f1
dir/src/f10
dir/src/f11
dir/src/f12
dir/src/f13
dir/src/f14
dir/src/f15
dir/src/f16
dir/src/f17
dir/src/f18
dir/src/f19
dir/src/f2
dir/src/f20
dir/src/f3
dir/src/f4
dir/src/f5
dir/src/f6
dir/src/f7
dir/src/f8
dir/src/f9
dir/tests
dir/tests/t1
dir/tests/t10
dir/tests/t11
dir/tests/t12
dir/tests/t13
dir/tests/t14
dir/tests/t15
dir/tests/t16
dir/tests/t17
dir/tests/t18
dir/tests/t19
dir/tests/t2
dir/tests/t20
dir/tests/t3
dir/tests/t4
dir/tests/t5
dir/tests/t6
dir/tests/t7
dir/tests/t8
dir/tests/t9
$ cd ..
Pulkit Goyal
narrow: add a --narrowspec flag to clone command...
r39283
Testing the --narrowspec flag to clone
$ cat >> narrowspecs <<EOF
> %include foo
> [include]
> path:dir/tests/
Martin von Zweigbergk
tests: drop extra "file:" prefix from paths in narrow test...
r39578 > path:dir/src/f12
Pulkit Goyal
narrow: add a --narrowspec flag to clone command...
r39283 > EOF
$ hg clone ssh://user@dummy/master specfile --narrowspec narrowspecs
reading narrowspec from '$TESTTMP/narrowspecs'
Martin von Zweigbergk
errors: raise more specifc errors from narrowcommands...
r46733 config error: cannot specify other files using '%include' in narrowspec
[30]
Pulkit Goyal
narrow: add a --narrowspec flag to clone command...
r39283
$ cat > narrowspecs <<EOF
> [include]
> path:dir/tests/
Martin von Zweigbergk
tests: drop extra "file:" prefix from paths in narrow test...
r39578 > path:dir/src/f12
Pulkit Goyal
narrow: add a --narrowspec flag to clone command...
r39283 > EOF
$ hg clone ssh://user@dummy/master specfile --narrowspec narrowspecs
reading narrowspec from '$TESTTMP/narrowspecs'
requesting all changes
adding changesets
adding manifests
adding file changes
Martin von Zweigbergk
tests: drop extra "file:" prefix from paths in narrow test...
r39578 added 23 changesets with 21 changes to 21 files
new changesets c13e3773edb4:26ce255d5b5d
Pulkit Goyal
narrow: add a --narrowspec flag to clone command...
r39283 updating to branch default
Martin von Zweigbergk
tests: drop extra "file:" prefix from paths in narrow test...
r39578 21 files updated, 0 files merged, 0 files removed, 0 files unresolved
Pulkit Goyal
narrow: add a --narrowspec flag to clone command...
r39283 $ cd specfile
$ hg tracked
Martin von Zweigbergk
tests: drop extra "file:" prefix from paths in narrow test...
r39578 I path:dir/src/f12
Pulkit Goyal
narrow: add a --narrowspec flag to clone command...
r39283 I path:dir/tests
$ cd ..
Gregory Szorc
narrowspec: limit patterns to path: and rootfilesin: (BC)...
r39567
Narrow spec with invalid patterns is rejected
$ cat > narrowspecs <<EOF
> [include]
> glob:**
> EOF
$ hg clone ssh://user@dummy/master badspecfile --narrowspec narrowspecs
reading narrowspec from '$TESTTMP/narrowspecs'
abort: invalid prefix on narrow pattern: glob:**
(narrow patterns must begin with one of the following: path:, rootfilesin:)
[255]