Fix support for insteadOf url remapping. Closes: #644278

This commit is contained in:
Joey Hess 2011-11-15 14:06:38 -04:00
parent 3c45371115
commit 7d05ca1d6d
2 changed files with 5 additions and 3 deletions

7
Git.hs
View file

@ -523,13 +523,14 @@ genRemote s repo = gen $ calcloc s
| null insteadofs = l
| otherwise = replacement ++ drop (length replacement) l
where
replacement = take (length bestkey - length prefix) bestkey
replacement = drop (length "url.") $
take (length bestkey - length suffix) bestkey
bestkey = fst $ maximumBy longestvalue insteadofs
longestvalue (_, a) (_, b) = compare b a
insteadofs = filterconfig $ \(k, v) ->
endswith prefix k &&
endswith suffix k &&
startswith v l
prefix = ".insteadof"
suffix = ".insteadof"
-- git remotes can be written scp style -- [user@]host:dir
scpstyle v = ":" `isInfixOf` v && not ("//" `isInfixOf` v)
scptourl v = "ssh://" ++ host ++ slash dir

1
debian/changelog vendored
View file

@ -12,6 +12,7 @@ git-annex (3.20111112) UNRELEASED; urgency=low
* status: Fix --json mode (only the repository lists are currently
displayed)
* status: --fast is back
* Fix support for insteadOf url remapping. Closes: #644278
-- Joey Hess <joeyh@debian.org> Sat, 12 Nov 2011 14:50:21 -0400