[jsword-devel] Git

DM Smith dmsmith at crosswire.org
Tue Apr 3 11:32:51 MST 2012


Well 27M is do-able but if there is a way to make it skinnier, so much the better.
I've done some digging into the JSword history and it might be a bit helpful in determining a good course of action.

We started formal releases with 0.9.6. Until release 1.0 we tagged these in SVN. Then for release 1.0.5 we tagged it, improperly as 1.0.6. I've never really worried about tagging in SVN, because it is so easy to dig into history and do a checkout at any revision number. When we go to GIT, I'd like these to be properly tagged. Here is the information:
1.6 - r1923 - 29 Jul 2008 - not tagged
1.0.7 - r1483 - 8 Jul 2007 - not tagged
1.0.6 - r1272 -  31 Mar 2007 - not tagged
1.0.5 - r1193 - 2 Dec 2006 - tagged at r1193 as VERSION_1_0_6
1.0.4 - r1129 - 27 Aug 2006 - not tagged
1.0.3 - r1110 -  24 Jul 2006- not tagged
1.0.2 - r1082 - 10 Apr 2006 - not tagged
1.0.1 - r1019 - 1 Mar 2006 - not tagged
1.0.0 - r816 - 15 Jan 2006 - tagged at r817 as VERSION_1_0_0
0.9.9 - r704 - 25 May 2005 - tagged at r705  as VERSION_0_9_9
0.9.8 - r586 - 28 Aug 2004 - tagged at r580 as VERSION_0_9_8
0.9.7 - r425 - 5 Apr 2004 - tagged at r420 as VERSION_0_9_7
0.9.6 - r346 - 5 Nov 2003 - tagged at r344 as VERSION_0_9_6

The reason to go through all this is that splitting the repository according to current SVN/Eclipse project layout may be problematic: Over time we have refactored the layout of the code.

Initially all the code was under trunk/jsword.
In r265, jsword-support first saw existence.
At r386, biblemapper was created. These were under org.crosswire.jsword.map.
Starting with r436, bibledesktop was created. These were org.crosswire.jsword.view, but now org.crosswire.bibledesktop.
Starting at r441, common was created, containing org.crosswire.common, including view code. Later view code would be in its own home.
With r443, old code was moved to jsword-support/java/historic. Later historic code would have its own home.
With r444, jsword's original implementation of the sword api was moved to jsword-sword.
With r445, jsword/web was moved to jsword-web.
R505 introduced bibledesktop-web.
Starting with r891, common-swing was created, holding view code from common.
R958 introduced jsword-limbo as a repository of old code.
R1201 introduced incubator.
Starting with r2012, common was merged back into jsword.
Starting with r2015, consolidate resources and move them into src/resources. This was within projects.

svn ls -rXXX is useful to see what is at these points.

It might be useful to have tagged these events.

Overview of top level folders (aka projects) is documented on the web, but here they are again.
JSword projects:
jsword -- All code that one can use for making a program based upon JSword.

jsword-support -- contains QA tooling such as checkstyle, findbugs, cpd, jdepend, .... Previously held unused code. This is tremendously useful in ensuring code is of high quality. I don't think history of the build tools is at all interesting.

jsword-web -- The JSword website, the jsword build and packaging (tar.gz, zip). I think that packaging (nightly and release) is critical, but it's history is not.

common -- model code now contained in jsword; view code is in common-swing. No longer exists.

Bible Desktop projects:
common-swing -- Code that other swing projects could use and that BibleDesktop is currently the only user.

bibledesktop -- A JSword desktop application, build and packaging (for Mac and Windows)

bibledesktop-web -- The Bible Desktop website. Does not contain build or packaging.

Other projects:
jsword-limbo -- contains unused code, but possibly useful. We will be grabbing the FTP code from here to put back in JSword.

biblemapper -- A distinctive, working application based upon JSword. Never released.

incubator -- An attempt to migrate JSword to an OSGI framework. Never went anywhere.

Hope this helps.

In Him,
	DM

On Mar 30, 2012, at 10:40 PM, DM Smith wrote:

> I'll give some tomorrow. I'm traveling now.  
> 
> Cent from my fone so theer mite be tipos. ;)
> 
> On Mar 30, 2012, at 10:25 PM, Douglas Campos <qmx at qmx.me> 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
>>> 
>> 
>> 
>> _______________________________________________
>> jsword-devel mailing list
>> jsword-devel at crosswire.org
>> http://www.crosswire.org/mailman/listinfo/jsword-devel
> 
> _______________________________________________
> 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