Put git version in a file for between-release versioning.

This commit is contained in:
Wayne Davison
2020-08-01 00:15:06 -07:00
parent e83bbeb673
commit d73c26d2b7
4 changed files with 20 additions and 2 deletions

1
.gitignore vendored
View File

@@ -32,6 +32,7 @@ aclocal.m4
/rsync
/stunnel-rsyncd.conf
/shconfig
/git-version.h
/testdir
/tests-dont-exist
/testtmp

View File

@@ -99,7 +99,7 @@ rsync$(EXEEXT): $(OBJS)
$(OBJS): $(HEADERS)
$(CHECK_OBJS): $(HEADERS)
tls.o xattrs.o: lib/sysxattrs.h
options.o: latest-year.h help-rsync.h help-rsyncd.h
options.o: latest-year.h help-rsync.h help-rsyncd.h git-version.h
exclude.o: default-cvsignore.h
loadparm.o: default-dont-compress.h daemon-parm.h
@@ -132,6 +132,12 @@ rounding.h: rounding.c rsync.h proto.h
fi
@rm -f rounding.out
# While $(wildcard ...) is a GNU make idiom, at least other makes should just turn it into an
# empty string (we need something that will vanish if we're not building a git checkout).
# If you want an updated git version w/o GNU make, remove git-version.h after a pull.
git-version.h: mkgitver $(wildcard $(srcdir)/.git/logs/HEAD)
$(srcdir)/mkgitver
simd-checksum-x86_64.o: simd-checksum-x86_64.cpp
@$(srcdir)/cmdormsg disable-simd $(CXX) -I. $(CXXFLAGS) $(CPPFLAGS) -c -o $@ $(srcdir)/simd-checksum-x86_64.cpp

10
mkgitver Executable file
View File

@@ -0,0 +1,10 @@
#!/bin/sh
srcdir=`dirname $0`
if test -d "$srcdir/.git"; then
gitver=\"`git describe --tags`\" || exit 1
else
gitver=RSYNC_VERSION
fi
echo "#define RSYNC_GITVER $gitver" >git-version.h

View File

@@ -23,6 +23,7 @@
#include "itypes.h"
#include "ifuncs.h"
#include "latest-year.h"
#include "git-version.h"
#include <popt.h>
extern int module_id;
@@ -727,7 +728,7 @@ static void print_rsync_version(enum logcode f)
subprotocol = istring(".PR%d", SUBPROTOCOL_VERSION);
#endif
rprintf(f, "%s version %s protocol version %d%s\n",
RSYNC_NAME, RSYNC_VERSION, PROTOCOL_VERSION, subprotocol);
RSYNC_NAME, RSYNC_GITVER, PROTOCOL_VERSION, subprotocol);
rprintf(f, "Copyright (C) 1996-" LATEST_YEAR " by Andrew Tridgell, Wayne Davison, and others.\n");
rprintf(f, "Web site: https://rsync.samba.org/\n");