mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
2001-05-01 Conrad Canterford <conrad@mail.watersprite.com.au>
* make-gnucash-patch.in: add --file option to allow single file
patches to be made.
* README.patches (new file): Moved patch instructions from README
file into this new file, and added detailed descriptions of all
the options for make-gnucash-patch.
* README: see above
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@4098 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
89
README
89
README
@@ -473,91 +473,10 @@ Before you start developing GnuCash, you should do the following:
|
||||
|
||||
Submitting a Patch:
|
||||
|
||||
Once you have done some work that you would like to submit, you need
|
||||
to send a patch. There is a perl script called make-gnucash-patch
|
||||
provided with the distribution that you can use to create the
|
||||
patch. Here is how to use that perl script.
|
||||
This section has been removed to the file README.patches
|
||||
|
||||
There are two methods.
|
||||
Please consult that file for details on using the script provided to make
|
||||
patches suitable for submitting to the gnucash development team.
|
||||
|
||||
1) Run ./make-gnucash-patch in your source directory. The script
|
||||
will then create two directories ../diff and ../tmp. In ../tmp
|
||||
it will then do a checkout of the cvs sources. If gnucash has
|
||||
already been checked out into this directory then only an update
|
||||
will occur. As a consequence of this you should make sure you
|
||||
are merged with current CVS before running make-gnucash-patch or
|
||||
you will find parts of the patch are reversing recent changes in
|
||||
CVS.
|
||||
|
||||
make-gnucash-patch will then use makepatch to create a patch
|
||||
between the original directory and ../tmp/gnucash. makepatch
|
||||
will ask you for a description of the patch. And then the diff
|
||||
will be written to the diff file
|
||||
../diffs/gnucash-YYYYMMDD-hhmmss-<username>.diff.gz where Y=year,
|
||||
M=month, D=day, h=hour, m=minute, and s=second.
|
||||
|
||||
make-gnucash-patch will then uuencode the diff to
|
||||
../diffs/<samefilename>.uue.
|
||||
|
||||
There are two vars you can set in a ~/.gnucash-patch.rc file.
|
||||
The file should look like this
|
||||
|
||||
----------------------------------------------------------------------
|
||||
# -*- perl -*-
|
||||
|
||||
$::should_uuencode = 0;
|
||||
$::ask_description = 0;
|
||||
|
||||
1;
|
||||
----------------------------------------------------------------------
|
||||
This is basically a perl file that is sourced by the script. If
|
||||
you don't want the diff to be uuencoded (say you'll send the
|
||||
patch in email using mime and don't need it double encoded). Set
|
||||
$::should_uuencode to 0. If you don't want makepatch to ask you
|
||||
for the patch description (so the process is more automated
|
||||
possibly) set $::ask_description to 0.
|
||||
|
||||
2) The second method is basically described below but it also
|
||||
includes the vars you can set from above. This method gives you
|
||||
more control over which directories are used.
|
||||
|
||||
First, set up your development directories as follows:
|
||||
|
||||
< GnuCash home development directory >
|
||||
|
|
||||
|---- < directory containing original GnuCash sources >
|
||||
|
|
||||
|---- < directory containing your modified GnuCash sources >
|
||||
|
||||
A concrete example of those directories might be:
|
||||
|
||||
/home/me/gnucash
|
||||
|
|
||||
|---- /home/me/gnucash/gnucash.pristine (original sources)
|
||||
|
|
||||
|---- /home/me/gnucash/gnucash.mywork (original sources + my edits)
|
||||
|
||||
Copy the make-gnucash-patch script to the home development
|
||||
directory (/home/me/gnucash above). Now set three environment
|
||||
variables to reflect the names of your directories. Given the
|
||||
names above, you would use:
|
||||
|
||||
export GNC_MAKEPATCH_OLD_DIR=gnucash.pristine
|
||||
export GNC_MAKEPATCH_NEW_DIR=gnucash.mywork
|
||||
export GNC_MAKEPATCH_HOME_DIR=/home/me/gnucash
|
||||
|
||||
Right before you make your patch, make sure *both* your working
|
||||
and your pristine directories are in sync with cvs. Run 'cvs -z3
|
||||
update -dP' in both directories to ensure that is the
|
||||
case. Updating from cvs in your working directory may cause
|
||||
conficts in a file. You must resolve those conficts before making
|
||||
a patch.
|
||||
|
||||
Now run the script. Note that this script requires the programs
|
||||
'makepatch', 'gzip', 'diff', and 'uuencode' (and, of course,
|
||||
'perl') to run.
|
||||
|
||||
The same files will be generated for this method as the last
|
||||
(../diffs/*.diff.gz and ../diffs/*.diff.gz.uue).
|
||||
|
||||
Thanks in advance for your contribution!
|
||||
Thank you.
|
||||
|
||||
Reference in New Issue
Block a user