Patchwork D6751: test: show invalid copies when turning off copies-in-changeset

login
register
mail settings
Submitter phabricator
Date Aug. 20, 2019, 4:29 p.m.
Message ID <differential-rev-PHID-DREV-eit4ae6zoac4wxtx4xgy-req@mercurial-scm.org>
Download mbox | patch
Permalink /patch/41363/
State Superseded
Headers show

Comments

phabricator - Aug. 20, 2019, 4:29 p.m.
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




To: martinvonz, #hg-reviewers
Cc: mercurial-devel

Patch

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