# 5c7d3c95 broke 026351a

2 messages from 2006-01-26 to 2006-01-26. Participants: Uwe Zeisberger.
Thread: https://gitlist.dev/t/3159

## Uwe Zeisberger, 2006-01-26 13:45

Subject: 5c7d3c95 broke 026351a
Message-ID: <20060126134521.GA11570@informatik.uni-freiburg.de>
URL: https://gitlist.dev/e/20060126134521.GA11570%40informatik.uni-freiburg.de

```
Hello,


zeisberger@io:~$ VN=$(nonexistentcmd) || echo lala
bash: nonexistentcmd: command not found
lala

uzeisberger@io:~$ VN=$(nonexistentcmd | sed 's/-/./g') || echo lala
bash: nonexistentcmd: command not found

The reason is (from bash(1)):

	The return status of a pipeline is the exit status of the last
	command, unless the pipefail option is enabled.

and the sed command is fine.

pipefail is not portable, i.e. Solaris' sh doesn't support it.

I'd suggest:

	if VN=$(git-describe --abbrev=4 HEAD 2>/dev/null); then
		VN=$(echo "$VN" | sed 's/-/./g');
	else
		VN=$(cat version) || VN="$DEF_VER";
	fi

This works with Solaris' sh and bash.

Best regards
Uwe

-- 
Uwe Zeisberger

exit vi, lesson V:
o : q ! CTRL-V <CR> <Esc> " d d d @ d

```

## Uwe Zeisberger, 2006-01-26 16:39

Subject: [PATCH] Make GIT-VERSION-GEN tolerate missing git describe command again
Message-ID: <1138293567831-git-send-email-Uwe_Zeisberger@digi.com>
URL: https://gitlist.dev/e/1138293567831-git-send-email-Uwe_Zeisberger%40digi.com
In-Reply-To: <20060126134521.GA11570@informatik.uni-freiburg.de>

```
Commit 5c7d3c95 broke that by making the git-describe command part of
a pipe.

Signed-off-by: Uwe Zeisberger <zeisberg@informatik.uni-freiburg.de>

---

 GIT-VERSION-GEN |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

b5763601050151e944cb58b3b0fe6f4aee88b47f
diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN
index e3cd9fa..72201be 100755
--- a/GIT-VERSION-GEN
+++ b/GIT-VERSION-GEN
@@ -5,9 +5,11 @@ DEF_VER=v1.1.GIT
 
 # First try git-describe, then see if there is a version file
 # (included in release tarballs), then default
-VN=$(git-describe --abbrev=4 HEAD 2>/dev/null | sed -e 's/-/./g') ||
-VN=$(cat version) ||
-VN="$DEF_VER"
+if VN=$(git-describe --abbrev=4 HEAD 2>/dev/null); then
+	VN=$(echo "$VN" | sed -e 's/-/./g');
+else
+	VN=$(cat version) || VN="$DEF_VER"
+fi
 
 VN=$(expr "$VN" : v*'\(.*\)')
 
-- 
1.1.4-g9acfd

```
