<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">I thought Albert’s email was thorough and useful.<div class=""><br class=""></div><div class="">My experience is framed by work and by JSword.</div><div class="">IMHO:</div><div class="">1) Using git improves collaboration over using SVN. Not because git is better, but because potential contributors want to use it. This is further improved by hosting on github as people feel free to connect and send in pull requests.</div><div class=""><br class=""></div><div class="">I think this is a very important point.</div><div class=""><br class=""></div><div class="">I don’t like git. I like SVN. But I like collaboration more.</div><div class=""><br class=""></div><div class="">2) Github is a useful face for visibility and collaboration. The nature of git is that it is distributed. Every clone is egalitarian and equal. The “system of record,” the “authoritative master” git repository is established by policy. There is no reason that having the project visible on github means that github is that authoritative master. When I move JSword back from github back to CrossWire server its presence on github won’t go away and its usefulness won’t change. It is a small administrative overhead to manage the two in synchronization.</div><div class=""><br class=""></div><div class="">We have always welcomed patches. But using git, JSword has gotten many more.</div><div class=""><br class=""></div><div class="">3) We are using gitosis because Peter has experience with it and would like to leverage that experience. It provides reasonable control at a repository level, defining who can write to it and who can read it. As far as I can tell, it doesn’t go below that. The decision to use gitosis is not set in stone. We could setup Stash or something else.</div><div class=""><br class=""></div><div class="">Using git for SWORD would suggest multiple repositories: API, Corba, bindings, utilities, …. This is not necessary, but it should be discussed. My take is that anything that has a different release cycle and access rules should be managed separately.</div><div class=""><br class=""></div><div class="">4) Git is not a good place to hold binaries that may change. For JSword, we had taken the approach that all artifacts that JSword and Bible Desktop depended upon would be stored in svn just in case that dependency disappeared and to improve the OOTB development experience. Today, this is not necessary.</div><div class=""><br class=""></div><div class="">5) A git/svn bridge can be clumsy. I tried it at work, but our use pattern was far different than what is done here under SVN. We were managing branches to represent change requests and trunk was used to manage bug fixes. We had frequent merging from trunk into branches and sometimes from branch to branch. Putting git over svn simply wasn’t viable. I don’t think it will be clumsy with the typical usage pattern of SVN at CrossWire. But we abandoned it pretty quickly, so I’m not sure.</div><div class=""><br class=""></div><div class="">6) Learning git can be easy. It also can be hard. It all depends on how the repository is managed and whether one has wrapped their mind around how git should be used. I don’t think the typical CrossWire use of a repository would make it hard.</div><div class=""><br class=""></div><div class="">I started on the command line. At first I found that GUIs did not work well. On Windows and Mac, I now use GUIs exclusively. My preference is SourceTree by Atlassian, which is entirely free. I also use Oracle’s SQLDeveloper (I do Oracle development for work) and Eclipse for IDEs with git integration. I’m sure that there are many other fine ones.</div><div class=""><br class=""></div><div class="">Hope this helps. BTW, the numbering is meaningless. No order is implied. No importance is implied. Take it for what its worth, my opinion based on a few years experience with GIT and more than a decade with SVN.</div><div class=""><br class=""></div><div class="">Together in His Service,</div><div class=""><span class="Apple-tab-span" style="white-space:pre">        </span>DM</div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Feb 25, 2015, at 4:17 PM, Troy A. Griffitts <<a href="mailto:scribe@crosswire.org" class="">scribe@crosswire.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">
<meta http-equiv="content-type" content="text/html; charset=windows-1252" class="">
<div bgcolor="#FFFFFF" text="#000000" class="">
Anyone not on our sword-support mailing list, forwarded is a thread
with a user suggesting tool to work with git on our server. We've
talked about some of these already, but it seems like he has taken a
good amount of time to reply and wanted to give his efforts exposure
to all you guys.<br class="">
<div class="moz-forward-container"><br class="">
<br class="">
-------- Forwarded Message --------
<table class="moz-email-headers-table" border="0" cellpadding="0" cellspacing="0">
<tbody class="">
<tr class="">
<th nowrap="nowrap" valign="BASELINE" align="RIGHT" class="">Subject:
</th>
<td class="">Re: [sword-support] Pull request and forum registration</td>
</tr>
<tr class="">
<th nowrap="nowrap" valign="BASELINE" align="RIGHT" class="">Date: </th>
<td class="">Wed, 25 Feb 2015 18:00:05 -0300</td>
</tr>
<tr class="">
<th nowrap="nowrap" valign="BASELINE" align="RIGHT" class="">From: </th>
<td class="">Albert De La Fuente <a class="moz-txt-link-rfc2396E" href="mailto:mail@albertdelafuente.com"><mail@albertdelafuente.com></a></td>
</tr>
<tr class="">
<th nowrap="nowrap" valign="BASELINE" align="RIGHT" class="">Reply-To:
</th>
<td class="">SWORD Support Volunteers
<a class="moz-txt-link-rfc2396E" href="mailto:sword-support@crosswire.org"><sword-support@crosswire.org></a>,
<a class="moz-txt-link-abbreviated" href="mailto:mail@albertdelafuente.com">mail@albertdelafuente.com</a></td>
</tr>
<tr class="">
<th nowrap="nowrap" valign="BASELINE" align="RIGHT" class="">To: </th>
<td class="">Troy A. Griffitts <a class="moz-txt-link-rfc2396E" href="mailto:scribe@crosswire.org"><scribe@crosswire.org></a></td>
</tr>
<tr class="">
<th nowrap="nowrap" valign="BASELINE" align="RIGHT" class="">CC: </th>
<td class="">SWORD Support Volunteers
<a class="moz-txt-link-rfc2396E" href="mailto:sword-support@crosswire.org"><sword-support@crosswire.org></a></td>
</tr>
</tbody>
</table>
<br class="">
<br class="">
<div dir="ltr" class="">Dear Troy,<br class="">
<br class="">
Thank you very much for your answer. I will separate my answer
in two parts.<br class="">
<br class="">
The first part is regarding of git usage and learning curve, if
you are using the terminal for such, you could setup aliases for
that, for instance an alias "gitadd" for "git -u" (to add only
modified files). I agree that the switches could be more
intuitive. Another option is to have it integrated with your
development environment or IDE, that might help you a lot! I
tend to use it on the console. A git cheat sheet could help you,
I just quickly google git commands for svn users and I found
this [1]. I hope it helps. I'm confident that you will get used
to it soon =)<br class="">
<br class="">
Regarding the second part, using github, I imagined that you
might have that objection. The good thing about git is that you
might have several "remotes" and push to several servers at
once. In this way you could have "your own" sever and github as
both remotes (or as many servers as you want). If you see a pull
request worth including it you can accept it, you can review it
first and get it from the appropriate remote, and then push back
to both and all should be in sync. In that way you could use
github as a read-only mirror sort of repo and take advantage of
the features (and visibility) they offer. You could have
separated repos on your internal IT infrastructure and github
(i.e. within an organization).<br class="">
<br class="">
Other git related tools that worth looking into are: gitolite
[2] used by some interesting players, according to their site,
like Fedora, KDE, Gentoo and Kernel. Gerrit [3] a tool for code
review. Gitlab [4] and Gitorious [5], both are opensource git
web UIs which are very nice and have some github features. There
is also a Gitorious docker image for easy installing [6].<br class="">
<br class="">
I installed gitosis once on my NAS but since I'm a single user
at home I didn't really used it. I guess gitolite offers more
fine-grained permissions, but is a guess though. Regarding the
web UI, I guess Gitlab and Gitorious are your best options. Some
of the features of Gitlab are on this SO answer [7].<br class="">
<br class="">
Also I found Fossil which is a packed solution for git + web UI
[8]. Since the SWORD project is opensource, you could also
request most (or any) of the tools from Atlassian which are very
nice, and I think they could be hosted within your own IT
infrastructure.<br class="">
<br class="">
I would personally try the following:<br class="">
1) Try first having several remotes, it is the easiest solution,
and if it works fine for you then you are good to go [9][10][11]<br class="">
2) If not, then try the most active/popular from gitosis or
gitolite (as backends) and the most active/popular from gitlab
or gitorious (as web frontends).<br class="">
<br class="">
If you need help, please let me know.<br class="">
<br class="">
Best regards, and God bless you.<br class="">
Albert.<br class="">
<br class="">
[1] <a moz-do-not-send="true" href="http://git-scm.com/course/svn.html" class="">http://git-scm.com/course/svn.html</a><br class="">
[2] <a moz-do-not-send="true" href="https://github.com/sitaramc/gitolite/" class="">https://github.com/sitaramc/gitolite/</a><br class="">
[3] <a moz-do-not-send="true" href="https://code.google.com/p/gerrit/" class="">https://code.google.com/p/gerrit/</a><br class="">
[4] <a moz-do-not-send="true" href="https://about.gitlab.com/" class="">https://about.gitlab.com/</a><br class="">
[5] <a moz-do-not-send="true" href="https://gitorious.org/" class="">https://gitorious.org/</a><br class="">
[6] <a moz-do-not-send="true" href="https://gitorious.org/gitorious/gitorious-docker/source/799c49967663e0c379fc1b4089a2eb8fb7ceb072" class="">https://gitorious.org/gitorious/gitorious-docker/source/799c49967663e0c379fc1b4089a2eb8fb7ceb072</a>:<br class="">
[7] <a moz-do-not-send="true" href="https://softwarerecs.stackexchange.com/questions/867/self-hosted-replacement-for-github" class="">https://softwarerecs.stackexchange.com/questions/867/self-hosted-replacement-for-github</a><br class="">
[8] <a moz-do-not-send="true" href="https://www.sqlite.org/debug1/doc/trunk/www/index.wiki" class="">https://www.sqlite.org/debug1/doc/trunk/www/index.wiki</a><br class="">
[9] <a moz-do-not-send="true" href="http://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes" class="">http://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes</a><br class="">
[10] <a moz-do-not-send="true" href="http://stackoverflow.com/a/3195446/1332764" class="">http://stackoverflow.com/a/3195446/1332764</a><br class="">
[11] <a moz-do-not-send="true" href="https://stackoverflow.com/questions/14290113/git-pushing-code-to-two-remotes" class="">https://stackoverflow.com/questions/14290113/git-pushing-code-to-two-remotes</a><br class="">
</div>
<div class="gmail_extra"><br clear="all" class="">
<div class="">
<div class="gmail_signature">
<div dir="ltr" class="">Albert<br class="">
--- God's voice thunders in marvelous ways; he does great
things beyond our understanding. ---</div>
</div>
</div>
<br class="">
<div class="gmail_quote">On Wed, Feb 25, 2015 at 3:53 PM, Troy
A. Griffitts <span dir="ltr" class=""><<a moz-do-not-send="true" href="mailto:scribe@crosswire.org" target="_blank" class="">scribe@crosswire.org</a>></span>
wrote:<br class="">
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000" class=""> Dear Albert,<br class="">
<br class="">
Thank you for the suggestion. Many other developers have
also asked us to switch to using git. We take
suggestions with value. The fact is that there are two
different issues here: 1) git; 2) github. I have been
using git almost exclusing with my SWORD development
lately, through the svn-git bridge. I still don't like
git as much as SVN. I don't use branches all the time
while I am developing locally and it just seem nothing is
intuitive and every default for a command is not what I
would like as the default and have to provide unintuitive
flags I can never remember. :)Â But I'm sure that's just
my learning curve. I am trying though. Most people who
wish us to switch to git are really asking us to switch to
github. Github does provide a set of nice tools to allow
collaboration. The drawback to this though is, just like
sourceforge before it, github is an external organization
and CrossWire has existed long before sourceforge and
probably long after github. We wish to host our projects
on our own server. We have been experimenting with
gitosis on CrossWire, but this does not provide the nice
collaboration tools that github offers. We'd love to
hear if you have suggestions for what we might install on
our servers to provide these collaboration facilities?Â
In the mean time there are github mirrors of our SVN
repository. Greg Hellings (whom you cite below) is our
release manager for our stable branch and uses github
extensively, so he should see any pull requests. And
there is always the svn-git bridge if you simply like git
better for your daily development over svn.<br class="">
<br class="">
Thank you again for the suggestion. I hope my reply
gives you some insight into where we are with this. And
thank you for the encouragement,<br class="">
<br class="">
Troy
<div class="">
<div class="h5"><br class="">
 <br class="">
