[Openmcl-devel] making a git mirror of ccl

R. Matthew Emerson rme at clozure.com
Thu Dec 17 14:15:22 PST 2015


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.

http://trac.clozure.com/ccl/browser shows our repository layout.

To summarize, it looks something like this:

openmcl/

  trunk/
    source/	# source code, including sources for manual
    tests/	# our fork of Dietz's ANSI CL test suite.

    darwinx86/	# OS X platform directory
      ccl/
        dx86cl          # pre-compiled lisp kernel
        dx86cl64        # ditto for 64-bit
        dx86cl.image    # 32-bit heap image
        dx86cl64.image  # 64-bit heap image
	[plus externals to fetch the various subdirectories of ^/trunk/source/]

    darwin-x86-headers/     # interface databases (binaries)
    darwin-x86-headers64/   # 64-bit interface databases (binaries)

    linuxx86/	# Liunx platform directory
      ccl/
        lx86cl
        lx86cl64
        lx86cl.image
        lx86cl64.image

    x86-headers/
    x86-headers64/

    linuxarm/
      [...]
    arm-headers/

    # there are a few other assorted platforms;  they all look similar

  branches/
    [mostly just working branches, but some are worth preserving]

  tags/
    [...]     # a few releases are tagged; they're just copies of ^/trunk

  release/
    ...
    1.9/
      [...]   # a copy of ^/trunk/, only as of the 1.9 release, plus patches
    1.10/
      [...]   # a copy of ^/trunk for as of the 1.10 release, plus patches
    1.11/
      [...]   # you get the idea...

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:

^/trunk/source as master
^/release/*/source as branches named 1.9-release, 1.10-release, etc.

Maybe just ^/trunk/source would be enough to start out a git mirror with.

GitHub offers a mechanism to make "releases".  See https://help.github.com/articles/about-releases/.  If this provides a way to bundle up binaries and source in one download, that would be an acceptable way to distribute CCL.

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.

Any experts care to weigh in?  Thanks for any suggestions and feedback.





More information about the Openmcl-devel mailing list