##// END OF EJS Templates
copies-sdc: mark upgrade action as changelog only...
copies-sdc: mark upgrade action as changelog only We don't need to recompute the other revlog to add the changelog-v2 feature. This simplify upgrade that use copies-sdc (as shown in the tests).

File last commit:

r50082:04a812f5 default
r50082:04a812f5 default
Show More
test-copies-in-changeset.t
488 lines | 11.2 KiB | text/troff | Tads3Lexer
/ tests / test-copies-in-changeset.t
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411 #testcases extra sidedata
Martin von Zweigbergk
copies: add config option for writing copy metadata to file and/or changset...
r42317
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411 #if extra
Martin von Zweigbergk
copies: add config option for writing copy metadata to file and/or changset...
r42317 $ cat >> $HGRCPATH << EOF
> [experimental]
> copies.write-to=changeset-only
Martin von Zweigbergk
changelog: parse copy metadata if available in extras...
r42318 > copies.read-from=changeset-only
Martin von Zweigbergk
copies: add config option for writing copy metadata to file and/or changset...
r42317 > [alias]
> changesetcopies = log -r . -T 'files: {files}
Martin von Zweigbergk
changelog: optionally store added and removed files in changeset extras...
r42598 > {extras % "{ifcontains("files", key, "{key}: {value}\n")}"}
Martin von Zweigbergk
copies: add config option for writing copy metadata to file and/or changset...
r42317 > {extras % "{ifcontains("copies", key, "{key}: {value}\n")}"}'
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411 > EOF
#endif
#if sidedata
$ cat >> $HGRCPATH << EOF
> [format]
> exp-use-copies-side-data-changeset = yes
> EOF
#endif
$ cat >> $HGRCPATH << EOF
> [alias]
Martin von Zweigbergk
changelog: parse copy metadata if available in extras...
r42318 > showcopies = log -r . -T '{file_copies % "{source} -> {name}\n"}'
Martin von Zweigbergk
tests: demonstrate loss of changeset copy metadata on rebase...
r42475 > [extensions]
> rebase =
Martin von Zweigbergk
tests: demonstrate crash when committing subset of copies to changeset...
r43124 > split =
Martin von Zweigbergk
copies: add config option for writing copy metadata to file and/or changset...
r42317 > EOF
Check that copies are recorded correctly
$ hg init repo
$ cd repo
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411 #if sidedata
test-copies: narrow the format check in test-copies-in-changeset.t...
r49504 $ hg debugformat -v | egrep 'format-variant|revlog-v2|copies-sdc|changelog-v2'
nodemap: teach `hg debugformat` about the persistent nodemap option...
r45303 format-variant repo config default
copies-sdc: yes yes no
changelogv2: `copies-side-data` now implies `changelogv2`...
r48039 revlog-v2: no no no
changelog-v2: yes yes no
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411 #else
test-copies: narrow the format check in test-copies-in-changeset.t...
r49504 $ hg debugformat -v | egrep 'format-variant|revlog-v2|copies-sdc|changelog-v2'
nodemap: teach `hg debugformat` about the persistent nodemap option...
r45303 format-variant repo config default
copies-sdc: no no no
Raphaël Gomès
revlogv2: allow upgrading to v2...
r47439 revlog-v2: no no no
changelogv2: introduce a "changelogv2" feature...
r48037 changelog-v2: no no no
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411 #endif
Martin von Zweigbergk
copies: add config option for writing copy metadata to file and/or changset...
r42317 $ echo a > a
$ hg add a
$ hg ci -m initial
$ hg cp a b
$ hg cp a c
$ hg cp a d
$ hg ci -m 'copy a to b, c, and d'
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411
#if extra
Martin von Zweigbergk
copies: add config option for writing copy metadata to file and/or changset...
r42317 $ hg changesetcopies
files: b c d
Martin von Zweigbergk
copies: separate added/removed files by newline instead of null...
r42620 filesadded: 0
1
2
Martin von Zweigbergk
changelog: optionally store added and removed files in changeset extras...
r42598
Martin von Zweigbergk
copies: also encode p[12]copies destination as index into "files" list...
r42619 p1copies: 0\x00a (esc)
1\x00a (esc)
2\x00a (esc)
sidedatacopies: write copies information in sidedata when applicable...
r43412 #else
$ hg debugsidedata -c -v -- -1
changing-files: rework the way we store changed files in side-data...
r46211 1 sidedata entries
entry-0014 size 44
'\x00\x00\x00\x04\x00\x00\x00\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\x00\x06\x00\x00\x00\x03\x00\x00\x00\x00\x06\x00\x00\x00\x04\x00\x00\x00\x00abcd'
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411 #endif
Martin von Zweigbergk
changelog: parse copy metadata if available in extras...
r42318 $ hg showcopies
a -> b
a -> c
a -> d
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411
#if extra
Martin von Zweigbergk
changelog: parse copy metadata if available in extras...
r42318 $ hg showcopies --config experimental.copies.read-from=compatibility
a -> b
a -> c
a -> d
$ hg showcopies --config experimental.copies.read-from=filelog-only
Martin von Zweigbergk
copies: add config option for writing copy metadata to file and/or changset...
r42317
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411 #endif
Martin von Zweigbergk
copies: add config option for writing copy metadata to file and/or changset...
r42317 Check that renames are recorded correctly
$ hg mv b b2
$ hg ci -m 'rename b to b2'
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411
#if extra
Martin von Zweigbergk
copies: add config option for writing copy metadata to file and/or changset...
r42317 $ hg changesetcopies
files: b b2
Martin von Zweigbergk
changelog: optionally store added and removed files in changeset extras...
r42598 filesadded: 1
filesremoved: 0
Martin von Zweigbergk
copies: also encode p[12]copies destination as index into "files" list...
r42619 p1copies: 1\x00b (esc)
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411
sidedatacopies: write copies information in sidedata when applicable...
r43412 #else
$ hg debugsidedata -c -v -- -1
changing-files: rework the way we store changed files in side-data...
r46211 1 sidedata entries
entry-0014 size 25
'\x00\x00\x00\x02\x0c\x00\x00\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x03\x00\x00\x00\x00bb2'
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411 #endif
Martin von Zweigbergk
changelog: parse copy metadata if available in extras...
r42318 $ hg showcopies
b -> b2
Martin von Zweigbergk
copies: add config option for writing copy metadata to file and/or changset...
r42317
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411
Martin von Zweigbergk
copies: add config option for writing copy metadata to file and/or changset...
r42317 Rename onto existing file. This should get recorded in the changeset files list and in the extras,
even though there is no filelog entry.
$ hg cp b2 c --force
$ hg st --copies
M c
b2
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411
#if extra
Martin von Zweigbergk
copies: add config option for writing copy metadata to file and/or changset...
r42317 $ hg debugindex c
rev linkrev nodeid p1 p2
0 1 b789fdd96dc2 000000000000 000000000000
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411
#else
$ hg debugindex c
rev linkrev nodeid p1 p2
0 1 37d9b5d994ea 000000000000 000000000000
#endif
Martin von Zweigbergk
copies: add config option for writing copy metadata to file and/or changset...
r42317 $ hg ci -m 'move b onto d'
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411
#if extra
Martin von Zweigbergk
copies: add config option for writing copy metadata to file and/or changset...
r42317 $ hg changesetcopies
files: c
Martin von Zweigbergk
changelog: optionally store added and removed files in changeset extras...
r42598
Martin von Zweigbergk
copies: also encode p[12]copies destination as index into "files" list...
r42619 p1copies: 0\x00b2 (esc)
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411
sidedatacopies: write copies information in sidedata when applicable...
r43412 #else
$ hg debugsidedata -c -v -- -1
sidedatacopies: only store an entry if it has values...
r43505 1 sidedata entries
changing-files: rework the way we store changed files in side-data...
r46211 entry-0014 size 25
'\x00\x00\x00\x02\x00\x00\x00\x00\x02\x00\x00\x00\x00\x16\x00\x00\x00\x03\x00\x00\x00\x00b2c'
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411 #endif
Martin von Zweigbergk
changelog: parse copy metadata if available in extras...
r42318 $ hg showcopies
b2 -> c
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411
#if extra
Martin von Zweigbergk
copies: add config option for writing copy metadata to file and/or changset...
r42317 $ hg debugindex c
rev linkrev nodeid p1 p2
0 1 b789fdd96dc2 000000000000 000000000000
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411 #else
$ hg debugindex c
rev linkrev nodeid p1 p2
0 1 37d9b5d994ea 000000000000 000000000000
1 3 029625640347 000000000000 000000000000
#endif
Martin von Zweigbergk
copies: add config option for writing copy metadata to file and/or changset...
r42317 Create a merge commit with copying done during merge.
$ hg co 0
0 files updated, 0 files merged, 3 files removed, 0 files unresolved
$ hg cp a e
$ hg cp a f
$ hg ci -m 'copy a to e and f'
created new head
$ hg merge 3
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
File 'a' exists on both sides, so 'g' could be recorded as being from p1 or p2, but we currently
always record it as being from p1
$ hg cp a g
File 'd' exists only in p2, so 'h' should be from p2
$ hg cp d h
File 'f' exists only in p1, so 'i' should be from p1
$ hg cp f i
$ hg ci -m 'merge'
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411
#if extra
Martin von Zweigbergk
copies: add config option for writing copy metadata to file and/or changset...
r42317 $ hg changesetcopies
files: g h i
Martin von Zweigbergk
copies: separate added/removed files by newline instead of null...
r42620 filesadded: 0
1
2
Martin von Zweigbergk
changelog: optionally store added and removed files in changeset extras...
r42598
Martin von Zweigbergk
copies: also encode p[12]copies destination as index into "files" list...
r42619 p1copies: 0\x00a (esc)
2\x00f (esc)
p2copies: 1\x00d (esc)
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411
sidedatacopies: write copies information in sidedata when applicable...
r43412 #else
$ hg debugsidedata -c -v -- -1
changing-files: rework the way we store changed files in side-data...
r46211 1 sidedata entries
entry-0014 size 64
'\x00\x00\x00\x06\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x06\x00\x00\x00\x04\x00\x00\x00\x00\x07\x00\x00\x00\x05\x00\x00\x00\x01\x06\x00\x00\x00\x06\x00\x00\x00\x02adfghi'
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411 #endif
Martin von Zweigbergk
changelog: parse copy metadata if available in extras...
r42318 $ hg showcopies
a -> g
d -> h
f -> i
Martin von Zweigbergk
copies: add config option for writing copy metadata to file and/or changset...
r42317
Test writing to both changeset and filelog
$ hg cp a j
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411 #if extra
Martin von Zweigbergk
copies: add config option for writing copy metadata to file and/or changset...
r42317 $ hg ci -m 'copy a to j' --config experimental.copies.write-to=compatibility
$ hg changesetcopies
files: j
Martin von Zweigbergk
changelog: optionally store added and removed files in changeset extras...
r42598 filesadded: 0
filesremoved:
Martin von Zweigbergk
copies: also encode p[12]copies destination as index into "files" list...
r42619 p1copies: 0\x00a (esc)
Martin von Zweigbergk
copies: write empty entries in changeset when also writing to filelog...
r42486 p2copies:
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411 #else
$ hg ci -m 'copy a to j'
sidedatacopies: write copies information in sidedata when applicable...
r43412 $ hg debugsidedata -c -v -- -1
changing-files: rework the way we store changed files in side-data...
r46211 1 sidedata entries
entry-0014 size 24
'\x00\x00\x00\x02\x00\x00\x00\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\x00aj'
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411 #endif
Martin von Zweigbergk
copies: add config option for writing copy metadata to file and/or changset...
r42317 $ hg debugdata j 0
\x01 (esc)
copy: a
copyrev: b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3
\x01 (esc)
a
Martin von Zweigbergk
changelog: parse copy metadata if available in extras...
r42318 $ hg showcopies
a -> j
$ hg showcopies --config experimental.copies.read-from=compatibility
a -> j
$ hg showcopies --config experimental.copies.read-from=filelog-only
a -> j
Martin von Zweigbergk
tests: show invalid copies when turning off copies-in-changeset...
r43126 Existing copy information in the changeset gets removed on amend and writing
copy information on to the filelog
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411 #if extra
Martin von Zweigbergk
tests: show invalid copies when turning off copies-in-changeset...
r43126 $ hg ci --amend -m 'copy a to j, v2' \
> --config experimental.copies.write-to=filelog-only
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411 saved backup bundle to $TESTTMP/repo/.hg/strip-backup/*-*-amend.hg (glob)
Martin von Zweigbergk
tests: show invalid copies when turning off copies-in-changeset...
r43126 $ hg changesetcopies
files: j
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411 #else
$ hg ci --amend -m 'copy a to j, v2'
saved backup bundle to $TESTTMP/repo/.hg/strip-backup/*-*-amend.hg (glob)
sidedatacopies: write copies information in sidedata when applicable...
r43412 $ hg debugsidedata -c -v -- -1
Raphaël Gomès
sidedata-exchange: rewrite sidedata on-the-fly whenever possible...
r47452 1 sidedata entries
entry-0014 size 24
'\x00\x00\x00\x02\x00\x00\x00\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\x00aj'
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411 #endif
Martin von Zweigbergk
tests: show invalid copies when turning off copies-in-changeset...
r43126 $ hg showcopies --config experimental.copies.read-from=filelog-only
Raphaël Gomès
sidedata-exchange: rewrite sidedata on-the-fly whenever possible...
r47452 a -> j
Martin von Zweigbergk
copies: write empty entries in changeset when also writing to filelog...
r42486 The entries should be written to extras even if they're empty (so the client
won't have to fall back to reading from filelogs)
$ echo x >> j
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411 #if extra
Martin von Zweigbergk
copies: write empty entries in changeset when also writing to filelog...
r42486 $ hg ci -m 'modify j' --config experimental.copies.write-to=compatibility
$ hg changesetcopies
files: j
Martin von Zweigbergk
changelog: optionally store added and removed files in changeset extras...
r42598 filesadded:
filesremoved:
Martin von Zweigbergk
copies: write empty entries in changeset when also writing to filelog...
r42486 p1copies:
p2copies:
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411 #else
$ hg ci -m 'modify j'
sidedatacopies: write copies information in sidedata when applicable...
r43412 $ hg debugsidedata -c -v -- -1
changing-files: rework the way we store changed files in side-data...
r46211 1 sidedata entries
entry-0014 size 14
'\x00\x00\x00\x01\x14\x00\x00\x00\x01\x00\x00\x00\x00j'
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411 #endif
Martin von Zweigbergk
copies: add config option for writing copy metadata to file and/or changset...
r42317
Test writing only to filelog
$ hg cp a k
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411 #if extra
Martin von Zweigbergk
copies: add config option for writing copy metadata to file and/or changset...
r42317 $ hg ci -m 'copy a to k' --config experimental.copies.write-to=filelog-only
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411
Martin von Zweigbergk
copies: add config option for writing copy metadata to file and/or changset...
r42317 $ hg changesetcopies
files: k
Martin von Zweigbergk
changelog: optionally store added and removed files in changeset extras...
r42598
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411 #else
$ hg ci -m 'copy a to k'
sidedatacopies: write copies information in sidedata when applicable...
r43412 $ hg debugsidedata -c -v -- -1
changing-files: rework the way we store changed files in side-data...
r46211 1 sidedata entries
entry-0014 size 24
'\x00\x00\x00\x02\x00\x00\x00\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\x00ak'
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411 #endif
Martin von Zweigbergk
copies: add config option for writing copy metadata to file and/or changset...
r42317 $ hg debugdata k 0
\x01 (esc)
copy: a
copyrev: b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3
\x01 (esc)
a
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411 #if extra
Martin von Zweigbergk
changelog: parse copy metadata if available in extras...
r42318 $ hg showcopies
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411
Martin von Zweigbergk
changelog: parse copy metadata if available in extras...
r42318 $ hg showcopies --config experimental.copies.read-from=compatibility
a -> k
$ hg showcopies --config experimental.copies.read-from=filelog-only
a -> k
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411 #else
$ hg showcopies
a -> k
#endif
Martin von Zweigbergk
copies: add config option for writing copy metadata to file and/or changset...
r42317
Martin von Zweigbergk
tests: demonstrate that copy info in changeset gets lost on amend...
r49832 Existing copy information is preserved by amend
$ hg cp a l
$ hg ci -m 'copy a to l'
$ hg showcopies
a -> l
$ hg ci --amend -m 'new description'
saved backup bundle to $TESTTMP/repo/.hg/strip-backup/*-*-amend.hg (glob)
$ hg showcopies
Martin von Zweigbergk
amend: fix amend with copies in extras...
r49833 a -> l
Martin von Zweigbergk
tests: demonstrate crash on partial amend with copies in changesets...
r49956
No crash on partial amend
$ hg st --change .
A l
$ echo modified >> a
$ hg rm l
Martin von Zweigbergk
amend: don't remove unselected removals from memctx...
r49957 $ hg commit --amend a
saved backup bundle to $TESTTMP/repo/.hg/strip-backup/*-*-amend.hg (glob)
Martin von Zweigbergk
tests: demonstrate crash on partial amend with copies in changesets...
r49956
Martin von Zweigbergk
copies: add config option for writing copy metadata to file and/or changset...
r42317 $ cd ..
Martin von Zweigbergk
tests: demonstrate loss of changeset copy metadata on rebase...
r42475
Test rebasing a commit with copy information
$ hg init rebase-rename
$ cd rebase-rename
$ echo a > a
$ hg ci -Aqm 'add a'
$ echo a2 > a
$ hg ci -m 'modify a'
$ hg co -q 0
$ hg mv a b
$ hg ci -qm 'rename a to b'
Augie Fackler
rebase: add a config knob for forcing in-memory rebasing...
r47071 Not only do we want this to run in-memory, it shouldn't fall back to
on-disk merge (no conflicts), so we force it to be in-memory
with no fallback.
$ hg rebase -d 1 --config rebase.experimental.inmemory=yes --config devel.rebase.force-in-memory-merge=yes
Martin von Zweigbergk
rebase: change and standarize template for rebase's one-line summary...
r46356 rebasing 2:* tip "rename a to b" (glob)
Martin von Zweigbergk
tests: demonstrate loss of changeset copy metadata on rebase...
r42475 merging a and b to b
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411 saved backup bundle to $TESTTMP/rebase-rename/.hg/strip-backup/*-*-rebase.hg (glob)
Martin von Zweigbergk
tests: demonstrate loss of changeset copy metadata on rebase...
r42475 $ hg st --change . --copies
A b
Raphaël Gomès
sidedata-exchange: rewrite sidedata on-the-fly whenever possible...
r47452 a
Martin von Zweigbergk
tests: demonstrate loss of changeset copy metadata on rebase...
r42475 R a
$ cd ..
Martin von Zweigbergk
tests: demonstrate crash when committing subset of copies to changeset...
r43124
Test splitting a commit
$ hg init split
$ cd split
$ echo a > a
$ echo b > b
$ hg ci -Aqm 'add a and b'
$ echo a2 > a
$ hg mv b c
$ hg ci -m 'modify a, move b to c'
Martin von Zweigbergk
context: filter out invalid copies from workingctx.p[12]copies()...
r43125 $ hg --config ui.interactive=yes split <<EOF
Martin von Zweigbergk
tests: demonstrate crash when committing subset of copies to changeset...
r43124 > y
> y
> n
> y
> EOF
Martin von Zweigbergk
context: filter out invalid copies from workingctx.p[12]copies()...
r43125 diff --git a/a b/a
1 hunks, 1 lines changed
examine changes to 'a'?
(enter ? for help) [Ynesfdaq?] y
@@ -1,1 +1,1 @@
-a
+a2
record this change to 'a'?
(enter ? for help) [Ynesfdaq?] y
diff --git a/b b/c
rename from b
rename to c
examine changes to 'b' and 'c'?
(enter ? for help) [Ynesfdaq?] n
created new head
diff --git a/b b/c
rename from b
rename to c
examine changes to 'b' and 'c'?
(enter ? for help) [Ynesfdaq?] y
sidedatacopies: introduce a sidedata testcase for test-copies-in-changeset.t...
r43411 saved backup bundle to $TESTTMP/split/.hg/strip-backup/*-*-split.hg (glob)
Martin von Zweigbergk
tests: demonstrate crash when committing subset of copies to changeset...
r43124 $ cd ..
Test committing half a rename
$ hg init partial
$ cd partial
$ echo a > a
$ hg ci -Aqm 'add a'
$ hg mv a b
Martin von Zweigbergk
context: filter out invalid copies from workingctx.p[12]copies()...
r43125 $ hg ci -m 'remove a' a
sidedatacopies: deal with upgrading and downgrading to that format...
r43418
#if sidedata
Test upgrading/downgrading to sidedata storage
==============================================
Raphaël Gomès
sidedata: replace sidedata upgrade mechanism with the new one...
r47847 downgrading
sidedatacopies: deal with upgrading and downgrading to that format...
r43418
test-copies: narrow the format check in test-copies-in-changeset.t...
r49504 $ hg debugformat -v | egrep 'format-variant|revlog-v2|copies-sdc|changelog-v2'
nodemap: teach `hg debugformat` about the persistent nodemap option...
r45303 format-variant repo config default
copies-sdc: yes yes no
changelogv2: `copies-side-data` now implies `changelogv2`...
r48039 revlog-v2: no no no
changelog-v2: yes yes no
sidedatacopies: deal with upgrading and downgrading to that format...
r43418 $ hg debugsidedata -c -- 0
sidedatacopies: only store an entry if it has values...
r43505 1 sidedata entries
changing-files: rework the way we store changed files in side-data...
r46211 entry-0014 size 14
sidedatacopies: deal with upgrading and downgrading to that format...
r43418 $ hg debugsidedata -c -- 1
sidedatacopies: only store an entry if it has values...
r43505 1 sidedata entries
changing-files: rework the way we store changed files in side-data...
r46211 entry-0014 size 14
sidedatacopies: deal with upgrading and downgrading to that format...
r43418 $ hg debugsidedata -m -- 0
$ cat << EOF > .hg/hgrc
> [format]
> exp-use-copies-side-data-changeset = no
> EOF
copies-sdc: no longer suppress the upgrade output...
r50080 $ hg debugupgraderepo --run --quiet --no-backup
upgrade will perform the following actions:
requirements
preserved: * (glob)
removed: exp-changelog-v2, exp-copies-sidedata-changeset
processed revlogs:
- changelog
test-copies: narrow the format check in test-copies-in-changeset.t...
r49504 $ hg debugformat -v | egrep 'format-variant|revlog-v2|copies-sdc|changelog-v2'
nodemap: teach `hg debugformat` about the persistent nodemap option...
r45303 format-variant repo config default
copies-sdc: no no no
copies-sdc: no longer use revlogv2 in `test-copies-in-changeset.t`...
r50079 revlog-v2: no no no
changelogv2: introduce a "changelogv2" feature...
r48037 changelog-v2: no no no
sidedatacopies: deal with upgrading and downgrading to that format...
r43418 $ hg debugsidedata -c -- 0
$ hg debugsidedata -c -- 1
$ hg debugsidedata -m -- 0
upgrading
$ cat << EOF > .hg/hgrc
> [format]
> exp-use-copies-side-data-changeset = yes
> EOF
copies-sdc: no longer suppress the upgrade output...
r50080 $ hg debugupgraderepo --run --quiet --no-backup
upgrade will perform the following actions:
requirements
preserved: * (glob)
added: exp-changelog-v2, exp-copies-sidedata-changeset
processed revlogs:
- changelog
test-copies: narrow the format check in test-copies-in-changeset.t...
r49504 $ hg debugformat -v | egrep 'format-variant|revlog-v2|copies-sdc|changelog-v2'
nodemap: teach `hg debugformat` about the persistent nodemap option...
r45303 format-variant repo config default
copies-sdc: yes yes no
changelogv2: `copies-side-data` now implies `changelogv2`...
r48039 revlog-v2: no no no
changelog-v2: yes yes no
sidedatacopies: deal with upgrading and downgrading to that format...
r43418 $ hg debugsidedata -c -- 0
sidedatacopies: only store an entry if it has values...
r43505 1 sidedata entries
changing-files: rework the way we store changed files in side-data...
r46211 entry-0014 size 14
sidedatacopies: deal with upgrading and downgrading to that format...
r43418 $ hg debugsidedata -c -- 1
sidedatacopies: only store an entry if it has values...
r43505 1 sidedata entries
changing-files: rework the way we store changed files in side-data...
r46211 entry-0014 size 14
sidedatacopies: deal with upgrading and downgrading to that format...
r43418 $ hg debugsidedata -m -- 0
#endif
Martin von Zweigbergk
tests: demonstrate crash when committing subset of copies to changeset...
r43124 $ cd ..