On 2013-08-22 at 15:35:29 +0200, Ben Lippmeier wrote:

[...]

> I was confused because the ./sync-all script gets most of the repos
> with git:// style URLs, but then switches to http:// style URLs for
> sub modules.

well, that's because the 'sync-all' script is not clever enough to
rewrite the urls between the 'git submodule init' and the 'git submodule
update' invocations during an initial "sync-all get" operation.

Specifically, the proper way to do this (for an initial 'sync-all get';
it gets more complicated for non-initial 'sync-all get's) is:

 - before invoking 'git submodule update', iterate over the entries in
   "git config --get-regexp ^submodule" and

 - rewrite the repo URLs (by using 'git config' again), assuming that
   'http://git.haskell.org/' is the original repo-base/prefix which is
   to be replaced by the current $repo_base

 - proceed with 'git submodule update'


Btw, the implementation in sync-all at

 https://github.com/ghc/ghc/blob/master/sync-all#L897-L912

seems a bit confusing; the "submodule init" in the "if ($command eq
"get" or $command eq "pull")" branch is probably never invoked.


cheers,
hvr

_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs

Reply via email to