[PATCH 6 of 7] activate the light-weight copy feature
Sune Foldager
cryo at cyanite.org
Tue Sep 14 04:56:35 CDT 2010
# HG changeset patch
# User Sune Foldager <cryo at cyanite.org>
# Date 1282914720 -7200
# Node ID 6c95703db2ceff035bbcece54aa984da493e67f3
# Parent c9ecf6d42dbaf1624833591c1c580ba93b0afa04
activate the light-weight copy feature
diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py
--- a/mercurial/localrepo.py
+++ b/mercurial/localrepo.py
@@ -21,7 +21,7 @@
class localrepository(repo.repository):
capabilities = set(('lookup', 'changegroupsubset', 'branchmap', 'pushkey'))
- supported = set('revlogv1 store fncache shared parentdelta'.split())
+ supported = set('revlogv1 store fncache shared parentdelta lwcopy'.split())
def __init__(self, baseui, path=None, create=0):
repo.repository.__init__(self)
@@ -45,7 +45,7 @@
if not os.path.exists(path):
util.makedirs(path)
os.mkdir(self.path)
- requirements = ["revlogv1"]
+ requirements = ["revlogv1", "lwcopy"]
if self.ui.configbool('format', 'usestore', True):
os.mkdir(os.path.join(self.path, "store"))
requirements.append("store")
@@ -93,7 +93,7 @@
self.sopener = self.store.opener
self.sjoin = self.store.join
self.opener.createmode = self.store.createmode
- self.sopener.options = {}
+ self.sopener.options = {"lwcopy": "lwcopy" in requirements}
if 'parentdelta' in requirements:
self.sopener.options['parentdelta'] = 1
@@ -808,6 +808,8 @@
self.ui.debug(" %s: copy %s:%s\n" % (fname, cfname, hex(crev)))
meta["copy"] = cfname
meta["copyrev"] = hex(crev)
+ if self.sopener.options["lwcopy"]:
+ meta["copylw"] = ''
fparent1, fparent2 = nullid, newfparent
elif fparent2 != nullid:
# is one parent an ancestor of the other?
diff --git a/tests/test-bundle-r.t b/tests/test-bundle-r.t
--- a/tests/test-bundle-r.t
+++ b/tests/test-bundle-r.t
@@ -34,10 +34,10 @@
3 15 9 3 3 19b1fc555737 4c982badb186 000000000000
$ hg debugindex .hg/store/data/adifferentfile.i
rev offset length base linkrev nodeid p1 p2
- 0 0 75 0 7 2565f3199a74 000000000000 000000000000
+ 0 0 76 0 7 2565f3199a74 000000000000 000000000000
$ hg debugindex .hg/store/data/anotherfile.i
rev offset length base linkrev nodeid p1 p2
- 0 0 75 0 8 2565f3199a74 000000000000 000000000000
+ 0 0 76 0 8 2565f3199a74 000000000000 000000000000
$ hg debugindex .hg/store/data/fred.i
rev offset length base linkrev nodeid p1 p2
0 0 8 0 6 12ab3bcc5ea4 000000000000 000000000000
diff --git a/tests/test-clone-r.t b/tests/test-clone-r.t
--- a/tests/test-clone-r.t
+++ b/tests/test-clone-r.t
@@ -46,11 +46,11 @@
$ hg debugindex .hg/store/data/adifferentfile.i
rev offset length base linkrev nodeid p1 p2
- 0 0 75 0 7 2565f3199a74 000000000000 000000000000
+ 0 0 76 0 7 2565f3199a74 000000000000 000000000000
$ hg debugindex .hg/store/data/anotherfile.i
rev offset length base linkrev nodeid p1 p2
- 0 0 75 0 8 2565f3199a74 000000000000 000000000000
+ 0 0 76 0 8 2565f3199a74 000000000000 000000000000
$ hg debugindex .hg/store/data/fred.i
rev offset length base linkrev nodeid p1 p2
diff --git a/tests/test-convert-hg-source.out b/tests/test-convert-hg-source.out
--- a/tests/test-convert-hg-source.out
+++ b/tests/test-convert-hg-source.out
@@ -39,17 +39,17 @@
4 init
ignoring: data/b.i at 1e88685f5dde: no match found
3 changeall
+ignoring: data/b.i at 1e88685f5dde: no node
2 changebagain
1 merge
0 moveb
+ignoring: data/b.i at 0cf8bc74fd2b: no node
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
-3 files, 5 changesets, 5 total revisions
+1 files, 5 changesets, 2 total revisions
% manifest -r 0
a
% manifest -r tip
a
-c
-d
diff --git a/tests/test-copy.t b/tests/test-copy.t
--- a/tests/test-copy.t
+++ b/tests/test-copy.t
@@ -49,7 +49,7 @@
this should show a revision linked to changeset 0
- $ hg debugindex .hg/store/data/a.i
+ $ hg debugindex a
rev offset length base linkrev nodeid p1 p2
0 0 3 0 0 b789fdd96dc2 000000000000 000000000000
@@ -65,18 +65,18 @@
this should show a revision linked to changeset 1
- $ hg debugindex .hg/store/data/b.i
+ $ hg debugindex b
rev offset length base linkrev nodeid p1 p2
- 0 0 65 0 1 37d9b5d994ea 000000000000 000000000000
+ 0 0 72 0 1 37d9b5d994ea 000000000000 000000000000
this should show the rename information in the metadata
- $ hg debugdata .hg/store/data/b.d 0 | head -3 | tail -2
+ $ hg debugdata b 0 | head -3 | tail -2
copy: a
copyrev: b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3
$ $TESTDIR/md5sum.py .hg/store/data/b.i
- 4999f120a3b88713bbefddd195cf5133 .hg/store/data/b.i
+ f73371270913f0cf582fcfb81ce2c723 .hg/store/data/b.i
$ hg cat b > bsum
$ $TESTDIR/md5sum.py bsum
60b725f10c9c85c70d97880dfe8191b3 bsum
diff --git a/tests/test-copy2.t b/tests/test-copy2.t
--- a/tests/test-copy2.t
+++ b/tests/test-copy2.t
@@ -69,9 +69,9 @@
should show no parents for tip
$ hg debugindex .hg/store/data/bar.i
rev offset length base linkrev nodeid p1 p2
- 0 0 69 0 1 7711d36246cc 000000000000 000000000000
- 1 69 6 1 2 bdf70a2b8d03 7711d36246cc 000000000000
- 2 75 81 1 3 b2558327ea8d 000000000000 000000000000
+ 0 0 74 0 1 7711d36246cc 000000000000 000000000000
+ 1 74 6 1 2 bdf70a2b8d03 7711d36246cc 000000000000
+ 2 80 74 2 3 b2558327ea8d 000000000000 000000000000
should match
$ hg debugindex .hg/store/data/foo.i
rev offset length base linkrev nodeid p1 p2
diff --git a/tests/test-http-clone-r.out b/tests/test-http-clone-r.out
--- a/tests/test-http-clone-r.out
+++ b/tests/test-http-clone-r.out
@@ -8,9 +8,9 @@
2 8 7 2 2 4c982badb186 125144f7e028 000000000000
3 15 9 3 3 19b1fc555737 4c982badb186 000000000000
rev offset length base linkrev nodeid p1 p2
- 0 0 75 0 7 2565f3199a74 000000000000 000000000000
+ 0 0 76 0 7 2565f3199a74 000000000000 000000000000
rev offset length base linkrev nodeid p1 p2
- 0 0 75 0 8 2565f3199a74 000000000000 000000000000
+ 0 0 76 0 8 2565f3199a74 000000000000 000000000000
rev offset length base linkrev nodeid p1 p2
0 0 8 0 6 12ab3bcc5ea4 000000000000 000000000000
rev offset length base linkrev nodeid p1 p2
diff --git a/tests/test-init.t b/tests/test-init.t
--- a/tests/test-init.t
+++ b/tests/test-init.t
@@ -40,6 +40,7 @@
store created
00changelog.i created
revlogv1
+ lwcopy
store
fncache
$ echo this > local/foo
@@ -51,6 +52,7 @@
$ hg --config format.usestore=false init old
$ checknewrepo old
revlogv1
+ lwcopy
creating repo with format.usefncache=false
@@ -59,6 +61,7 @@
store created
00changelog.i created
revlogv1
+ lwcopy
store
test failure
@@ -152,5 +155,6 @@
store created
00changelog.i created
revlogv1
+ lwcopy
store
fncache
diff --git a/tests/test-merge-commit.out b/tests/test-merge-commit.out
--- a/tests/test-merge-commit.out
+++ b/tests/test-merge-commit.out
@@ -8,8 +8,8 @@
line1
line2
rev offset length base linkrev nodeid p1 p2
- 0 0 77 0 2 d35118874825 000000000000 000000000000
- 1 77 76 0 3 5345f5ab8abd 000000000000 d35118874825
+ 0 0 84 0 2 d35118874825 000000000000 000000000000
+ 1 84 81 1 3 5345f5ab8abd 000000000000 d35118874825
bar renamed from foo:9e25c27b87571a1edee5ae4dddee5687746cc8e2
rev offset length base linkrev nodeid p1 p2
0 0 7 0 0 690b295714ae 000000000000 000000000000
@@ -39,10 +39,10 @@
line1
line2
rev offset length base linkrev nodeid p1 p2
- 0 0 77 0 2 d35118874825 000000000000 000000000000
- 1 77 76 0 3 5345f5ab8abd 000000000000 d35118874825
- 2 153 7 2 4 ff4b45017382 d35118874825 000000000000
- 3 160 13 3 5 3701b4893544 ff4b45017382 5345f5ab8abd
+ 0 0 84 0 2 d35118874825 000000000000 000000000000
+ 1 84 81 1 3 5345f5ab8abd 000000000000 d35118874825
+ 2 165 7 2 4 ff4b45017382 d35118874825 000000000000
+ 3 172 13 3 5 3701b4893544 ff4b45017382 5345f5ab8abd
requesting all changes
@@ -60,7 +60,7 @@
line2
rev offset length base linkrev nodeid p1 p2
0 0 77 0 2 d35118874825 000000000000 000000000000
- 1 77 76 0 3 5345f5ab8abd 000000000000 d35118874825
+ 1 77 81 1 3 5345f5ab8abd 000000000000 d35118874825
bar renamed from foo:9e25c27b87571a1edee5ae4dddee5687746cc8e2
rev offset length base linkrev nodeid p1 p2
0 0 7 0 0 690b295714ae 000000000000 000000000000
@@ -91,6 +91,6 @@
line2
rev offset length base linkrev nodeid p1 p2
0 0 77 0 2 d35118874825 000000000000 000000000000
- 1 77 76 0 3 5345f5ab8abd 000000000000 d35118874825
- 2 153 7 2 4 ff4b45017382 d35118874825 000000000000
- 3 160 13 3 5 3701b4893544 ff4b45017382 5345f5ab8abd
+ 1 77 81 1 3 5345f5ab8abd 000000000000 d35118874825
+ 2 158 7 2 4 ff4b45017382 d35118874825 000000000000
+ 3 165 13 3 5 3701b4893544 ff4b45017382 5345f5ab8abd
diff --git a/tests/test-push-r.out b/tests/test-push-r.out
--- a/tests/test-push-r.out
+++ b/tests/test-push-r.out
@@ -7,9 +7,9 @@
2 8 7 2 2 4c982badb186 125144f7e028 000000000000
3 15 9 3 3 19b1fc555737 4c982badb186 000000000000
rev offset length base linkrev nodeid p1 p2
- 0 0 75 0 7 2565f3199a74 000000000000 000000000000
+ 0 0 76 0 7 2565f3199a74 000000000000 000000000000
rev offset length base linkrev nodeid p1 p2
- 0 0 75 0 8 2565f3199a74 000000000000 000000000000
+ 0 0 76 0 8 2565f3199a74 000000000000 000000000000
rev offset length base linkrev nodeid p1 p2
0 0 8 0 6 12ab3bcc5ea4 000000000000 000000000000
rev offset length base linkrev nodeid p1 p2
diff --git a/tests/test-rename-merge1.out b/tests/test-rename-merge1.out
--- a/tests/test-rename-merge1.out
+++ b/tests/test-rename-merge1.out
@@ -41,6 +41,6 @@
C c2
blahblah
rev offset length base linkrev nodeid p1 p2
- 0 0 67 0 1 57eacc201a7f 000000000000 000000000000
- 1 67 72 1 3 4727ba907962 000000000000 57eacc201a7f
+ 0 0 72 0 1 57eacc201a7f 000000000000 000000000000
+ 1 72 72 1 3 4727ba907962 000000000000 57eacc201a7f
b renamed from a:dd03b83622e78778b403775d0d074b9ac7387a66
diff --git a/tests/test-ssh-clone-r.out b/tests/test-ssh-clone-r.out
--- a/tests/test-ssh-clone-r.out
+++ b/tests/test-ssh-clone-r.out
@@ -8,9 +8,9 @@
2 8 7 2 2 4c982badb186 125144f7e028 000000000000
3 15 9 3 3 19b1fc555737 4c982badb186 000000000000
rev offset length base linkrev nodeid p1 p2
- 0 0 75 0 7 2565f3199a74 000000000000 000000000000
+ 0 0 76 0 7 2565f3199a74 000000000000 000000000000
rev offset length base linkrev nodeid p1 p2
- 0 0 75 0 8 2565f3199a74 000000000000 000000000000
+ 0 0 76 0 8 2565f3199a74 000000000000 000000000000
rev offset length base linkrev nodeid p1 p2
0 0 8 0 6 12ab3bcc5ea4 000000000000 000000000000
rev offset length base linkrev nodeid p1 p2
More information about the Mercurial-devel
mailing list