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