<div dir="ltr"><div>Hi</div><div dir="ltr"><br></div><div dir="ltr">Due to Bitbucket dropping support for Mercurial on June 1, 2020, all OpenID Mercurial repositories on Bitbucket will be removed. This includes the corresponding Wikis and Issue trackers. In order to preserve the history of OpenID projects, a migration path to Git is necessary. </div><div dir="ltr"><br></div><div>NRI has kindly sponsored the work on the Hg to Git migration tool to be created by Edmund and it is ready now. </div><div dir="ltr"><br></div><div dir="ltr">The migration to Git needs to preserve the following :</div><div dir="ltr"><br></div><div dir="ltr">-- Mercurial repository and history of changes</div><div dir="ltr">-- Issue tracker and Wikis and their history</div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr"><b>Migration of Mercurial to Git :</b></div><div dir="ltr"><br></div><div dir="ltr">This can be achieved by importing the existing Mercurial repository into GitHub and then pushing it back into Bitbucket.</div><div dir="ltr"><br></div><div dir="ltr">Since the Mercurial repository will be deleted by Bitbucket in the near future, a clone copy can be made for archival and the repository will be deleted on Bitbucket. The new Git repository will be pushed to/created on Bitbucket using the same project path.<br></div><div dir="ltr"><br></div><div dir="ltr">The importing of Mercurial repositories into Github works except for some issues with missing commits in dead branches in Mercurial. Feedback on how to achieve perfect import is welcome.</div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr"><b>Migration of Issue Tracker :</b></div><div dir="ltr">Bitbucket allows the import/export of issue trackers via JSON files. The import/export format is independent of the corresponding repository format. As a result, a copy can be imported into the new Git repository without any problems. However, the issue tracker may contain references to commit IDs and also may contain URLs that have commit IDs. These are Mercurial commit IDs so all issues/URLs containing such text will point to invalid commit IDs. All Mercurial commit IDs need to be changed to the new corresponding Git commit IDs.</div><div dir="ltr"><br></div><div dir="ltr">A script has been created that can changed the Mercurial commit IDs to the corresponding Git commit IDs.</div><div dir="ltr"><br></div><div dir="ltr">The script can changed the following text : </div><div dir="ltr"><span style="color:rgb(0,0,0);font-family:"courier new",courier,monaco,monospace,sans-serif"><<cset XXXXXXXX>></span><br></div><div dir="ltr"><span style="color:rgb(0,0,0);font-family:"courier new",courier,monaco,monospace,sans-serif"><a href="https://bitbucket.org/openid/connect/commits/XXXXXXXX">https://bitbucket.org/openid/connect/commits/XXXXXXXX</a><br></span></div><div dir="ltr"><span style="color:rgb(0,0,0);font-family:"courier new",courier,monaco,monospace,sans-serif"><a href="https://bitbucket.org/openid/connect/changeset/XXXXXXXX">https://bitbucket.org/openid/connect/changeset/XXXXXXXX</a><br></span></div><div dir="ltr"><span style="color:rgb(0,0,0);font-family:"courier new",courier,monaco,monospace,sans-serif"><a href="https://bitbucket.org/openid/connect/src/XXXXXXXX">https://bitbucket.org/openid/connect/src/XXXXXXXX</a><br></span></div><div dir="ltr"><span style="color:rgb(0,0,0);font-family:"courier new",courier,monaco,monospace,sans-serif"><a href="https://bitbucket.org/openid/connect/diff/fileAAAA?diff1=XXXXXXXX&diff2=YYYYYY">https://bitbucket.org/openid/connect/diff/fileAAAA?diff1=XXXXXXXX&diff2=YYYYYY</a><br></span></div><div dir="ltr"><span style="color:rgb(0,0,0);font-family:"courier new",courier,monaco,monospace,sans-serif"><br></span></div><div dir="ltr">Feedback on any other text that may contain commit IDs is welcome.</div><div dir="ltr"><br></div><div dir="ltr">This can only change the commit IDs for URLs that points to the repository's commit IDs. It does not work for forks at other repositories.</div><div dir="ltr"><br></div><div dir="ltr">A sample of the OpenID Connect Git repository and issue tracker is available at</div><div dir="ltr"><a href="https://bitbucket.org/edmund_jay/connect/src/master/">https://bitbucket.org/edmund_jay/connect/src/master/</a></div><div dir="ltr"><br></div><div dir="ltr"><a href="https://bitbucket.org/edmund_jay/connect/issues">https://bitbucket.org/edmund_jay/connect/issues</a><br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr"><b>Migration of Wikis:</b></div><div dir="ltr">Wikis are also Git/Mercurial repositories so they will be treated the same way as Mercurial repositories.</div><div dir="ltr"><br></div><div dir="ltr"><b>Other considerations:</b></div><div dir="ltr">Current pull requests will need to be treated accordingly before export.</div><div dir="ltr">Otherwise, a new pull request will need to be created for the new Git repository.</div><div dir="ltr"><br style="color:rgb(38,40,42);font-family:"courier new",courier,monaco,monospace,sans-serif;font-size:13px"></div><div>Best, </div><div><br></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">Nat Sakimura (=nat)<div>Chairman, OpenID Foundation<br><a href="http://nat.sakimura.org/" target="_blank">http://nat.sakimura.org/</a><br>@_nat_en</div></div></div>