ModPlug Central

OpenMPT => Development Corner => Topic started by: manx on February 18, 2017, 20:11:43

Title: GIT mirror and SVN repository cleanup
Post by: manx on February 18, 2017, 20:11:43
Rewriting History

I am currently in the process of providing a read-only git mirror of the OpenMPT Subversion source code repository.

In order to facilitate easier mirroring in git, it turned out to be useful to first canonicalize the Subversion repository as much as possible.
The Subversion repository had originally been a CVS repository and got converted to Subversion on 2006-03-14. In that conversion process, branch relationships got confused and misrepresented. Additionally, commits without author were introduced during the conversion. This fact and various other problems have been addressed and the folowing modifications have been made to the Subversion repository:About half of these modifications modify ancient revisions and thus actually modifiy the history. Subversion does store this history information in revision properties on the old revisions and does not record the old state when doing modifications. As I did not want to actually lose information, I recorded all modifications to revision properties in freeform text inside the commit message of the respective revision.
I also made a backup of the Subversion repository before doing the modifications.


Actions required on SVN repository clients

If you are running a svnsync mirror of the repository, you are advised to resync ALL revision properties (use svnsync copy-revprops) in order to have the same state as the official repository.
If you have a working copy of the 1.26-maintenance branch, use svn switch https://source.openmpt.org/svn/openmpt/branches/OpenMPT-1.26.


GIT

The actual git mirror will still take some days or weeks to setup. Please be patient and stay tuned.

Title: Re: GIT mirror and SVN repository cleanup
Post by: manx on February 24, 2017, 22:27:21
GIT mirror is up and running with automated updates at https://github.com/OpenMPT/openmpt (https://github.com/OpenMPT/openmpt).

Warning: This repository may still get its history rewritten without any further notice while we are setting up the mirroring infrastructure. Be sure to rebase often in case you clone or fork it.

Building from git is also not yet supported (in particular, at least, the version number will be inaccurate).