Fix support for insteadOf url remapping. Closes: #644278
This commit is contained in:
parent
3c45371115
commit
7d05ca1d6d
2 changed files with 5 additions and 3 deletions
7
Git.hs
7
Git.hs
|
@ -523,13 +523,14 @@ genRemote s repo = gen $ calcloc s
|
||||||
| null insteadofs = l
|
| null insteadofs = l
|
||||||
| otherwise = replacement ++ drop (length replacement) l
|
| otherwise = replacement ++ drop (length replacement) l
|
||||||
where
|
where
|
||||||
replacement = take (length bestkey - length prefix) bestkey
|
replacement = drop (length "url.") $
|
||||||
|
take (length bestkey - length suffix) bestkey
|
||||||
bestkey = fst $ maximumBy longestvalue insteadofs
|
bestkey = fst $ maximumBy longestvalue insteadofs
|
||||||
longestvalue (_, a) (_, b) = compare b a
|
longestvalue (_, a) (_, b) = compare b a
|
||||||
insteadofs = filterconfig $ \(k, v) ->
|
insteadofs = filterconfig $ \(k, v) ->
|
||||||
endswith prefix k &&
|
endswith suffix k &&
|
||||||
startswith v l
|
startswith v l
|
||||||
prefix = ".insteadof"
|
suffix = ".insteadof"
|
||||||
-- git remotes can be written scp style -- [user@]host:dir
|
-- git remotes can be written scp style -- [user@]host:dir
|
||||||
scpstyle v = ":" `isInfixOf` v && not ("//" `isInfixOf` v)
|
scpstyle v = ":" `isInfixOf` v && not ("//" `isInfixOf` v)
|
||||||
scptourl v = "ssh://" ++ host ++ slash dir
|
scptourl v = "ssh://" ++ host ++ slash dir
|
||||||
|
|
1
debian/changelog
vendored
1
debian/changelog
vendored
|
@ -12,6 +12,7 @@ git-annex (3.20111112) UNRELEASED; urgency=low
|
||||||
* status: Fix --json mode (only the repository lists are currently
|
* status: Fix --json mode (only the repository lists are currently
|
||||||
displayed)
|
displayed)
|
||||||
* status: --fast is back
|
* 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
|
-- Joey Hess <joeyh@debian.org> Sat, 12 Nov 2011 14:50:21 -0400
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue