Sign in Join
Wiki copytemporary

FAQ SVN to GIT

Where is the new GIT repo

And a mirror (FPC and Lazarus) at

And for Lazarus

(As long as Sourceforge supports it)

Where can I get help to use GIT

There are 2 pages to help moving from SVN to GIT. Each page is a full "SVN to GIT" overview. The pages are alternatives to each other. You should choose one and stick with that one.

How can I get the (checkout/download) sources from GIT

See the above pages.

Install a git client (command line) and run

text
   git clone  https://gitlab.com/freepascal.org/fpc/source.git  my_local_dir
   git clone  https://gitlab.com/freepascal.org/lazarus/lazarus.git  my_local_dir

After that (to update)

text
   git pull

Then use (depending which guide you follow)

text
   git checkout main
   git checkout fixes-2_2
   git switch main
   git switch fixes-2_2

Why did we move to GIT

There are many reasons. Some of them were:

Note that several team members have in the past already used "git svn" and similar solutions. Despite the downsides (e.g. git svn, is really slow to update), this means that the above points are not just hopeful assumptions. The listed "perceived git advantages" have already been experienced by those team members.

On the long run, we may also be able to use the additional features offered by the hoster (that would have applied to GitHup or GitLab), such as CI integration. But that's to be seen in future.

Why GitLab

Self hosting becomes more and more involved. Aside from the technical maintenance needs, the legal requirements are getting bigger and bigger. In order to protect our self, and save time we decided to use a hosted platform.

Why now

The old server would have had to be replaced now. So we were at a point where we had to invest considerable time and effort in any way we could go. Given that the move to Git had been decided, there was no point to invest time into temporarily extending SVN.

What if I really can't switch to GIT

We have mirrors at GitHub. And GitHub (currently) allows to access them with an svn client. (see the drop-down for the "clone url").

However, this should be only used as a last resort. The teams do not have any plans to invest time into supporting this. It is there as long as GitHub offers it for free.

Further, it is incompatible with the old svn. GitHub reverse translates it from git. So each revision gets a new arbitrary revision number. And those numbers can not be used to report/discuss issues. No one in the team uses this svn-mirror, so non of us has access to those revision numbers. To report issues you need the git sha1.


From the Free Pascal wiki, page "FAQ SVN to GIT", as it stood on 2022-01-13 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Revision 2, last changed by WikiArchive .

Edited on wiki.freepascal.org by 2 people, 2021–2022

From the official wiki's backup of 26 May 2024: who edited this page there, and when. Edits made there after that date were not recorded, and the earlier versions are not shown here; the main page says why.

WhenWhoWhat changed
MartinCreated page
MartinWhat if I really can't switch to GIT? (minor)
MartinWhat if I really can't switch to GIT? (minor)
MartinWhy did we move to GIT (minor)
MartinWhy did we move to GIT
MartinWhy did we move to GIT
MartinWhat if I really can't switch to GIT
MartinWhere can I get help to use GIT
MartinWhy did we move to GIT
MartinWhere can I get help to use GIT (minor)
MartinWhere can I get help to use GIT
MartinHow can I get the (checkout/download) sources from GIT
TrevFix heading levels; typo (repro -> repo (minor)
TrevWhere can I get help to use GIT: Add link to free Git eBook (minor)
TrevWhere can I get help to use GIT: Fix formatting (minor)

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.