diff options
author | Herbert Valerio Riedel <hvr@gnu.org> | 2013-08-09 13:03:54 +0200 |
---|---|---|
committer | Herbert Valerio Riedel <hvr@gnu.org> | 2013-08-09 13:03:54 +0200 |
commit | 4f43572224b3c8723dc1bf0e886313b0e9c92049 (patch) | |
tree | 468d6ad549bc45fe70fdbaf5de84354af92687d6 /sync-all | |
parent | a22e908a460ab20da006c74be4ca3fc068d461f0 (diff) | |
download | haskell-4f43572224b3c8723dc1bf0e886313b0e9c92049.tar.gz |
Make `sync-all remote set-url` use normalized `/packages/` urls
A simple heuristic (i.e. replacing the `libraries/` suffix by
`packages/` in the inferred remotepath, if the remotepath in the
`packages` file is "-") used to infer the remotepath for Git
submodules. A proper solution would require to parse the `.gitmodules`
file to obtain the actual localpath<->remotepath mapping.
This addresses #8121 and is a follow-up to a22e908 which changed the
`.gitmodules` urls to use the `/packages/` folder instead of
`/libraries/`.
Diffstat (limited to 'sync-all')
-rwxr-xr-x | sync-all | 11 |
1 files changed, 10 insertions, 1 deletions
@@ -455,7 +455,16 @@ sub gitall { my $rpath; $ignore_failure = 1; if ($remotepath eq '-') { - $rpath = "$repo_base/$localpath"; + $rpath = "$localpath.git"; # N.B.: $localpath lacks the .git suffix + if ($localpath =~ /^libraries\//) { + # FIXME: This is just a simple heuristic to + # infer the remotepath for Git submodules. A + # proper solution would require to parse the + # .gitmodules file to obtain the actual + # localpath<->remotepath mapping. + $rpath =~ s/^libraries\//packages\//; + } + $rpath = "$repo_base/$rpath"; } else { $rpath = $path; } |