<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2015-12-18 1:15 GMT+03:00 R. Matthew Emerson <span dir="ltr"><<a href="mailto:rme@clozure.com" target="_blank">rme@clozure.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">I'm willing to work a bit on creating a git mirror of ccl on GitHub, but I'd appreciate advice from any people good at git on how such a mirror would work.<br>
<br>
<a href="http://trac.clozure.com/ccl/browser" rel="noreferrer" target="_blank">http://trac.clozure.com/ccl/browser</a> shows our repository layout.<br>
<br>
To summarize, it looks something like this:<br>
<br>
openmcl/<br>
<br>
  trunk/<br>
    source/     # source code, including sources for manual<br>
    tests/      # our fork of Dietz's ANSI CL test suite.<br>
<br>
    darwinx86/  # OS X platform directory<br>
      ccl/<br>
        dx86cl          # pre-compiled lisp kernel<br>
        dx86cl64        # ditto for 64-bit<br>
        dx86cl.image    # 32-bit heap image<br>
        dx86cl64.image  # 64-bit heap image<br>
        [plus externals to fetch the various subdirectories of ^/trunk/source/]<br>
<br>
    darwin-x86-headers/     # interface databases (binaries)<br>
    darwin-x86-headers64/   # 64-bit interface databases (binaries)<br>
<br>
    linuxx86/   # Liunx platform directory<br>
      ccl/<br>
        lx86cl<br>
        lx86cl64<br>
        lx86cl.image<br>
        lx86cl64.image<br>
<br>
    x86-headers/<br>
    x86-headers64/<br>
<br>
    linuxarm/<br>
      [...]<br>
    arm-headers/<br>
<br>
    # there are a few other assorted platforms;  they all look similar<br>
<br>
  branches/<br>
    [mostly just working branches, but some are worth preserving]<br>
<br>
  tags/<br>
    [...]     # a few releases are tagged; they're just copies of ^/trunk<br>
<br>
  release/<br>
    ...<br>
    1.9/<br>
      [...]   # a copy of ^/trunk/, only as of the 1.9 release, plus patches<br>
    1.10/<br>
      [...]   # a copy of ^/trunk for as of the 1.10 release, plus patches<br>
    1.11/<br>
      [...]   # you get the idea...<br>
<br>
I think what we'd like have in git would be just source/.  So, if we could arrange to put the following Subversion directories into git, I think we'd be doing well:<br>
<br>
^/trunk/source as master </blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
^/release/*/source as branches named 1.9-release, 1.10-release, etc.<br></blockquote><div>Do you really need these branches? (For backpatches?) The Git allows just to tag a some commits</div><div>to mark them as a release points.</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
Maybe just ^/trunk/source would be enough to start out a git mirror with.<br></blockquote><div>Seems to be enough. </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
GitHub offers a mechanism to make "releases".  See <a href="https://help.github.com/articles/about-releases/" rel="noreferrer" target="_blank">https://help.github.com/articles/about-releases/</a>.  If this provides a way to bundle up binaries and source in one download, that would be an acceptable way to distribute CCL.<br></blockquote><div>Yes, and there is a way to make releases automatically via the Github API as described at</div><div><a href="https://developer.github.com/v3/repos/releases/#create-a-release">https://developer.github.com/v3/repos/releases/#create-a-release</a><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
I have to say that I'm not that unhappy with Subversion and Trac.  But, I'm willing to go though a certain amount of (unfunded) effort to experiment with git and GitHub in order to lower barriers (real or illusory) for non-Clozure affiliated people to contribute to CCL.<br></blockquote><div>Let's give it a chance. ;-)</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
Any experts care to weigh in?  Thanks for any suggestions and feedback.<br></blockquote><div>I would like to help with automatic creation of "releases" via the GitHub API,</div><div>but I'm really busy in near month.</div></div></div></div>