summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2014-04-10 15:36:51 -0400
committerGravatar Joey Hess <joey@kitenet.net>2014-04-10 15:36:51 -0400
commit1bdf98e0eecc93973e6bc064643edd5993138f24 (patch)
treeb014608b7884393efb53d957c8eeb82dd87427c3
parente5b6f5b5f69ed5a76802e664c74870bc99f065e8 (diff)
Fix rsync progress parsing in locales that use comma in number display. Closes: #744148
-rw-r--r--Utility/Rsync.hs5
-rw-r--r--debian/changelog2
2 files changed, 6 insertions, 1 deletions
diff --git a/Utility/Rsync.hs b/Utility/Rsync.hs
index 2c5e39b6e..82166f645 100644
--- a/Utility/Rsync.hs
+++ b/Utility/Rsync.hs
@@ -124,6 +124,9 @@ rsyncUrlIsPath s
- after the \r is the number of bytes processed. After the number,
- there must appear some whitespace, or we didn't get the whole number,
- and return the \r and part we did get, for later processing.
+ -
+ - In some locales, the number will have one or more commas in the middle
+ - of it.
-}
parseRsyncProgress :: String -> (Maybe Integer, String)
parseRsyncProgress = go [] . reverse . progresschunks
@@ -142,7 +145,7 @@ parseRsyncProgress = go [] . reverse . progresschunks
parsebytes s = case break isSpace s of
([], _) -> Nothing
(_, []) -> Nothing
- (b, _) -> readish b
+ (b, _) -> readish $ filter (/= ',') b
{- Filters options to those that are safe to pass to rsync in server mode,
- without causing it to eg, expose files. -}
diff --git a/debian/changelog b/debian/changelog
index f5cfb995e..00ac22c20 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,6 +5,8 @@ git-annex (5.20140406) UNRELEASED; urgency=medium
* Remove wget from OSX dmg, due to issues with cert paths that broke
git-annex automatic upgrading. Instead, curl is used, unless the
OSX system has wget installed, which will then be used.
+ * Fix rsync progress parsing in locales that use comma in number display.
+ Closes: #744148
-- Joey Hess <joeyh@debian.org> Mon, 07 Apr 2014 16:22:02 -0400