divergence using the convert extension

Benoit Fouletier bennews at free.fr
Mon Jun 25 18:11:20 EDT 2018


 On Fri, Jun 22, 2018 at 3:02 AM Matt Harbison <mharbison72 at gmail.com>
wrote:

> On Thu, 21 Jun 2018 04:52:09 -0400, Benoit Fouletier <bennews at free.fr>
> wrote:
>
> > I have a pretty big Mercurial repo (40 GB), from a Unity game developed
> > over almost 3 years, by over a dozen contributors.
> > I want to make a new game using the same codebase/engine, but I'd like to
> > get rid of (most of) the content to avoid starting with a bloated repo.
> > Basically, the game's textures and sound files account for 90% of the
> > repo
> > size, so I want to strip that. But obviously, I want to keep the history.
>
> The built in LFS extension might be helpful here.  Converting to LFS would
>
> allow you to keep the large files out of the repo data, and not change the
>
> hashes in the conversion process.
>

Interesting idea, but I actually do want to fully strip for confidentiality
reasons, so LFS is not needed.

On Fri, Jun 22, 2018 at 1:00 PM Yuya Nishihara <yuya at tcha.org> wrote:

> On Thu, 21 Jun 2018 21:02:31 -0400, Matt Harbison wrote:
> > On Thu, 21 Jun 2018 04:52:09 -0400, Benoit Fouletier <bennews at free.fr>
> > > Obviously since I'm gonna strip stuff anyway, I _will_ diverge from the
> > > original pretty early and will lose all hashes, that's fine, this is
> more
> > > out of curiosity and making sure nothing too fishy it going on.
> >
> > I hit a similar issue last year helping someone recover from repo
> > corruption.  (Convert was involved in the recovery somehow.)  On the
> first
> > divergent commit, run `hg log -r $rev --debug` in both repos.  IIRC,
> the
> > manifest line was different.  It was reproducible, but I couldn't
> figure
> > out how to recreate it with a simple test case.
>

I tried your command (results attached), the manifest hash is actually
identical for me... only thing that changes is the changeset hash and phase.


>
> IIRC, there was a bug that hg would create new manifest node even if
> nothing
> changed. That's probably the reason of the hash change.
>

Don't know how old that bug is, but I'm on the bleeding edge version from
hg-stable (4.6.3), so I should probably have the fix already...?

Again, I'm not really worried about the diff, but just wondering if I could
understand where it came from and if it was significant (apparently not).
Thanks all!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.mercurial-scm.org/pipermail/mercurial/attachments/20180626/650b9c26/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rev-11488-original.log
Type: application/octet-stream
Size: 1914 bytes
Desc: not available
URL: <http://www.mercurial-scm.org/pipermail/mercurial/attachments/20180626/650b9c26/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rev-11488-converted.log
Type: application/octet-stream
Size: 1913 bytes
Desc: not available
URL: <http://www.mercurial-scm.org/pipermail/mercurial/attachments/20180626/650b9c26/attachment-0001.obj>


More information about the Mercurial mailing list