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

[PATCH 01/18] version-gen: reorganize

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
Apr 14, 2023, 12:18 UTC
Message-ID
<20230414121841.373980-2-felipe.contreras@gmail.com>
In-Reply-To
<20230414121841.373980-1-felipe.contreras@gmail.com>

Simply move some code into a `describe` function so it's clear what code is related to dealing with `git describe`, and what code is the main functionality.

No functional changes.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
 GIT-VERSION-GEN | 25 ++++++++++++++++---------
 1 file changed, 16 insertions(+), 9 deletions(-)
diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN
index 9a1111af9b..29d634a30b 100755
--- a/GIT-VERSION-GEN
+++ b/GIT-VERSION-GEN
@@ -6,20 +6,27 @@ DEF_VER=v2.40.GIT
 LF='
 '
 
+describe () {
+	VN=$(git describe --match "v[0-9]*" HEAD 2>/dev/null) || return 1
+	case "$VN" in
+	*$LF*)
+		return 1
+		;;
+	v[0-9]*)
+		git update-index -q --refresh
+		test -z "$(git diff-index --name-only HEAD --)" ||
+		VN="$VN-dirty"
+		return 0
+		;;
+	esac
+}
+
 # First see if there is a version file (included in release tarballs),
 # then try git-describe, then default.
 if test -f version
 then
 	VN=$(cat version) || VN="$DEF_VER"
-elif test -d ${GIT_DIR:-.git} -o -f .git &&
-	VN=$(git describe --match "v[0-9]*" HEAD 2>/dev/null) &&
-	case "$VN" in
-	*$LF*) (exit 1) ;;
-	v[0-9]*)
-		git update-index -q --refresh
-		test -z "$(git diff-index --name-only HEAD --)" ||
-		VN="$VN-dirty" ;;
-	esac
+elif test -d ${GIT_DIR:-.git} -o -f .git && describe
 then
 	VN=$(echo "$VN" | sed -e 's/-/./g');
 else
-- 
2.40.0+fc1
Previous: Felipe ContrerasNext: Felipe Contreras
Message 2 of 24 in “version-gen: complete revamp/rewrite”
  1. 00/18 version-gen: complete revamp/rewriteFelipe Contreras, Apr 14, 2023
  2. 01/18 version-gen: reorganizeFelipe Contreras, Apr 14, 2023
  3. 02/18 version-gen: trivial cleanupFelipe Contreras, Apr 14, 2023
  4. 03/18 version-gen: refactor default versionFelipe Contreras, Apr 14, 2023
  5. 04/18 version-gen: simplify v prefix removalFelipe Contreras, Apr 14, 2023
  6. 05/18 version-gen: simplify update checkFelipe Contreras, Apr 14, 2023
  7. 07/18 version-gen: simplify `git describe` checksFelipe Contreras, Apr 14, 2023
  8. 06/18 version-gen: remove redundant checkFelipe Contreras, Apr 14, 2023
  9. Todd ZullingerApr 14, 2023
  10. Felipe ContrerasApr 14, 2023
  11. Todd ZullingerApr 14, 2023
  12. Felipe ContrerasApr 14, 2023
  13. Todd ZullingerApr 14, 2023
  14. 08/18 version-gen: simplify dirty checkFelipe Contreras, Apr 14, 2023
  15. 09/18 version-gen: move describe fix into functionFelipe Contreras, Apr 14, 2023
  16. 11/18 version-gen: refactor describe functionFelipe Contreras, Apr 14, 2023
  17. 10/18 version-gen: describe and sed in one goFelipe Contreras, Apr 14, 2023
  18. 13/18 version-gen: move v fix into sedFelipe Contreras, Apr 14, 2023
  19. 15/18 version-gen: remove default versionFelipe Contreras, Apr 14, 2023
  20. 12/18 version-gen: do v fix only when necessaryFelipe Contreras, Apr 14, 2023
  21. 14/18 version-gen: refactor main functionalityFelipe Contreras, Apr 14, 2023
  22. 17/18 version-gen: get rid of GVF variableFelipe Contreras, Apr 14, 2023
  23. 16/18 version-gen: refactor GIT_VERSION stringFelipe Contreras, Apr 14, 2023
  24. 18/18 version-gen: generate proper interim versionsFelipe Contreras, Apr 14, 2023

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.