On 12/10/2013 11:15, Herbert Valerio Riedel wrote:
Hello Simon!
On 2013-10-11 at 12:59:07 +0200, Simon Marlow wrote:
[...]
This is great. With a bit of extra tool support for this we could
actually do without submodules and go back to individual
repos. Checking out a GHC revision in the past could consist of
querying your ghc-complete repo for the fingerprint and then running
the fingerprint tool.
(unless you haven't guessed, I'm not a huge fan of submodules)
What problems do you see with Git submodules specifically? I'm asking
because I believe that we might be able address most of the concerns you
have by tooling (e.g. by server-side hooks to enforce inter-repo
invariants with respect to Git submodules, as well as client-side
scripts to automate common developer tasks) so that the perceived pain
of submodules can be reduced enough to make the change-function
significantly more favorable for switching to Git submodules (+ folding
some repos which are very tightly coupled/entangled to GHC into ghc.git
itself, such as testsuite or nofib)
If we can get the tooling right I would probably have no objections to
submodules. Right now it's a bit of a pain though.
- extra steps in the workflow for modifying a library (git checkout
master, etc.)
- possibility of losing local changes by git submodule update, if you
have made local changes in your copy of the library.
Perhaps what I want here is for "sync-all --rebase" to do "git
submodule update --rebase".
- "sync-all new" doesn't work any more. I used to use this to see
what patches were unpushed in my tree relative to upstream. I don't
mind what the command is, but there needs to be an easy way to do
this.
- Difficulties with having a local mirror of the GHC repos. Does
"sync-all -r <root> remove update-url" work with submodules now?
Does "./sync-all get" get the submodules from the same place as the
GHC repo?
Cheers,
Simon
_______________________________________________
ghc-devs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/ghc-devs