[jsword-devel] Git

Douglas Campos qmx at qmx.me
Sat Mar 31 21:06:19 MST 2012

For anyone interested in trying, how to reproduce the measuring session:

# import the svn raw history (I know there are more fine-grained ways, but 
# having the entire import speeds things up locally later
git svn clone -s https://crosswire.org/svn/jsword jsword
cd jsword && du -sk .git
~ 480MB

# dumb filtering
git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch **/*.{exe,dmg,zip,tar.gz,war,jar}' -- --all

# to measure the savings
cd ..
git clone file://`pwd`/jsword jsword-shrinked
du -sk ./jsword-shrinked/.git

Note that I didn't split up the repos, this should be done slowly (moving jsword to git, then bibledesktop, then …… (for our sanity's sake)

The best migrations I've did were gradual, with no hurry at all.

-- qmx

On Mar 30, 2012, at 11:25 PM, Douglas Campos wrote:

> Not bad!
> the first test (stripping all the generated assets (*.{jar,exe,zip,dmg})
> from 480MB to 27MB (it didn't got smaller because of assets like illustrator designs / big png files / oasis pdfs, etc)
> Thoughts?
> On Mar 30, 2012, at 10:19 PM, Douglas Campos wrote:
>> On Mar 30, 2012, at 10:12 PM, Trenton D. Adams wrote:
>>> On 12-03-30 05:10 AM, Matěj Cepl wrote:
>>>> On 29.3.2012 21:14, Trenton D. Adams wrote:
>>>>> Git automatically takes svn layouts, and changes them to fit git. I
>>>>> don't recall exactly how I did it, but I believe it was "git svn clone"
>>>>> with the --stdlayout option, and use the base repo (not trunk).
>>>> That works only with the standard branches/, tags/, trunk/
>>>> subdirectories, not with JSword having multiple projects (bibledesktop/,
>>>> javatar/, jsword/, common-swing/, etc.)
>>> Is the intention to separate those out then into separate git repos? that may actually make some sense, but I fear it would create more difficulty in managing the release cycles.  It's been awhile since I looked at the svn repo, but I had thought that there was a trunk, with all those folders you mentioned underneath the trunk?
>> Yeah, separating is mostly the best way to go, and it isn't a problem for releases, as we in fact have more than one project to manage - you still need to deal with each one separately, even if they are on the same repo.
>>>> --ignore-paths looks much more interesting.
>>>> Matěj
>>> _______________________________________________
>>> jsword-devel mailing list
>>> jsword-devel at crosswire.org
>>> http://www.crosswire.org/mailman/listinfo/jsword-devel

More information about the jsword-devel mailing list