diffdriver --text support options for diff
Sponsored-by: KDM on Patreon
This commit is contained in:
parent
4195acc012
commit
3d810726af
3 changed files with 11 additions and 6 deletions
|
@ -70,7 +70,9 @@ serializeReq req@(Req {}) = map Param
|
|||
|
||||
parseReq :: Options -> (Req, Differ)
|
||||
parseReq opts
|
||||
| textDiff opts = (mk (restOptions opts), textDiffer)
|
||||
| textDiff opts = case separate (== "--") (restOptions opts) of
|
||||
(_,[]) -> (mk (restOptions opts), textDiffer [])
|
||||
(ps,rest) -> (mk rest, textDiffer ps)
|
||||
| otherwise = case separate (== "--") (restOptions opts) of
|
||||
(c:ps, l) -> (mk l, externalDiffer c ps)
|
||||
([],_) -> badopts
|
||||
|
@ -117,13 +119,13 @@ fixupReq req@(Req {}) =
|
|||
externalDiffer :: String -> [String] -> Differ
|
||||
externalDiffer c ps = \req -> boolSystem c (map Param ps ++ serializeReq req )
|
||||
|
||||
textDiffer :: Differ
|
||||
textDiffer req = do
|
||||
textDiffer :: [String] -> Differ
|
||||
textDiffer diffopts req = do
|
||||
putStrLn ("diff a/" ++ rPath req ++ " b/" ++ rPath req)
|
||||
-- diff exits nonzero on difference, so ignore exit status
|
||||
void $ boolSystem "diff"
|
||||
void $ boolSystem "diff" $
|
||||
[ Param "-u"
|
||||
, Param (rOldFile req)
|
||||
, Param (rNewFile req)
|
||||
]
|
||||
] ++ map Param diffopts
|
||||
return True
|
||||
|
|
|
@ -4,7 +4,7 @@ git-annex diffdriver - git diff driver
|
|||
|
||||
# SYNOPSIS
|
||||
|
||||
git annex diffdriver --text
|
||||
git annex diffdriver --text [-- --opts --]
|
||||
|
||||
git annex diffdriver `-- cmd --opts --`
|
||||
|
||||
|
@ -42,6 +42,7 @@ set `GIT_EXTERNAL_DIFF="git-annex diffdriver -- j-c-diff --"`
|
|||
# OPTIONS
|
||||
|
||||
To diff text files with diff(1), use the "--text" option.
|
||||
To pass additional options to diff(1), use eg "--text -- --color --"
|
||||
|
||||
To use an external diff driver command, the options must start with
|
||||
"--" followed by the diff driver command, its options, and another "--"
|
||||
|
|
|
@ -28,3 +28,5 @@ How about having `git annex diffdriver --text` always using `diff --text`? That
|
|||
Thanks again a ton for git-annex, the Tübix2023-Workshop was well appreciated and lots of fun. 👍
|
||||
|
||||
Yann
|
||||
|
||||
> [[done]] --[[Joey]]
|
||||
|
|
Loading…
Add table
Reference in a new issue