Git migration

From K5Wiki
Revision as of 14:06, 14 May 2012 by TomYu (talk | contribs) (Update post-migration)

Jump to: navigation, search

The main krb5 source repository migrated from Subversion to Git during the weekend of 2012-05-11. More general information about accessing the new repository is at:

Rebasing existing krb5-anonsvn forks

Some collaborators have forked the existing krb5-anonsvn repository on GitHub. The conversion process involves making some history edits to make the log messages more readable in typical Git tools. While this will provide a better experience for Git users going forward, the new repository will have a history that is disjoint from the history of the krb5-anonsvn repository. It is possible to rebase existing local work that was based off the krb5-anonsvn repository, but normally the disjoint histories will prevent a normal rebase from working due to merge conflicts.

The following example makes these assumptions:

  • Your Git remote for the krb5-anonsvn repository is named "origin" (which is probably true if you created your local repository using git clone)
  • The local branch that you want to rebase is currently checked out, is named "master", and is based off of "origin/master"
git remote add krb5-test git://github.com/krb5/krb5-test
git fetch krb5-test
git rebase --onto krb5-test/master origin/master

If you want to rebase multiple branches that are based off of "origin/master", you may want to save some typing by giving an explicit local branch name at the end of the git rebase command, which will check out a copy of the specified branch first.

Using git rebase --onto may not necessarily work well if your local branch has merge commits in it.

Using the new repository

Some procedures for interacting with the new repository are at:

This includes advice for committers and for contributors who are preparing contributions using a GitHub fork (or other downstream Git repository).

Conversion process details

Additional information about the process of converting the repository from Subversion to Git:

Relevant mailing list messages