-- Copyright 2015 Evan Laforge
-- This program is distributed under the terms of the GNU General Public
-- License 3.0, see COPYING or http://www.gnu.org/licenses/gpl-3.0.txt

{-# LANGUAGE GeneralizedNewtypeDeriving #-}
module Util.GitT where
import qualified Data.ByteString as ByteString

import qualified Util.Pretty as Pretty


newtype Commit = Commit ByteString.ByteString
    deriving (Commit -> Commit -> Bool
(Commit -> Commit -> Bool)
-> (Commit -> Commit -> Bool) -> Eq Commit
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Commit -> Commit -> Bool
$c/= :: Commit -> Commit -> Bool
== :: Commit -> Commit -> Bool
$c== :: Commit -> Commit -> Bool
Eq, Eq Commit
Eq Commit
-> (Commit -> Commit -> Ordering)
-> (Commit -> Commit -> Bool)
-> (Commit -> Commit -> Bool)
-> (Commit -> Commit -> Bool)
-> (Commit -> Commit -> Bool)
-> (Commit -> Commit -> Commit)
-> (Commit -> Commit -> Commit)
-> Ord Commit
Commit -> Commit -> Bool
Commit -> Commit -> Ordering
Commit -> Commit -> Commit
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: Commit -> Commit -> Commit
$cmin :: Commit -> Commit -> Commit
max :: Commit -> Commit -> Commit
$cmax :: Commit -> Commit -> Commit
>= :: Commit -> Commit -> Bool
$c>= :: Commit -> Commit -> Bool
> :: Commit -> Commit -> Bool
$c> :: Commit -> Commit -> Bool
<= :: Commit -> Commit -> Bool
$c<= :: Commit -> Commit -> Bool
< :: Commit -> Commit -> Bool
$c< :: Commit -> Commit -> Bool
compare :: Commit -> Commit -> Ordering
$ccompare :: Commit -> Commit -> Ordering
Ord, Int -> Commit -> ShowS
[Commit] -> ShowS
Commit -> String
(Int -> Commit -> ShowS)
-> (Commit -> String) -> ([Commit] -> ShowS) -> Show Commit
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Commit] -> ShowS
$cshowList :: [Commit] -> ShowS
show :: Commit -> String
$cshow :: Commit -> String
showsPrec :: Int -> Commit -> ShowS
$cshowsPrec :: Int -> Commit -> ShowS
Show, [Commit] -> Doc
Commit -> Text
Commit -> Doc
(Commit -> Text)
-> (Commit -> Doc) -> ([Commit] -> Doc) -> Pretty Commit
forall a. (a -> Text) -> (a -> Doc) -> ([a] -> Doc) -> Pretty a
formatList :: [Commit] -> Doc
$cformatList :: [Commit] -> Doc
format :: Commit -> Doc
$cformat :: Commit -> Doc
pretty :: Commit -> Text
$cpretty :: Commit -> Text
Pretty.Pretty)
type Repo = FilePath