= Downloading GRASS Source = [[TOC]] == Packaged Source == All source releases are available for download from: * '''GRASS 6.4.3:''' Current stable release: [wiki:Release/6.4.3-News] * GRASS 6.4.2: Old stable release: [wiki:Release/6.4.2-News] * GRASS 6.3.0: Old technical preview release: [wiki:Release/6.3.0-News] * GRASS 6.2.3: Older stable release: [wiki:Release/6.2.3-News] * GRASS 5.4.1: Latest very old stable release: [wiki:Release/5.4.1-News] * '''Download at http://grass.osgeo.org/download/''' or directly from * http://grass.osgeo.org/grass70/source/ * http://grass.osgeo.org/grass65/source/ * http://grass.osgeo.org/grass64/source/ * http://grass.osgeo.org/grass63/source/ * http://grass.osgeo.org/grass62/source/ * http://grass.osgeo.org/grass54/source/ == Weekly snapshots == * http://grass.osgeo.org/grass64/source/snapshot/ * http://grass.osgeo.org/grass70/source/snapshot/ == Subversion GRASS main source code repository == The GRASS GIS software lives in the [http://subversion.apache.org/ Subversion] (SVN) source control system. It can be browsed online using the [http://trac.osgeo.org/grass/browser Browse Source] button on the top bar. With the subversion client software installed, various versions can be accessed: === GRASS 7.1 === The '''development branch''' version of '''GRASS 7''' can be extracted using the command: {{{ svn checkout https://svn.osgeo.org/grass/grass/trunk grass7_trunk #Subsequent updates: svn up }}} === GRASS 7.0 === To extract the current '''7.0.0 release branch''' version of '''GRASS 7''' use the command: {{{ svn checkout https://svn.osgeo.org/grass/grass/branches/develbranch_7_0 grass70_release #Subsequent updates: svn up }}} If you have a local trunk version and want to continue with GRASS 6 development, read here to easily [wiki:HowToSVN#Switchtherepository switch to this GRASS 6 development branch]. === GRASS 6.5 === To extract the current '''6.5.0 development branch''' version of '''GRASS 6''' use the command: ''Note: development here is discouraged and should take place in GRASS 7.'' {{{ svn checkout https://svn.osgeo.org/grass/grass/branches/develbranch_6 grass6_devel #Subsequent updates: svn up }}} If you have a local trunk version and want to continue with GRASS 6 development, read here to easily [wiki:HowToSVN#Switchtherepository switch to this GRASS 6 development branch]. === GRASS 6.4 === To extract the current state of the '''6.4.x release branch''' version ('''stable'''), which continuously receives bugfixes, use the command: {{{ svn checkout https://svn.osgeo.org/grass/grass/branches/releasebranch_6_4 grass64_release }}} To extract a [wiki:Release specific release], e.g. the '''6.4.0 release candidate 5 (RC5)''' from 2009, use the command: {{{ svn checkout https://svn.osgeo.org/grass/grass/tags/release_20090609_grass_6_4_0RC5 grass640_rc5 }}} === GRASS 6.3 === To extract the old '''6.3.x release branch''' version ('''technology preview''') use the command: {{{ svn checkout https://svn.osgeo.org/grass/grass/branches/releasebranch_6_3 grass63_release }}} === GRASS 6.2 === To extract the old '''6.2.x stable''' version use the command: {{{ svn checkout https://svn.osgeo.org/grass/grass/branches/releasebranch_6_2 grass62_release }}} Note: Write access to the Subversion repository is governed by [http://download.osgeo.org/grass/grass6_progman/rfc/rfc2_psc.html RFC 2: Legal aspects of code contributions]. Committers should take care to use https for access, and use their [http://www.osgeo.org/osgeo_userid OSGeo Userid] for authentication. === Committing code to SVN (developers with write access) === A commit command might look something like: {{{ svn commit -m "Distinguish between raster and vector backends (bug #999)" main.c --username glynn }}} After your first commit SVN will remember your OSGeo user id and password so --username only has be used the first time. To add a new directory, please use (after checking that tmp files were removed and file permissions are appropriate): {{{ svn add newdir svn commit -m "New xyz functionality uploaded" newdir }}} == Subversion GRASS Addons source code repository == ''Want to contribute? Read on [wiki:HowToContribute#WriteaccesstotheGRASS-Addons-SVNrepository here]'' With the subversion client software installed, the current GRASS Addons can be extracted using the command: {{{ svn checkout https://svn.osgeo.org/grass/grass-addons grass_addons }}} Update access to the Subversion Addons repository is governed by [http://download.osgeo.org/grass/grass6_progman/rfc/rfc2_psc.html RFC 2: Legal aspects of code contributions]. Committers should take care to use https for access, and use their [http://www.osgeo.org/osgeo_userid OSGeo Userid] for authentication. A commit command might look something like: {{{ svn commit -m "Stereo DEM creation" main.c --username glynn }}} After your first commit SVN will remember your OSGeo user id and password so --username only has be used the first time. To add a new directory, please use (after checking that tmp files were removed and file permissions are appropriate): {{{ svn add newdir svn commit -m "New xyz functionality uploaded" newdir }}} == Subversion GRASS Sandbox source code repository == The "sandbox" repository is a place for collaborative experiments and alpha-ware not quite ready for incubation in the addons repository. GRASS developers can create directories for themselves and use it as they like, just keep everything GPL>=2 compatible in the usual way! With the subversion client software installed, the Sandbox repository can be extracted with the command: {{{ svn checkout https://svn.osgeo.org/grass/sandbox grass-sandbox }}} Write access to the Subversion Sandbox repository is again governed by [http://download.osgeo.org/grass/grass6_progman/rfc/rfc2_psc.html RFC 2: Legal aspects of code contributions]. Committers should take care to use https for access, and use their [http://www.osgeo.org/osgeo_userid OSGeo Userid] for authentication. Commit commands will follow the same method as for the addons repository shown above. == Subversion GRASS repository dumpstreams == Incremental dumpstreams of GRASS SVN repository are available at [http://svn.osgeo.org/dumps/grass/]. == Online browseable live web interfaces to source code repository == * TracBrowser interfaces: * [http://trac.osgeo.org/grass/browser/grass/ GRASS SVN] * [http://trac.osgeo.org/grass/browser/grass-addons/ GRASS Addons SVN] * [http://trac.osgeo.org/grass/browser/grass-web/ GRASS Web SVN] * [http://josef.fsv.cvut.cz/cgi-bin/viewcvs.cgi/?root=grass-osgeo ViewCVS interface] (Subversion backup note: svnsync runs 3 times per day) * [http://svn.osgeo.org/grass/ Raw SVN server HTML interface] == SVN mirrors == * http://svnmirror.osgeo.org is a mirror of all OSGeo repositories incl. GRASS that is on a 15 minute svnsync. The physical machine is located at TelaScience.org in San Diego, CA (USA). * A second GRASS SVN mirror is [http://josef.fsv.cvut.cz/cgi-bin/viewcvs.cgi/?root=grass-osgeo here] at the Czech Technical University in Prague (CZ), Faculty of Civil Engineering. == Historical CVS == * Our [http://freegis.org/cgi-bin/viewcvs.cgi/ old GRASS 5/6.1 CVS at freegis.org] (ViewCVS interface; no longer updated since move to OSGeo SVN) * A copy of GRASS-CVS has been saved [http://josef.fsv.cvut.cz/cgi-bin/viewcvs.cgi/?root=grass-cvs-2007-12-09 here] at the Czech Technical University in Prague (CZ), Faculty of Civil Engineering. == Historical checkouts == You can download the source code as it existed on a particular day as follows: {{{ svn co -r '{2008-09-01}' https://svn.osgeo.org/grass/grass/branches/develbranch_6 grass6_20080901 }}} You can then step forward in time to another date as follows: {{{ svn update -r '{2008-09-04}' }}} This can be useful to help narrow down which change introduced some weird behaviour. While SVN history for many individual files exists back to 1999, if you want to go back in time to GRASS 5 days you should use the GRASS 5 CVS instead. The directory layout was widely changed between GRASS 5 and 6 and the earliest version of GRASS 6 that will actually compile on its own will be just before the 5.7.0 development release. == Compilation notes for various operating systems == Please see [http://grass.osgeo.org/wiki/Compile_and_Install here].