diff options
-rw-r--r-- | Git/Config.hs | 4 | ||||
-rw-r--r-- | debian/changelog | 3 |
2 files changed, 7 insertions, 0 deletions
diff --git a/Git/Config.hs b/Git/Config.hs index dab1cdf5e..c9e4f9a2d 100644 --- a/Git/Config.hs +++ b/Git/Config.hs @@ -54,6 +54,10 @@ read' repo = go repo {- Reads git config from a handle and populates a repo with it. -} hRead :: Repo -> Handle -> IO Repo hRead repo h = do + -- We use the FileSystemEncoding when reading from git-config, + -- because it can contain arbitrary filepaths (and other strings) + -- in any encoding. + fileEncoding h val <- hGetContentsStrict h store val repo diff --git a/debian/changelog b/debian/changelog index 5968d8560..c1ebac839 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,6 +6,9 @@ git-annex (3.20120625) UNRELEASED; urgency=low * Avoid ugly failure mode when moving content from a local repository that is not available. * Got rid of the last place that did utf8 decoding. + * Accept arbitrarily encoded repository filepaths etc when reading + git config output. This fixes support for remotes with unusual characters + in their names. -- Joey Hess <joeyh@debian.org> Mon, 25 Jun 2012 11:38:12 -0400 |