Working with SVN: Difference between revisions

From GRASS-Wiki
Jump to navigation Jump to search
(init)
 
Line 20: Line 20:
  wget http://grass.itc.it/grass63/source/snapshot/grass-6.3.cvs_src_snapshot_${DATE}.tar.gz
  wget http://grass.itc.it/grass63/source/snapshot/grass-6.3.cvs_src_snapshot_${DATE}.tar.gz
* move it somewhere on your filesystem ''without'' spaces or special characters in the path.
* move it somewhere on your filesystem ''without'' spaces or special characters in the path.
  mv grass-6.3.cvs_src_snapshot_${DATE}.tar.gz /usr/local/src/grass/
  mv grass-6.3.cvs_src_snapshot_${DATE}.tar.gz /usr/local/src/
* decomress it
* decomress it
  tar xzf grass-6.3.cvs_src_snapshot_${DATE}.tar.gz
  tar xzf grass-6.3.cvs_src_snapshot_${DATE}.tar.gz
* at this stage, you may want to rename the source directory to something shorter
mv grass-6.3.cvs_src_snapshot_${DATE}/ grass63/
cd grass63/
* set for anonymous connection to CVS server
* set for anonymous connection to CVS server
  CVSROOT=:pserver:grass-guest@intevation.de:/home/grass/grassrepository
  CVSROOT=:pserver:grass-guest@intevation.de:/home/grass/grassrepository
Line 31: Line 34:
* update to the latest
* update to the latest
  cvs -z3 update -dP
  cvs -z3 update -dP


==== Updating entire source tree (second time) ====
==== Updating entire source tree (second time) ====

Revision as of 07:16, 7 December 2006

[I find the main grass website CVS help pages many, complex, and confusing. So trying to start over here with a more consise help page]

Tips for everyone

  • You can setup default CVS options in a file called .cvsrc in your home directory.
cat << EOF >> ~/.cvsrc
-z3
diff -u
update -dP
EOF

Tips for users

(read-only access to the latest code)

Setting it up

First time

  • Download latest source code snapshot
wget http://grass.itc.it/grass63/source/snapshot/grass-6.3.cvs_src_snapshot_${DATE}.tar.gz
  • move it somewhere on your filesystem without spaces or special characters in the path.
mv grass-6.3.cvs_src_snapshot_${DATE}.tar.gz /usr/local/src/
  • decomress it
tar xzf grass-6.3.cvs_src_snapshot_${DATE}.tar.gz
  • at this stage, you may want to rename the source directory to something shorter
mv grass-6.3.cvs_src_snapshot_${DATE}/ grass63/
cd grass63/
  • set for anonymous connection to CVS server
CVSROOT=:pserver:grass-guest@intevation.de:/home/grass/grassrepository
export CVSROOT
  • login to CVS
cvs login
password: grass
  • update to the latest
cvs -z3 update -dP

Updating entire source tree (second time)

The is no need to login to CVS now, it remembers all that.

  • clear away the existing rubble
make distclean
  • update (You can skip the reporting of all directories by adding the -q flag (assumes -z3 and -dP were added to ~/.cvsrc)
cvs -q update
  • re run ./configure and make

Updating just one module

Often you are interested in just a single bugfix or updated module. Assuming the change didn't affect libraries or the build system, you can just update and recompile the code in the module's directory.

  • for example, updating just the r.cost module
cd raster/r.cost
cvs up
make
  • If includes/ or module header files (*.h) have changed, you will have to run
make clean

before make.


Tips for users wanting to contributing code

(code standards, code submission method)

Tips for GRASS developers

(CVS write access, and committing)

Becoming a GRASS developer

The GRASS Project Steering Committee is in charge of giving new developers write access to the CVS.

Setting it up

ssh, firewalls, login, etc.