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.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22475 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
Geert Janssens 2012-10-31 21:38:49 +00:00
parent 46334ab2fb
commit 27c76eccd5
35 changed files with 200 additions and 126 deletions

View File

@ -77,7 +77,7 @@ EXTRA_DIST = \
intltool-extract.in \ intltool-extract.in \
intltool-merge.in \ intltool-merge.in \
intltool-update.in \ intltool-update.in \
util/gnc-svnversion util/gnc-vcs-info
## We borrow guile's convention and use @-...-@ as the substitution ## We borrow guile's convention and use @-...-@ as the substitution
## brackets here, instead of the usual @...@. This prevents autoconf ## brackets here, instead of the usual @...@. This prevents autoconf
@ -186,7 +186,7 @@ intl-scm/guile-strings.c:
SVN = svn SVN = svn
XSLTPROC = xsltproc XSLTPROC = xsltproc
if BUILDING_FROM_SVN if BUILDING_FROM_VCS
# This rule will generate a ChangeLog of gnucash/trunk commits, plus # This rule will generate a ChangeLog of gnucash/trunk commits, plus
# all additional branches that are added in # all additional branches that are added in
# ./macros/svn2cl.xsl. (FIXME: Is the dependency on NEWS really a good # ./macros/svn2cl.xsl. (FIXME: Is the dependency on NEWS really a good

View File

@ -174,39 +174,39 @@ if test x$am_cv_scanf_lld = "xno"; then
fi fi
fi fi
# test whether we are building directly from SVN/SVK # test whether we are building directly from svn/svk/git/bzr
${srcdir}/util/gnc-svnversion ${srcdir} >/dev/null 2>&1 ${srcdir}/util/gnc-vcs-info -r ${srcdir} >/dev/null 2>&1
if test $? = 0 -o "x${BUILDING_FROM_SVN}" = "xyes" ; then if test $? = 0 -o "x${BUILDING_FROM_VCS}" = "xyes" ; then
BUILDING_FROM_SVN=yes BUILDING_FROM_VCS=yes
# We need at least version 1.3.31 of SWIG because # 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 # that's when SWIG doesn't barf on the "inline" keyword in C headers anymore
AC_PROG_SWIG(1.3.31) AC_PROG_SWIG(1.3.31)
else else
BUILDING_FROM_SVN=no BUILDING_FROM_VCS=no
# Make sure we've got swig-runtime.h and gnc-svninfo.h # Make sure we've got swig-runtime.h and gnc-vcs-info.h
AC_CHECK_FILE(${srcdir}/src/swig-runtime.h, [], AC_CHECK_FILE(${srcdir}/src/swig-runtime.h, [],
[AC_MSG_ERROR([ [AC_MSG_ERROR([
It looks like you are NOT building from Subversion It looks like you are NOT building from Subversion, svk, git or bzr
but I cannot find swig-runtime.h. Check your PATH but I cannot find swig-runtime.h. Check your PATH and make sure
and make sure we can find svnversion in your PATH! we can find gnc-vcs-info in your PATH!
Either that or contact gnucash-devel@gnucash.org because Either that or contact gnucash-devel@gnucash.org because
the tarball you downloaded is broken. 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([ [AC_MSG_ERROR([
It looks like you are NOT building from Subversion It looks like you are NOT building from Subversion, svk, git or bzr
but I cannot find gnc-svninfo.h. Check your PATH but I cannot find gnc-vcs-info.h. Check your PATH and make sure
and make sure we can find svnversion in your PATH! we can find gnc-vcs-info in your PATH!
Either that or contact gnucash-devel@gnucash.org because Either that or contact gnucash-devel@gnucash.org because
the tarball you downloaded is broken. the tarball you downloaded is broken.
])]) ])])
fi 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 # Build dir adjustments
AM_CONDITIONAL(GNUCASH_SEPARATE_BUILDDIR, test "x${srcdir}" != "x.") AM_CONDITIONAL(GNUCASH_SEPARATE_BUILDDIR, test "x${srcdir}" != "x.")
@ -1112,9 +1112,9 @@ then
#warnFLAGS="${warnFLAGS} -Werror-implicit-function-declaration" # In -Wall #warnFLAGS="${warnFLAGS} -Werror-implicit-function-declaration" # In -Wall
# error-on-warning should not be active in (stable) release tarballs # 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 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" error_on_warning_as_default="yes"
else else
# This is from a tarball, so disable error-on-warning # This is from a tarball, so disable error-on-warning

View File

@ -12,7 +12,7 @@ BUILT_SOURCES = guile-strings.c
SCMFILES = $(shell find ${abs_top_srcdir}/src -name test -prune -o -name '*.scm' -print | sort) 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 # This needs to be generated in srcdir
guile-strings.c: $(SCMFILES) guile-strings.c: $(SCMFILES)
rm -f guile-strings.c rm -f guile-strings.c

View File

@ -65,12 +65,12 @@ rm -rf ${_DIST_UDIR}
_BUILD_UDIR=`unix_path $BUILD_DIR` _BUILD_UDIR=`unix_path $BUILD_DIR`
_GNUCASH_UDIR=`unix_path $GNUCASH_DIR` _GNUCASH_UDIR=`unix_path $GNUCASH_DIR`
PKG_VERSION=`grep PACKAGE_VERSION ${_BUILD_UDIR}/config.h | cut -d" " -f3 | cut -d\" -f2 ` 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 # Choose the output filename based on our "build_from_tarball" setting
# Make sure this logic matches the logic in dist.sh! # Make sure this logic matches the logic in dist.sh!
if [ "$BUILD_FROM_TARBALL" = "no" ]; then 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 else
SETUP_FILENAME="gnucash-${PKG_VERSION}-setup.exe" SETUP_FILENAME="gnucash-${PKG_VERSION}-setup.exe"
fi fi

View File

@ -23,7 +23,7 @@ function unix_path() { echo "$*" | sed 's,^\([A-Za-z]\):,/\1,;s,\\,/,g'; }
. functions.sh . functions.sh
. defaults.sh . defaults.sh
tag="${1:-$GIT_REV}" tag="${1:-$GNC_VCS_REV}"
# Determine where to upload to # Determine where to upload to
# NOTE: this assumes "tag" to be either a tag or a branch, not a # NOTE: this assumes "tag" to be either a tag or a branch, not a
@ -69,7 +69,7 @@ rm -rf ${_DIST_UDIR}
_BUILD_UDIR=`unix_path $BUILD_DIR` _BUILD_UDIR=`unix_path $BUILD_DIR`
_GNUCASH_UDIR=`unix_path $GNUCASH_DIR` _GNUCASH_UDIR=`unix_path $GNUCASH_DIR`
PKG_VERSION=`grep PACKAGE_VERSION ${_BUILD_UDIR}/config.h | cut -d" " -f3 | cut -d\" -f2 ` 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 # Choose the output filename based on our "build_from_tarball" setting
# Make sure this logic matches the logic in dist.sh! # Make sure this logic matches the logic in dist.sh!

View File

@ -42,11 +42,11 @@ else
set_default REPOS_TYPE "git" set_default REPOS_TYPE "git"
if [ "$REPOS_TYPE" = "git" ]; then 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" set_default REPOS_URL "git://github.com/Gnucash/gnucash.git"
elif [ "$REPOS_TYPE" = "svn" ]; then elif [ "$REPOS_TYPE" = "svn" ]; then
# latest revision that should compile, use HEAD or vwxyz # 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" set_default REPOS_URL "http://svn.gnucash.org/repo/gnucash/trunk"
fi fi
fi fi
@ -409,11 +409,11 @@ set_default CMAKE_DIR $GLOBAL_DIR\\cmake
set_default DOCBOOK_XSL_URL "$SF_MIRROR/docbook/docbook-xsl-1.76.1.zip" 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" set_default DOCBOOK_DTD_URL "http://www.oasis-open.org/docbook/xml/4.1.2/docbkx412.zip"
if [ "$REPOS_TYPE" = "git" ]; then 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" set_default DOCS_URL "git://github.com/Gnucash/gnucash-docs.git"
elif [ "$REPOS_TYPE" = "svn" ]; then elif [ "$REPOS_TYPE" = "svn" ]; then
# latest revision that should compile, use HEAD or vwxyz # 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" set_default DOCS_URL "http://svn.gnucash.org/repo/gnucash-docs/trunk"
fi fi
set_default UPDATE_DOCS yes set_default UPDATE_DOCS yes

View File

@ -297,7 +297,7 @@ function dist_finish() {
if [ "$BUILD_FROM_TARBALL" = "no" ]; then if [ "$BUILD_FROM_TARBALL" = "no" ]; then
# And changing output filename # And changing output filename
PKG_VERSION=`grep PACKAGE_VERSION ${_BUILD_UDIR}/config.h | cut -d" " -f3 | cut -d\" -f2 ` 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 if [ "$REPOS_TYPE" = "svn" ]; then
SETUP_FILENAME="gnucash-${PKG_VERSION}-${REPOS_TYPE}-r${REVISION}-setup.exe" SETUP_FILENAME="gnucash-${PKG_VERSION}-${REPOS_TYPE}-r${REVISION}-setup.exe"
else else

View File

@ -1582,10 +1582,10 @@ function checkupd_docs_svn() {
if [ "$UPDATE_DOCS" = "yes" ]; then if [ "$UPDATE_DOCS" = "yes" ]; then
if [ -x .svn ]; then if [ -x .svn ]; then
setup "Docs - Update repository (svn)" setup "Docs - Update repository (svn)"
svn up -r $DOCS_REV svn up -r $DOCS_VCS_REV
else else
setup "Docs - Checkout repository (svn)" setup "Docs - Checkout repository (svn)"
svn co -r $DOCS_REV $DOCS_URL . svn co -r $DOCS_VCS_REV $DOCS_URL .
fi fi
fi fi
} }
@ -1599,7 +1599,7 @@ function checkupd_docs_git() {
else else
setup "Docs - Checkout repository (git)" setup "Docs - Checkout repository (git)"
$GIT_CMD clone $DOCS_URL . $GIT_CMD clone $DOCS_URL .
$GIT_CMD checkout $DOCS_REV $GIT_CMD checkout $DOCS_VCS_REV
fi fi
fi fi
} }

View File

@ -26,6 +26,7 @@ function add_precious_path() {
add_precious_path msys $MSYS_DIR add_precious_path msys $MSYS_DIR
add_precious_path wget $WGET_DIR add_precious_path wget $WGET_DIR
add_precious_path svn $SVN_DIR add_precious_path svn $SVN_DIR
add_precious_path git $GIT_DIR
add_precious_path repos $REPOS_DIR add_precious_path repos $REPOS_DIR
add_precious_path hh $HH_DIR add_precious_path hh $HH_DIR

View File

@ -53,7 +53,7 @@ noinst_HEADERS = \
noinst_DATA = gnc-test-env noinst_DATA = gnc-test-env
if BUILDING_FROM_SVN if BUILDING_FROM_VCS
swig-runtime.h: swig-runtime.h:
$(SWIG) -guile -external-runtime $@ $(SWIG) -guile -external-runtime $@
endif endif

View File

@ -93,7 +93,7 @@ libgncmod_app_utils_la_LIBADD = \
${GUILE_LIBS} \ ${GUILE_LIBS} \
${GLIB_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-app-utils-guile.c: app-utils.i ${top_srcdir}/src/base-typemaps.i
$(SWIG) -guile $(SWIG_ARGS) -Linkage module \ $(SWIG) -guile $(SWIG_ARGS) -Linkage module \
-I${top_srcdir}/src -o $@ $< -I${top_srcdir}/src -o $@ $<

View File

@ -65,8 +65,8 @@ static QofLogModule log_module = GNC_MOD_GUI;
# include <Foundation/Foundation.h> # include <Foundation/Foundation.h>
#endif #endif
/* GNUCASH_SVN is defined whenever we're building from an SVN tree */ /* GNUCASH_VCS is defined whenever we're building from an svn/svk/git/bzr tree */
#ifdef GNUCASH_SVN #ifdef GNUCASH_VCS
static int is_development_version = TRUE; static int is_development_version = TRUE;
#else #else
static int is_development_version = FALSE; static int is_development_version = FALSE;
@ -520,21 +520,32 @@ gnc_parse_command_line(int *argc, char ***argv)
if (gnucash_show_version) if (gnucash_show_version)
{ {
gchar *fixed_message;
if (is_development_version) if (is_development_version)
{ {
/* Translators: %s is the version number */ fixed_message = g_strdup_printf(_("GnuCash %s development version"), VERSION);
g_print(_("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 else
{ {
/* Translators: %s is the version number */ fixed_message = g_strdup_printf(_("GnuCash %s"), VERSION);
g_print(_("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"); g_print("\n");
/* Translators: 1st %s is the build date; 2nd %s is the SVN g_free (fixed_message);
revision number */
g_print(_("Built %s from r%s"), GNUCASH_BUILD_DATE, GNUCASH_SVN_REV);
g_print("\n");
exit(0); exit(0);
} }

View File

@ -1,12 +1,12 @@
#!/bin/sh #!/bin/sh
# This script strips data elements from a gnucash data file that have # 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. # backwards-compatible to older versions of gnucash.
ORIGFILE=$1 ORIGFILE=$1
ORIGTMPFILE="${ORIGFILE}.gunzip" ORIGTMPFILE="${ORIGFILE}.gunzip"
BKUPFILE="${ORIGFILE}.svn.gz" BKUPFILE="${ORIGFILE}.bkp.gz"
TMPFILE="${ORIGFILE}.tmp" TMPFILE="${ORIGFILE}.tmp"
if [ -f ${ORIGFILE} ] ; then if [ -f ${ORIGFILE} ] ; then

View File

@ -40,7 +40,7 @@ noinst_HEADERS = \
gnc-path.h \ gnc-path.h \
gnc-uri-utils.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-core-utils-guile.c: core-utils.i ${top_srcdir}/src/base-typemaps.i
$(SWIG) -guile $(SWIG_ARGS) -Linkage module \ $(SWIG) -guile $(SWIG_ARGS) -Linkage module \
-I${top_srcdir}/src -o $@ $< -I${top_srcdir}/src -o $@ $<
@ -107,7 +107,7 @@ endif
noinst_DATA = .scm-links noinst_DATA = .scm-links
BUILT_SOURCES = gncla-dir.h gnc-version.h 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: clean-local:
rm -rf gnucash rm -rf gnucash
@ -136,39 +136,39 @@ gnc-version.h: _gnc-version.h
-cmp -s _gnc-version.h gnc-version.h || cp _gnc-version.h gnc-version.h -cmp -s _gnc-version.h gnc-version.h || cp _gnc-version.h gnc-version.h
-rm -f _gnc-version.h -rm -f _gnc-version.h
_gnc-version.h: gnc-svninfo.h Makefile _gnc-version.h: gnc-vcs-info.h Makefile
@echo "/* Autogenerated. Do not change. */" > _gnc-version.h @echo "/* Autogenerated. Do not change. */" > _gnc-version.h
@echo "#ifndef GNC_VERSION_H" >> _gnc-version.h @echo "#ifndef GNC_VERSION_H" >> _gnc-version.h
@echo "#define GNC_VERSION_H" >> _gnc-version.h @echo "#define GNC_VERSION_H" >> _gnc-version.h
@echo "" >> _gnc-version.h @echo "" >> _gnc-version.h
@svninfo=`${top_srcdir}/util/gnc-svnversion ${top_srcdir}` ; \ @vcs_info=`${top_srcdir}/util/gnc-vcs-info -t ${top_srcdir}` ; \
if [ $$? = 0 ] ; then \ if [ $$? = 0 ] ; then \
echo "#define GNUCASH_SVN 1" >> _gnc-version.h ; \ echo "#define GNUCASH_VCS \"$$vcs_info\"" >> _gnc-version.h ; \
fi fi
@echo "#define GNUCASH_BUILD_DATE \"`date +%Y-%m-%d`\"" >> _gnc-version.h @echo "#define GNUCASH_BUILD_DATE \"`date +%Y-%m-%d`\"" >> _gnc-version.h
@echo "#include \"gnc-svninfo.h\"" >> _gnc-version.h @echo "#include \"gnc-vcs-info.h\"" >> _gnc-version.h
@echo "#endif" >> _gnc-version.h @echo "#endif" >> _gnc-version.h
gnc-svninfo.h: _gnc-svninfo.h gnc-vcs-info.h: _gnc-vcs-info.h
-if [ ! -f gnc-svninfo.h ]; then cp _gnc-svninfo.h gnc-svninfo.h; fi -if [ ! -f gnc-vcs-info.h ]; then cp _gnc-vcs-info.h gnc-vcs-info.h; fi
-cmp -s _gnc-svninfo.h gnc-svninfo.h || cp _gnc-svninfo.h gnc-svninfo.h -cmp -s _gnc-vcs-info.h gnc-vcs-info.h || cp _gnc-vcs-info.h gnc-vcs-info.h
-rm -f _gnc-svninfo.h -rm -f _gnc-vcs-info.h
_gnc-svninfo.h: Makefile _gnc-vcs-info.h: Makefile
@svninfo=`${top_srcdir}/util/gnc-svnversion ${top_srcdir}` ; \ @vcs_info=`${top_srcdir}/util/gnc-vcs-info -r ${top_srcdir}` ; \
if [ $$? = 0 ] ; then \ if [ $$? = 0 ] ; then \
if [ -z "$$svninfo" ] ; then \ if [ -z "$$vcs_info" ] ; then \
echo "gnc-svnversion failed. figure out why." ; \ echo "gnc-vcs-info failed. figure out why." ; \
echo "can't determine svn revision from ${top_srcdir}." ; \ echo "can't determine svn/svk/git/bzr revision from ${top_srcdir}." ; \
exit 1 ; \ exit 1 ; \
fi ; \ fi ; \
echo "/* Autogenerated. Do not change. */" > _gnc-svninfo.h ; \ echo "/* Autogenerated. Do not change. */" > _gnc-vcs-info.h ; \
echo "#define GNUCASH_SVN_REV \"$$svninfo\"" >> _gnc-svninfo.h ; \ echo "#define GNUCASH_VCS_REV \"$$vcs_info\"" >> _gnc-vcs-info.h ; \
else \ else \
if [ -r $(srcdir)/gnc-svninfo.h ] ; then \ if [ -r $(srcdir)/gnc-vcs-info.h ] ; then \
cp $(srcdir)/gnc-svninfo.h _gnc-svninfo.h ; \ cp $(srcdir)/gnc-vcs-info.h _gnc-vcs-info.h ; \
else \ 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." ; \ echo "Don't do that. Complain to your build-system creator." ; \
exit 1 ; \ exit 1 ; \
fi ; \ fi ; \

View File

@ -42,6 +42,4 @@ const gchar *gnc_get_gconf_path(void);
guint gnc_get_long_version( void ); guint gnc_get_long_version( void );
gint gnc_get_svn_version(void);
#endif /* GNC_MAIN_H */ #endif /* GNC_MAIN_H */

View File

@ -27,9 +27,6 @@
## @page python_bindings_page Python bindings ## @page python_bindings_page Python bindings
# Also have a look at group @ref 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. # They can be found in src/optional/python-bindings.
# #
# To enable them in the compilation process you have to add --enable-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 # @li gnucash_core_c.py
# #
# If you have generated your own local doxygen documentation (by "make doc") after having compiled the python-bindings, doxygen # 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 # will include SWIGs output-files.
# these files. It's actually quite interesting to have a look at them through doxygen, because they contain all that you can # It's actually quite interesting to have a look at them through doxygen, because they contain all that you can
# access from python. # 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. # 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 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@gnucash.org. # @li You may also have a look into the archives of gnucash-devel@gnucash.org.
# @li On Bugzilla there is also some interesting talk regarding the development process. # @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.
# #

View File

@ -188,7 +188,7 @@ endif
noinst_DATA = .scm-links noinst_DATA = .scm-links
if BUILDING_FROM_SVN if BUILDING_FROM_VCS
# The generated file depends on various libqof headers. Out of # The generated file depends on various libqof headers. Out of
# laziness I only include a few here - more might be needed # laziness I only include a few here - more might be needed

View File

@ -29,7 +29,7 @@ gncinclude_HEADERS = \
noinst_DATA = .scm-links 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-gnc-module.c: gnc-module.i ${top_srcdir}/src/base-typemaps.i
$(SWIG) -guile $(SWIG_ARGS) -Linkage module \ $(SWIG) -guile $(SWIG_ARGS) -Linkage module \
-I${top_srcdir}/src -o $@ $< -I${top_srcdir}/src -o $@ $<

View File

@ -22,7 +22,7 @@ libgncmodbar_la_LIBADD=libbar.la \
$(GUILE_LIBS) \ $(GUILE_LIBS) \
$(GLIB_LIBS) $(GLIB_LIBS)
if BUILDING_FROM_SVN if BUILDING_FROM_VCS
swig-bar.c: bar.i swig-bar.c: bar.i
$(SWIG) -guile $(SWIG_ARGS) -Linkage module -o $@ $< $(SWIG) -guile $(SWIG_ARGS) -Linkage module -o $@ $<
endif endif

View File

@ -26,7 +26,7 @@ libgncmodbaz_la_LIBADD = \
$(GUILE_LIBS) \ $(GUILE_LIBS) \
$(GLIB_LIBS) $(GLIB_LIBS)
if BUILDING_FROM_SVN if BUILDING_FROM_VCS
swig-baz.c: baz.i swig-baz.c: baz.i
$(SWIG) -guile $(SWIG_ARGS) -Linkage module -o $@ $< $(SWIG) -guile $(SWIG_ARGS) -Linkage module -o $@ $<
endif endif

View File

@ -27,7 +27,7 @@ EXTRA_DIST = \
foo.i \ foo.i \
gnucash/foo.scm gnucash/foo.scm
if BUILDING_FROM_SVN if BUILDING_FROM_VCS
swig-foo.c: foo.i swig-foo.c: foo.i
$(SWIG) -guile $(SWIG_ARGS) -Linkage module -o $@ $< $(SWIG) -guile $(SWIG_ARGS) -Linkage module -o $@ $<
endif endif

View File

@ -71,8 +71,8 @@ namespace gnc
#define APP_GNUCASH "/apps/gnucash" #define APP_GNUCASH "/apps/gnucash"
/* GNUCASH_SVN is defined whenever we're building from an SVN tree */ /* GNUCASH_VCS is defined whenever we're building from an svn/svk/git/bzr tree */
#ifdef GNUCASH_SVN #ifdef GNUCASH_VCS
static int is_development_version = TRUE; static int is_development_version = TRUE;
#else #else
static int is_development_version = FALSE; static int is_development_version = FALSE;

View File

@ -212,7 +212,7 @@ if HAVE_X11_XLIB_H
libgncmod_gnome_utils_la_LIBADD += -lX11 libgncmod_gnome_utils_la_LIBADD += -lX11
endif endif
if BUILDING_FROM_SVN if BUILDING_FROM_VCS
swig-gnome-utils.c: gnome-utils.i \ swig-gnome-utils.c: gnome-utils.i \
${top_srcdir}/src/base-typemaps.i ${top_srcdir}/src/base-typemaps.i
$(SWIG) -guile $(SWIG_ARGS) -Linkage module \ $(SWIG) -guile $(SWIG_ARGS) -Linkage module \

View File

@ -4122,13 +4122,21 @@ gnc_main_window_cmd_help_about (GtkAction *action, GncMainWindow *window)
authors = get_file_strsplit("AUTHORS"); authors = get_file_strsplit("AUTHORS");
documenters = get_file_strsplit("DOCUMENTERS"); documenters = get_file_strsplit("DOCUMENTERS");
license = get_file("LICENSE"); license = get_file("LICENSE");
#ifdef GNUCASH_SVN #ifdef GNUCASH_VCS
/* Development version */ /* Development version */
message = g_strdup_printf(_("%s This copy was built from svn r%s on %s."), /* Translators: 1st %s is a fixed message, which is translated independently;
fixed_message, GNUCASH_SVN_REV, GNUCASH_BUILD_DATE); 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 #else
message = g_strdup_printf(_("%s This copy was built from r%s on %s."), /* Translators: 1st %s is a fixed message, which is translated independently;
fixed_message, GNUCASH_SVN_REV, GNUCASH_BUILD_DATE); 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 #endif
gtk_show_about_dialog gtk_show_about_dialog
(GTK_WINDOW (window), (GTK_WINDOW (window),

View File

@ -85,14 +85,22 @@ gnc_show_splash_screen (void)
frame = gtk_frame_new (NULL); frame = gtk_frame_new (NULL);
vbox = gtk_vbox_new (FALSE, 3); vbox = gtk_vbox_new (FALSE, 3);
hbox = gtk_hbox_new (FALSE, 3); hbox = gtk_hbox_new (FALSE, 3);
#ifdef GNUCASH_SVN #ifdef GNUCASH_VCS
/* Development version */ /* Development version */
ver_string = g_strdup_printf(_("Version: GnuCash-%s svn (r%s built %s)"), /* Translators: 1st %s is the GnuCash version (eg 2.4.11);
VERSION, GNUCASH_SVN_REV, GNUCASH_BUILD_DATE); 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 #else
/* Dist Tarball */ /* Dist Tarball */
ver_string = g_strdup_printf(_("Version: GnuCash-%s (r%s built %s)"), /* Translators: 1st %s is the GnuCash version (eg 2.4.11);
VERSION, GNUCASH_SVN_REV, GNUCASH_BUILD_DATE); 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 #endif
version = gtk_label_new(NULL); version = gtk_label_new(NULL);

View File

@ -98,7 +98,7 @@ noinst_HEADERS = \
window-reconcile.h \ window-reconcile.h \
window-autoclear.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-gnome.c: gnome.i dialog-progress.h ${top_srcdir}/src/base-typemaps.i
$(SWIG) -guile $(SWIG_ARGS) -Linkage module \ $(SWIG) -guile $(SWIG_ARGS) -Linkage module \
-I${top_srcdir}/src -o $@ $< -I${top_srcdir}/src -o $@ $<

View File

@ -61,7 +61,7 @@ libgncmod_html_la_LIBADD = \
${GUILE_LIBS} \ ${GUILE_LIBS} \
${REGEX_LIBS} ${REGEX_LIBS}
if BUILDING_FROM_SVN if BUILDING_FROM_VCS
swig-gnc-html.c: gnc-html.i gnc-html.h \ swig-gnc-html.c: gnc-html.i gnc-html.h \
${top_srcdir}/src/base-typemaps.i ${top_srcdir}/src/base-typemaps.i
$(SWIG) -guile $(SWIG_ARGS) -Linkage module \ $(SWIG) -guile $(SWIG_ARGS) -Linkage module \

View File

@ -37,7 +37,7 @@ _gnucash_core_c_la_LIBADD = \
${top_builddir}/src/libqof/qof/libgnc-qof.la \ ${top_builddir}/src/libqof/qof/libgnc-qof.la \
${top_builddir}/src/gnc-module/libgnc-module.la \ ${top_builddir}/src/gnc-module/libgnc-module.la \
${top_builddir}/src/engine/libgncmod-engine.la ${top_builddir}/src/engine/libgncmod-engine.la
if BUILDING_FROM_SVN if BUILDING_FROM_VCS
_gnucash_core_c_includes= \ _gnucash_core_c_includes= \
${top_builddir}/config.h \ ${top_builddir}/config.h \
${top_srcdir}/src/libqof/qof/qofsession.h \ ${top_srcdir}/src/libqof/qof/qofsession.h \

View File

@ -298,7 +298,7 @@ class GncPrice(GnuCashCoreClass):
commodity with respect to another commodity. commodity with respect to another commodity.
For example, a given price might represent the value of LNUX in USD on 2001-02-03. 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 pass
GncPrice.add_methods_with_prefix('gnc_price_') GncPrice.add_methods_with_prefix('gnc_price_')
@ -317,7 +317,7 @@ class GncPriceDB(GnuCashCoreClass):
Every QofBook contains a GNCPriceDB, accessible via gnc_pricedb_get_db. Every QofBook contains a GNCPriceDB, accessible via gnc_pricedb_get_db.
Definition in file gnc-pricedb.h. 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_') GncPriceDB.add_methods_with_prefix('gnc_pricedb_')

View File

@ -78,7 +78,7 @@ gncextrasmallicon_DATA = 16x16/gnucash-icon.png
gncscalableicondir = ${datadir}/icons/hicolor/scalable/apps gncscalableicondir = ${datadir}/icons/hicolor/scalable/apps
gncscalableicon_DATA = scalable/gnucash-icon.svg gncscalableicon_DATA = scalable/gnucash-icon.svg
if BUILDING_FROM_SVN if BUILDING_FROM_VCS
256x256/gnucash-icon.png: gnucash-icon-256x256.png 256x256/gnucash-icon.png: gnucash-icon-256x256.png
-mkdir -p 256x256 -mkdir -p 256x256
cp ${srcdir}/gnucash-icon-256x256.png 256x256/gnucash-icon.png cp ${srcdir}/gnucash-icon-256x256.png 256x256/gnucash-icon.png
@ -160,8 +160,8 @@ EXTRA_DIST = \
${ico_files_lr} \ ${ico_files_lr} \
${gncscalableicon_DATA} ${gncscalableicon_DATA}
# Only clean up if we're building from SVN # Only clean up if we're building from svn/svk/git/bzr
if BUILDING_FROM_SVN if BUILDING_FROM_VCS
clean-local: clean-local:
-rm -rf 256x256 128x128 96x96 64x64 48x48 32x32 24x24 22x22 16x16 scalable -rm -rf 256x256 128x128 96x96 64x64 48x48 32x32 24x24 22x22 16x16 scalable
endif endif

View File

@ -51,7 +51,7 @@ libgncmod_report_gnome_la_LIBADD = \
${GCONF_LIBS} \ ${GCONF_LIBS} \
${GLIB_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-report-gnome.c: report-gnome.i ${top_srcdir}/src/base-typemaps.i
$(SWIG) -guile $(SWIG_ARGS) -Linkage module \ $(SWIG) -guile $(SWIG_ARGS) -Linkage module \
-I${top_srcdir}/src -o $@ $< -I${top_srcdir}/src -o $@ $<

View File

@ -20,7 +20,7 @@ libgncmod_report_system_la_LIBADD = \
${GLIB_LIBS} \ ${GLIB_LIBS} \
${GTK_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-report-system.c: report-system.i ${top_srcdir}/src/base-typemaps.i
$(SWIG) -guile $(SWIG_ARGS) -Linkage module \ $(SWIG) -guile $(SWIG_ARGS) -Linkage module \
-I${top_srcdir}/src -o $@ $< -I${top_srcdir}/src -o $@ $<

View File

@ -23,7 +23,7 @@ libtest_core_la_CPPFLAGS = \
libtest_core_la_LDFLAGS = \ libtest_core_la_LDFLAGS = \
-rpath ${exec-prefix}/lib -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-unittest-support-guile.c: unittest-support.i $(top_srcdir)/src/base-typemaps.i
$(SWIG) -guile $(SWIG_ARGS) -Linkage module \ $(SWIG) -guile $(SWIG_ARGS) -Linkage module \
-I${top_srcdir}/src \ -I${top_srcdir}/src \

View File

@ -1,15 +1,24 @@
#!/bin/sh #!/bin/sh
# #
# Usage: # Usage:
# gnc-svnversion <srcdir> # gnc-vcs-info -r <srcdir>
# gnc-vcs-info -t <srcdir>
# #
# Prints the revision number to stdout and exits 0 on success # With -r 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 # 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@ihtfp.com> # Written By: Derek Atkins <derek@ihtfp.com>
# Updated By: Geert Janssens <geert@kobaltwit.be>
# #
# $Id$ # $Id$
# Default string to return if not invoked properly
usage="Usage: $0 -r <srcdir>
$0 -t <srcdir>"
# Print an error message and then exit # Print an error message and then exit
my_die() my_die()
{ {
@ -29,24 +38,45 @@ if [ "$BUILDING_FROM_SVN" = "0" -o \
fi fi
# Make sure we have a srcdir # Make sure we have a srcdir
[ -n "$1" ] || my_die "Usage: $0 <srcdir>" [ -n "$1" ] || my_die "$usage"
[ -d "$1" ] || my_die "$0: $1: not a directory" [ -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. # Find the real srcdir.
# This handles the case of a symlink (lndir) tree # This handles the case of a symlink (lndir) tree
# $real_srcdir will hold the actual source dir # $real_srcdir will hold the actual source dir
if test -h "$1"/Makefile.am if test -h "$srcdir"/Makefile.am
then then
tmp_srcdir=`readlink "$1"/Makefile.am` tmp_srcdir=`readlink "$srcdir"/Makefile.am`
real_srcdir="$1/`dirname ${tmp_srcdir}`" real_srcdir="$srcdir/`dirname ${tmp_srcdir}`"
else else
real_srcdir="$1" real_srcdir="$srcdir"
fi fi
# Test if this code is an SVN Checkout # Test if this code is an SVN Checkout
# If this is an svn checkout we assume you have svnversion! # If this is an svn checkout we assume you have svnversion!
if test -d "${real_srcdir}"/.svn if test -d "${real_srcdir}"/.svn
then 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 # svnversion without options returns the most recent revision in the repo
# at the time of the last svn update/checkout even if that revision # 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 # didn't hold any changes in the current path. Not very useful as a
@ -67,6 +97,13 @@ fi
real_gitdir="${real_srcdir}"/.git real_gitdir="${real_srcdir}"/.git
if test -d "${real_gitdir}" if test -d "${real_gitdir}"
then 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 # The windows build uses environment variable $GIT_CMD to invoke git (adding git
# to the PATH in Windows results in a build failure). # to the PATH in Windows results in a build failure).
# So for platform independence, use GIT_CMD for all # So for platform independence, use GIT_CMD for all
@ -88,6 +125,13 @@ fi
if test -d "${real_srcdir}"/.bzr ; if test -d "${real_srcdir}"/.bzr ;
then 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')` bzrhead=`(cd "${real_srcdir}"; bzr version-info --custom --template='{revno}\n')`
if test $? = 0 ; then if test $? = 0 ; then
echo "$bzrhead"; echo "$bzrhead";
@ -117,8 +161,15 @@ if test $? != 0 ; then exit 1 ; fi
svkinfo=`echo n | $svk_cmd info "$real_srcdir" 2>&1` svkinfo=`echo n | $svk_cmd info "$real_srcdir" 2>&1`
if test $? != 0 ; then exit 1 ; fi if test $? != 0 ; then exit 1 ; fi
# If we got here, then $real_srcdir is an svk checkout. Parse out # If we got here, then $real_srcdir is an svk checkout.
# the revision info, print it out, and then output 0. Just combine # 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 # all the revision numbers into a single string by combining them
# with periods. # with periods.
svkinfo=`$svk_cmd info "$real_srcdir" | grep Rev | head -5 | sed -e 's/^.* \([0-9:]*\)$/\1/'` svkinfo=`$svk_cmd info "$real_srcdir" | grep Rev | head -5 | sed -e 's/^.* \([0-9:]*\)$/\1/'`