[racket-dev] Splitting the Racket repository

From: Eli Barzilay (eli at barzilay.org)
Date: Sat Nov 29 20:16:24 EST 2014

On Sat, Nov 29, 2014 at 7:14 PM, Sam Tobin-Hochstadt
<samth at cs.indiana.edu> wrote:
> All the history for the code has been preserved, and for code that
> dates back before 2005, the history is extended back to the original
> CVS repository. See https://github.com/racket/games/ for an example of
> this.

There's a failure in the import -- if you look at the commits of this
repo (https://github.com/racket/games/commits/master), then starting
from Robby's commit from Jul 17 ("add a contract to make-card...") and
going back, the "original commit" references are all bogus.

> If you build Racket from source from Git, that build now contains
> fewer packages. There is not yet an single-step way to get all of the
> split pkgs as git repositories; we plan to write a script for this
> soon.

Any reason they are not git modules?  (They've improved a lot, and
they're even supported in github as links as long as they point to other
GH repos.  See for example: https://github.com/elibarzilay/test)

> To clone individual repositories, use the new `--clone` option for
> `raco pkg`, such as:
>     raco pkg install --clone pkg-build git://github.com/racket/pkg-build
> or for packages that are grouped together in a single repository
>     raco pkg install --clone remote-shell
> git://github.com/racket/remote-shell?path=remote-shell-lib
> git://github.com/racket/remote-shell?path=remote-shell
> git://github.com/racket/remote-shell?path=remote-shell-doc
> Note that the clones created by `raco pkg install` cannot be pushed to
> with the default origin remote.

This is very obscure.  Is there a compact description of what to do when
you want to make a change in a file that is not on the main repo?

(Hopefully there's obvious agreement on the need for this to be

          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!

Posted on the dev mailing list.