tests/test-bundle.out
author Martin Geisler <mg@aragost.com>
Mon, 09 Aug 2010 15:31:56 +0200
branchstable
changeset 11769 ca6cebd8734e
parent 11175 39e7f14a8286
permissions -rw-r--r--
dirstate: ignore symlinks when fs cannot handle them (issue1888) When the filesystem cannot handle the executable bit, we currently ignore it completely when looking for modified files. Similarly, it is impossible to set or clear the bit when the filesystem ignores it. This patch makes Mercurial treat symbolic links the same way. Symlinks are a little different since they manifest themselves as small files containing a filename (the symlink target). On Windows, these files show up as regular files, and on Linux and Mac they show up as real symlinks. Issue1888 presents a case where the symlink files are better ignored from the Windows side. A Linux client creates symlinks in a working copy which is shared over a network between Linux and Windows clients. The Samba server is helpful and defererences the symlink when the Windows client looks at it. This means that Mercurial on the Windows side sees file content instead of a file name in the symlink, and hence flags the link as modified. Ignoring the change would be much more helpful, similarly to how Mercurial does not report any changes when executable bits are ignored in a checkout on Windows. An initial checkout of a symbolic link on a file system that cannot handle symbolic links will still result in a regular file containing the target file name as its content. Sharing such a checkout with a Linux client will not turn the file into a symlink automatically, but 'hg revert' can fix that. After the revert, the Windows client will see the correct file content (provided by the Samba server when it follows the link on the Linux side) and otherwise ignore the change. Running 'hg perfstatus' 10 times gives these results: Before: After: min: 0.544703 min: 0.546549 med: 0.547592 med: 0.548881 avg: 0.549146 avg: 0.548549 max: 0.564112 max: 0.551504 The median time is increased about 0.24%.

====== Setting up test
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
created new head
1 files updated, 0 files merged, 2 files removed, 0 files unresolved
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
4 files, 9 changesets, 7 total revisions
====== Bundle --all
9 changesets found
====== Bundle test to full.hg
searching for changes
9 changesets found
====== Unbundle full.hg in test
adding changesets
adding manifests
adding file changes
added 0 changesets with 0 changes to 4 files
(run 'hg update' to get a working copy)
====== Verify empty
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
0 files, 0 changesets, 0 total revisions
====== Pull full.hg into test (using --cwd)
pulling from ../full.hg
searching for changes
no changes found
====== Pull full.hg into empty (using --cwd)
pulling from ../full.hg
requesting all changes
adding changesets
adding manifests
adding file changes
added 9 changesets with 7 changes to 4 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
====== Rollback empty
rolling back to revision -1 (undo pull)
====== Pull full.hg into empty again (using --cwd)
pulling from ../full.hg
requesting all changes
adding changesets
adding manifests
adding file changes
added 9 changesets with 7 changes to 4 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
====== Pull full.hg into test (using -R)
pulling from full.hg
searching for changes
no changes found
====== Pull full.hg into empty (using -R)
pulling from full.hg
searching for changes
no changes found
====== Rollback empty
rolling back to revision -1 (undo pull)
====== Pull full.hg into empty again (using -R)
pulling from full.hg
requesting all changes
adding changesets
adding manifests
adding file changes
added 9 changesets with 7 changes to 4 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
====== Log -R full.hg in fresh empty
changeset:   8:088ff9d6e1e1
tag:         tip
parent:      3:ac69c658229d
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     0.3m

changeset:   7:27f57c869697
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     1.3m

changeset:   6:1e3f6b843bd6
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     1.3

changeset:   5:024e4e7df376
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     1.2

changeset:   4:5f4f3ceb285e
parent:      0:5649c9d34dd8
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     1.1

changeset:   3:ac69c658229d
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     0.3

changeset:   2:d62976ca1e50
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     0.2

changeset:   1:10b2180f755b
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     0.1

changeset:   0:5649c9d34dd8
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     0.0

====== Pull ../full.hg into empty (with hook)
changegroup hook: HG_NODE=5649c9d34dd87d0ecb5fd39672128376e83b22e1 HG_SOURCE=pull HG_URL=bundle:../full.hg 
pulling from bundle://../full.hg
requesting all changes
adding changesets
adding manifests
adding file changes
added 9 changesets with 7 changes to 4 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
====== Rollback empty
rolling back to revision -1 (undo pull)
====== Log -R bundle:empty+full.hg
8 7 6 5 4 3 2 1 0 
====== Pull full.hg into empty again (using -R; with hook)
changegroup hook: HG_NODE=5649c9d34dd87d0ecb5fd39672128376e83b22e1 HG_SOURCE=pull HG_URL=bundle:empty+full.hg 
pulling from full.hg
requesting all changes
adding changesets
adding manifests
adding file changes
added 9 changesets with 7 changes to 4 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
====== Create partial clones
requesting all changes
adding changesets
adding manifests
adding file changes
added 4 changesets with 4 changes to 1 files
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
====== Log -R full.hg in partial
changeset:   8:088ff9d6e1e1
tag:         tip
parent:      3:ac69c658229d
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     0.3m

