test-init.t
215 lines
| 5.0 KiB
| text/troff
|
Tads3Lexer
/ tests / test-init.t
Matt Mackall
|
r12328 | This test tries to exercise the ssh functionality with a dummy script | ||
Nicolas Dumazet
|
r11786 | |||
$ cat <<EOF > dummyssh | ||||
> import sys | ||||
> import os | ||||
> | ||||
> os.chdir(os.path.dirname(sys.argv[0])) | ||||
> if sys.argv[1] != "user@dummy": | ||||
> sys.exit(-1) | ||||
> | ||||
> if not os.path.exists("dummyssh"): | ||||
> sys.exit(-1) | ||||
> | ||||
> log = open("dummylog", "ab") | ||||
> log.write("Got arguments") | ||||
> for i, arg in enumerate(sys.argv[1:]): | ||||
> log.write(" %d:%s" % (i+1, arg)) | ||||
> log.write("\n") | ||||
> log.close() | ||||
> r = os.system(sys.argv[2]) | ||||
> sys.exit(bool(r)) | ||||
> EOF | ||||
$ checknewrepo() | ||||
> { | ||||
> name=$1 | ||||
Mads Kiilerich
|
r12584 | > if [ -d "$name"/.hg/store ]; then | ||
Nicolas Dumazet
|
r11786 | > echo store created | ||
> fi | ||||
Mads Kiilerich
|
r12584 | > if [ -f "$name"/.hg/00changelog.i ]; then | ||
Nicolas Dumazet
|
r11786 | > echo 00changelog.i created | ||
> fi | ||||
Mads Kiilerich
|
r12584 | > cat "$name"/.hg/requires | ||
Nicolas Dumazet
|
r11786 | > } | ||
creating 'local' | ||||
$ hg init local | ||||
$ checknewrepo local | ||||
store created | ||||
00changelog.i created | ||||
revlogv1 | ||||
store | ||||
fncache | ||||
Adrian Buehlmann
|
r12687 | dotencode | ||
Nicolas Dumazet
|
r11786 | $ echo this > local/foo | ||
Martin Geisler
|
r12156 | $ hg ci --cwd local -A -m "init" | ||
Nicolas Dumazet
|
r11786 | adding foo | ||
creating repo with format.usestore=false | ||||
$ hg --config format.usestore=false init old | ||||
$ checknewrepo old | ||||
revlogv1 | ||||
creating repo with format.usefncache=false | ||||
$ hg --config format.usefncache=false init old2 | ||||
$ checknewrepo old2 | ||||
store created | ||||
00changelog.i created | ||||
revlogv1 | ||||
store | ||||
Adrian Buehlmann
|
r12712 | creating repo with format.dotencode=false | ||
$ hg --config format.dotencode=false init old3 | ||||
$ checknewrepo old3 | ||||
store created | ||||
00changelog.i created | ||||
revlogv1 | ||||
store | ||||
fncache | ||||
Nicolas Dumazet
|
r11786 | test failure | ||
$ hg init local | ||||
abort: repository local already exists! | ||||
Matt Mackall
|
r12316 | [255] | ||
Nicolas Dumazet
|
r11786 | |||
init+push to remote2 | ||||
$ hg init -e "python ./dummyssh" ssh://user@dummy/remote2 | ||||
$ hg incoming -R remote2 local | ||||
comparing with local | ||||
Martin Geisler
|
r12156 | changeset: 0:08b9e9f63b32 | ||
Nicolas Dumazet
|
r11786 | tag: tip | ||
user: test | ||||
Martin Geisler
|
r12156 | date: Thu Jan 01 00:00:00 1970 +0000 | ||
Nicolas Dumazet
|
r11786 | summary: init | ||
$ hg push -R local -e "python ./dummyssh" ssh://user@dummy/remote2 | ||||
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 | ||||
$ hg clone -e "python ./dummyssh" local ssh://user@dummy/remote1 | ||||
searching for changes | ||||
remote: adding changesets | ||||
remote: adding manifests | ||||
remote: adding file changes | ||||
remote: added 1 changesets with 1 changes to 1 files | ||||
init to existing repo | ||||
$ hg init -e "python ./dummyssh" ssh://user@dummy/remote1 | ||||
abort: repository remote1 already exists! | ||||
abort: could not create remote repo! | ||||
Matt Mackall
|
r12316 | [255] | ||
Nicolas Dumazet
|
r11786 | |||
clone to existing repo | ||||
$ hg clone -e "python ./dummyssh" local ssh://user@dummy/remote1 | ||||
abort: repository remote1 already exists! | ||||
abort: could not create remote repo! | ||||
Matt Mackall
|
r12316 | [255] | ||
Nicolas Dumazet
|
r11786 | |||
output of dummyssh | ||||
$ cat dummylog | ||||
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 | ||||
Got arguments 1:user@dummy 2:hg init remote1 | ||||
Got arguments 1:user@dummy 2:hg init remote1 | ||||
comparing repositories | ||||
$ hg tip -q -R local | ||||
Martin Geisler
|
r12156 | 0:08b9e9f63b32 | ||
Nicolas Dumazet
|
r11786 | $ hg tip -q -R remote1 | ||
Martin Geisler
|
r12156 | 0:08b9e9f63b32 | ||
Nicolas Dumazet
|
r11786 | $ hg tip -q -R remote2 | ||
Martin Geisler
|
r12156 | 0:08b9e9f63b32 | ||
Nicolas Dumazet
|
r11786 | |||
check names for repositories (clashes with URL schemes, special chars) | ||||
$ for i in bundle file hg http https old-http ssh static-http " " "with space"; do | ||||
Martin Geisler
|
r11883 | > printf "hg init \"$i\"... " | ||
Nicolas Dumazet
|
r11786 | > 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 " "... ok | ||||
hg init "with space"... ok | ||||
creating 'local/sub/repo' | ||||
$ hg init local/sub/repo | ||||
$ checknewrepo local/sub/repo | ||||
store created | ||||
00changelog.i created | ||||
revlogv1 | ||||
store | ||||
fncache | ||||
Adrian Buehlmann
|
r12687 | dotencode | ||
Mads Kiilerich
|
r12584 | |||
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 | ||||
revlogv1 | ||||
store | ||||
fncache | ||||
Adrian Buehlmann
|
r12687 | dotencode | ||
Mads Kiilerich
|
r12584 | |||
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 | ||||
revlogv1 | ||||
store | ||||
fncache | ||||
Adrian Buehlmann
|
r12687 | dotencode | ||
David Soria Parra
|
r13604 | |||
clone bookmarks | ||||
$ hg -R local bookmark test | ||||
$ hg -R local bookmarks | ||||
* test 0:08b9e9f63b32 | ||||
$ hg clone -e "python ./dummyssh" local ssh://user@dummy/remote-bookmarks | ||||
searching for changes | ||||
remote: adding changesets | ||||
remote: adding manifests | ||||
remote: adding file changes | ||||
remote: added 1 changesets with 1 changes to 1 files | ||||
$ hg -R remote-bookmarks bookmarks | ||||
test 0:08b9e9f63b32 | ||||