Darcs.Match
- matchFirstPatchset :: RepoPatch p => [DarcsFlag] -> PatchSet p -> SealedPatchSet p
- matchSecondPatchset :: RepoPatch p => [DarcsFlag] -> PatchSet p -> SealedPatchSet p
- matchPatch :: RepoPatch p => [DarcsFlag] -> PatchSet p -> Sealed2 (Named p)
- matchAPatch :: Patchy p => [DarcsFlag] -> Named p -> Bool
- matchAPatchread :: Patchy p => [DarcsFlag] -> PatchInfoAnd p -> Bool
- getFirstMatch :: RepoPatch p => Repository p -> [DarcsFlag] -> IO ()
- getNonrangeMatch :: RepoPatch p => Repository p -> [DarcsFlag] -> IO ()
- getPartialFirstMatch :: RepoPatch p => Repository p -> [DarcsFlag] -> [FileName] -> IO ()
- getPartialSecondMatch :: RepoPatch p => Repository p -> [DarcsFlag] -> [FileName] -> IO ()
- getPartialNonrangeMatch :: RepoPatch p => Repository p -> [DarcsFlag] -> [FileName] -> IO ()
- firstMatch :: [DarcsFlag] -> Bool
- secondMatch :: [DarcsFlag] -> Bool
- haveNonrangeMatch :: [DarcsFlag] -> Bool
- havePatchsetMatch :: [DarcsFlag] -> Bool
- getOnePatchset :: RepoPatch p => Repository p -> [DarcsFlag] -> IO (SealedPatchSet p)
- checkMatchSyntax :: [DarcsFlag] -> IO ()
- applyInvToMatcher :: (RepoPatch p, WriteableDirectory m) => InclusiveOrExclusive -> Matcher p -> PatchSet p -> m ()
- nonrangeMatcher :: Patchy p => [DarcsFlag] -> Maybe (Matcher p)
- data InclusiveOrExclusive
- matchExists :: Matcher p -> PatchSet p -> Bool
Documentation
matchFirstPatchset :: RepoPatch p => [DarcsFlag] -> PatchSet p -> SealedPatchSet p
matchFirstPatchset fs ps returns the part of ps before its
first matcher, ie the one that comes first dependencywise. Hence,
patches in matchFirstPatchset fs ps are the ones we don't want.
Question: are they really? Florent
matchSecondPatchset :: RepoPatch p => [DarcsFlag] -> PatchSet p -> SealedPatchSet p
matchSecondPatchset fs ps returns the part of ps before its
second matcher, ie the one that comes last dependencywise.
matchAPatch :: Patchy p => [DarcsFlag] -> Named p -> Bool
matchAPatch fs p tells whether p matches the matchers in
the flags fs
matchAPatchread :: Patchy p => [DarcsFlag] -> PatchInfoAnd p -> Bool
matchAPatchread fs p tells whether p matches the matchers in
the flags listed in fs.
getFirstMatch :: RepoPatch p => Repository p -> [DarcsFlag] -> IO ()
getNonrangeMatch :: RepoPatch p => Repository p -> [DarcsFlag] -> IO ()
getPartialFirstMatch :: RepoPatch p => Repository p -> [DarcsFlag] -> [FileName] -> IO ()
getPartialSecondMatch :: RepoPatch p => Repository p -> [DarcsFlag] -> [FileName] -> IO ()
getPartialNonrangeMatch :: RepoPatch p => Repository p -> [DarcsFlag] -> [FileName] -> IO ()
firstMatch :: [DarcsFlag] -> Bool
firstMatch fs tells whether fs implies a first match, that
is if we match against patches from a point in the past on, rather
than against all patches since the creation of the repository.
secondMatch :: [DarcsFlag] -> Bool
secondMatch fs tells whether fs implies a second match, that
is if we match against patches up to a point in the past on, rather
than against all patches until now.
haveNonrangeMatch :: [DarcsFlag] -> Bool
haveNonrangeMatch flags tells whether there is a flag in
flags which corresponds to a match that is non-range. Thus,
--match, --patch and --index make haveNonrangeMatch
true, but not --from-patch or --to-patch.
havePatchsetMatch :: [DarcsFlag] -> Bool
havePatchsetMatch flags tells whether there is a patchset
match in the flag list. A patchset match is --match or
--patch, or --context, but not --from-patch nor (!)
--index.
Question: Is it supposed not to be a subset of haveNonrangeMatch?
getOnePatchset :: RepoPatch p => Repository p -> [DarcsFlag] -> IO (SealedPatchSet p)
checkMatchSyntax :: [DarcsFlag] -> IO ()
applyInvToMatcher :: (RepoPatch p, WriteableDirectory m) => InclusiveOrExclusive -> Matcher p -> PatchSet p -> m ()
nonrangeMatcher :: Patchy p => [DarcsFlag] -> Maybe (Matcher p)
nonrangeMatcher is the criterion that is used to match against
patches in the interval. It is 'Just m' when the --patch, --match,
--tag options are passed (or their plural variants).
matchExists :: Matcher p -> PatchSet p -> Bool
matchExists m ps tells whether there is a patch matching
m in ps