git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[StGIT PATCH 3/4] Add to stg-mdiff the ability to pass options to underlying diff opts.

From
Yann Dirson <ydirson@altern.org>
Date
Jul 24, 2007, 18:57 UTC
Message-ID
<20070724185740.17180.72586.stgit@gandelf.nowhere.earth>
In-Reply-To
<20070724185535.17180.24577.stgit@gandelf.nowhere.earth>
From: Yann Dirson <yann.dirson@sagem.com>

So we now have -O, similar to the existing option in stg diff, to pass flags to git-diff when computing the 2 diffs to compare (-M, -C and -w come to mind as being potentially useful here), and -o can be used to tune the invocation of diff on those 2 diffs.

Note that -o is only there temporarily, and will disappear when a more sophisticated process than plain diff will be used.

Signed-off-by: Yann Dirson <ydirson@altern.org>
---
 contrib/stg-mdiff |   29 +++++++++++++++++++++++------
 1 files changed, 23 insertions(+), 6 deletions(-)
diff --git a/contrib/stg-mdiff b/contrib/stg-mdiff
index 9bb324a..61cba9e 100755
--- a/contrib/stg-mdiff
+++ b/contrib/stg-mdiff
@@ -12,21 +12,38 @@ set -e
 
 usage()
 {
-    echo "Usage: $(basename $0) <from1>..[<to1>]|<patch1> <from2>..[<to2>]|<patch2>"
+    echo "Usage: [-o <diff-flags>] [-O <gitdiff-flags>] $(basename $0) <from1>..[<to1>]|<patch1> <from2>..[<to2>]|<patch2>"
     exit 1
 }
 
+diffopts=
+subdiffopts=
+while [ "$#" -gt 0 ]; do
+    case "$1" in
+	-o) diffopts="$2"; shift ;;
+	-O) subdiffopts="-O $2"; shift ;;
+	-*) usage ;;
+	*) break ;;
+    esac
+    shift
+done
+
 if [ "$#" != 2 ]; then
     usage
 fi
 
+if [ -z "$diffopts" ]; then
+    diffopts="-u"
+fi
+
 case "$1" in
-*..*) cmd1="stg diff" ;;
-*)    cmd1="stg show" ;;
+*..*) cmd1="stg diff $subdiffopts -r" ;;
+*)    cmd1="stg show $subdiffopts" ;;
 esac
 case "$2" in
-*..*) cmd2="stg diff" ;;
-*)    cmd2="stg show" ;;
+*..*) cmd2="stg diff $subdiffopts -r" ;;
+*)    cmd2="stg show $subdiffopts" ;;
 esac
 
-colordiff -u <($cmd1 "$1") <($cmd2 "$2") | less -RFX
+colordiff $diffopts \
+    <($cmd1 "$1") <($cmd2 "$2") | less -RFX
Previous: Yann DirsonNext: Yann Dirson
Message 4 of 5 in “stg-whatchanged improvements”
  1. 0/4 stg-whatchanged improvementsYann Dirson, Jul 24, 2007
  2. 1/4 Fix stg-whatchanged to deal with conflicts already solved.Yann Dirson, Jul 24, 2007
  3. 2/4 Add range comparison support to stg-mdiff.Yann Dirson, Jul 24, 2007
  4. 3/4 Add to stg-mdiff the ability to pass options to underlying diff opts.Yann Dirson, Jul 24, 2007
  5. 4/4 Port stg-whatchanged improvements to stg-mdiff and have the former use the latter.Yann Dirson, Jul 24, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.