<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 &lt;<a href="mailto:scribe@crosswire.org" class="">scribe@crosswire.org</a>&gt; 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.&nbsp; 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">&lt;mail@albertdelafuente.com&gt;</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">&lt;sword-support@crosswire.org&gt;</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">&lt;scribe@crosswire.org&gt;</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">&lt;sword-support@crosswire.org&gt;</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="">&lt;<a moz-do-not-send="true" href="mailto:scribe@crosswire.org" target="_blank" class="">scribe@crosswire.org</a>&gt;</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.Â&nbsp; Many other developers have
              also asked us to switch to using git.Â&nbsp; We take
              suggestions with value.Â&nbsp; The fact is that there are two
              different issues here: 1) git; 2) github.Â&nbsp; I have been
              using git almost exclusing with my SWORD development
              lately, through the svn-git bridge.Â&nbsp; I still don't like
              git as much as SVN.Â&nbsp; 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. :)Â&nbsp; But I'm sure that's just
              my learning curve.Â&nbsp; I am trying though.Â&nbsp; Most people who
              wish us to switch to git are really asking us to switch to
              github.Â&nbsp; Github does provide a set of nice tools to allow
              collaboration.Â&nbsp; 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.Â&nbsp; We wish to host our projects
              on our own server.Â&nbsp; We have been experimenting with
              gitosis on CrossWire, but this does not provide the nice
              collaboration tools that github offers.Â&nbsp; We'd love to
              hear if you have suggestions for what we might install on
              our servers to provide these collaboration facilities?Â&nbsp;
              In the mean time there are github mirrors of our SVN
              repository.Â&nbsp; 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.Â&nbsp; 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.Â&nbsp; I hope my reply
              gives you some insight into where we are with this.Â&nbsp; And
              thank you for the encouragement,<br class="">
              <br class="">
              Troy
              <div class="">
                <div class="h5"><br class="">
                  Â&nbsp;<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">&lt;Attached Message Part.txt&gt;</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>