<div dir="ltr"><div class="gmail_extra">Hi Émanuel,</div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, May 8, 2016 at 4:40 PM, Émanuel Barry <span dir="ltr"><<a href="mailto:vgr255@live.ca" target="_blank">vgr255@live.ca</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><span lang="EN-CA" style="font-size:11pt;color:rgb(31,73,125)">Take each X commit (say, every 100<sup>th </sup>or 1000<sup>th</sup> commit, or even every commit if we decide to be insane^Wprecise), store hashes of all files at that revision with possibly the file tree, in a .py file as a list or dict, or json or anything you prefer. Then I upload it for you to look at and you can compare with the mercurial repo. Or we run the same script on the mercurial repo and compare the resulting files.</span></blockquote><div><br></div><div>If we store anything externally, that could start limiting us.</div><div><br></div><div>I looked at the problem in this angle - final cpython git repo has ~10000 commits in master branch. That's not a large number to deal with. The orginal hg repo should have exact number of commits. We have to do a diff between each of these commits, including merge commits. and check if contents of those commits are same, if we encounter anything where git-repo differs in content or history from hg-repo, we alert and fail.<br></div><div><br></div><div>Since this is a history checking operation and we could complete this in O(minutes) or ~1 hour to validate the repos. This will give us confidence on the migration, and will help us evaluate multiple hg -> git repos that have been migrated at different points in time.</div><div><br></div><div>This feature will go in this tool: <a href="https://github.com/orsenthil/cpython-hg-to-git">https://github.com/orsenthil/cpython-hg-to-git</a> , which we will use to migrate, sync, and validate hg->git repos.</div><div>If interested, you could research for efficient way to do the above operation and submit a pull request against that tool.</div><div><br></div><div>HTH,</div><div>Senthil<br></div><div><br></div><div><br></div><div><br></div></div><br><br></div></div>