[Lazarus] Is there a way to checkout a specific subversion tag or branch in a Git mirror of a Subversion repository?

Graeme Geldenhuys mailinglists at geldenhuys.co.uk
Thu Mar 26 11:30:08 CET 2015

On 2015-03-26 10:02, Michael Van Canneyt wrote:
> I did it once for FPC, the process ran for more than 24 hours.

That is also caused by the fact that SubVersion makes complete copies of
a branch when branching - hence the common statement and comparison that
Git branches are cheap and instant. The HTTP protocol is also not the
most efficient for this - the git:// protocol in comparison is
magnitudes faster. Maybe subversion has improved in recent times, but I
stopped following SubVersion development many years ago.

When I initially made the FPC Git mirror on Github I decided to restrict
it to the Trunk branch (I had no need for the branches). The time it
takes is also dependent on your internet connection (South Africa has
very slow internet), but it was done in a day during office hours.

If you are converting the repo from SubVersion to Git (a permanent
move), I recommend you do the above, then simply create the required
branches in git and copy each checked out SubVersion branch over the Git
branch. Then do a git commit which will be the diffs. Then continue
development in Git from there onwards.

Alternatively (more work, but keeps the SubVersion history of branches)
is to clone each SubVersion branch independently, then do a sub-tree
merge into the original Git (trunk) mirror.

There are other solutions too, but I found the above usage the easiest
to do with good results.

  - Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal

More information about the Lazarus mailing list