[sword-devel] Android SWORD

Greg Hellings greg.hellings at gmail.com
Thu Sep 2 11:36:22 MST 2010


On Thu, Sep 2, 2010 at 12:47 PM, Manfred Bergmann
<manfred.bergmann at me.com> wrote:
>
> Am 02.09.2010 um 18:18 schrieb Dmitrijs Ledkovs:
>
>> On 2 September 2010 17:28, Matthew Talbert <ransom1982 at gmail.com> wrote:
>>> On Thu, Sep 2, 2010 at 5:31 AM, Manfred Bergmann
>>> <manfred.bergmann at me.com> wrote:
>>>>
>>>> I don't know but isn't it contra productive and actually a lot more work to maintain the sources on a variety on source control platforms?
>>>> We end up having SWORD source trees on Github, Bitbucket and Launchpad and eventually on any other system that will come up.
>>>> For all of those we need people to maintain the sources otherwise we will have a mess of different sources version and implementations.
>>>> In my opinion, the main and official sources of SWORD have to be maintained by responsible people from Crosswire.
>>>> And it has to be clear that Crosswire will have and is in control of the official sources. I don't actually care which source control system is used for that, though I think that Subversion is the greatest common divisor because all other DVCSs can bi-directional access Subversion.
>>>>
>>>
>>> As far as I know, only Launchpad is being used (other than svn). It is
>>> quite helpful, because it allows people to publish branches of code
>>> and work on them together to finish a feature before it is committed
>>> to sword svn. If there is a proliferation of source control systems
>>> being used, I'm unaware of it.
>>>
>>> Matthew
>>>
>>
>> Plus on Launchpad it is clearly stated where the upstream svn
>> repository is. The bzr imports are run every 6 hours for many sword
>> projects (jsword, sword, xiphos, bibletime). And bzr is fully
>> compatible with svn, i.e. you can seamlessly commit to svn from bzr if
>> you have access.
>
> That is totally fine.
> The use case you are outlining is comprehensible. Btw: MacSword is mirrored on Launchpad as well.
> Who is maintaining the Launchpad repos? I mean, one of the branches probably is used to push back to SWORD svn?

Whoever initially configured to be the project maintainer on LP is
"managing" the repository.  In my case, I keep a branch of lp:sword,
which mirrors Crosswire, and I usually branch off it when I'm pushing
to LP.  I also keep a "bzr co
http://svn.crosswire.org/svn/sword/trunk" which is basically identical
to "svn co".  My directory looks like this:
sword/
  - trunk/
  - cmake/
  - flags-greg/
  - flags-dmi/
  - svn/

Trunk follows Launchpad's mirror of Crosswire.  CMake is the branch I
initially created as I was building the CMake system.  flags-greg/ is
my own version of some patches related to CFLAGS handling in CMake and
flags-dmi/ is Dmitrijs's work.  We've been collaborating to fix some
inconsistencies.  svn/ is my thin "bzr co" of the official Crosswire
subversion.  It isn't a full-fledged Bazaar branch, and uses the same
commands as a subversion checkout would: "update" pulls down from the
server, "commit" makes a Subversion commit back to Crosswire.  When
I'm done with my feature branch, I make sure to merge any changes that
I get out of svn/ into the branch, do a final check to make sure
nothing is broken, then I'll merge flags-greg/ or flags-dmi/
(depending on which one works better) into svn/ and commit, and the
commit is made directly to Subversion.

Later, Launchpad will automatically update its trunk/ to mirror
Crosswire, and I'll be able to do "bzr pull" in my local trunk/ to see
those updates.  In a purely Bazaar system, I would instead merge
flags-greg/ into trunk/ and then do "bzr push" to the Launchpad
servers.  But for a repository that follows a Subversion repository,
you can't push into the following branch (because how would LP justify
keeping developer A's credentials and letting someone else push to
that and then LP would have to submit the push to SVN - but what if
there were conflicts or an update needed to be run first or...).  All
the work done between Bazaar and SVN is handled manually by a Bazaar
user, the LP system just allows me and a collaborator(s) to easily
talk back and forth and then merge the result together before
committing to subversion.

There is really nothing to worry about from the proliferation.  So
long as the website keeps saying that SVN is the official source of
the central repository, things are fine.  People can come and find my
branches or someone else's branches on Launchpad or Bitbucket if they
want, but they won't be following the trunk of development, in that
case.  Of course, someone getting down and dirty with a VCS of any
sort on the code should expect hurdles and probably will need to end
up coming crying to the developers when something inevitably breaks.

tl;dr - One shouldn't fret about people using the DVCSs and their
convenience, so long as those people with commit access to the code
are trustworthy and responsive and know how to interface between the
two.

--Greg
--Greg
>
>
> Manfred
>
> _______________________________________________
> sword-devel mailing list: sword-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page
>



More information about the sword-devel mailing list