2020-01-31 05:40:49 +03:00
|
|
|
#require py2
|
2019-12-10 02:24:31 +03:00
|
|
|
#chg-compatible
|
|
|
|
|
2020-01-20 13:42:49 +03:00
|
|
|
$ disable treemanifest
|
2017-02-10 05:02:52 +03:00
|
|
|
|
2013-09-04 07:03:43 +04:00
|
|
|
$ . "$TESTDIR/library.sh"
|
|
|
|
|
|
|
|
$ hginit master
|
|
|
|
$ cd master
|
|
|
|
$ cat >> .hg/hgrc <<EOF
|
|
|
|
> [remotefilelog]
|
|
|
|
> server=True
|
|
|
|
> EOF
|
|
|
|
$ echo x > x
|
|
|
|
$ hg commit -qAm x
|
|
|
|
|
|
|
|
$ cd ..
|
|
|
|
|
|
|
|
# shallow clone from full
|
|
|
|
|
2013-11-23 01:39:35 +04:00
|
|
|
$ hgcloneshallow ssh://user@dummy/master shallow --noupdate
|
2013-09-04 07:03:43 +04:00
|
|
|
streaming all changes
|
2019-08-31 00:56:12 +03:00
|
|
|
3 files to transfer, * of data (glob)
|
2017-01-05 22:09:53 +03:00
|
|
|
transferred 227 bytes in * seconds (*/sec) (glob)
|
2014-11-08 05:17:39 +03:00
|
|
|
searching for changes
|
|
|
|
no changes found
|
2013-09-04 07:03:43 +04:00
|
|
|
$ cd shallow
|
|
|
|
$ cat .hg/requires
|
|
|
|
dotencode
|
|
|
|
fncache
|
2015-12-08 20:55:10 +03:00
|
|
|
generaldelta
|
2013-09-04 07:03:43 +04:00
|
|
|
remotefilelog
|
|
|
|
revlogv1
|
|
|
|
store
|
2018-07-28 03:58:22 +03:00
|
|
|
treestate
|
2013-09-04 07:03:43 +04:00
|
|
|
|
|
|
|
$ hg update
|
|
|
|
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
2020-01-09 18:44:55 +03:00
|
|
|
1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over *s (glob) (?)
|
2013-09-04 07:03:43 +04:00
|
|
|
|
|
|
|
$ cat x
|
|
|
|
x
|
|
|
|
|
2016-08-30 02:19:52 +03:00
|
|
|
$ echo foo > f
|
|
|
|
$ hg add f
|
|
|
|
$ hg ci -m 'local content'
|
|
|
|
|
2013-09-04 07:03:43 +04:00
|
|
|
$ cd ..
|
|
|
|
|
|
|
|
# shallow clone from shallow
|
|
|
|
|
2013-11-23 01:39:35 +04:00
|
|
|
$ hgcloneshallow ssh://user@dummy/shallow shallow2 --noupdate
|
2013-09-04 07:03:43 +04:00
|
|
|
streaming all changes
|
2019-09-10 23:07:07 +03:00
|
|
|
7 files to transfer, 2.76 KB of data
|
|
|
|
transferred 2.76 KB in * seconds (*/sec) (glob)
|
2014-11-08 05:17:39 +03:00
|
|
|
searching for changes
|
|
|
|
no changes found
|
2013-09-04 07:03:43 +04:00
|
|
|
$ cd shallow2
|
|
|
|
$ cat .hg/requires
|
|
|
|
dotencode
|
|
|
|
fncache
|
2015-12-08 20:55:10 +03:00
|
|
|
generaldelta
|
2013-09-04 07:03:43 +04:00
|
|
|
remotefilelog
|
|
|
|
revlogv1
|
|
|
|
store
|
2018-07-28 03:58:22 +03:00
|
|
|
treestate
|
2019-10-05 06:33:58 +03:00
|
|
|
$ [ -d .hg/store/data ]
|
|
|
|
[1]
|
2013-09-04 07:03:43 +04:00
|
|
|
|
|
|
|
$ hg update
|
2016-08-30 02:19:52 +03:00
|
|
|
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
2013-09-04 07:03:43 +04:00
|
|
|
|
|
|
|
$ cat x
|
|
|
|
x
|
|
|
|
|
|
|
|
$ cd ..
|
|
|
|
|
|
|
|
# full clone from shallow
|
|
|
|
|
2017-11-02 17:29:03 +03:00
|
|
|
Note: the output to STDERR comes from a different process to the output on
|
|
|
|
STDOUT and their relative ordering is not deterministic. As a result, the test
|
2017-11-02 20:37:38 +03:00
|
|
|
was failing sporadically. To avoid this, we capture STDERR to a file and
|
2017-11-02 17:29:03 +03:00
|
|
|
check its contents separately.
|
|
|
|
|
|
|
|
$ TEMP_STDERR=full-clone-from-shallow.stderr.tmp
|
|
|
|
$ hg clone --noupdate ssh://user@dummy/shallow full 2>$TEMP_STDERR
|
2015-05-28 03:29:34 +03:00
|
|
|
streaming all changes
|
2013-09-04 07:03:43 +04:00
|
|
|
[255]
|
2018-06-26 05:19:21 +03:00
|
|
|
- sort because the order is non-deterministic because of stderr pipe buffering
|
|
|
|
$ cat $TEMP_STDERR | sort
|
2017-11-02 17:29:03 +03:00
|
|
|
abort: unexpected response from remote server: empty string
|
2018-06-26 05:19:21 +03:00
|
|
|
remote: abort: Cannot clone from a shallow repo to a full repo.
|
2017-11-02 17:29:03 +03:00
|
|
|
$ rm $TEMP_STDERR
|
2013-09-04 07:03:43 +04:00
|
|
|
|
2014-02-25 10:19:15 +04:00
|
|
|
# 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
|
|
|
|
updating to branch default
|
|
|
|
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
|
|
|
|
|
|
$ cat shallow3/.hg/requires
|
|
|
|
dotencode
|
|
|
|
fncache
|
2015-12-08 20:55:10 +03:00
|
|
|
generaldelta
|
2014-02-25 10:19:15 +04:00
|
|
|
remotefilelog
|
|
|
|
revlogv1
|
|
|
|
store
|
2018-07-28 03:58:22 +03:00
|
|
|
treestate
|