mirror of
https://github.com/Gnucash/gnucash.git
synced 2024-11-29 20:24:25 -06:00
1d92071cd8
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12186 57a11ea4-9604-0410-9ed3-97b8803252fd
106 lines
4.3 KiB
Plaintext
106 lines
4.3 KiB
Plaintext
This file contains guidelines for using Gnucash from Subversion.
|
|
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
|
|
command to generate a configure script:
|
|
|
|
./autogen.sh
|
|
|
|
After the ./configure script has been created, you need to run it
|
|
with all the usual options. See ./configure --help for a
|
|
reminder. For example:
|
|
|
|
./configure --enable-ofx --enable-opt-style-install --prefix=/opt/gnucash
|
|
|
|
If in doubt, you can run autogen.sh, run ./configure --help,
|
|
then re-run ./configure with your options.
|
|
|
|
(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.)
|
|
|
|
+ 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
|
|
AC_CONFIG_FILES. autoconf/status.m4:844: AC_CONFIG_FILES is expanded
|
|
from... configure.in: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.
|
|
|
|
When making changes to GnuCash and trying to commit to the repository:
|
|
|
|
+ Ask first. If your changes are major, or could possibly break existing
|
|
code, you should always ask. If your change is minor and you have
|
|
been working on gnucash for a while it is probably not necessary
|
|
to ask. But when in doubt, ask. Even if your change is correct,
|
|
somebody may know a better way to do things.
|
|
|
|
Since you want other people to review your code before it goes in,
|
|
you can submit your changes as a patch to gnucash-devel@gnucash.org.
|
|
See README.patches for details.
|
|
|
|
If you are making changes to gnucash SVN, you should be subscribed
|
|
to gnucash-devel@gnucash.org and to gnucash-changes@gnucash.org.
|
|
(Subscription address: http://www.gnucash.org/en/lists.phtml)
|
|
gnucash-devel@gnucash.org is a good place to ask about intended
|
|
changes.
|
|
|
|
+ There must be a ChangeLog entry for every commit. If you discover that
|
|
you only committed half the files you meant to and need to fix that
|
|
up you do not need a new ChangeLog entry. But in general, ChangeLog
|
|
entries are mandatory. Changes with out ChangeLog entries will be
|
|
reverted.
|
|
|
|
+ When you commit, use your ChangeLog entry as the log message.
|
|
|
|
+ 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:
|
|
|
|
+ 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.
|
|
|
|
+ The ChangeLog entries should preferably match in date format with
|
|
the existing entries. You can set how emacs does this by using
|
|
customize mode:
|
|
|
|
- M-x customize
|
|
|
|
+ When code is added from new developers, add them to AUTHORS and
|
|
to doc/sgml/C/xacc-about.sgml.
|
|
|
|
Dave Peticolas
|
|
June 21, 2002
|
|
|
|
Derek Atkins
|
|
November 21, 2002
|
|
|
|
Neil Williams
|
|
November 6th, 2005
|
|
|