D6183: copies: add config option for writing copy metadata to file and/or changset
martinvonz (Martin von Zweigbergk)
phabricator at mercurial-scm.org
Fri Apr 5 09:01:54 EDT 2019
martinvonz added a comment.
In https://phab.mercurial-scm.org/D6183#90300, @marmoute wrote:
> I am quite enthousiastic for a non-filelog based copy tracing using commit level information. However, I am very unenthousiastic at the idea of storing more copy data in the changeset itself. The "files" field in the changelog is already quite problematic (about 95% for changelog.d file, taking possibily hundred of megabytes).
It seems like it should save a similar amount of data from the filelog, so what's your concern? That things that need to scan the changelog will need to read more data from disk? Most commits don't have copy information, so I'm not too worried about this. Feel free to experiment on a large repo and insert copy information in changesets there and see how much larger changelog.d becomes. (I was planning to do that later for performance testing.)
> In addition, stoing copy in the changeset is kind of a "schema breakage" making its adoption slower.
> Instead I would advertise for keeping the copy data inside the filelog, using a changeset centric cache summing up the information. The entries from this changeset centric cache can be exchanged over the wire alongside their associated changesets, solving your remote-filelog usecase.
That sounds more complicated for unclear benefit.
To: martinvonz, #hg-reviewers
Cc: marmoute, mercurial-devel
More information about the Mercurial-devel