module Darcs.Patch.SummaryData ( SummDetail(..), SummOp(..) ) where

import Darcs.Prelude

import Darcs.Util.Path ( AnchoredPath )

data SummDetail = SummAddDir AnchoredPath
                | SummRmDir  AnchoredPath
                | SummFile SummOp AnchoredPath Int Int Int
                | SummMv   AnchoredPath AnchoredPath
                | SummNone
  deriving (Eq SummDetail
Eq SummDetail =>
(SummDetail -> SummDetail -> Ordering)
-> (SummDetail -> SummDetail -> Bool)
-> (SummDetail -> SummDetail -> Bool)
-> (SummDetail -> SummDetail -> Bool)
-> (SummDetail -> SummDetail -> Bool)
-> (SummDetail -> SummDetail -> SummDetail)
-> (SummDetail -> SummDetail -> SummDetail)
-> Ord SummDetail
SummDetail -> SummDetail -> Bool
SummDetail -> SummDetail -> Ordering
SummDetail -> SummDetail -> SummDetail
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
$ccompare :: SummDetail -> SummDetail -> Ordering
compare :: SummDetail -> SummDetail -> Ordering
$c< :: SummDetail -> SummDetail -> Bool
< :: SummDetail -> SummDetail -> Bool
$c<= :: SummDetail -> SummDetail -> Bool
<= :: SummDetail -> SummDetail -> Bool
$c> :: SummDetail -> SummDetail -> Bool
> :: SummDetail -> SummDetail -> Bool
$c>= :: SummDetail -> SummDetail -> Bool
>= :: SummDetail -> SummDetail -> Bool
$cmax :: SummDetail -> SummDetail -> SummDetail
max :: SummDetail -> SummDetail -> SummDetail
$cmin :: SummDetail -> SummDetail -> SummDetail
min :: SummDetail -> SummDetail -> SummDetail
Ord, SummDetail -> SummDetail -> Bool
(SummDetail -> SummDetail -> Bool)
-> (SummDetail -> SummDetail -> Bool) -> Eq SummDetail
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: SummDetail -> SummDetail -> Bool
== :: SummDetail -> SummDetail -> Bool
$c/= :: SummDetail -> SummDetail -> Bool
/= :: SummDetail -> SummDetail -> Bool
Eq)

data SummOp = SummAdd | SummRm | SummMod deriving (Eq SummOp
Eq SummOp =>
(SummOp -> SummOp -> Ordering)
-> (SummOp -> SummOp -> Bool)
-> (SummOp -> SummOp -> Bool)
-> (SummOp -> SummOp -> Bool)
-> (SummOp -> SummOp -> Bool)
-> (SummOp -> SummOp -> SummOp)
-> (SummOp -> SummOp -> SummOp)
-> Ord SummOp
SummOp -> SummOp -> Bool
SummOp -> SummOp -> Ordering
SummOp -> SummOp -> SummOp
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
$ccompare :: SummOp -> SummOp -> Ordering
compare :: SummOp -> SummOp -> Ordering
$c< :: SummOp -> SummOp -> Bool
< :: SummOp -> SummOp -> Bool
$c<= :: SummOp -> SummOp -> Bool
<= :: SummOp -> SummOp -> Bool
$c> :: SummOp -> SummOp -> Bool
> :: SummOp -> SummOp -> Bool
$c>= :: SummOp -> SummOp -> Bool
>= :: SummOp -> SummOp -> Bool
$cmax :: SummOp -> SummOp -> SummOp
max :: SummOp -> SummOp -> SummOp
$cmin :: SummOp -> SummOp -> SummOp
min :: SummOp -> SummOp -> SummOp
Ord, SummOp -> SummOp -> Bool
(SummOp -> SummOp -> Bool)
-> (SummOp -> SummOp -> Bool) -> Eq SummOp
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: SummOp -> SummOp -> Bool
== :: SummOp -> SummOp -> Bool
$c/= :: SummOp -> SummOp -> Bool
/= :: SummOp -> SummOp -> Bool
Eq)