From d72fb5acc28af3ea6380dd09518f7d1382dea8d2 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 30 Jun 2011 00:35:51 -0400 Subject: [PATCH] Fix encoding of utf-8 etc when storing the description of repository and other content. Write files in raw mode, to avoid mangling the encoding of content provided. Note: This was a longstanding problem, it was not introduced in v3. --- Branch.hs | 3 ++- debian/changelog | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Branch.hs b/Branch.hs index 9cdb096fd1..ab24e47525 100644 --- a/Branch.hs +++ b/Branch.hs @@ -26,6 +26,7 @@ import System.Cmd.Utils import Data.Maybe import Data.List import System.IO +import System.IO.Binary import qualified Data.ByteString.Char8 as B import Types.BranchState @@ -287,7 +288,7 @@ setJournalFile file content = do write g = do let jfile = journalFile g file let tmpfile = gitAnnexTmpDir g takeFileName jfile - writeFile tmpfile content + writeBinaryFile tmpfile content renameFile tmpfile jfile {- Gets journalled content for a file in the branch. -} diff --git a/debian/changelog b/debian/changelog index a87a89860a..f84f8ab498 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,6 +6,8 @@ git-annex (3.20110625) UNRELEASED; urgency=low * Sped back up fsck, copy --from, and other commands that often have to read a lot of information from the git-annex branch. Should now be nearly as fast as before the branch was introduced. + * Fix encoding of utf-8 etc when storing the description of repository + and other content. -- Joey Hess Sun, 26 Jun 2011 21:01:06 -0400