git-config fileEncoding
Accept arbitrarily encoded repository filepaths etc when reading git config output. This fixes support for remotes with unusual characters in their names. For example, a remote with a url of /tmp/çüş was previously skipped, because the filename wasn't encoded right so it didn't think it was available. And when setting the annex-uuid of a remote named "çüş", it used to add it under a mis-encoded form of the remote's name. Both these cases now work ok in my testing.
This commit is contained in:
parent
1093d82f6b
commit
6f45827fe0
2 changed files with 7 additions and 0 deletions
|
@ -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
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue