cgit

commit 8d07ad3388429b6c1361074cbac5dec6afee79d7

Author: John Keeping <john@keeping.me.uk>

t0001: validate Git -rcN version numbers correctly

When creating the GIT-VERSION-FILE that we use to test that the version
of Git in git/ is the same as in the CGit Makefile, Git applies the
transform "s/-/./g" to the version string.  This doesn't affect released
versions but does change RC version numbers such as 1.8.3-rc0.

While CGit should only refer to a released Git version in general, it is
useful to developers who want to test upcoming Git releases if the tests
do work with RCs, so change t0001 to apply the same transform to our
Makefile version before comparing it to the contents of
GIT-VERSION-FILE.

Signed-off-by: John Keeping <john@keeping.me.uk>

 tests/t0001-validate-git-versions.sh | 7 ++++++-


diff --git a/tests/t0001-validate-git-versions.sh b/tests/t0001-validate-git-versions.sh
index 416ac308d5b30996502038d216f9376d569c6f60..a65b35e5d294d9cfd239d48460518539bf5e60ae 100755
--- a/tests/t0001-validate-git-versions.sh
+++ b/tests/t0001-validate-git-versions.sh
@@ -11,10 +11,15 @@ 		p
 	}" ../../Makefile >makefile_version
 '
 
+# Note that Git's GIT-VERSION-GEN script applies "s/-/./g" to the version
+# string to produce the internal version in the GIT-VERSION-FILE, so we
+# must apply the same transformation to the version in the Makefile before
+# comparing them.
 test_expect_success 'test Git version matches Makefile' '
 	( cat ../../git/GIT-VERSION-FILE || echo "No GIT-VERSION-FILE" ) |
 	sed -e "s/GIT_VERSION[ 	]*=[ 	]*//" -e "s/\\.dirty$//" >git_version &&
-	test_cmp git_version makefile_version
+	sed -e "s/-/./g" makefile_version >makefile_git_version &&
+	test_cmp git_version makefile_git_version
 '
 
 test_expect_success 'test submodule version matches Makefile' '