<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>