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

[PATCH] stash: simplify parsing fixes

From
Jon Seymour <jon.seymour@gmail.com>
Date
Sep 27, 2010, 15:32 UTC
Message-ID
<1285601565-24709-1-git-send-email-jon.seymour@gmail.com>
In-Reply-To
<7vzkv3hkg1.fsf@alter.siamese.dyndns.org>
This patch simplifies Brian's fix for the recent regression by:
* eliminating the extra loop
* eliminating use of git rev-parse for parsing flags
* making use of the for opt idiom for the retained loop
* eliminating the redundant -- case
The patch has been tested with the tests in current maint.
Signed-off-by: Jon Seymour <jon.seymour@gmail.com>
---
 git-stash.sh |   28 +++++++---------------------
 1 files changed, 7 insertions(+), 21 deletions(-)
diff --git a/git-stash.sh b/git-stash.sh
index 57f36ce..23a9ab5 100755
--- a/git-stash.sh
+++ b/git-stash.sh
@@ -264,36 +264,22 @@ parse_flags_and_rev()
 	b_tree=
 	i_tree=
 
-	# Work around rev-parse --flags eating -q
-	for opt
-	do
-		case "$opt" in
-		-q|--quiet)
-			GIT_QUIET=t
-			;;
-		esac
-	done
-
 	REV=$(git rev-parse --no-flags --symbolic "$@" 2>/dev/null)
-	FLAGS=$(git rev-parse --no-revs --flags "$@" 2>/dev/null)
-
-	set -- $FLAGS
 
 	FLAGS=
-	while test $# -ne 0
+	for opt
 	do
-		case "$1" in
+		case "$opt" in
+			-q|--quiet)
+				GIT_QUIET=-t
+			;;
 			--index)
 				INDEX_OPTION=--index
 			;;
-			--)
-				:
-			;;
-			*)
-				FLAGS="${FLAGS}${FLAGS:+ }$1"
+			-*)
+				FLAGS="${FLAGS}${FLAGS:+ }$opt"
 			;;
 		esac
-		shift
 	done
 
 	set -- $REV
-- 
1.7.3.2.g9027fa.dirty
Previous: Junio C HamanoNext: Jon Seymour
Message 12 of 27 in “git-1.7.3 breakage: "git stash show xxx" doesn't show anything”
  1. Robin H. JohnsonSep 24, 2010
  2. Brandon CaseySep 24, 2010
  3. Brian GernhardtSep 24, 2010
  4. t/t3903-stash: improve testing of git-stash showBrandon Casey, Sep 24, 2010
  5. Brian GernhardtSep 24, 2010
  6. Brandon CaseySep 24, 2010
  7. Brian GernhardtSep 24, 2010
  8. git-stash: fix flag parsingBrian Gernhardt, Sep 24, 2010
  9. git-stash: fix flag parsingBrian Gernhardt, Sep 24, 2010
  10. Jon SeymourSep 25, 2010
  11. Junio C HamanoSep 27, 2010
  12. stash: simplify parsing fixesJon Seymour, Sep 27, 2010
  13. stash show: fix breakage in 1.7.3Jon Seymour, Sep 25, 2010
  14. stash show: fix breakage in 1.7.3Jon Seymour, Sep 25, 2010
  15. Brian GernhardtSep 25, 2010
  16. Jon SeymourSep 25, 2010
  17. Jon SeymourSep 25, 2010
  18. Jon SeymourSep 27, 2010
  19. rev-parse: stop interpreting flags as options to rev-parse once --flags is specifiedJon Seymour, Sep 25, 2010
  20. Jon SeymourSep 25, 2010
  21. Jon SeymourSep 25, 2010
  22. Junio C HamanoSep 26, 2010
  23. Jon SeymourSep 26, 2010
  24. 0/3 rev-parse: allow --flags to output rev-parse-like flagsJon Seymour, Sep 26, 2010
  25. 1/3 rev-parse: update Documentation of --flagsJon Seymour, Sep 26, 2010
  26. 2/3 rev-parse: add tests for git rev-parse --flags.Jon Seymour, Sep 26, 2010
  27. 3/3 rev-parse: stop interpreting flags as options to rev-parse once --flags is specifiedJon Seymour, Sep 26, 2010

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.