summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2016-12-08 17:10:24 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2016-12-08 17:10:24 -0400
commit88e93f741d32a94a653d9e40659065c63a8d36f8 (patch)
tree1665f8fc30230fd494960b01c5529d14a18fb998
parentc2cf325da3a208cdbc0fba463ab97b1d9e5384c7 (diff)
comment
-rw-r--r--Command/FromKey.hs4
-rw-r--r--doc/bugs/git-annex_fromkey_barfs_on_utf-8_input/comment_2_37643180ecbc6c6bb0504b3acb18d1e7._comment31
2 files changed, 34 insertions, 1 deletions
diff --git a/Command/FromKey.hs b/Command/FromKey.hs
index dca63aabe..6a81c1f74 100644
--- a/Command/FromKey.hs
+++ b/Command/FromKey.hs
@@ -45,7 +45,9 @@ startMass = do
next massAdd
massAdd :: CommandPerform
-massAdd = go True =<< map (separate (== ' ')) . lines <$> liftIO getContents
+massAdd = do
+ liftIO $ fileEncoding stdin
+ go True =<< map (separate (== ' ')) . lines <$> liftIO getContents
where
go status [] = next $ return status
go status ((keyname,f):rest) | not (null keyname) && not (null f) = do
diff --git a/doc/bugs/git-annex_fromkey_barfs_on_utf-8_input/comment_2_37643180ecbc6c6bb0504b3acb18d1e7._comment b/doc/bugs/git-annex_fromkey_barfs_on_utf-8_input/comment_2_37643180ecbc6c6bb0504b3acb18d1e7._comment
new file mode 100644
index 000000000..0b2cabdf9
--- /dev/null
+++ b/doc/bugs/git-annex_fromkey_barfs_on_utf-8_input/comment_2_37643180ecbc6c6bb0504b3acb18d1e7._comment
@@ -0,0 +1,31 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 2"""
+ date="2016-12-08T21:03:14Z"
+ content="""
+I'm not able to reproduce the original reported problem; it works even when
+using the C locale. However, it may be that this patch would fix it:
+
+<pre>
+diff --git a/Command/FromKey.hs b/Command/FromKey.hs
+index dca63aa..6a81c1f 100644
+--- a/Command/FromKey.hs
++++ b/Command/FromKey.hs
+@@ -45,7 +45,9 @@ startMass = do
+ next massAdd
+
+ massAdd :: CommandPerform
+-massAdd = go True =<< map (separate (== ' ')) . lines <$> liftIO getContents
++massAdd = do
++ liftIO $ fileEncoding stdin
++ go True =<< map (separate (== ' ')) . lines <$> liftIO getContents
+ where
+ go status [] = next $ return status
+ go status ((keyname,f):rest) | not (null keyname) && not (null f) = do
+</pre>
+
+(The NeuroDebian git-annex-standalone may well have had its locale
+installation broken by [[!commit c07981122672f6cc87ca08efb57d8a7b1e2f5725]],
+which assumes that the git-annex.linux is writable by the user.
+I doubt that is related to the original bug report.)
+"""]]