test-remotefilelog-clone-tree.t
119 lines
| 2.6 KiB
| text/troff
|
Tads3Lexer
/ tests / test-remotefilelog-clone-tree.t
Matt Harbison
|
r40758 | #require no-windows | ||
Augie Fackler
|
r40530 | $ . "$TESTDIR/remotefilelog-library.sh" | ||
Martin von Zweigbergk
|
r40605 | $ hg init master | ||
Augie Fackler
|
r40530 | $ cd master | ||
$ echo treemanifest >> .hg/requires | ||||
$ cat >> .hg/hgrc <<EOF | ||||
> [remotefilelog] | ||||
> server=True | ||||
> EOF | ||||
# uppercase directory name to test encoding | ||||
$ mkdir -p A/B | ||||
$ echo x > A/B/x | ||||
$ hg commit -qAm x | ||||
$ cd .. | ||||
# shallow clone from full | ||||
$ hgcloneshallow ssh://user@dummy/master shallow --noupdate | ||||
streaming all changes | ||||
4 files to transfer, 449 bytes of data | ||||
transferred 449 bytes in * seconds (*/sec) (glob) | ||||
searching for changes | ||||
no changes found | ||||
$ cd shallow | ||||
$ cat .hg/requires | ||||
dotencode | ||||
Augie Fackler
|
r40545 | exp-remotefilelog-repo-req-1 | ||
Augie Fackler
|
r40530 | fncache | ||
generaldelta | ||||
revlogv1 | ||||
Boris Feld
|
r40939 | sparserevlog | ||
Augie Fackler
|
r40530 | store | ||
treemanifest | ||||
$ find .hg/store/meta | sort | ||||
.hg/store/meta | ||||
.hg/store/meta/_a | ||||
.hg/store/meta/_a/00manifest.i | ||||
.hg/store/meta/_a/_b | ||||
.hg/store/meta/_a/_b/00manifest.i | ||||
$ hg update | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over *s (glob) | ||||
$ cat A/B/x | ||||
x | ||||
$ ls .hg/store/data | ||||
$ echo foo > A/B/F | ||||
$ hg add A/B/F | ||||
$ hg ci -m 'local content' | ||||
$ ls .hg/store/data | ||||
ca31988f085bfb945cb8115b78fabdee40f741aa | ||||
$ cd .. | ||||
# shallow clone from shallow | ||||
$ hgcloneshallow ssh://user@dummy/shallow shallow2 --noupdate | ||||
streaming all changes | ||||
5 files to transfer, 1008 bytes of data | ||||
transferred 1008 bytes in * seconds (*/sec) (glob) | ||||
searching for changes | ||||
no changes found | ||||
$ cd shallow2 | ||||
$ cat .hg/requires | ||||
dotencode | ||||
Augie Fackler
|
r40545 | exp-remotefilelog-repo-req-1 | ||
Augie Fackler
|
r40530 | fncache | ||
generaldelta | ||||
revlogv1 | ||||
Boris Feld
|
r40939 | sparserevlog | ||
Augie Fackler
|
r40530 | store | ||
treemanifest | ||||
$ ls .hg/store/data | ||||
ca31988f085bfb945cb8115b78fabdee40f741aa | ||||
$ hg update | ||||
2 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ cat A/B/x | ||||
x | ||||
$ cd .. | ||||
# full clone from shallow | ||||
# - send stderr to /dev/null because the order of stdout/err causes | ||||
# flakiness here | ||||
$ hg clone --noupdate ssh://user@dummy/shallow full 2>/dev/null | ||||
streaming all changes | ||||
remote: abort: Cannot clone from a shallow repo to a full repo. | ||||
[255] | ||||
# getbundle full clone | ||||
$ printf '[server]\npreferuncompressed=False\n' >> master/.hg/hgrc | ||||
$ hgcloneshallow ssh://user@dummy/master shallow3 | ||||
requesting all changes | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 1 changesets with 0 changes to 0 files | ||||
new changesets 18d955ee7ba0 | ||||
updating to branch default | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ ls shallow3/.hg/store/data | ||||
$ cat shallow3/.hg/requires | ||||
dotencode | ||||
Augie Fackler
|
r40545 | exp-remotefilelog-repo-req-1 | ||
Augie Fackler
|
r40530 | fncache | ||
generaldelta | ||||
revlogv1 | ||||
Boris Feld
|
r40939 | sparserevlog | ||
Augie Fackler
|
r40530 | store | ||
treemanifest | ||||