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

File last commit:

r17345:4f8054d3 default
r17361:5e276d1d merge default
Show More
test-clone.t
567 lines | 11.7 KiB | text/troff | Tads3Lexer
Adrian Buehlmann
tests: unify test-clone
r11806 Prepare repo a:
Martin Geisler
tests: remove redundant mkdir...
r13956 $ hg init a
Adrian Buehlmann
tests: unify test-clone
r11806 $ cd a
$ echo a > a
$ hg add a
$ hg commit -m test
$ echo first line > b
$ hg add b
Create a non-inlined filelog:
Mads Kiilerich
tests: don't use stdout redirection for test data...
r15522 $ python -c 'file("data1", "wb").write("".join("%s\n" % x for x in range(10000)))'
Adrian Buehlmann
tests: unify test-clone
r11806 $ for j in 0 1 2 3 4 5 6 7 8 9; do
> cat data1 >> b
> hg commit -m test
> done
List files in store/data (should show a 'b.d'):
$ for i in .hg/store/data/*; do
> echo $i
> done
.hg/store/data/a.i
.hg/store/data/b.d
.hg/store/data/b.i
Default operation:
$ hg clone . ../b
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd ../b
$ cat a
a
$ hg verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
2 files, 11 changesets, 11 total revisions
Adrian Buehlmann
test-clone.t: add basic cases for destination ''...
r13058 Invalid dest '' must abort:
$ hg clone . ''
FUJIWARA Katsunori
localrepo: use the path relative to "self.vfs" instead of "path" argument...
r17159 abort: empty destination path is not valid
Adrian Buehlmann
test-clone.t: add basic cases for destination ''...
r13058 [255]
Adrian Buehlmann
tests: unify test-clone
r11806 No update, with debug option:
Mads Kiilerich
tests: introduce hghave hardlinks...
r16971 #if hardlink
Adrian Buehlmann
tests: unify test-clone
r11806 $ hg --debug clone -U . ../c
linked 8 files
Pierre-Yves David
pushkey: add more verbose debug output regarding pushkey...
r17293 listing keys for "bookmarks"
Mads Kiilerich
tests: introduce hghave hardlinks...
r16971 #else
$ hg --debug clone -U . ../c
copied 8 files
Adrian Buehlmann
test-clone: fix for vfat...
r17307 listing keys for "bookmarks"
Mads Kiilerich
tests: introduce hghave hardlinks...
r16971 #endif
Adrian Buehlmann
tests: unify test-clone
r11806 $ cd ../c
$ cat a 2>/dev/null || echo "a not present"
a not present
$ hg verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
2 files, 11 changesets, 11 total revisions
Default destination:
$ mkdir ../d
$ cd ../d
$ hg clone ../a
destination directory: a
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd a
$ hg cat a
a
$ cd ../..
Check that we drop the 'file:' from the path before writing the .hgrc:
$ hg clone file:a e
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ grep 'file:' e/.hg/hgrc
Matt Mackall
tests: add exit codes to unified tests
r12316 [1]
Adrian Buehlmann
tests: unify test-clone
r11806
Check that path aliases are expanded:
$ hg clone -q -U --config 'paths.foobar=a#0' foobar f
$ hg -R f showconfig paths.default
Mads Kiilerich
tests: add missing '(glob)'s to match '\' in paths in test output on windows
r15520 $TESTTMP/a#0 (glob)
Adrian Buehlmann
tests: unify test-clone
r11806
Use --pull:
$ hg clone --pull a g
requesting all changes
adding changesets
adding manifests
adding file changes
added 11 changesets with 11 changes to 2 files
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg -R g verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
2 files, 11 changesets, 11 total revisions
Adrian Buehlmann
test-clone.t: add basic cases for destination ''...
r13058 Invalid dest '' with --pull must abort (issue2528):
$ hg clone --pull a ''
FUJIWARA Katsunori
localrepo: use the path relative to "self.vfs" instead of "path" argument...
r17159 abort: empty destination path is not valid
Adrian Buehlmann
test-clone.t: add basic cases for destination ''...
r13058 [255]
Adrian Buehlmann
tests: unify test-clone
r11806 Clone to '.':
$ mkdir h
$ cd h
$ hg clone ../a .
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd ..
*** Tests for option -u ***
Adding some more history to repo a:
$ cd a
$ hg tag ref1
$ echo the quick brown fox >a
$ hg ci -m "hacked default"
$ hg up ref1
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ hg branch stable
marked working directory as branch stable
Matt Mackall
branch: warn on branching
r15615 (branches are permanent and global, did you want a bookmark?)
Adrian Buehlmann
tests: unify test-clone
r11806 $ echo some text >a
$ hg ci -m "starting branch stable"
$ hg tag ref2
$ echo some more text >a
$ hg ci -m "another change for branch stable"
$ hg up ref2
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ hg parents
changeset: 13:e8ece76546a6
branch: stable
tag: ref2
parent: 10:a7949464abda
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: starting branch stable
Repo a has two heads:
$ hg heads
changeset: 15:0aae7cf88f0d
branch: stable
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: another change for branch stable
changeset: 12:f21241060d6a
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: hacked default
$ cd ..
Testing --noupdate with --updaterev (must abort):
$ hg clone --noupdate --updaterev 1 a ua
abort: cannot specify both --noupdate and --updaterev
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Adrian Buehlmann
tests: unify test-clone
r11806
Testing clone -u:
$ hg clone -u . a ua
updating to branch stable
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
Repo ua has both heads:
$ hg -R ua heads
changeset: 15:0aae7cf88f0d
branch: stable
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: another change for branch stable
changeset: 12:f21241060d6a
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: hacked default
Same revision checked out in repo a and ua:
$ hg -R a parents --template "{node|short}\n"
e8ece76546a6
$ hg -R ua parents --template "{node|short}\n"
e8ece76546a6
$ rm -r ua
Testing clone --pull -u:
$ hg clone --pull -u . a ua
requesting all changes
adding changesets
adding manifests
adding file changes
added 16 changesets with 16 changes to 3 files (+1 heads)
updating to branch stable
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
Repo ua has both heads:
$ hg -R ua heads
changeset: 15:0aae7cf88f0d
branch: stable
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: another change for branch stable
changeset: 12:f21241060d6a
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: hacked default
Same revision checked out in repo a and ua:
$ hg -R a parents --template "{node|short}\n"
e8ece76546a6
$ hg -R ua parents --template "{node|short}\n"
e8ece76546a6
$ rm -r ua
Testing clone -u <branch>:
$ hg clone -u stable a ua
updating to branch stable
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
Repo ua has both heads:
$ hg -R ua heads
changeset: 15:0aae7cf88f0d
branch: stable
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: another change for branch stable
changeset: 12:f21241060d6a
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: hacked default
Branch 'stable' is checked out:
$ hg -R ua parents
changeset: 15:0aae7cf88f0d
branch: stable
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: another change for branch stable
$ rm -r ua
Testing default checkout:
$ hg clone a ua
updating to branch default
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
Repo ua has both heads:
$ hg -R ua heads
changeset: 15:0aae7cf88f0d
branch: stable
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: another change for branch stable
changeset: 12:f21241060d6a
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: hacked default
Branch 'default' is checked out:
$ hg -R ua parents
changeset: 12:f21241060d6a
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: hacked default
$ rm -r ua
Testing #<branch>:
$ hg clone -u . a#stable ua
adding changesets
adding manifests
adding file changes
added 14 changesets with 14 changes to 3 files
updating to branch stable
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
Repo ua has branch 'stable' and 'default' (was changed in fd511e9eeea6):
$ hg -R ua heads
changeset: 13:0aae7cf88f0d
branch: stable
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: another change for branch stable
changeset: 10:a7949464abda
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: test
Same revision checked out in repo a and ua:
$ hg -R a parents --template "{node|short}\n"
e8ece76546a6
$ hg -R ua parents --template "{node|short}\n"
e8ece76546a6
$ rm -r ua
Testing -u -r <branch>:
$ hg clone -u . -r stable a ua
adding changesets
adding manifests
adding file changes
added 14 changesets with 14 changes to 3 files
updating to branch stable
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
Repo ua has branch 'stable' and 'default' (was changed in fd511e9eeea6):
$ hg -R ua heads
changeset: 13:0aae7cf88f0d
branch: stable
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: another change for branch stable
changeset: 10:a7949464abda
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: test
Same revision checked out in repo a and ua:
$ hg -R a parents --template "{node|short}\n"
e8ece76546a6
$ hg -R ua parents --template "{node|short}\n"
e8ece76546a6
$ rm -r ua
Testing -r <branch>:
$ hg clone -r stable a ua
adding changesets
adding manifests
adding file changes
added 14 changesets with 14 changes to 3 files
updating to branch stable
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
Repo ua has branch 'stable' and 'default' (was changed in fd511e9eeea6):
$ hg -R ua heads
changeset: 13:0aae7cf88f0d
branch: stable
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: another change for branch stable
changeset: 10:a7949464abda
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: test
Branch 'stable' is checked out:
$ hg -R ua parents
changeset: 13:0aae7cf88f0d
branch: stable
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: another change for branch stable
$ rm -r ua
Martin Geisler
tests: added a short description to issue numbers...
r12399 Issue2267: Error in 1.6 hg.py: TypeError: 'NoneType' object is not
iterable in addbranchrevs()
Adrian Buehlmann
tests: unify test-clone
r11806
$ cat <<EOF > simpleclone.py
> from mercurial import ui, hg
> myui = ui.ui()
> repo = hg.repository(myui, 'a')
Peter Arrenbrecht
hg: add opts argument to clone for internal remoteui
r14553 > hg.clone(myui, {}, repo, dest="ua")
Adrian Buehlmann
tests: unify test-clone
r11806 > EOF
$ python simpleclone.py
updating to branch default
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ rm -r ua
Martin Geisler
test-clone: f1c2de22b8a8 lost changes from b1ae33b813cb
r11839 $ cat <<EOF > branchclone.py
Bryan O'Sullivan
test-clone: load extensions before doing anything...
r17135 > from mercurial import ui, hg, extensions
Martin Geisler
test-clone: f1c2de22b8a8 lost changes from b1ae33b813cb
r11839 > myui = ui.ui()
Bryan O'Sullivan
test-clone: load extensions before doing anything...
r17135 > extensions.loadall(myui)
Martin Geisler
test-clone: f1c2de22b8a8 lost changes from b1ae33b813cb
r11839 > repo = hg.repository(myui, 'a')
Peter Arrenbrecht
hg: add opts argument to clone for internal remoteui
r14553 > hg.clone(myui, {}, repo, dest="ua", branch=["stable",])
Martin Geisler
test-clone: f1c2de22b8a8 lost changes from b1ae33b813cb
r11839 > EOF
Martin Geisler
Merge with stable
r11823
Martin Geisler
test-clone: f1c2de22b8a8 lost changes from b1ae33b813cb
r11839 $ python branchclone.py
adding changesets
adding manifests
adding file changes
added 14 changesets with 14 changes to 3 files
updating to branch stable
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ rm -r ua
Adrian Buehlmann
tests: roll test-clone-failure.t into test-clone.t
r16847
Testing failures:
$ mkdir fail
$ cd fail
No local source
$ hg clone a b
abort: repository a not found!
[255]
No remote source
$ hg clone http://127.0.0.1:3121/a b
abort: error: *refused* (glob)
[255]
$ rm -rf b # work around bug with http clone
#if unix-permissions
Inaccessible source
$ mkdir a
$ chmod 000 a
$ hg clone a b
abort: repository a not found!
[255]
Inaccessible destination
$ hg init b
$ cd b
$ hg clone . ../a
abort: Permission denied: ../a
[255]
$ cd ..
$ chmod 700 a
$ rm -r a b
#endif
Mads Kiilerich
tests: change odd uses of 'if hghave' to #if
r16898 #if fifo
Adrian Buehlmann
tests: roll test-clone-failure.t into test-clone.t
r16847 Source of wrong type
Mads Kiilerich
tests: change odd uses of 'if hghave' to #if
r16898 $ mkfifo a
$ hg clone a b
Adrian Buehlmann
tests: roll test-clone-failure.t into test-clone.t
r16847 abort: repository a not found!
Mads Kiilerich
tests: change odd uses of 'if hghave' to #if
r16898 [255]
$ rm a
#endif
Adrian Buehlmann
tests: roll test-clone-failure.t into test-clone.t
r16847
Default destination, same directory
$ hg init q
$ hg clone q
destination directory: q
abort: destination 'q' is not empty
[255]
destination directory not empty
Mads Kiilerich
check-code: fix check for trailing whitespace on sh command lines...
r17345 $ mkdir a
Adrian Buehlmann
tests: roll test-clone-failure.t into test-clone.t
r16847 $ echo stuff > a/a
$ hg clone q a
abort: destination 'a' is not empty
[255]
#if unix-permissions
leave existing directory in place after clone failure
$ hg init c
$ cd c
$ echo c > c
$ hg commit -A -m test
adding c
$ chmod -rx .hg/store/data
$ cd ..
$ mkdir d
$ hg clone c d 2> err
[255]
$ test -d d
$ test -d d/.hg
[1]
reenable perm to allow deletion
$ chmod +rx c/.hg/store/data
#endif
$ cd ..