r22475 - gnucash/trunk - Minor changes to indicate svn is not the only/primary vcs used.
Geert Janssens
gjanssens at code.gnucash.org
Wed Oct 31 17:38:49 EDT 2012
Author: gjanssens
Date: 2012-10-31 17:38:49 -0400 (Wed, 31 Oct 2012)
New Revision: 22475
Trac: http://svn.gnucash.org/trac/changeset/22475
Added:
gnucash/trunk/util/gnc-vcs-info
Removed:
gnucash/trunk/util/gnc-svnversion
Modified:
gnucash/trunk/Makefile.am
gnucash/trunk/configure.ac
gnucash/trunk/intl-scm/Makefile.am
gnucash/trunk/packaging/win32/build_package.sh
gnucash/trunk/packaging/win32/build_package_git.sh
gnucash/trunk/packaging/win32/defaults.sh
gnucash/trunk/packaging/win32/dist-impl.sh
gnucash/trunk/packaging/win32/install-impl.sh
gnucash/trunk/packaging/win32/install.sh
gnucash/trunk/packaging/win32/reset.sh
gnucash/trunk/src/Makefile.am
gnucash/trunk/src/app-utils/Makefile.am
gnucash/trunk/src/bin/gnucash-bin.c
gnucash/trunk/src/bin/gnucash-strip-svn-datafile.sh
gnucash/trunk/src/core-utils/Makefile.am
gnucash/trunk/src/core-utils/gnc-main.h
gnucash/trunk/src/doc/python-bindings-doxygen.py
gnucash/trunk/src/engine/Makefile.am
gnucash/trunk/src/gnc-module/Makefile.am
gnucash/trunk/src/gnc-module/test/mod-bar/Makefile.am
gnucash/trunk/src/gnc-module/test/mod-baz/Makefile.am
gnucash/trunk/src/gnc-module/test/mod-foo/Makefile.am
gnucash/trunk/src/gnc/main.cpp
gnucash/trunk/src/gnome-utils/Makefile.am
gnucash/trunk/src/gnome-utils/gnc-main-window.c
gnucash/trunk/src/gnome-utils/gnc-splash.c
gnucash/trunk/src/gnome/Makefile.am
gnucash/trunk/src/html/Makefile.am
gnucash/trunk/src/optional/python-bindings/Makefile.am
gnucash/trunk/src/optional/python-bindings/gnucash_core.py
gnucash/trunk/src/pixmaps/Makefile.am
gnucash/trunk/src/report/report-gnome/Makefile.am
gnucash/trunk/src/report/report-system/Makefile.am
gnucash/trunk/src/test-core/Makefile.am
Log:
Minor changes to indicate svn is not the only/primary vcs used.
The code actually has provisions for svn, svk, git and bzr. Only svn and
git are actively used by the core developers though.
This involves changing
- filenames that contained svn while meant for multiple vcs's
- variable and macro names that are relevant for multiple vcs's
- the various locations where the vcs revision info is displayed
to the user, to mention the actual vcs used instead of standard "svn"
While at the last item, I also changed the text printed when gnucash is
called with the --version parameter, to reuse the translatable string
that is also used for the about dialog. This saves us one string to
translate.
Modified: gnucash/trunk/Makefile.am
===================================================================
--- gnucash/trunk/Makefile.am 2012-10-31 12:14:39 UTC (rev 22474)
+++ gnucash/trunk/Makefile.am 2012-10-31 21:38:49 UTC (rev 22475)
@@ -77,7 +77,7 @@
intltool-extract.in \
intltool-merge.in \
intltool-update.in \
- util/gnc-svnversion
+ util/gnc-vcs-info
## We borrow guile's convention and use @-...-@ as the substitution
## brackets here, instead of the usual @... at . This prevents autoconf
@@ -186,7 +186,7 @@
SVN = svn
XSLTPROC = xsltproc
-if BUILDING_FROM_SVN
+if BUILDING_FROM_VCS
# This rule will generate a ChangeLog of gnucash/trunk commits, plus
# all additional branches that are added in
# ./macros/svn2cl.xsl. (FIXME: Is the dependency on NEWS really a good
Modified: gnucash/trunk/configure.ac
===================================================================
--- gnucash/trunk/configure.ac 2012-10-31 12:14:39 UTC (rev 22474)
+++ gnucash/trunk/configure.ac 2012-10-31 21:38:49 UTC (rev 22475)
@@ -174,39 +174,39 @@
fi
fi
-# test whether we are building directly from SVN/SVK
-${srcdir}/util/gnc-svnversion ${srcdir} >/dev/null 2>&1
-if test $? = 0 -o "x${BUILDING_FROM_SVN}" = "xyes" ; then
- BUILDING_FROM_SVN=yes
+# test whether we are building directly from svn/svk/git/bzr
+${srcdir}/util/gnc-vcs-info -r ${srcdir} >/dev/null 2>&1
+if test $? = 0 -o "x${BUILDING_FROM_VCS}" = "xyes" ; then
+ BUILDING_FROM_VCS=yes
# We need at least version 1.3.31 of SWIG because
# that's when SWIG doesn't barf on the "inline" keyword in C headers anymore
AC_PROG_SWIG(1.3.31)
else
- BUILDING_FROM_SVN=no
- # Make sure we've got swig-runtime.h and gnc-svninfo.h
+ BUILDING_FROM_VCS=no
+ # Make sure we've got swig-runtime.h and gnc-vcs-info.h
AC_CHECK_FILE(${srcdir}/src/swig-runtime.h, [],
[AC_MSG_ERROR([
-It looks like you are NOT building from Subversion
-but I cannot find swig-runtime.h. Check your PATH
-and make sure we can find svnversion in your PATH!
+It looks like you are NOT building from Subversion, svk, git or bzr
+but I cannot find swig-runtime.h. Check your PATH and make sure
+we can find gnc-vcs-info in your PATH!
Either that or contact gnucash-devel at gnucash.org because
the tarball you downloaded is broken.
])])
- AC_CHECK_FILE(${srcdir}/src/core-utils/gnc-svninfo.h, [],
+ AC_CHECK_FILE(${srcdir}/src/core-utils/gnc-vcs-info.h, [],
[AC_MSG_ERROR([
-It looks like you are NOT building from Subversion
-but I cannot find gnc-svninfo.h. Check your PATH
-and make sure we can find svnversion in your PATH!
+It looks like you are NOT building from Subversion, svk, git or bzr
+but I cannot find gnc-vcs-info.h. Check your PATH and make sure
+we can find gnc-vcs-info in your PATH!
Either that or contact gnucash-devel at gnucash.org because
the tarball you downloaded is broken.
])])
fi
-AM_CONDITIONAL(BUILDING_FROM_SVN, test "x$BUILDING_FROM_SVN" = "xyes")
+AM_CONDITIONAL(BUILDING_FROM_VCS, test "x$BUILDING_FROM_VCS" = "xyes")
# Build dir adjustments
AM_CONDITIONAL(GNUCASH_SEPARATE_BUILDDIR, test "x${srcdir}" != "x.")
@@ -1112,9 +1112,9 @@
#warnFLAGS="${warnFLAGS} -Werror-implicit-function-declaration" # In -Wall
# error-on-warning should not be active in (stable) release tarballs
- if test "x$BUILDING_FROM_SVN" = "xyes"
+ if test "x$BUILDING_FROM_VCS" = "xyes"
then
- # This code is from SVN/SVK, so enable error-on-warning
+ # This code is from svn/svk/git/bzr, so enable error-on-warning
error_on_warning_as_default="yes"
else
# This is from a tarball, so disable error-on-warning
Modified: gnucash/trunk/intl-scm/Makefile.am
===================================================================
--- gnucash/trunk/intl-scm/Makefile.am 2012-10-31 12:14:39 UTC (rev 22474)
+++ gnucash/trunk/intl-scm/Makefile.am 2012-10-31 21:38:49 UTC (rev 22475)
@@ -12,7 +12,7 @@
SCMFILES = $(shell find ${abs_top_srcdir}/src -name test -prune -o -name '*.scm' -print | sort)
-if BUILDING_FROM_SVN
+if BUILDING_FROM_VCS
# This needs to be generated in srcdir
guile-strings.c: $(SCMFILES)
rm -f guile-strings.c
Modified: gnucash/trunk/packaging/win32/build_package.sh
===================================================================
--- gnucash/trunk/packaging/win32/build_package.sh 2012-10-31 12:14:39 UTC (rev 22474)
+++ gnucash/trunk/packaging/win32/build_package.sh 2012-10-31 21:38:49 UTC (rev 22475)
@@ -65,12 +65,12 @@
_BUILD_UDIR=`unix_path $BUILD_DIR`
_GNUCASH_UDIR=`unix_path $GNUCASH_DIR`
PKG_VERSION=`grep PACKAGE_VERSION ${_BUILD_UDIR}/config.h | cut -d" " -f3 | cut -d\" -f2 `
-SVN_REV=`grep GNUCASH_SVN_REV ${_BUILD_UDIR}/src/core-utils/gnc-svninfo.h | cut -d" " -f3 | cut -d\" -f2 `
+GNC_VCS_REV=`grep GNUCASH_VCS_REV ${_BUILD_UDIR}/src/core-utils/gnc-vcs-info.h | cut -d" " -f3 | cut -d\" -f2 `
# Choose the output filename based on our "build_from_tarball" setting
# Make sure this logic matches the logic in dist.sh!
if [ "$BUILD_FROM_TARBALL" = "no" ]; then
- SETUP_FILENAME="gnucash-${PKG_VERSION}-svn-r${SVN_REV}-setup.exe"
+ SETUP_FILENAME="gnucash-${PKG_VERSION}-svn-r${GNC_VCS_REV}-setup.exe"
else
SETUP_FILENAME="gnucash-${PKG_VERSION}-setup.exe"
fi
Modified: gnucash/trunk/packaging/win32/build_package_git.sh
===================================================================
--- gnucash/trunk/packaging/win32/build_package_git.sh 2012-10-31 12:14:39 UTC (rev 22474)
+++ gnucash/trunk/packaging/win32/build_package_git.sh 2012-10-31 21:38:49 UTC (rev 22475)
@@ -23,7 +23,7 @@
. functions.sh
. defaults.sh
-tag="${1:-$GIT_REV}"
+tag="${1:-$GNC_VCS_REV}"
# Determine where to upload to
# NOTE: this assumes "tag" to be either a tag or a branch, not a
@@ -69,7 +69,7 @@
_BUILD_UDIR=`unix_path $BUILD_DIR`
_GNUCASH_UDIR=`unix_path $GNUCASH_DIR`
PKG_VERSION=`grep PACKAGE_VERSION ${_BUILD_UDIR}/config.h | cut -d" " -f3 | cut -d\" -f2 `
-REVISION=`grep GNUCASH_SVN_REV ${_BUILD_UDIR}/src/core-utils/gnc-svninfo.h | cut -d" " -f3 | cut -d\" -f2 `
+REVISION=`grep GNUCASH_VCS_REV ${_BUILD_UDIR}/src/core-utils/gnc-vcs-info.h | cut -d" " -f3 | cut -d\" -f2 `
# Choose the output filename based on our "build_from_tarball" setting
# Make sure this logic matches the logic in dist.sh!
Modified: gnucash/trunk/packaging/win32/defaults.sh
===================================================================
--- gnucash/trunk/packaging/win32/defaults.sh 2012-10-31 12:14:39 UTC (rev 22474)
+++ gnucash/trunk/packaging/win32/defaults.sh 2012-10-31 21:38:49 UTC (rev 22475)
@@ -42,11 +42,11 @@
set_default REPOS_TYPE "git"
if [ "$REPOS_TYPE" = "git" ]; then
- set_default GIT_REV "trunk"
+ set_default GNC_VCS_REV "trunk"
set_default REPOS_URL "git://github.com/Gnucash/gnucash.git"
elif [ "$REPOS_TYPE" = "svn" ]; then
# latest revision that should compile, use HEAD or vwxyz
- set_default SVN_REV "HEAD"
+ set_default GNC_VCS_REV "HEAD"
set_default REPOS_URL "http://svn.gnucash.org/repo/gnucash/trunk"
fi
fi
@@ -409,11 +409,11 @@
set_default DOCBOOK_XSL_URL "$SF_MIRROR/docbook/docbook-xsl-1.76.1.zip"
set_default DOCBOOK_DTD_URL "http://www.oasis-open.org/docbook/xml/4.1.2/docbkx412.zip"
if [ "$REPOS_TYPE" = "git" ]; then
- set_default DOCS_REV "trunk"
+ set_default DOCS_VCS_REV "trunk"
set_default DOCS_URL "git://github.com/Gnucash/gnucash-docs.git"
elif [ "$REPOS_TYPE" = "svn" ]; then
# latest revision that should compile, use HEAD or vwxyz
- set_default DOCS_REV "HEAD"
+ set_default DOCS_VCS_REV "HEAD"
set_default DOCS_URL "http://svn.gnucash.org/repo/gnucash-docs/trunk"
fi
set_default UPDATE_DOCS yes
Modified: gnucash/trunk/packaging/win32/dist-impl.sh
===================================================================
--- gnucash/trunk/packaging/win32/dist-impl.sh 2012-10-31 12:14:39 UTC (rev 22474)
+++ gnucash/trunk/packaging/win32/dist-impl.sh 2012-10-31 21:38:49 UTC (rev 22475)
@@ -297,7 +297,7 @@
if [ "$BUILD_FROM_TARBALL" = "no" ]; then
# And changing output filename
PKG_VERSION=`grep PACKAGE_VERSION ${_BUILD_UDIR}/config.h | cut -d" " -f3 | cut -d\" -f2 `
- REVISION=`grep GNUCASH_SVN_REV ${_BUILD_UDIR}/src/core-utils/gnc-svninfo.h | cut -d" " -f3 | cut -d\" -f2 `
+ REVISION=`grep GNUCASH_VCS_REV ${_BUILD_UDIR}/src/core-utils/gnc-vcs-info.h | cut -d" " -f3 | cut -d\" -f2 `
if [ "$REPOS_TYPE" = "svn" ]; then
SETUP_FILENAME="gnucash-${PKG_VERSION}-${REPOS_TYPE}-r${REVISION}-setup.exe"
else
Modified: gnucash/trunk/packaging/win32/install-impl.sh
===================================================================
--- gnucash/trunk/packaging/win32/install-impl.sh 2012-10-31 12:14:39 UTC (rev 22474)
+++ gnucash/trunk/packaging/win32/install-impl.sh 2012-10-31 21:38:49 UTC (rev 22475)
@@ -1582,10 +1582,10 @@
if [ "$UPDATE_DOCS" = "yes" ]; then
if [ -x .svn ]; then
setup "Docs - Update repository (svn)"
- svn up -r $DOCS_REV
+ svn up -r $DOCS_VCS_REV
else
setup "Docs - Checkout repository (svn)"
- svn co -r $DOCS_REV $DOCS_URL .
+ svn co -r $DOCS_VCS_REV $DOCS_URL .
fi
fi
}
@@ -1599,7 +1599,7 @@
else
setup "Docs - Checkout repository (git)"
$GIT_CMD clone $DOCS_URL .
- $GIT_CMD checkout $DOCS_REV
+ $GIT_CMD checkout $DOCS_VCS_REV
fi
fi
}
Modified: gnucash/trunk/packaging/win32/install.sh
===================================================================
--- gnucash/trunk/packaging/win32/install.sh 2012-10-31 12:14:39 UTC (rev 22474)
+++ gnucash/trunk/packaging/win32/install.sh 2012-10-31 21:38:49 UTC (rev 22475)
@@ -83,7 +83,7 @@
add_step inst_guile
if [ "$CROSS_COMPILE" != "yes" ]; then
add_step inst_svn
-add_step inst_git
+ add_step inst_git
fi
add_step inst_gnutls
add_step inst_libxslt
Modified: gnucash/trunk/packaging/win32/reset.sh
===================================================================
--- gnucash/trunk/packaging/win32/reset.sh 2012-10-31 12:14:39 UTC (rev 22474)
+++ gnucash/trunk/packaging/win32/reset.sh 2012-10-31 21:38:49 UTC (rev 22475)
@@ -26,6 +26,7 @@
add_precious_path msys $MSYS_DIR
add_precious_path wget $WGET_DIR
add_precious_path svn $SVN_DIR
+add_precious_path git $GIT_DIR
add_precious_path repos $REPOS_DIR
add_precious_path hh $HH_DIR
Modified: gnucash/trunk/src/Makefile.am
===================================================================
--- gnucash/trunk/src/Makefile.am 2012-10-31 12:14:39 UTC (rev 22474)
+++ gnucash/trunk/src/Makefile.am 2012-10-31 21:38:49 UTC (rev 22475)
@@ -53,7 +53,7 @@
noinst_DATA = gnc-test-env
-if BUILDING_FROM_SVN
+if BUILDING_FROM_VCS
swig-runtime.h:
$(SWIG) -guile -external-runtime $@
endif
Modified: gnucash/trunk/src/app-utils/Makefile.am
===================================================================
--- gnucash/trunk/src/app-utils/Makefile.am 2012-10-31 12:14:39 UTC (rev 22474)
+++ gnucash/trunk/src/app-utils/Makefile.am 2012-10-31 21:38:49 UTC (rev 22475)
@@ -93,7 +93,7 @@
${GUILE_LIBS} \
${GLIB_LIBS}
-if BUILDING_FROM_SVN
+if BUILDING_FROM_VCS
swig-app-utils-guile.c: app-utils.i ${top_srcdir}/src/base-typemaps.i
$(SWIG) -guile $(SWIG_ARGS) -Linkage module \
-I${top_srcdir}/src -o $@ $<
Modified: gnucash/trunk/src/bin/gnucash-bin.c
===================================================================
--- gnucash/trunk/src/bin/gnucash-bin.c 2012-10-31 12:14:39 UTC (rev 22474)
+++ gnucash/trunk/src/bin/gnucash-bin.c 2012-10-31 21:38:49 UTC (rev 22475)
@@ -65,8 +65,8 @@
# include <Foundation/Foundation.h>
#endif
-/* GNUCASH_SVN is defined whenever we're building from an SVN tree */
-#ifdef GNUCASH_SVN
+/* GNUCASH_VCS is defined whenever we're building from an svn/svk/git/bzr tree */
+#ifdef GNUCASH_VCS
static int is_development_version = TRUE;
#else
static int is_development_version = FALSE;
@@ -520,21 +520,32 @@
if (gnucash_show_version)
{
+ gchar *fixed_message;
+
if (is_development_version)
{
- /* Translators: %s is the version number */
- g_print(_("GnuCash %s development version"), VERSION);
+ fixed_message = g_strdup_printf(_("GnuCash %s development version"), VERSION);
+
+ /* Translators: 1st %s is a fixed message, which is translated independently;
+ 2nd %s is the vcs type (svn/svk/git/bzr);
+ 3rd %s is the vcs revision number;
+ 4th %s is the build date */
+ g_print ( _("%s\nThis copy was built from %s rev %s on %s."),
+ fixed_message, GNUCASH_VCS, GNUCASH_VCS_REV,
+ GNUCASH_BUILD_DATE );
}
else
{
- /* Translators: %s is the version number */
- g_print(_("GnuCash %s"), VERSION);
+ fixed_message = g_strdup_printf(_("GnuCash %s"), VERSION);
+
+ /* Translators: 1st %s is a fixed message, which is translated independently;
+ 2nd %s is the vcs (svn/svk/git/bzr) revision number;
+ 3rd %s is the build date */
+ g_print ( _("%s\nThis copy was built from rev %s on %s."),
+ fixed_message, GNUCASH_VCS_REV, GNUCASH_BUILD_DATE );
}
g_print("\n");
- /* Translators: 1st %s is the build date; 2nd %s is the SVN
- revision number */
- g_print(_("Built %s from r%s"), GNUCASH_BUILD_DATE, GNUCASH_SVN_REV);
- g_print("\n");
+ g_free (fixed_message);
exit(0);
}
Modified: gnucash/trunk/src/bin/gnucash-strip-svn-datafile.sh
===================================================================
--- gnucash/trunk/src/bin/gnucash-strip-svn-datafile.sh 2012-10-31 12:14:39 UTC (rev 22474)
+++ gnucash/trunk/src/bin/gnucash-strip-svn-datafile.sh 2012-10-31 21:38:49 UTC (rev 22475)
@@ -1,12 +1,12 @@
#!/bin/sh
# This script strips data elements from a gnucash data file that have
-# been introduced in the SVN-trunk version of gnucash, but are not
+# been introduced in the trunk version of gnucash, but are not
# backwards-compatible to older versions of gnucash.
ORIGFILE=$1
ORIGTMPFILE="${ORIGFILE}.gunzip"
-BKUPFILE="${ORIGFILE}.svn.gz"
+BKUPFILE="${ORIGFILE}.bkp.gz"
TMPFILE="${ORIGFILE}.tmp"
if [ -f ${ORIGFILE} ] ; then
Modified: gnucash/trunk/src/core-utils/Makefile.am
===================================================================
--- gnucash/trunk/src/core-utils/Makefile.am 2012-10-31 12:14:39 UTC (rev 22474)
+++ gnucash/trunk/src/core-utils/Makefile.am 2012-10-31 21:38:49 UTC (rev 22475)
@@ -40,7 +40,7 @@
gnc-path.h \
gnc-uri-utils.h
-if BUILDING_FROM_SVN
+if BUILDING_FROM_VCS
swig-core-utils-guile.c: core-utils.i ${top_srcdir}/src/base-typemaps.i
$(SWIG) -guile $(SWIG_ARGS) -Linkage module \
-I${top_srcdir}/src -o $@ $<
@@ -107,7 +107,7 @@
noinst_DATA = .scm-links
BUILT_SOURCES = gncla-dir.h gnc-version.h
-EXTRA_DIST = $(gncmod_DATA) core-utils.i gncla-dir.h.in gnc-svninfo.h
+EXTRA_DIST = $(gncmod_DATA) core-utils.i gncla-dir.h.in gnc-vcs-info.h
clean-local:
rm -rf gnucash
@@ -136,39 +136,39 @@
-cmp -s _gnc-version.h gnc-version.h || cp _gnc-version.h gnc-version.h
-rm -f _gnc-version.h
-_gnc-version.h: gnc-svninfo.h Makefile
- @echo "/* Autogenerated. Do not change. */" > _gnc-version.h
- @echo "#ifndef GNC_VERSION_H" >> _gnc-version.h
- @echo "#define GNC_VERSION_H" >> _gnc-version.h
- @echo "" >> _gnc-version.h
- @svninfo=`${top_srcdir}/util/gnc-svnversion ${top_srcdir}` ; \
+_gnc-version.h: gnc-vcs-info.h Makefile
+ @echo "/* Autogenerated. Do not change. */" > _gnc-version.h
+ @echo "#ifndef GNC_VERSION_H" >> _gnc-version.h
+ @echo "#define GNC_VERSION_H" >> _gnc-version.h
+ @echo "" >> _gnc-version.h
+ @vcs_info=`${top_srcdir}/util/gnc-vcs-info -t ${top_srcdir}` ; \
if [ $$? = 0 ] ; then \
- echo "#define GNUCASH_SVN 1" >> _gnc-version.h ; \
+ echo "#define GNUCASH_VCS \"$$vcs_info\"" >> _gnc-version.h ; \
fi
@echo "#define GNUCASH_BUILD_DATE \"`date +%Y-%m-%d`\"" >> _gnc-version.h
- @echo "#include \"gnc-svninfo.h\"" >> _gnc-version.h
- @echo "#endif" >> _gnc-version.h
+ @echo "#include \"gnc-vcs-info.h\"" >> _gnc-version.h
+ @echo "#endif" >> _gnc-version.h
-gnc-svninfo.h: _gnc-svninfo.h
- -if [ ! -f gnc-svninfo.h ]; then cp _gnc-svninfo.h gnc-svninfo.h; fi
- -cmp -s _gnc-svninfo.h gnc-svninfo.h || cp _gnc-svninfo.h gnc-svninfo.h
- -rm -f _gnc-svninfo.h
+gnc-vcs-info.h: _gnc-vcs-info.h
+ -if [ ! -f gnc-vcs-info.h ]; then cp _gnc-vcs-info.h gnc-vcs-info.h; fi
+ -cmp -s _gnc-vcs-info.h gnc-vcs-info.h || cp _gnc-vcs-info.h gnc-vcs-info.h
+ -rm -f _gnc-vcs-info.h
-_gnc-svninfo.h: Makefile
- @svninfo=`${top_srcdir}/util/gnc-svnversion ${top_srcdir}` ; \
+_gnc-vcs-info.h: Makefile
+ @vcs_info=`${top_srcdir}/util/gnc-vcs-info -r ${top_srcdir}` ; \
if [ $$? = 0 ] ; then \
- if [ -z "$$svninfo" ] ; then \
- echo "gnc-svnversion failed. figure out why." ; \
- echo "can't determine svn revision from ${top_srcdir}." ; \
+ if [ -z "$$vcs_info" ] ; then \
+ echo "gnc-vcs-info failed. figure out why." ; \
+ echo "can't determine svn/svk/git/bzr revision from ${top_srcdir}." ; \
exit 1 ; \
fi ; \
- echo "/* Autogenerated. Do not change. */" > _gnc-svninfo.h ; \
- echo "#define GNUCASH_SVN_REV \"$$svninfo\"" >> _gnc-svninfo.h ; \
+ echo "/* Autogenerated. Do not change. */" > _gnc-vcs-info.h ; \
+ echo "#define GNUCASH_VCS_REV \"$$vcs_info\"" >> _gnc-vcs-info.h ; \
else \
- if [ -r $(srcdir)/gnc-svninfo.h ] ; then \
- cp $(srcdir)/gnc-svninfo.h _gnc-svninfo.h ; \
+ if [ -r $(srcdir)/gnc-vcs-info.h ] ; then \
+ cp $(srcdir)/gnc-vcs-info.h _gnc-vcs-info.h ; \
else \
- echo "You're building from SVN... But your build system is broken" ; \
+ echo "You're building from svn/svk/git/bzr... But your build system is broken" ; \
echo "Don't do that. Complain to your build-system creator." ; \
exit 1 ; \
fi ; \
Modified: gnucash/trunk/src/core-utils/gnc-main.h
===================================================================
--- gnucash/trunk/src/core-utils/gnc-main.h 2012-10-31 12:14:39 UTC (rev 22474)
+++ gnucash/trunk/src/core-utils/gnc-main.h 2012-10-31 21:38:49 UTC (rev 22475)
@@ -42,6 +42,4 @@
guint gnc_get_long_version( void );
-gint gnc_get_svn_version(void);
-
#endif /* GNC_MAIN_H */
Modified: gnucash/trunk/src/doc/python-bindings-doxygen.py
===================================================================
--- gnucash/trunk/src/doc/python-bindings-doxygen.py 2012-10-31 12:14:39 UTC (rev 22474)
+++ gnucash/trunk/src/doc/python-bindings-doxygen.py 2012-10-31 21:38:49 UTC (rev 22475)
@@ -27,9 +27,6 @@
## @page python_bindings_page Python bindings
# Also have a look at group @ref python_bindings.
#
-# For the moment the python-bindings are only available via svn. They may be included
-# in GnuCash 2.4.
-#
# They can be found in src/optional/python-bindings.
#
# To enable them in the compilation process you have to add --enable-python-bindings
@@ -69,8 +66,8 @@
# @li gnucash_core_c.py
#
# If you have generated your own local doxygen documentation (by "make doc") after having compiled the python-bindings, doxygen
-# will include SWIGs output-files. The official version at http://svn.gnucash.org/docs/HEAD/ does not include
-# these files. It's actually quite interesting to have a look at them through doxygen, because they contain all that you can
+# will include SWIGs output-files.
+# It's actually quite interesting to have a look at them through doxygen, because they contain all that you can
# access from python.
#
# This c-style-api is the bottom layer. It is a quite raw extract and close to the original source. Some more details are described further down.
@@ -131,5 +128,5 @@
# @li There is a page in the GnuCash wiki at http://wiki.gnucash.org/wiki/Python
# @li You may also have a look into the archives of gnucash-devel at gnucash.org.
# @li On Bugzilla there is also some interesting talk regarding the development process.
-# @li Then you can use the abilitys of svn to see the history of the code by @code svn log @endcode done in the directory of the python-bindings.
+# @li Then you can use the abilities of svn to see the history of the code by @code svn log @endcode done in the directory of the python-bindings.
#
Modified: gnucash/trunk/src/engine/Makefile.am
===================================================================
--- gnucash/trunk/src/engine/Makefile.am 2012-10-31 12:14:39 UTC (rev 22474)
+++ gnucash/trunk/src/engine/Makefile.am 2012-10-31 21:38:49 UTC (rev 22475)
@@ -188,7 +188,7 @@
noinst_DATA = .scm-links
-if BUILDING_FROM_SVN
+if BUILDING_FROM_VCS
# The generated file depends on various libqof headers. Out of
# laziness I only include a few here - more might be needed
Modified: gnucash/trunk/src/gnc/main.cpp
===================================================================
--- gnucash/trunk/src/gnc/main.cpp 2012-10-31 12:14:39 UTC (rev 22474)
+++ gnucash/trunk/src/gnc/main.cpp 2012-10-31 21:38:49 UTC (rev 22475)
@@ -71,8 +71,8 @@
#define APP_GNUCASH "/apps/gnucash"
-/* GNUCASH_SVN is defined whenever we're building from an SVN tree */
-#ifdef GNUCASH_SVN
+/* GNUCASH_VCS is defined whenever we're building from an svn/svk/git/bzr tree */
+#ifdef GNUCASH_VCS
static int is_development_version = TRUE;
#else
static int is_development_version = FALSE;
Modified: gnucash/trunk/src/gnc-module/Makefile.am
===================================================================
--- gnucash/trunk/src/gnc-module/Makefile.am 2012-10-31 12:14:39 UTC (rev 22474)
+++ gnucash/trunk/src/gnc-module/Makefile.am 2012-10-31 21:38:49 UTC (rev 22475)
@@ -29,7 +29,7 @@
noinst_DATA = .scm-links
-if BUILDING_FROM_SVN
+if BUILDING_FROM_VCS
swig-gnc-module.c: gnc-module.i ${top_srcdir}/src/base-typemaps.i
$(SWIG) -guile $(SWIG_ARGS) -Linkage module \
-I${top_srcdir}/src -o $@ $<
Modified: gnucash/trunk/src/gnc-module/test/mod-bar/Makefile.am
===================================================================
--- gnucash/trunk/src/gnc-module/test/mod-bar/Makefile.am 2012-10-31 12:14:39 UTC (rev 22474)
+++ gnucash/trunk/src/gnc-module/test/mod-bar/Makefile.am 2012-10-31 21:38:49 UTC (rev 22475)
@@ -22,7 +22,7 @@
$(GUILE_LIBS) \
$(GLIB_LIBS)
-if BUILDING_FROM_SVN
+if BUILDING_FROM_VCS
swig-bar.c: bar.i
$(SWIG) -guile $(SWIG_ARGS) -Linkage module -o $@ $<
endif
Modified: gnucash/trunk/src/gnc-module/test/mod-baz/Makefile.am
===================================================================
--- gnucash/trunk/src/gnc-module/test/mod-baz/Makefile.am 2012-10-31 12:14:39 UTC (rev 22474)
+++ gnucash/trunk/src/gnc-module/test/mod-baz/Makefile.am 2012-10-31 21:38:49 UTC (rev 22475)
@@ -26,7 +26,7 @@
$(GUILE_LIBS) \
$(GLIB_LIBS)
-if BUILDING_FROM_SVN
+if BUILDING_FROM_VCS
swig-baz.c: baz.i
$(SWIG) -guile $(SWIG_ARGS) -Linkage module -o $@ $<
endif
Modified: gnucash/trunk/src/gnc-module/test/mod-foo/Makefile.am
===================================================================
--- gnucash/trunk/src/gnc-module/test/mod-foo/Makefile.am 2012-10-31 12:14:39 UTC (rev 22474)
+++ gnucash/trunk/src/gnc-module/test/mod-foo/Makefile.am 2012-10-31 21:38:49 UTC (rev 22475)
@@ -27,7 +27,7 @@
foo.i \
gnucash/foo.scm
-if BUILDING_FROM_SVN
+if BUILDING_FROM_VCS
swig-foo.c: foo.i
$(SWIG) -guile $(SWIG_ARGS) -Linkage module -o $@ $<
endif
Modified: gnucash/trunk/src/gnome/Makefile.am
===================================================================
--- gnucash/trunk/src/gnome/Makefile.am 2012-10-31 12:14:39 UTC (rev 22474)
+++ gnucash/trunk/src/gnome/Makefile.am 2012-10-31 21:38:49 UTC (rev 22475)
@@ -98,7 +98,7 @@
window-reconcile.h \
window-autoclear.h
-if BUILDING_FROM_SVN
+if BUILDING_FROM_VCS
swig-gnome.c: gnome.i dialog-progress.h ${top_srcdir}/src/base-typemaps.i
$(SWIG) -guile $(SWIG_ARGS) -Linkage module \
-I${top_srcdir}/src -o $@ $<
Modified: gnucash/trunk/src/gnome-utils/Makefile.am
===================================================================
--- gnucash/trunk/src/gnome-utils/Makefile.am 2012-10-31 12:14:39 UTC (rev 22474)
+++ gnucash/trunk/src/gnome-utils/Makefile.am 2012-10-31 21:38:49 UTC (rev 22475)
@@ -212,7 +212,7 @@
libgncmod_gnome_utils_la_LIBADD += -lX11
endif
-if BUILDING_FROM_SVN
+if BUILDING_FROM_VCS
swig-gnome-utils.c: gnome-utils.i \
${top_srcdir}/src/base-typemaps.i
$(SWIG) -guile $(SWIG_ARGS) -Linkage module \
Modified: gnucash/trunk/src/gnome-utils/gnc-main-window.c
===================================================================
--- gnucash/trunk/src/gnome-utils/gnc-main-window.c 2012-10-31 12:14:39 UTC (rev 22474)
+++ gnucash/trunk/src/gnome-utils/gnc-main-window.c 2012-10-31 21:38:49 UTC (rev 22475)
@@ -4122,13 +4122,21 @@
authors = get_file_strsplit("AUTHORS");
documenters = get_file_strsplit("DOCUMENTERS");
license = get_file("LICENSE");
-#ifdef GNUCASH_SVN
+#ifdef GNUCASH_VCS
/* Development version */
- message = g_strdup_printf(_("%s This copy was built from svn r%s on %s."),
- fixed_message, GNUCASH_SVN_REV, GNUCASH_BUILD_DATE);
+ /* Translators: 1st %s is a fixed message, which is translated independently;
+ 2nd %s is the vcs type (svn/svk/git/bzr);
+ 3rd %s is the vcs revision number;
+ 4th %s is the build date */
+ message = g_strdup_printf(_("%s\nThis copy was built from %s rev %s on %s."),
+ fixed_message, GNUCASH_VCS, GNUCASH_VCS_REV,
+ GNUCASH_BUILD_DATE);
#else
- message = g_strdup_printf(_("%s This copy was built from r%s on %s."),
- fixed_message, GNUCASH_SVN_REV, GNUCASH_BUILD_DATE);
+ /* Translators: 1st %s is a fixed message, which is translated independently;
+ 2nd %s is the vcs (svn/svk/git/bzr) revision number;
+ 3rd %s is the build date */
+ message = g_strdup_printf(_("%s\nThis copy was built from rev %s on %s."),
+ fixed_message, GNUCASH_VCS_REV, GNUCASH_BUILD_DATE);
#endif
gtk_show_about_dialog
(GTK_WINDOW (window),
Modified: gnucash/trunk/src/gnome-utils/gnc-splash.c
===================================================================
--- gnucash/trunk/src/gnome-utils/gnc-splash.c 2012-10-31 12:14:39 UTC (rev 22474)
+++ gnucash/trunk/src/gnome-utils/gnc-splash.c 2012-10-31 21:38:49 UTC (rev 22475)
@@ -85,14 +85,22 @@
frame = gtk_frame_new (NULL);
vbox = gtk_vbox_new (FALSE, 3);
hbox = gtk_hbox_new (FALSE, 3);
-#ifdef GNUCASH_SVN
+#ifdef GNUCASH_VCS
/* Development version */
- ver_string = g_strdup_printf(_("Version: GnuCash-%s svn (r%s built %s)"),
- VERSION, GNUCASH_SVN_REV, GNUCASH_BUILD_DATE);
+ /* Translators: 1st %s is the GnuCash version (eg 2.4.11);
+ 2nd %s is the vcs type (svn/svk/git/bzr);
+ 3rd %s is the vcs revision number;
+ 4th %s is the build date */
+ ver_string = g_strdup_printf(_("Version: GnuCash-%s %s (rev %s built %s)"),
+ VERSION, GNUCASH_VCS, GNUCASH_VCS_REV,
+ GNUCASH_BUILD_DATE);
#else
/* Dist Tarball */
- ver_string = g_strdup_printf(_("Version: GnuCash-%s (r%s built %s)"),
- VERSION, GNUCASH_SVN_REV, GNUCASH_BUILD_DATE);
+ /* Translators: 1st %s is the GnuCash version (eg 2.4.11);
+ 2nd %s is the vcs (svn/svk/git/bzr) revision number;
+ 3rd %s is the build date */
+ ver_string = g_strdup_printf(_("Version: GnuCash-%s (rev %s built %s)"),
+ VERSION, GNUCASH_VCS_REV, GNUCASH_BUILD_DATE);
#endif
version = gtk_label_new(NULL);
Modified: gnucash/trunk/src/html/Makefile.am
===================================================================
--- gnucash/trunk/src/html/Makefile.am 2012-10-31 12:14:39 UTC (rev 22474)
+++ gnucash/trunk/src/html/Makefile.am 2012-10-31 21:38:49 UTC (rev 22475)
@@ -61,7 +61,7 @@
${GUILE_LIBS} \
${REGEX_LIBS}
-if BUILDING_FROM_SVN
+if BUILDING_FROM_VCS
swig-gnc-html.c: gnc-html.i gnc-html.h \
${top_srcdir}/src/base-typemaps.i
$(SWIG) -guile $(SWIG_ARGS) -Linkage module \
Modified: gnucash/trunk/src/optional/python-bindings/Makefile.am
===================================================================
--- gnucash/trunk/src/optional/python-bindings/Makefile.am 2012-10-31 12:14:39 UTC (rev 22474)
+++ gnucash/trunk/src/optional/python-bindings/Makefile.am 2012-10-31 21:38:49 UTC (rev 22475)
@@ -37,7 +37,7 @@
${top_builddir}/src/libqof/qof/libgnc-qof.la \
${top_builddir}/src/gnc-module/libgnc-module.la \
${top_builddir}/src/engine/libgncmod-engine.la
-if BUILDING_FROM_SVN
+if BUILDING_FROM_VCS
_gnucash_core_c_includes= \
${top_builddir}/config.h \
${top_srcdir}/src/libqof/qof/qofsession.h \
Modified: gnucash/trunk/src/optional/python-bindings/gnucash_core.py
===================================================================
--- gnucash/trunk/src/optional/python-bindings/gnucash_core.py 2012-10-31 12:14:39 UTC (rev 22474)
+++ gnucash/trunk/src/optional/python-bindings/gnucash_core.py 2012-10-31 21:38:49 UTC (rev 22475)
@@ -298,7 +298,7 @@
commodity with respect to another commodity.
For example, a given price might represent the value of LNUX in USD on 2001-02-03.
- See also http://svn.gnucash.org/docs/head/group__Price.html
+ See also http://code.gnucash.org/docs/head/group__Price.html
'''
pass
GncPrice.add_methods_with_prefix('gnc_price_')
@@ -317,7 +317,7 @@
Every QofBook contains a GNCPriceDB, accessible via gnc_pricedb_get_db.
Definition in file gnc-pricedb.h.
- See also http://svn.gnucash.org/docs/head/gnc-pricedb_8h.html
+ See also http://code.gnucash.org/docs/head/gnc-pricedb_8h.html
'''
GncPriceDB.add_methods_with_prefix('gnc_pricedb_')
Modified: gnucash/trunk/src/pixmaps/Makefile.am
===================================================================
--- gnucash/trunk/src/pixmaps/Makefile.am 2012-10-31 12:14:39 UTC (rev 22474)
+++ gnucash/trunk/src/pixmaps/Makefile.am 2012-10-31 21:38:49 UTC (rev 22475)
@@ -78,7 +78,7 @@
gncscalableicondir = ${datadir}/icons/hicolor/scalable/apps
gncscalableicon_DATA = scalable/gnucash-icon.svg
-if BUILDING_FROM_SVN
+if BUILDING_FROM_VCS
256x256/gnucash-icon.png: gnucash-icon-256x256.png
-mkdir -p 256x256
cp ${srcdir}/gnucash-icon-256x256.png 256x256/gnucash-icon.png
@@ -160,8 +160,8 @@
${ico_files_lr} \
${gncscalableicon_DATA}
-# Only clean up if we're building from SVN
-if BUILDING_FROM_SVN
+# Only clean up if we're building from svn/svk/git/bzr
+if BUILDING_FROM_VCS
clean-local:
-rm -rf 256x256 128x128 96x96 64x64 48x48 32x32 24x24 22x22 16x16 scalable
endif
Modified: gnucash/trunk/src/report/report-gnome/Makefile.am
===================================================================
--- gnucash/trunk/src/report/report-gnome/Makefile.am 2012-10-31 12:14:39 UTC (rev 22474)
+++ gnucash/trunk/src/report/report-gnome/Makefile.am 2012-10-31 21:38:49 UTC (rev 22475)
@@ -51,7 +51,7 @@
${GCONF_LIBS} \
${GLIB_LIBS}
-if BUILDING_FROM_SVN
+if BUILDING_FROM_VCS
swig-report-gnome.c: report-gnome.i ${top_srcdir}/src/base-typemaps.i
$(SWIG) -guile $(SWIG_ARGS) -Linkage module \
-I${top_srcdir}/src -o $@ $<
Modified: gnucash/trunk/src/report/report-system/Makefile.am
===================================================================
--- gnucash/trunk/src/report/report-system/Makefile.am 2012-10-31 12:14:39 UTC (rev 22474)
+++ gnucash/trunk/src/report/report-system/Makefile.am 2012-10-31 21:38:49 UTC (rev 22475)
@@ -20,7 +20,7 @@
${GLIB_LIBS} \
${GTK_LIBS}
-if BUILDING_FROM_SVN
+if BUILDING_FROM_VCS
swig-report-system.c: report-system.i ${top_srcdir}/src/base-typemaps.i
$(SWIG) -guile $(SWIG_ARGS) -Linkage module \
-I${top_srcdir}/src -o $@ $<
Modified: gnucash/trunk/src/test-core/Makefile.am
===================================================================
--- gnucash/trunk/src/test-core/Makefile.am 2012-10-31 12:14:39 UTC (rev 22474)
+++ gnucash/trunk/src/test-core/Makefile.am 2012-10-31 21:38:49 UTC (rev 22475)
@@ -23,7 +23,7 @@
libtest_core_la_LDFLAGS = \
-rpath ${exec-prefix}/lib
-if BUILDING_FROM_SVN
+if BUILDING_FROM_VCS
swig-unittest-support-guile.c: unittest-support.i $(top_srcdir)/src/base-typemaps.i
$(SWIG) -guile $(SWIG_ARGS) -Linkage module \
-I${top_srcdir}/src \
Deleted: gnucash/trunk/util/gnc-svnversion
===================================================================
--- gnucash/trunk/util/gnc-svnversion 2012-10-31 12:14:39 UTC (rev 22474)
+++ gnucash/trunk/util/gnc-svnversion 2012-10-31 21:38:49 UTC (rev 22475)
@@ -1,127 +0,0 @@
-#!/bin/sh
-#
-# Usage:
-# gnc-svnversion <srcdir>
-#
-# Prints the revision number to stdout and exits 0 on success
-# exits with errorcode 1 if we're not in an svn, svk or git checkout
-#
-# Written By: Derek Atkins <derek at ihtfp.com>
-#
-# $Id$
-
-# Print an error message and then exit
-my_die()
-{
- echo "$1"
- exit 1
-}
-
-if [ "$BUILDING_FROM_SVN" = "0" -o \
- "$BUILDING_FROM_SVN" = "no" -o \
- "$BUILDING_FROM_SVN" = "false" ]; then
- # Something outside of the Gnucash build system knows that we
- # are NOT building from svn, svk or git checkout.
- # We should believe it (needed by packagers that maintain the
- # packaging code in svn, svk or git too)
- echo "Environment variable BUILDING_FROM_SVN=$BUILDING_FROM_SVN" >&2
- exit 1
-fi
-
-# Make sure we have a srcdir
-[ -n "$1" ] || my_die "Usage: $0 <srcdir>"
-[ -d "$1" ] || my_die "$0: $1: not a directory"
-
-# Find the real srcdir.
-# This handles the case of a symlink (lndir) tree
-# $real_srcdir will hold the actual source dir
-if test -h "$1"/Makefile.am
-then
- tmp_srcdir=`readlink "$1"/Makefile.am`
- real_srcdir="$1/`dirname ${tmp_srcdir}`"
-else
- real_srcdir="$1"
-fi
-
-# Test if this code is an SVN Checkout
-# If this is an svn checkout we assume you have svnversion!
-if test -d "${real_srcdir}"/.svn
-then
- # svnversion without options returns the most recent revision in the repo
- # at the time of the last svn update/checkout even if that revision
- # didn't hold any changes in the current path. Not very useful as a
- # reference. Better is to ask for the last changed revision with -c.
- # BUT: -c option for some reason always considers svn working copy
- # as having mixed sources. We're only interested in the last part so
- # we strip the beginning revision if it's there.
- # As a result if your WC really has mixed sources, that will not be
- # visible in the version number...
- svn_mixed_version=$(svnversion -c "$real_srcdir")
- echo ${svn_mixed_version#*:}
- exit $?
-fi
-
-# If we get here then this is NOT an svn checkout.
-
-# Maybe it's git?
-real_gitdir="${real_srcdir}"/.git
-if test -d "${real_gitdir}"
-then
- # The windows build uses environment variable $GIT_CMD to invoke git (adding git
- # to the PATH in Windows results in a build failure).
- # So for platform independence, use GIT_CMD for all
- [ -n "$GIT_CMD" ] || GIT_CMD=git
- githead=`"$GIT_CMD" --git-dir "${real_gitdir}" log -1 --pretty=format:"%h" HEAD 2>/dev/null` # short hash only
- if test $? = 0 ; then
- /bin/echo -n $githead
- # Add a "+" to the hash if there deleted or modified files (not excluded by .gitignore and friends)
- # "Ignores" untracked files
- # [ $("$GIT_CMD" --git-dir "${real_gitdir}" ls-files -dkm 2>/dev/null | wc -l) -gt 0 ] && /bin/echo -n "+"
- # Includes untracked files
- [ $("$GIT_CMD" --git-dir "${real_gitdir}" ls-files -dkmo --exclude-standard 2>/dev/null | wc -l) -gt 0 ] && /bin/echo -n "+"
- echo
- exit 0
- else
- exit 1
- fi
-fi
-
-if test -d "${real_srcdir}"/.bzr ;
-then
- bzrhead=`(cd "${real_srcdir}"; bzr version-info --custom --template='{revno}\n')`
- if test $? = 0 ; then
- echo "$bzrhead";
- exit 0
- else
- exit 1
- fi
-fi
-
-if test $OSTYPE -a $OSTYPE = "msys";
-then
- svk_name="svk.bat"
- svk_cmd="cmd \/c svk"
-else
- svk_name="svk"
- svk_cmd="svk"
-fi
-
-# Maybe it's SVK? First, check if we've got 'svk' in the path. If not,
-# then exit with an error code of 1..
-which $svk_name >/dev/null 2>&1
-if test $? != 0 ; then exit 1 ; fi
-
-# Okay, we have 'svk'. Now see if $real_srcdir is an svk checkout
-# Note that the 'echo n' is to protect against having svk installed
-# without having configured the depotmap.
-svkinfo=`echo n | $svk_cmd info "$real_srcdir" 2>&1`
-if test $? != 0 ; then exit 1 ; fi
-
-# If we got here, then $real_srcdir is an svk checkout. Parse out
-# the revision info, print it out, and then output 0. Just combine
-# all the revision numbers into a single string by combining them
-# with periods.
-svkinfo=`$svk_cmd info "$real_srcdir" | grep Rev | head -5 | sed -e 's/^.* \([0-9:]*\)$/\1/'`
-echo $svkinfo | sed -e 's/ /./g'
-
-exit 0
Copied: gnucash/trunk/util/gnc-vcs-info (from rev 22474, gnucash/trunk/util/gnc-svnversion)
===================================================================
--- gnucash/trunk/util/gnc-vcs-info (rev 0)
+++ gnucash/trunk/util/gnc-vcs-info 2012-10-31 21:38:49 UTC (rev 22475)
@@ -0,0 +1,178 @@
+#!/bin/sh
+#
+# Usage:
+# gnc-vcs-info -r <srcdir>
+# gnc-vcs-info -t <srcdir>
+#
+# With -r prints the revision number to stdout and exits 0 on success
+# With -t prints the vcs type that was detected to stdout and exits 0
+# on success.
+#
+# Exits with errorcode 1 if we're not in an bzr, svn, svk or git checkout
+#
+# Written By: Derek Atkins <derek at ihtfp.com>
+# Updated By: Geert Janssens <geert at kobaltwit.be>
+#
+# $Id$
+
+# Default string to return if not invoked properly
+usage="Usage: $0 -r <srcdir>
+ $0 -t <srcdir>"
+
+# Print an error message and then exit
+my_die()
+{
+ echo "$1"
+ exit 1
+}
+
+if [ "$BUILDING_FROM_SVN" = "0" -o \
+ "$BUILDING_FROM_SVN" = "no" -o \
+ "$BUILDING_FROM_SVN" = "false" ]; then
+ # Something outside of the Gnucash build system knows that we
+ # are NOT building from svn, svk or git checkout.
+ # We should believe it (needed by packagers that maintain the
+ # packaging code in svn, svk or git too)
+ echo "Environment variable BUILDING_FROM_SVN=$BUILDING_FROM_SVN" >&2
+ exit 1
+fi
+
+# Make sure we have a srcdir
+[ -n "$1" ] || my_die "$usage"
+[ -n "$2" ] || my_die "$usage"
+[ -d "$2" ] || my_die "$0: $2: not a directory"
+
+
+if [ "$1" = "-t" ]
+then
+ request="type"
+elif [ "$1" = "-r" ]
+then
+ request="revision"
+else
+ my_die "$usage"
+fi
+
+srcdir=$2
+
+# Find the real srcdir.
+# This handles the case of a symlink (lndir) tree
+# $real_srcdir will hold the actual source dir
+if test -h "$srcdir"/Makefile.am
+then
+ tmp_srcdir=`readlink "$srcdir"/Makefile.am`
+ real_srcdir="$srcdir/`dirname ${tmp_srcdir}`"
+else
+ real_srcdir="$srcdir"
+fi
+
+# Test if this code is an SVN Checkout
+# If this is an svn checkout we assume you have svnversion!
+if test -d "${real_srcdir}"/.svn
+then
+ # If we're only interested in the vcs type, then we're done here
+ if [ "$request" = "type" ]
+ then
+ echo "svn"
+ exit 0
+ fi
+
+ # svnversion without options returns the most recent revision in the repo
+ # at the time of the last svn update/checkout even if that revision
+ # didn't hold any changes in the current path. Not very useful as a
+ # reference. Better is to ask for the last changed revision with -c.
+ # BUT: -c option for some reason always considers svn working copy
+ # as having mixed sources. We're only interested in the last part so
+ # we strip the beginning revision if it's there.
+ # As a result if your WC really has mixed sources, that will not be
+ # visible in the version number...
+ svn_mixed_version=$(svnversion -c "$real_srcdir")
+ echo ${svn_mixed_version#*:}
+ exit $?
+fi
+
+# If we get here then this is NOT an svn checkout.
+
+# Maybe it's git?
+real_gitdir="${real_srcdir}"/.git
+if test -d "${real_gitdir}"
+then
+ # If we're only interested in the vcs type, then we're done here
+ if [ "$request" = "type" ]
+ then
+ echo "git"
+ exit 0
+ fi
+
+ # The windows build uses environment variable $GIT_CMD to invoke git (adding git
+ # to the PATH in Windows results in a build failure).
+ # So for platform independence, use GIT_CMD for all
+ [ -n "$GIT_CMD" ] || GIT_CMD=git
+ githead=`"$GIT_CMD" --git-dir "${real_gitdir}" log -1 --pretty=format:"%h" HEAD 2>/dev/null` # short hash only
+ if test $? = 0 ; then
+ /bin/echo -n $githead
+ # Add a "+" to the hash if there deleted or modified files (not excluded by .gitignore and friends)
+ # "Ignores" untracked files
+ # [ $("$GIT_CMD" --git-dir "${real_gitdir}" ls-files -dkm 2>/dev/null | wc -l) -gt 0 ] && /bin/echo -n "+"
+ # Includes untracked files
+ [ $("$GIT_CMD" --git-dir "${real_gitdir}" ls-files -dkmo --exclude-standard 2>/dev/null | wc -l) -gt 0 ] && /bin/echo -n "+"
+ echo
+ exit 0
+ else
+ exit 1
+ fi
+fi
+
+if test -d "${real_srcdir}"/.bzr ;
+then
+ # If we're only interested in the vcs type, then we're done here
+ if [ "$request" = "type" ]
+ then
+ echo "bzr"
+ exit 0
+ fi
+
+ bzrhead=`(cd "${real_srcdir}"; bzr version-info --custom --template='{revno}\n')`
+ if test $? = 0 ; then
+ echo "$bzrhead";
+ exit 0
+ else
+ exit 1
+ fi
+fi
+
+if test $OSTYPE -a $OSTYPE = "msys";
+then
+ svk_name="svk.bat"
+ svk_cmd="cmd \/c svk"
+else
+ svk_name="svk"
+ svk_cmd="svk"
+fi
+
+# Maybe it's SVK? First, check if we've got 'svk' in the path. If not,
+# then exit with an error code of 1..
+which $svk_name >/dev/null 2>&1
+if test $? != 0 ; then exit 1 ; fi
+
+# Okay, we have 'svk'. Now see if $real_srcdir is an svk checkout
+# Note that the 'echo n' is to protect against having svk installed
+# without having configured the depotmap.
+svkinfo=`echo n | $svk_cmd info "$real_srcdir" 2>&1`
+if test $? != 0 ; then exit 1 ; fi
+
+# If we got here, then $real_srcdir is an svk checkout.
+# If we're only interested in the vcs type, then we're done here
+if [ "$request" = "type" ]
+then
+ echo "bzr"
+ exit 0
+fi
+
+# Parse out the revision info, print it out, and then output 0. Just combine
+# all the revision numbers into a single string by combining them
+# with periods.
+svkinfo=`$svk_cmd info "$real_srcdir" | grep Rev | head -5 | sed -e 's/^.* \([0-9:]*\)$/\1/'`
+echo $svkinfo | sed -e 's/ /./g'
+
+exit 0
More information about the gnucash-changes
mailing list