incubator-ooo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Stahl <>
Subject SVN clients: svn, git-svn
Date Mon, 29 Aug 2011 11:03:29 GMT

hi all,

i've checked out the Apache OOo trunk yesterday and committed some
changes required to build it on my system.

the official SVN client (version 1.6.17) likes to store every file that
is checked out in uncompressed form, which takes a lot of space.

>  > du -sh trunk/
> 4,2G	trunk/

fortunately you don't have to use the official SVN client; there are
unofficial clients that are a bit more comfortable, notably HgSubversion
and git-svn.

e.g. install git-svn on Fedora:

su -c 'yum install git-svn'

check out the OOo repo like this:

> git svn clone --username=myapacheid --stdlayout --revision 1162287:HEAD


1. set up --username correctly!

2. if the revision range isn't specified then git-svn will spend a
_very_ long time looking at all revisions.

3. do not use, but (see below)

because git uses data compression this takes much less space (but the
repacking does takes some time):

>  > du -sh ooo/
> 2,3G	ooo/

now you can commit to the local git repository (but don't merge! git-svn
can't handle that).

if you want to update from the SVN server use "git svn rebase", which
will also rebase your work on top of the SVN HEAD (conflict resolution
may be required).

to push changes to the SVN server use "git svn dcommit"

Q: so why not use but

this is because may go to either the master server or a
mirror; when i used svn.a.o and "git svn dcommit" to push my changes,
there was always an error and after every commit i had to manually call
"git svn rebase" and then dcommit again (most annoying).  the reason is
that the mirror synchronization is not instantaneous, and so git-svn
gets stale data from the mirror server.
see also:


View raw message