2010-09-18 02:03:08 +04:00
|
|
|
This test tries to exercise the ssh functionality with a dummy script
|
2010-08-12 10:31:18 +04:00
|
|
|
|
2015-10-19 16:25:58 +03:00
|
|
|
(enable general delta early)
|
|
|
|
|
|
|
|
$ cat << EOF >> $HGRCPATH
|
|
|
|
> [format]
|
|
|
|
> usegeneraldelta=yes
|
|
|
|
> EOF
|
|
|
|
|
2010-08-12 10:31:18 +04:00
|
|
|
$ checknewrepo()
|
|
|
|
> {
|
|
|
|
> name=$1
|
2010-09-29 03:32:51 +04:00
|
|
|
> if [ -d "$name"/.hg/store ]; then
|
2010-08-12 10:31:18 +04:00
|
|
|
> echo store created
|
|
|
|
> fi
|
2010-09-29 03:32:51 +04:00
|
|
|
> if [ -f "$name"/.hg/00changelog.i ]; then
|
2010-08-12 10:31:18 +04:00
|
|
|
> echo 00changelog.i created
|
|
|
|
> fi
|
2010-09-29 03:32:51 +04:00
|
|
|
> cat "$name"/.hg/requires
|
2010-08-12 10:31:18 +04:00
|
|
|
> }
|
|
|
|
|
|
|
|
creating 'local'
|
|
|
|
|
|
|
|
$ hg init local
|
|
|
|
$ checknewrepo local
|
|
|
|
store created
|
|
|
|
00changelog.i created
|
2012-12-12 05:38:14 +04:00
|
|
|
dotencode
|
2010-08-12 10:31:18 +04:00
|
|
|
fncache
|
2015-10-19 16:25:58 +03:00
|
|
|
generaldelta
|
2012-12-12 05:38:14 +04:00
|
|
|
revlogv1
|
2011-07-21 02:23:06 +04:00
|
|
|
store
|
2010-08-12 10:31:18 +04:00
|
|
|
$ echo this > local/foo
|
2010-09-03 01:22:51 +04:00
|
|
|
$ hg ci --cwd local -A -m "init"
|
2010-08-12 10:31:18 +04:00
|
|
|
adding foo
|
|
|
|
|
revlog: allow tuning of the chunk cache size (via format.chunkcachesize)
Running perfmoonwalk on the Mercurial repo (with almost 20,000 changesets) on
Mac OS X with an SSD, before this change:
$ hg --config format.chunkcachesize=1024 perfmoonwalk
! wall 2.022021 comb 2.030000 user 1.970000 sys 0.060000 (best of 5)
(16,154 cache hits, 3,840 misses.)
$ hg --config format.chunkcachesize=4096 perfmoonwalk
! wall 1.901006 comb 1.900000 user 1.880000 sys 0.020000 (best of 6)
(19,003 hits, 991 misses.)
$ hg --config format.chunkcachesize=16384 perfmoonwalk
! wall 1.802775 comb 1.800000 user 1.800000 sys 0.000000 (best of 6)
(19,746 hits, 248 misses.)
$ hg --config format.chunkcachesize=32768 perfmoonwalk
! wall 1.818545 comb 1.810000 user 1.810000 sys 0.000000 (best of 6)
(19,870 hits, 124 misses.)
$ hg --config format.chunkcachesize=65536 perfmoonwalk
! wall 1.801350 comb 1.810000 user 1.800000 sys 0.010000 (best of 6)
(19,932 hits, 62 misses.)
$ hg --config format.chunkcachesize=131072 perfmoonwalk
! wall 1.805879 comb 1.820000 user 1.810000 sys 0.010000 (best of 6)
(19,963 hits, 31 misses.)
We may want to change the default size in the future based on testing and
user feedback.
2013-11-18 03:04:29 +04:00
|
|
|
test custom revlog chunk cache sizes
|
|
|
|
|
|
|
|
$ hg --config format.chunkcachesize=0 log -R local -pv
|
|
|
|
abort: revlog chunk cache size 0 is not greater than 0!
|
|
|
|
[255]
|
|
|
|
$ hg --config format.chunkcachesize=1023 log -R local -pv
|
|
|
|
abort: revlog chunk cache size 1023 is not a power of 2!
|
|
|
|
[255]
|
|
|
|
$ hg --config format.chunkcachesize=1024 log -R local -pv
|
|
|
|
changeset: 0:08b9e9f63b32
|
|
|
|
tag: tip
|
|
|
|
user: test
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
files: foo
|
|
|
|
description:
|
|
|
|
init
|
|
|
|
|
|
|
|
|
|
|
|
diff -r 000000000000 -r 08b9e9f63b32 foo
|
|
|
|
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
+++ b/foo Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
@@ -0,0 +1,1 @@
|
|
|
|
+this
|
|
|
|
|
|
|
|
|
2010-08-12 10:31:18 +04:00
|
|
|
creating repo with format.usestore=false
|
|
|
|
|
|
|
|
$ hg --config format.usestore=false init old
|
|
|
|
$ checknewrepo old
|
2015-10-19 16:25:58 +03:00
|
|
|
generaldelta
|
2010-08-12 10:31:18 +04:00
|
|
|
revlogv1
|
|
|
|
|
|
|
|
creating repo with format.usefncache=false
|
|
|
|
|
|
|
|
$ hg --config format.usefncache=false init old2
|
|
|
|
$ checknewrepo old2
|
|
|
|
store created
|
|
|
|
00changelog.i created
|
2015-10-19 16:25:58 +03:00
|
|
|
generaldelta
|
2010-08-12 10:31:18 +04:00
|
|
|
revlogv1
|
|
|
|
store
|
|
|
|
|
2010-10-11 13:17:48 +04:00
|
|
|
creating repo with format.dotencode=false
|
|
|
|
|
|
|
|
$ hg --config format.dotencode=false init old3
|
|
|
|
$ checknewrepo old3
|
|
|
|
store created
|
|
|
|
00changelog.i created
|
|
|
|
fncache
|
2015-10-19 16:25:58 +03:00
|
|
|
generaldelta
|
|
|
|
revlogv1
|
|
|
|
store
|
|
|
|
|
|
|
|
creating repo with format.dotencode=false
|
|
|
|
|
|
|
|
$ hg --config format.generaldelta=false --config format.usegeneraldelta=false init old4
|
|
|
|
$ checknewrepo old4
|
|
|
|
store created
|
|
|
|
00changelog.i created
|
|
|
|
dotencode
|
|
|
|
fncache
|
2012-12-12 05:38:14 +04:00
|
|
|
revlogv1
|
2011-07-21 02:23:06 +04:00
|
|
|
store
|
2010-10-11 13:17:48 +04:00
|
|
|
|
2010-08-12 10:31:18 +04:00
|
|
|
test failure
|
|
|
|
|
|
|
|
$ hg init local
|
|
|
|
abort: repository local already exists!
|
2010-09-17 02:51:32 +04:00
|
|
|
[255]
|
2010-08-12 10:31:18 +04:00
|
|
|
|
|
|
|
init+push to remote2
|
|
|
|
|
2017-07-07 08:05:20 +03:00
|
|
|
$ hg init -e "\"$PYTHON\" \"$TESTDIR/dummyssh\"" ssh://user@dummy/remote2
|
2010-08-12 10:31:18 +04:00
|
|
|
$ hg incoming -R remote2 local
|
|
|
|
comparing with local
|
2010-09-03 01:22:51 +04:00
|
|
|
changeset: 0:08b9e9f63b32
|
2010-08-12 10:31:18 +04:00
|
|
|
tag: tip
|
|
|
|
user: test
|
2010-09-03 01:22:51 +04:00
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
2010-08-12 10:31:18 +04:00
|
|
|
summary: init
|
|
|
|
|
|
|
|
|
2017-07-07 08:05:20 +03:00
|
|
|
$ hg push -R local -e "\"$PYTHON\" \"$TESTDIR/dummyssh\"" ssh://user@dummy/remote2
|
2010-08-12 10:31:18 +04:00
|
|
|
pushing to ssh://user@dummy/remote2
|
|
|
|
searching for changes
|
|
|
|
remote: adding changesets
|
|
|
|
remote: adding manifests
|
|
|
|
remote: adding file changes
|
|
|
|
remote: added 1 changesets with 1 changes to 1 files
|
|
|
|
|
|
|
|
clone to remote1
|
|
|
|
|
2017-07-07 08:05:20 +03:00
|
|
|
$ hg clone -e "\"$PYTHON\" \"$TESTDIR/dummyssh\"" local ssh://user@dummy/remote1
|
2010-08-12 10:31:18 +04:00
|
|
|
searching for changes
|
|
|
|
remote: adding changesets
|
|
|
|
remote: adding manifests
|
|
|
|
remote: adding file changes
|
|
|
|
remote: added 1 changesets with 1 changes to 1 files
|
|
|
|
|
2018-01-17 22:50:44 +03:00
|
|
|
init to existing repo
|
|
|
|
|
|
|
|
$ hg clone -e "\"$PYTHON\" \"$TESTDIR/dummyssh\"" local ssh://user@dummy/remotelf
|
2015-04-18 07:34:38 +03:00
|
|
|
searching for changes
|
|
|
|
remote: adding changesets
|
|
|
|
remote: adding manifests
|
|
|
|
remote: adding file changes
|
|
|
|
remote: added 1 changesets with 1 changes to 1 files
|
|
|
|
|
2017-07-07 08:05:20 +03:00
|
|
|
$ hg init -e "\"$PYTHON\" \"$TESTDIR/dummyssh\"" ssh://user@dummy/remote1
|
2010-08-12 10:31:18 +04:00
|
|
|
abort: repository remote1 already exists!
|
|
|
|
abort: could not create remote repo!
|
2010-09-17 02:51:32 +04:00
|
|
|
[255]
|
2010-08-12 10:31:18 +04:00
|
|
|
|
|
|
|
clone to existing repo
|
|
|
|
|
2017-07-07 08:05:20 +03:00
|
|
|
$ hg clone -e "\"$PYTHON\" \"$TESTDIR/dummyssh\"" local ssh://user@dummy/remote1
|
2010-08-12 10:31:18 +04:00
|
|
|
abort: repository remote1 already exists!
|
|
|
|
abort: could not create remote repo!
|
2010-09-17 02:51:32 +04:00
|
|
|
[255]
|
2010-08-12 10:31:18 +04:00
|
|
|
|
|
|
|
output of dummyssh
|
|
|
|
|
|
|
|
$ cat dummylog
|
2011-12-08 19:39:00 +04:00
|
|
|
Got arguments 1:user@dummy 2:hg init remote2
|
|
|
|
Got arguments 1:user@dummy 2:hg -R remote2 serve --stdio
|
|
|
|
Got arguments 1:user@dummy 2:hg -R remote2 serve --stdio
|
|
|
|
Got arguments 1:user@dummy 2:hg init remote1
|
|
|
|
Got arguments 1:user@dummy 2:hg -R remote1 serve --stdio
|
2015-04-18 07:34:38 +03:00
|
|
|
Got arguments 1:user@dummy 2:hg init remotelf
|
|
|
|
Got arguments 1:user@dummy 2:hg -R remotelf serve --stdio
|
2011-12-08 19:39:00 +04:00
|
|
|
Got arguments 1:user@dummy 2:hg init remote1
|
|
|
|
Got arguments 1:user@dummy 2:hg init remote1
|
2010-08-12 10:31:18 +04:00
|
|
|
|
|
|
|
comparing repositories
|
|
|
|
|
|
|
|
$ hg tip -q -R local
|
2010-09-03 01:22:51 +04:00
|
|
|
0:08b9e9f63b32
|
2010-08-12 10:31:18 +04:00
|
|
|
$ hg tip -q -R remote1
|
2010-09-03 01:22:51 +04:00
|
|
|
0:08b9e9f63b32
|
2010-08-12 10:31:18 +04:00
|
|
|
$ hg tip -q -R remote2
|
2010-09-03 01:22:51 +04:00
|
|
|
0:08b9e9f63b32
|
2010-08-12 10:31:18 +04:00
|
|
|
|
|
|
|
check names for repositories (clashes with URL schemes, special chars)
|
|
|
|
|
2012-06-11 15:41:02 +04:00
|
|
|
$ for i in bundle file hg http https old-http ssh static-http "with space"; do
|
2010-08-15 19:42:44 +04:00
|
|
|
> printf "hg init \"$i\"... "
|
2010-08-12 10:31:18 +04:00
|
|
|
> hg init "$i"
|
|
|
|
> test -d "$i" -a -d "$i/.hg" && echo "ok" || echo "failed"
|
|
|
|
> done
|
|
|
|
hg init "bundle"... ok
|
|
|
|
hg init "file"... ok
|
|
|
|
hg init "hg"... ok
|
|
|
|
hg init "http"... ok
|
|
|
|
hg init "https"... ok
|
|
|
|
hg init "old-http"... ok
|
|
|
|
hg init "ssh"... ok
|
|
|
|
hg init "static-http"... ok
|
|
|
|
hg init "with space"... ok
|
2012-06-15 02:02:27 +04:00
|
|
|
#if eol-in-paths
|
2012-06-11 15:41:02 +04:00
|
|
|
/* " " is not a valid name for a directory on Windows */
|
|
|
|
$ hg init " "
|
|
|
|
$ test -d " "
|
|
|
|
$ test -d " /.hg"
|
|
|
|
#endif
|
2010-08-12 10:31:18 +04:00
|
|
|
|
|
|
|
creating 'local/sub/repo'
|
|
|
|
|
|
|
|
$ hg init local/sub/repo
|
|
|
|
$ checknewrepo local/sub/repo
|
|
|
|
store created
|
|
|
|
00changelog.i created
|
2012-12-12 05:38:14 +04:00
|
|
|
dotencode
|
2010-08-12 10:31:18 +04:00
|
|
|
fncache
|
2015-10-19 16:25:58 +03:00
|
|
|
generaldelta
|
2012-12-12 05:38:14 +04:00
|
|
|
revlogv1
|
2011-07-21 02:23:06 +04:00
|
|
|
store
|
2010-09-29 03:32:51 +04:00
|
|
|
|
|
|
|
prepare test of init of url configured from paths
|
|
|
|
|
|
|
|
$ echo '[paths]' >> $HGRCPATH
|
|
|
|
$ echo "somewhere = `pwd`/url from paths" >> $HGRCPATH
|
|
|
|
$ echo "elsewhere = `pwd`/another paths url" >> $HGRCPATH
|
|
|
|
|
|
|
|
init should (for consistency with clone) expand the url
|
|
|
|
|
|
|
|
$ hg init somewhere
|
|
|
|
$ checknewrepo "url from paths"
|
|
|
|
store created
|
|
|
|
00changelog.i created
|
2012-12-12 05:38:14 +04:00
|
|
|
dotencode
|
2010-09-29 03:32:51 +04:00
|
|
|
fncache
|
2015-10-19 16:25:58 +03:00
|
|
|
generaldelta
|
2012-12-12 05:38:14 +04:00
|
|
|
revlogv1
|
2011-07-21 02:23:06 +04:00
|
|
|
store
|
2010-09-29 03:32:51 +04:00
|
|
|
|
|
|
|
verify that clone also expand urls
|
|
|
|
|
|
|
|
$ hg clone somewhere elsewhere
|
|
|
|
updating to branch default
|
|
|
|
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
|
|
$ checknewrepo "another paths url"
|
|
|
|
store created
|
|
|
|
00changelog.i created
|
2012-12-12 05:38:14 +04:00
|
|
|
dotencode
|
2010-09-29 03:32:51 +04:00
|
|
|
fncache
|
2015-10-19 16:25:58 +03:00
|
|
|
generaldelta
|
2012-12-12 05:38:14 +04:00
|
|
|
revlogv1
|
2011-07-21 02:23:06 +04:00
|
|
|
store
|
2011-03-13 14:24:17 +03:00
|
|
|
|
|
|
|
clone bookmarks
|
|
|
|
|
|
|
|
$ hg -R local bookmark test
|
|
|
|
$ hg -R local bookmarks
|
|
|
|
* test 0:08b9e9f63b32
|
2017-07-07 08:05:20 +03:00
|
|
|
$ hg clone -e "\"$PYTHON\" \"$TESTDIR/dummyssh\"" local ssh://user@dummy/remote-bookmarks
|
2011-03-13 14:24:17 +03:00
|
|
|
searching for changes
|
|
|
|
remote: adding changesets
|
|
|
|
remote: adding manifests
|
|
|
|
remote: adding file changes
|
|
|
|
remote: added 1 changesets with 1 changes to 1 files
|
2014-09-27 02:15:49 +04:00
|
|
|
exporting bookmark test
|
2011-03-13 14:24:17 +03:00
|
|
|
$ hg -R remote-bookmarks bookmarks
|
|
|
|
test 0:08b9e9f63b32
|