finished where indentation changes
This commit is contained in:
parent
b77290cecc
commit
f87a781aa6
68 changed files with 1619 additions and 1628 deletions
|
@ -36,10 +36,10 @@ current r = do
|
|||
currentUnsafe :: Repo -> IO (Maybe Git.Ref)
|
||||
currentUnsafe r = parse . firstLine
|
||||
<$> pipeReadStrict [Param "symbolic-ref", Param "HEAD"] r
|
||||
where
|
||||
parse l
|
||||
| null l = Nothing
|
||||
| otherwise = Just $ Git.Ref l
|
||||
where
|
||||
parse l
|
||||
| null l = Nothing
|
||||
| otherwise = Just $ Git.Ref l
|
||||
|
||||
{- Checks if the second branch has any commits not present on the first
|
||||
- branch. -}
|
||||
|
@ -47,12 +47,12 @@ changed :: Branch -> Branch -> Repo -> IO Bool
|
|||
changed origbranch newbranch repo
|
||||
| origbranch == newbranch = return False
|
||||
| otherwise = not . null <$> diffs
|
||||
where
|
||||
diffs = pipeReadStrict
|
||||
[ Param "log"
|
||||
, Param (show origbranch ++ ".." ++ show newbranch)
|
||||
, Params "--oneline -n1"
|
||||
] repo
|
||||
where
|
||||
diffs = pipeReadStrict
|
||||
[ Param "log"
|
||||
, Param (show origbranch ++ ".." ++ show newbranch)
|
||||
, Params "--oneline -n1"
|
||||
] repo
|
||||
|
||||
{- Given a set of refs that are all known to have commits not
|
||||
- on the branch, tries to update the branch by a fast-forward.
|
||||
|
@ -70,23 +70,23 @@ fastForward branch (first:rest) repo =
|
|||
( no_ff
|
||||
, maybe no_ff do_ff =<< findbest first rest
|
||||
)
|
||||
where
|
||||
no_ff = return False
|
||||
do_ff to = do
|
||||
run "update-ref"
|
||||
[Param $ show branch, Param $ show to] repo
|
||||
return True
|
||||
findbest c [] = return $ Just c
|
||||
findbest c (r:rs)
|
||||
| c == r = findbest c rs
|
||||
| otherwise = do
|
||||
better <- changed c r repo
|
||||
worse <- changed r c repo
|
||||
case (better, worse) of
|
||||
(True, True) -> return Nothing -- divergent fail
|
||||
(True, False) -> findbest r rs -- better
|
||||
(False, True) -> findbest c rs -- worse
|
||||
(False, False) -> findbest c rs -- same
|
||||
where
|
||||
no_ff = return False
|
||||
do_ff to = do
|
||||
run "update-ref"
|
||||
[Param $ show branch, Param $ show to] repo
|
||||
return True
|
||||
findbest c [] = return $ Just c
|
||||
findbest c (r:rs)
|
||||
| c == r = findbest c rs
|
||||
| otherwise = do
|
||||
better <- changed c r repo
|
||||
worse <- changed r c repo
|
||||
case (better, worse) of
|
||||
(True, True) -> return Nothing -- divergent fail
|
||||
(True, False) -> findbest r rs -- better
|
||||
(False, True) -> findbest c rs -- worse
|
||||
(False, False) -> findbest c rs -- same
|
||||
|
||||
{- Commits the index into the specified branch (or other ref),
|
||||
- with the specified parent refs, and returns the committed sha -}
|
||||
|
@ -99,5 +99,5 @@ commit message branch parentrefs repo = do
|
|||
message repo
|
||||
run "update-ref" [Param $ show branch, Param $ show sha] repo
|
||||
return sha
|
||||
where
|
||||
ps = concatMap (\r -> ["-p", show r]) parentrefs
|
||||
where
|
||||
ps = concatMap (\r -> ["-p", show r]) parentrefs
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue