[sword-devel] DVCS (was Re: Project "Free Scriptures" started)

Greg Hellings greg.hellings at gmail.com
Wed Feb 26 07:43:53 MST 2014

On Wed, Feb 26, 2014 at 8:24 AM, Troy A. Griffitts <scribe at crosswire.org>wrote:

> Quickly, regarding DVCS, the argument to keeping SVN over a DVCS isn't
> that a DVCS isn't 'better' in some ways or as Peter has suggested, wouldn't
> let us maintain tight review of our code or that we simply don't ever want
> to change anything. We eventually switched from CVS to SVN :) The reason
> the core engine uses SVN is because it was the best and most popular choice
> 12 years ago or so when we chose to use it, and basically I don't like git
> (yet). It's pretty simple really. Other CrossWire projects use various
> choices for source control. You can argue about the popularity of DVCS all
> you want, but the truth is, there is not one ubiquitous opensource
> development choice today like there was 12 years ago when we switched to
> SVN, so I'm not yet motivated by popularity. And the counter argument is,
> if you like git, use it. Many contributors to the core engine do. Sure you
> don't get absolutely all the benefits like pull requests, but if you're
> concerned about that, attach your patch to the bug report. VCS is a choice,
> I'm typically conservative (if you haven't guessed) and haven't chosen to
> change the part of CrossWire I maintain. It is not keeping contributors
> from contributing.

I've been successfully using git-svn for a while now on my work with
CrossWire. It has made it at least one order of magnitude more difficult to
collaborate with others than if Sword used git directly, but it has
simultaneously made it one order of magnitude easier to collaborate than if
git-svn wasn't an option. But I still have to revert back to the actual svn
commands for maintaining the sword-1-7-x branch because the overlays that
git-svn does are incompatible with svn's concept of branching.

The claim that there isn't one dominant DVCS in use by open source projects
does not hold up with the reading and research I've done. The share info
I've seen shows the relative popularity among open source projects with
Subversion hosting about 45% of projects, git hosting about 37% of
projects, CVS hosting about 10% with Mercurial and Bazaar each hosting
about 1-1.5% of open source projects in surveys by Ohloh. So the community
has spoken - the DVCS of choice is git. But the songs of Subversion's
demise are just a little premature at this point. Its share of projects is
falling, but it still ranks as the most popular choice.

But don't get me wrong. I very strongly wish Sword and Xiphos would join
the bandwagon, even if it is a bit noisy up here between the trumpets and
snare drums. I say that as an occasional committer, but mainly as the
person maintaining an official branch and an unofficial branch (for the
Xiphos Windows Unicode patch which I've still not quite gotten a chance to
mainline yet - it was still having some trouble with the UTF-8/UTF-16
conversion methods).

> Though as an aside, just from a personal query, how do you guys get
> Windows and GUI Mac users to use git? I have at least 2 ancillary projects
> with SVN repos on CrossWire's server where the users are not programmers,
> the command line scares them, and they had no clue what a versioning system
> was before I installed TortoiseSVN for them. They are HTML designers, flash
> programmers, transcription editors, etc. It was a real task to get them to
> even begin to use SVN, but the integration right into the OS helped (and we
> found some Mac-y GUI thingy that was simple to use on OSX). I don't want to
> train them about a stash as well. That's just one more obstacle. Are there
> really mature GUI clients like these for the simple VC users. I know there
> are power GUIs. That is not my question. I'm asking about tools integrated
> into the OS which make VC simpler for the simple use?

Windows has TortoiseGit, which integrates directly into the shell just like
TortoiseSVN does. I'd say it cuts down about 5% of the Git learning curve.
If you're dealing with non-technical people, you're still best to go with
SVN. On Mac, I haven't touched GUI tools for git because I only work with
Mac because it has a solid command line. I know there are somewhat popular
GUI Git tools out there for it, but I couldn't hope to point you in the
right direction.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.crosswire.org/pipermail/sword-devel/attachments/20140226/7ad067bf/attachment.html>

More information about the sword-devel mailing list