* migrate: Fix --remove-size to work when a file is not present.
Fixes reversion introduced in version 10.20231129.
* Support git remotes that use a IPV6 link-local address with a zone ID.
+ * Support git remotes that use an url with a user name that is URL encoded.
+ * Fix git-lfs special remote ssh endpoint discovery when the repository
+ path is URL encoded.
-- Joey Hess <id@joeyh.name> Fri, 21 Mar 2025 12:27:11 -0400
Just (':':p) -> readish p
Just _ -> Nothing
-{- Hostname of an URL repo, including any username (ie, "user@host") -}
+{- Hostname of an URL repo, including any username (ie, "user@host")
+ -
+ - Both the username and hostname are URI-decoded.
+ -}
hostuser :: Repo -> Maybe String
hostuser r = (++)
- <$> authpart uriUserInfo r
+ <$> authpart (unEscapeString . uriUserInfo) r
<*> host r
{- The full authority portion an URL repo. (ie, "user@host:port") -}
authpart a Repo { location = Url u } = a <$> uriAuthority u
authpart _ _ = Nothing
-{- Path part of an URL repo. -}
+{- Path part of an URL repo. It is URI-decoded. -}
path :: Repo -> Maybe FilePath
-path Repo { location = Url u } = Just (uriPath u)
+path Repo { location = Url u } = Just $ unEscapeString $ uriPath u
path _ = Nothing