Rename README.svn to README.git and revise

reflecting the git conversion.
This commit is contained in:
John Ralls 2014-02-16 09:37:09 -08:00
parent 2c2d0efe0f
commit 168dc03dde

View File

@ -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.