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

[StGIT PATCH 4/6] Add a no-act flag to stg-dispatch and stg-fold-file-from.

From
Yann Dirson <ydirson@altern.org>
Date
Aug 2, 2007, 20:18 UTC
Message-ID
<20070802201831.16614.33481.stgit@gandelf.nowhere.earth>
In-Reply-To
<20070802200704.16614.57993.stgit@gandelf.nowhere.earth>
From: Yann Dirson <yann.dirson@sagem.com>
Signed-off-by: Yann Dirson <ydirson@altern.org>
---
 contrib/stg-dispatch        |   20 +++++++++++++++-----
 contrib/stg-fold-files-from |   15 +++++++++++++--
 2 files changed, 28 insertions(+), 7 deletions(-)
diff --git a/contrib/stg-dispatch b/contrib/stg-dispatch
index 8911946..e9cfb05 100755
--- a/contrib/stg-dispatch
+++ b/contrib/stg-dispatch
@@ -6,7 +6,7 @@ set -e
 # do so), but from the patch containing the changes to migrate,
 # instead of doing so from the target patch.
 
-# usage: stg-dispatch <topatch> [-#<n>[-<n>][,<n>]...] <file-pattern>
+# usage: stg-dispatch [-n] <topatch> [-#<n>[-<n>][,<n>]...] <file-pattern>
 
 # Copyright (c) 2007 Yann Dirson <ydirson@altern.org>
 # Subject to the GNU GPL, version 2.
@@ -17,6 +17,12 @@ die()
     exit 1
 }
 
+noact=0
+if [ "x$1" = "x-n" ]; then
+    noact=1
+    shift
+fi
+
 TOPATCH="$1"
 shift
 
@@ -28,7 +34,11 @@ CURRENTPATCH=$(stg top)
 [ "x$TOPATCH" != "x$CURRENTPATCH" ] ||
     die "dispatching to current patch ($CURRENTPATCH) makes no sense"
 
-stg goto "$TOPATCH"
-stg-fold-files-from "$CURRENTPATCH" "$@"
-stg refresh
-stg goto "$CURRENTPATCH"
+if [ $noact = 1 ]; then
+    stg-fold-files-from "$CURRENTPATCH" -n "$@"
+else
+    stg goto "$TOPATCH"
+    stg-fold-files-from "$CURRENTPATCH" "$@"
+    stg refresh
+    stg goto "$CURRENTPATCH"
+fi
diff --git a/contrib/stg-fold-files-from b/contrib/stg-fold-files-from
index 806a157..c52abfc 100755
--- a/contrib/stg-fold-files-from
+++ b/contrib/stg-fold-files-from
@@ -8,7 +8,7 @@ set -e
 # identify hunk numbers easily.
 # Use "-O -U<n>" to get finer hunk granularity for -#<n>.
 
-# usage: stg-fold-files-from <patch> [-O <stg-show-flags>] [-#<n>[-<n>][,<n>]...] <file-pattern>
+# usage: stg-fold-files-from <patch> [-n] [-O <stg-show-flags>] [-#<n>[-<n>][,<n>]...] <file-pattern>
 
 # Copyright (c) 2006-2007 Yann Dirson <ydirson@altern.org>
 # Subject to the GNU GPL, version 2.
@@ -20,10 +20,12 @@ filtercmd=cat
 hunks=
 foldflags=
 showflags=()
+noact=0
 while [ "$#" -gt 0 ]; do
     case "$1" in
 	-\#*) hunks="$1" ;;
 	-t) foldflags="-t" ;;
+	-n) noact=1 ;;
 	-O) showflags+=(-O "$2"); shift ;;
 	-*) { echo >&2 "unknown flag '$1'"; exit 1; } ;;
 	*) break ;;
@@ -32,4 +34,13 @@ while [ "$#" -gt 0 ]; do
 done
 [ "$#" = 1 ] || { echo >&2 "supports one file only"; exit 1; }
 
-stg show "${showflags[@]}" "$PATCH" | filterdiff -p1 $hunks -i "$1" | stg fold $foldflags
+getpatch()
+{
+    stg show "${showflags[@]}" "$PATCH" | filterdiff -p1 $hunks -i "$1"
+}
+
+if [ $noact = 1 ]; then
+    getpatch "$1"
+else
+    getpatch "$1" | stg fold $foldflags
+fi
Previous: Yann DirsonNext: Yann Dirson
Message 5 of 8 in “Various contrib/ updates”
  1. 0/6 Various contrib/ updatesYann Dirson, Aug 2, 2007
  2. 1/6 Improve stg-fold-files-from doc.Yann Dirson, Aug 2, 2007
  3. 2/6 New contrib scripts: stg-dispatch and stg-show.Yann Dirson, Aug 2, 2007
  4. 3/6 Add -O flag to stg-fold-files-from.Yann Dirson, Aug 2, 2007
  5. 4/6 Add a no-act flag to stg-dispatch and stg-fold-file-from.Yann Dirson, Aug 2, 2007
  6. 5/6 Provide file completion for add/resolved/refresh based on status.Yann Dirson, Aug 2, 2007
  7. 6/6 Fixed completion function hardcoding .git/.Yann Dirson, Aug 2, 2007
  8. Catalin MarinasAug 20, 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.