[Lazarus] Lazarus repository in Git (summary)

Graeme Geldenhuys graemeg.lists at gmail.com
Thu Nov 6 10:39:51 CET 2008

On 11/6/08, Florian Klaempfl <florian at freepascal.org> wrote:
> A git repository of full fpc takes 1,2 GB (checkout of trunk+history).

Yes, but you probably forgot the last few steps. Lazarus was 1.5GB
after the initial checkout from SubVersion to Git.

Missing steps:
 * After checking out data from SubVersion to Git, the Git repository
has tons of SubVersion info stored. You need to remove that
uncessasary stuff if you are switching to Git.
* Repack the repository, so it can optimized the delta's between revisions.

Both these steps can be done with one command. Assume 'temp_repos'
contains the repository you checked out from SubVersion using Git.

cd ..
git clone temp_repos clean_repos
rm -rf temp_repos
cd clean_repos

The "clone" command will recreate the repository into a new directory
called 'clean_repos'. It will remove all the SubVersion information
making it a Git-only repository and then rebuild the deltas.

With Lazarus, my 'temp_repos' was 1.5GB and the 'clean_repos' was
133MB after the clone/repack command.

For more details on converting a SubVersion repository to Git:

Once you use a Git-only repository, you can repack your local
repository every few months, to optimize the revision deltas and save
space. There is a repack specific command for this.

  - Graeme -

fpGUI - a cross-platform Free Pascal GUI toolkit

More information about the Lazarus mailing list