changeset:   7:27f57c869697
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     1.3m

changeset:   6:1e3f6b843bd6
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     1.3

changeset:   5:024e4e7df376
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     1.2

changeset:   4:5f4f3ceb285e
parent:      0:5649c9d34dd8
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     1.1

changeset:   3:ac69c658229d
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     0.3

changeset:   2:d62976ca1e50
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     0.2

changeset:   1:10b2180f755b
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     0.1

changeset:   0:5649c9d34dd8
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     0.0

====== Incoming full.hg in partial
comparing with bundle://../full.hg
searching for changes
changeset:   4:5f4f3ceb285e
parent:      0:5649c9d34dd8
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     1.1

changeset:   5:024e4e7df376
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     1.2

changeset:   6:1e3f6b843bd6
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     1.3

changeset:   7:27f57c869697
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     1.3m

changeset:   8:088ff9d6e1e1
tag:         tip
parent:      3:ac69c658229d
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     0.3m

====== Outgoing -R full.hg vs partial2 in partial
comparing with ../partial2
searching for changes
changeset:   4:5f4f3ceb285e
parent:      0:5649c9d34dd8
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     1.1

changeset:   5:024e4e7df376
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     1.2

changeset:   6:1e3f6b843bd6
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     1.3

changeset:   7:27f57c869697
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     1.3m

changeset:   8:088ff9d6e1e1
tag:         tip
parent:      3:ac69c658229d
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     0.3m

====== Outgoing -R does-not-exist.hg vs partial2 in partial
abort: No such file or directory: ../does-not-exist.hg
====== Direct clone from bundle (all-history)
requesting all changes
adding changesets
adding manifests
adding file changes
added 9 changesets with 7 changes to 4 files (+1 heads)
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
changeset:   8:088ff9d6e1e1
tag:         tip
parent:      3:ac69c658229d
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     0.3m

changeset:   7:27f57c869697
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     1.3m

====== Unbundle incremental bundles into fresh empty in one go
1 changesets found
1 changesets found
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
====== test for 540d1059c802
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
searching for changes
1 changesets found
comparing with ../bundle.hg
searching for changes
changeset:   2:ed1b79f46b9a
tag:         tip
parent:      0:bbd179dfa0a7
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
summary:     change foo

===== test that verify bundle does not traceback
abort: 00changelog.i@bbd179dfa0a7: unknown parent!
abort: cannot verify bundle or remote repos
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
2 files, 2 changesets, 2 total revisions
====== diff against bundle
diff -r 088ff9d6e1e1 anotherfile
--- a/anotherfile	Mon Jan 12 13:46:40 1970 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +0,0 @@
-0
-1
-2
-3
====== bundle single branch
adding a
adding b
adding b1
0 files updated, 0 files merged, 2 files removed, 0 files unresolved
adding c
created new head
adding c1
== bundling via incoming
comparing with .
searching for changes
d2ae7f538514cd87c17547b0de4cea71fe1af9fb
5ece8e77363e2b5269e27c66828b72da29e4341a
== bundling
searching for changes
common changesets up to c0025332f9ed
2 changesets found
list of changesets:
d2ae7f538514cd87c17547b0de4cea71fe1af9fb
5ece8e77363e2b5269e27c66828b72da29e4341a
bundling changes: 0 chunks
bundling changes: 1 chunks
bundling changes: 2 chunks
bundling changes: 3 chunks
bundling changes: 4 chunks
bundling changes: 5 chunks
bundling changes: 6 chunks
bundling manifests: 0 chunks
bundling manifests: 1 chunks
bundling manifests: 2 chunks
bundling manifests: 3 chunks
bundling manifests: 4 chunks
bundling manifests: 5 chunks
bundling manifests: 6 chunks
bundling files: b 0 chunks
bundling files: b 1 chunks
bundling files: b 2 chunks
bundling files: b 3 chunks
bundling files: b1 4 chunks
bundling files: b1 5 chunks
bundling files: b1 6 chunks
bundling files: b1 7 chunks