diff options
author | Joey Hess <joeyh@joeyh.name> | 2014-12-16 14:04:40 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2014-12-16 14:04:40 -0400 |
commit | 95418cc430284b65af13105f7c63da08908dd826 (patch) | |
tree | 9afab6aad8025f454b12b038936f6322b6a82f1c /Git | |
parent | be93817b5bd80b051d5037e0641b63c16838b5fa (diff) |
Use wget -q --show-progress for less verbose wget output, when built with wget 1.16.
Diffstat (limited to 'Git')
-rw-r--r-- | Git/Version.hs | 33 |
1 files changed, 7 insertions, 26 deletions
diff --git a/Git/Version.hs b/Git/Version.hs index 5c61f859e..1c53b4bfd 100644 --- a/Git/Version.hs +++ b/Git/Version.hs @@ -5,18 +5,16 @@ - Licensed under the GNU GPL version 3 or higher. -} -module Git.Version where +module Git.Version ( + installed, + normalize, + GitVersion, +) where import Common +import Utility.DottedVersion -data GitVersion = GitVersion String Integer - deriving (Eq) - -instance Ord GitVersion where - compare (GitVersion _ x) (GitVersion _ y) = compare x y - -instance Show GitVersion where - show (GitVersion s _) = s +type GitVersion = DottedVersion installed :: IO GitVersion installed = normalize . extract <$> readProcess "git" ["--version"] @@ -24,20 +22,3 @@ installed = normalize . extract <$> readProcess "git" ["--version"] extract s = case lines s of [] -> "" (l:_) -> unwords $ drop 2 $ words l - -{- To compare dotted versions like 1.7.7 and 1.8, they are normalized to - - a somewhat arbitrary integer representation. -} -normalize :: String -> GitVersion -normalize v = GitVersion v $ - sum $ mult 1 $ reverse $ extend precision $ take precision $ - map readi $ split "." v - where - extend n l = l ++ replicate (n - length l) 0 - mult _ [] = [] - mult n (x:xs) = (n*x) : mult (n*10^width) xs - readi :: String -> Integer - readi s = case reads s of - ((x,_):_) -> x - _ -> 0 - precision = 10 -- number of segments of the version to compare - width = length "yyyymmddhhmmss" -- maximum width of a segment |