D6613: commit: improve the files field of changelog for merges (RFC)

mharbison72 (Matt Harbison) phabricator at mercurial-scm.org
Wed Jul 10 13:09:56 EDT 2019


mharbison72 added a comment.
mharbison72 added a subscriber: yuja.


  In D6613#96822 <https://phab.mercurial-scm.org/D6613#96822>, @valentin.gatienbaron wrote:
  
  > Ok. Maybe it would be simpler or more robust to do the direct thing: optionally treat the files list in the input commit as input and reuse them blindly in the resulting commit, when doing a hg->hg conversion without filemap.
  
  Maybe.  I've been wondering if it's possible to just pass along the manifest and changelog instead of recalculating it.  It seems there have been other issues over the years[1].  @yuja fixed something manifest related around the time of that thread IIRC.  Even if a filemap is in use, the map may not modify early commits.  And when those are changed unexpectedly, it makes me wonder what got lost/mangled.  I looked through the repos I converted last year without any file mapping, and there were manifest node changes, but also differences in `files` and `files+` in the changelog.
  
  > (btw, a tweak to test-merge-combinations shows the cases where convert is not the identity: 12-- and -1--, so cases where a file is absent in p1, that p2 added or modified, and the merge redeletes the file. Commit shows such files are modified (rightly) but convert doesn't)
  
  Is that a non-tracked test?  Can you throw a patch up somewhere showing this?  One of the things I noticed last year was that I'd get better results if `cleanp2`[2] was forced to be empty.  I was unable to come up with a simple test case showing a different hash with shipping code and a forcibly emptied `cleanp2`, circa 4.6.  What you're describing seems to be the opposite of 216fa1ba9993 <https://phab.mercurial-scm.org/rHG216fa1ba999333e86200d2608e3b78670168d516>, but something is wrong with that calculation, so maybe it's worth a try.
  
  [1] https://www.mercurial-scm.org/pipermail/mercurial/2018-June/050921.html
  [2] https://www.mercurial-scm.org/repo/hg/file/5.0.2/hgext/convert/hg.py#l552

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D6613/new/

REVISION DETAIL
  https://phab.mercurial-scm.org/D6613

To: valentin.gatienbaron, #hg-reviewers, mharbison72
Cc: yuja, mharbison72, martinvonz, mjpieters, mercurial-devel


More information about the Mercurial-devel mailing list