[racket-dev] git submodule for native-library packages
On 2013-07-30 17:44:37 -0400, Carl Eastlund wrote:
> I looked into git-subtree, and as I recall it, nothing in the setup
> recalls what subtree is used for what. Every git-subtree command you
> enter has to be fully explicit, which is a big hassle.
AFAIK, you are correct. OTOH, I imagine that using subtree commands is
actually going to be relatively rare. Here is my reasoning:
* You are a developer on a Racket main distribution package:
- Most of your commits will be local to that package while you
work on it. Let's assume this is in a separate repo (otherwise
the subtree thing is moot)
- You'll work on a working copy of that package installed instead
of the core package that ships with release Racket
(using `raco pkg` to set up the links)
- Assuming the last two points, you are unlikely to use any
subtree commands until the changes need to be merged for a
release or for wider use/testing.
* You are a power user of Racket:
- You'll just clone the "whole Racket" git repo and automatically
get all of the subtrees. No additional effort necessary unless
you want to make changes.
* You are a developer responsible for the release:
- You will probably end up pulling all subtrees (which is pretty
manual work) and then cherry-pick all relevant commits.
In comparison, I think submodules are supposed to make it less
convenient for the power user who is just cloning the repo. That said,
this isn't informed by a lot of experience with either feature, so
please take with a salt mine.
Maybe I will try this with Typed Racket somewhere and see what happens.
Cheers,
Asumu