[Openid-specs-ab] Migration of Bitbucket repository

Nat Sakimura sakimura at gmail.com
Mon Mar 2 23:04:41 UTC 2020


Hi

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.

NRI has kindly sponsored the work on the Hg to Git migration tool to be
created by Edmund and it is ready now.

The migration to Git needs to preserve the following :

-- Mercurial repository and history of changes
-- Issue tracker and Wikis and their history


*Migration of Mercurial to Git :*

This can be achieved by importing the existing Mercurial repository into
GitHub and then pushing it back into Bitbucket.

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.

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.


*Migration of Issue Tracker :*
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.

A script has been created that can changed the Mercurial commit IDs to the
corresponding Git commit IDs.

The script can changed the following text :
<<cset XXXXXXXX>>
https://bitbucket.org/openid/connect/commits/XXXXXXXX
https://bitbucket.org/openid/connect/changeset/XXXXXXXX
https://bitbucket.org/openid/connect/src/XXXXXXXX
https://bitbucket.org/openid/connect/diff/fileAAAA?diff1=XXXXXXXX&diff2=YYYYYY

Feedback on any other text that may contain commit IDs is welcome.

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.

A sample of the OpenID Connect Git repository and issue tracker is
available at
https://bitbucket.org/edmund_jay/connect/src/master/

https://bitbucket.org/edmund_jay/connect/issues


*Migration of Wikis:*
Wikis are also Git/Mercurial repositories so they will be treated the same
way as Mercurial repositories.

*Other considerations:*
Current pull requests will need to be treated accordingly before export.
Otherwise, a new pull request will need to be created for the new Git
repository.

Best,

-- 
Nat Sakimura (=nat)
Chairman, OpenID Foundation
http://nat.sakimura.org/
@_nat_en
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openid.net/pipermail/openid-specs-ab/attachments/20200303/1e83f8ed/attachment.html>


More information about the Openid-specs-ab mailing list