<br class="">
<br class="">
<div class="">On 02/25/2015 09:58 AM, Albert De La Fuente
wrote:<br class="">
</div>
</div>
</div>
<blockquote type="cite" class="">
<div class="">
<div class="h5">
<div dir="ltr" class="">Dear brothers in Christ,<br class="">
<br class="">
In first place I want to thank you for your effort
in the Sword project. I am a FLOSS enthusiast user
and developer, and I found the fact of the project
being open source a great advantage.<br class="">
<br class="">
I noticed that you use your own SVN and I would
like to highlight that the mainstream FLOSS
community uses git+github. I found several
projects on top of Diatheke (hosted on Github), an
example would be [1], one of them even propose a
patch to add some great options do Diatheke, this
patch has not been included into the SVN [2]. I
don't know the reason for that, however if the
project would be hosted as an organization on
Github, probably those pull request would have
been merged already. Furthermore, I think that
other pull requests would be proposed.<br class="">
<br class="">
I would like to propose those changes [2] to be
included in the main branch, so they might be
available on a future release. I also would kindly
suggest you to consider using a Github
organization for the development of the Sword
project. Each component could have its own
separated repository (SWORD itself, Diatheke,
python-sword, migration tools, etc).<br class="">
<br class="">
On the other hand I tried to register on the forum
to post the content of this email there, but I
after the forum rules I get a 404 error: <u class="">The
requested resource
(/forums/mvnplugin/mvnforum/user/addmember.jsp)
is not available.</u><br class="">
<br class="">
Thank you very much once again, and God bless you
all.<br class="">
<br class="">
[1]: <a moz-do-not-send="true" href="https://github.com/raphink/biblequote" target="_blank" class="">https://github.com/raphink/biblequote</a><br class="">
[2]: <a moz-do-not-send="true" href="https://github.com/greg-hellings/sword/pull/1/files" target="_blank" class="">https://github.com/greg-hellings/sword/pull/1/files</a><br class="">
<br clear="all" class="">
<div class="">
<div class="">
<div dir="ltr" class="">Albert<br class="">
--- God's voice thunders in marvelous ways;
he does great things beyond our
understanding. ---</div>
</div>
</div>
</div>
<br class="">
<fieldset class=""></fieldset>
<br class="">
</div>
</div>
<pre class="">_______________________________________________
sword-support mailing list
<a moz-do-not-send="true" href="mailto:sword-support@crosswire.org" target="_blank" class="">sword-support@crosswire.org</a>
</pre>
</blockquote>
<br class="">
</div>
</blockquote>
</div>
<br class="">
</div>
<br class="">
</div>
<br class="">
</div>
<span id="cid:81350E82-F54E-4ED8-AB5A-0AC956DAD7FA"><Attached Message Part.txt></span>_______________________________________________<br class="">server-admins mailing list<br class=""><a href="mailto:server-admins@crosswire.org" class="">server-admins@crosswire.org</a><br class="">http://www.crosswire.org/mailman/listinfo/server-admins<br class=""></div></blockquote></div><br class=""></div></body></html>