ghc-compete, a repository of fingerprints, and continuous integration

Simon Marlow marlowsd at gmail.com
Tue Oct 15 12:45:05 UTC 2013


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


More information about the ghc-devs mailing list