[prev in list] [next in list] [prev in thread] [next in thread]
List: darcs-devel
Subject: [darcs-devel] [patch2209] release/gen-version-info.hs: fix missing... (and 1 more)
From: Ben Franksen <bugs () darcs ! net>
Date: 2021-07-13 9:55:59
Message-ID: 1M4bd0-1m2hAx21XK-001kwF () mrelayeu ! kundenserver ! de
[Download RAW message or body]
New submission from Ben Franksen <ben.franksen@online.de>:
2 patches for repository http://darcs.net/screened:
patch 684134a7380f9217159428e7fb17fd56f968e7f4
Author: Ben Franksen <ben.franksen@online.de>
Date: Wed Jul 7 13:58:39 CEST 2021
* release/gen-version-info.hs: fix missing check for existence of _darcs
patch 8377c017dd694e4034bc87634773ebc46e14e4a8
Author: Ben Franksen <ben.franksen@online.de>
Date: Sat Jul 10 09:34:31 CEST 2021
* re-write of release/gen-version-info.hs
This simplifies the logic but also replaces the test for existence of _da=
rcs
with catching all IOExceptions. This makes it more robust in case executi=
ng
darcs fails for some other reason.
----------
files: patch-preview.txt, release_gen_version_info_hs_-fix-missing-check-fo=
r-existence-of-_darcs.dpatch
messages: 22907
nosy: bf
status: needs-screening
title: release/gen-version-info.hs: fix missing... (and 1 more)
__________________________________
Darcs bug tracker <bugs@darcs.net>
<http://bugs.darcs.net/patch2209>
__________________________________
["patch-preview.txt" (text/x-darcs-patch)]
[release/gen-version-info.hs: fix missing check for existence of _darcs
Ben Franksen <ben.franksen@online.de>**20210707115839
Ignore-this: 9ef1aae66c2e75f6232bedb06ece11aee9f213691f5e3d422e1c6bb38d5957b8aab411b14eaa610b
] hunk ./release/gen-version-info.hs 14
- - out <- readProcess "darcs" ["log", "-a", "--from-tag", version, "--count"] ""
- - case reads out of
- - ((n, _):_) -> return $ Just ((n :: Int) - 1)
- - _ -> return Nothing
+ inrepo <- doesDirectoryExist "_darcs"
+ if inrepo
+ then do
+ out <- readProcess "darcs" ["log", "-a", "--from-tag", version, "--count"] ""
+ case reads out of
+ ((n, _):_) -> return $ Just ((n :: Int) - 1)
+ _ -> return Nothing
+ else return Nothing
[re-write of release/gen-version-info.hs
Ben Franksen <ben.franksen@online.de>**20210710073431
Ignore-this: 974d34cc9a9940dde3ea8a93b076edfb1e4a16ccd7cc2cd62a52be42e585c3b2204c4a6e3277cde2
This simplifies the logic but also replaces the test for existence of _darcs
with catching all IOExceptions. This makes it more robust in case executing
darcs fails for some other reason.
] hunk ./release/gen-version-info.hs 1
- -import Control.Monad ( unless )
- -import System.Directory ( doesDirectoryExist )
hunk ./release/gen-version-info.hs 2
+import System.IO ( hPutStrLn, stderr )
+import System.IO.Error ( catchIOError )
hunk ./release/gen-version-info.hs 9
- - let versionTag = case args of [] -> "."; arg:_ -> arg
- - generateVersionInfo versionTag
- -
- -versionPatches :: String -> IO (Maybe Int)
- -versionPatches version = do
- - inrepo <- doesDirectoryExist "_darcs"
- - if inrepo
- - then do
- - out <- readProcess "darcs" ["log", "-a", "--from-tag", version, "--count"] ""
- - case reads out of
- - ((n, _):_) -> return $ Just ((n :: Int) - 1)
- - _ -> return Nothing
- - else return Nothing
- -
- -generateVersionInfo :: String -> IO ()
- -generateVersionInfo version = do
- - ctx <- context
- - writeFile "release/distributed-context" $ show ctx
- - patches <- versionPatches version
+ let version = case args of [] -> "."; arg:_ -> arg
+ context <- darcs ["log", "-a", "--context"]
+ writeFile "release/distributed-context" $ show context
+ patches <- readInt <$> darcs ["log", "-a", "--from-tag", version, "--count"]
hunk ./release/gen-version-info.hs 15
- -context :: IO (Maybe String)
- -context = do
- - inrepo <- doesDirectoryExist "_darcs"
- - if inrepo
- - then do
- - out <- readProcess "darcs" ["log", "-a", "--context"] ""
- - return $ Just out
- - else return Nothing
+darcs :: [String] -> IO (Maybe String)
+darcs args =
+ (Just <$> readProcess "darcs" args "")
+ `catchIOError` \e -> do
+ hPutStrLn stderr $ "Warning: executing darcs failed: " ++ show e
+ return Nothing
+
+readInt :: Maybe String -> Maybe Int
+readInt (Just s) | (n, _):_ <- reads s = Just (n - 1)
+readInt _ = Nothing
["release_gen_version_info_hs_-fix-missing-check-for-existence-of-_darcs.dpatch" (application/x-darcs-patch)]
_______________________________________________
darcs-devel mailing list
darcs-devel@osuosl.org
https://lists.osuosl.org/mailman/listinfo/darcs-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic