From 168dc03dde2cd2753ae3d6c2384c246fedf698d3 Mon Sep 17 00:00:00 2001 From: John Ralls Date: Sun, 16 Feb 2014 09:37:09 -0800 Subject: [PATCH] Rename README.svn to README.git and revise reflecting the git conversion. --- README.svn => README.git | 45 ++++++++++++++++------------------------ 1 file changed, 18 insertions(+), 27 deletions(-) rename README.svn => README.git (59%) diff --git a/README.svn b/README.git similarity index 59% rename from README.svn rename to README.git index d7908bfe6d..4298ec785d 100644 --- a/README.svn +++ b/README.git @@ -1,9 +1,9 @@ -This file contains guidelines for using GnuCash from Subversion. +This file contains guidelines for using GnuCash from a git repository. They have been adapted from the guidelines for gnome-libs by Miguel de Icaza who adapted them from guidelines written by Owen Taylor. - + In order to build GnuCash from SVN, you need to run the autogen.sh + + In order to build GnuCash from git, you need to run the autogen.sh command to generate a configure script: ./autogen.sh @@ -19,23 +19,25 @@ Owen Taylor. (Note: Previously, autogen.sh automatically called configure as well. This behaviour was dropped in favor of two separate calls - because: Autogen should be an additional step taken by only by - developers using SVN sources. Configure is a step taken by - everyone compiling the sources, be it from svn or a tarball.) + because autogen should be an additional step taken by only by + developers using git sources. Configure is a step taken by + everyone compiling the sources, be it from git or a tarball.) + Some versions of gettextize don't deal well with re-running themselves. You will see this as an error like: - configure.in:1141: error: `intl/Makefile' is already registered with + configure.ac:1141: error: `intl/Makefile' is already registered with AC_CONFIG_FILES. autoconf/status.m4:844: AC_CONFIG_FILES is expanded - from... configure.in:1141: the top level + from... configure.ac:1141: the top level autom4te: /usr/bin/m4 failed with exit status: 1 autoheader: /usr/bin/autom4te failed with exit status: 1 **Error**: autoheader failed. - If you see this error, you may need to run "svn revert" to pull down - the repository versions of configure.in and/or Makefile.am in various places. - NOTE WELL: using "revert" will over-write any local changes you may have. + If you see this error, it most likely means that you've made some + local changes to configure.ac or one or more Makefile.am. You can + reset changes on a file-by-file basis with git checkout, e.g. + + git checkout configure.ac Makefile.am When making changes to GnuCash and trying to commit to the repository: @@ -58,24 +60,13 @@ When making changes to GnuCash and trying to commit to the repository: + You must not break the build! Never check in changes that do not compile, install or run. Just because your local tree compiles doesn't mean you are done. The most common way to break the build - is to forget to add new files or directories to SVN. But it is easy - to fix this problem: + is to forget to add new files or directories to git. But it is easy + to fix this problem: Clone your local repo, but never make changes + in it. After you have committed a set of changes, cd to the clone, + run git pull, build and make distcheck. If that passes, it's safe + to push. - + Keep two directories, one where you make changes and another - 'pristine' tree that you keep up to date. As soon as you check - in changes to your working tree, update the pristine tree then - recompile, install and run the pristine version. If you forgot - to add some new files, it will quickly show up. - - + Try not to break 'make dist' tarballs. These are generally broken - by not updating Makefile.am files when files are added or removed - to the repository. - - + If you are going to be changing many files in an experimental fashion, - it is probably a good idea to create a separate branch for your - changes. Please see the SVN info documentation to see how to create - a branch. Also, please inform the gnucash-devel-list about what you - are going to do. + + It's wise to do major work in a branch. That allows you to keep the rest of your repo up to date. It's also better to commit small changes often rather than to make a single large change. Run make check often so that you can quickly find errors. + When code is added from new developers, add them to AUTHORS and to doc/sgml/C/xacc-about.sgml.