D6751: test: show invalid copies when turning off copies-in-changeset
martinvonz (Martin von Zweigbergk)
phabricator at mercurial-scm.org
Tue Aug 20 16:29:24 UTC 2019
martinvonz created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
If you turn on copies in changesets and write a commit with a copy,
then turn it off and amend the commit while undoing the copy, the
invalid copy information will remain. The read path doesn't crash in
invalid copy data, but it seems better to not produce the invalid
data.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D6751
AFFECTED FILES
tests/test-copies-in-changeset.t
CHANGE DETAILS
diff --git a/tests/test-copies-in-changeset.t b/tests/test-copies-in-changeset.t
--- a/tests/test-copies-in-changeset.t
+++ b/tests/test-copies-in-changeset.t
@@ -133,6 +133,20 @@
a -> j
$ hg showcopies --config experimental.copies.read-from=filelog-only
a -> j
+Existing copy information in the changeset gets removed on amend and writing
+copy information on to the filelog
+ $ hg ci --amend -m 'copy a to j, v2' \
+ > --config experimental.copies.write-to=filelog-only
+ saved backup bundle to $TESTTMP/repo/.hg/strip-backup/dd7bb9581359-a6e6b6d2-amend.hg
+ $ hg changesetcopies
+ files: j
+ filesadded: 0
+ filesremoved:
+
+ p1copies: 0\x00a (esc)
+ p2copies:
+ $ hg showcopies --config experimental.copies.read-from=filelog-only
+ a -> j
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
To: martinvonz, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list