== The ROPP Repository == The whole ROPP development system is divided into four areas: * '''ropp_src''' : Deliverable code & supporting development system * '''ropp_bld''' : Configure & build support scripts, distro builder etc * '''ropp_doc''' : User and project documentation * '''ropp_test''' : Test Folder (test system and its results) The repository for ROPP can be accessed via the Subversion server at the URL {{{ https://svn.grassaf.org/ropp/ }}} For a complete list of Subversion commands see the [http://svnbook.red-bean.com/en/1.0/index.html SVN reference manual] '''Checking out trunk''' To [http://svnbook.red-bean.com/en/1.0/re04.html checkout] the latest development (trunk) versions: {{{ svn checkout https://svn.grassaf.org/ropp/ropp_src/trunk ./trunk svn checkout https://svn.grassaf.org/ropp/ropp_bld/trunk ./trunk svn checkout https://svn.grassaf.org/ropp/ropp_doc/trunk ./trunk svn checkout https://svn.grassaf.org/ropp/ropp_test/trunk ./trunk }}} This will check out the source code, build support, documentation, and test folder, respectively to the local working directory. '''Checking out old release versions''' To checkout the older (tagged) release versions: {{{ svn checkout https://svn.grassaf.org/ropp/ropp_src/tags/ ./ svn checkout https://svn.grassaf.org/ropp/ropp_bld/tags/ ./ svn checkout https://svn.grassaf.org/ropp/ropp_doc/tags/ ./ svn checkout https://svn.grassaf.org/ropp/ropp_test/tags/ ./ }}} This will check out the tagged source code, build support, documentation, and test folder, respectively to the local working directory. Here, is the tagged release version, e.g. 1.1, 2.0 etc. Note that ropp_bld is relatively new and does not currently have any tags set. === Tags === A [http://svnbook.red-bean.com/en/1.0/ch04s06.html tag] is just [http://svnbook.red-bean.com/en/1.0/re07.html copy] or snapshot of a a particular revision of the repository. In the case of ROPP, a copy taken from the head of trunk at the time that the distribution files for a release were built. You could just as well checkout the revision number instead, but a tag is easier to remember! == Branches == Developments to ROPP should be made from, and committed to, a [http://svnbook.red-bean.com/en/1.0/ch04.html#svn-ch-4-sect-1 branch] rather than directly to the latest trunk version. This allows changes to be tested before merging the required changes back into the trunk. The trunk therefore represents a stable 'next potential release' state for ROPP. Branches can be temporary and might be for working on resolving a specific Trac Ticket. Instructions for developers working with branches in ROPP are available [https://trac.grassaf.org/ropp/wiki/ropp_branches here]. === Preparation for building === Having checked out {{{ropp_src}}} (trunk, tag or branch) some commands need to be run to locally create intermediate configuration and make files not in the repository, before the {{{configure / make / make install}}} sequence can begin: {{{ aclocal -m4 --force automake -a -c autoconf }}} These commands need to be repeated in each of the {{{ropp_tools}}}, {{{ropp_io}}} etc modules. Thereafter, if any changes are made to the low-level configure.ac or Makefile.am template files, an {{{autoreconf}}} should be sufficient. The whole sequence needs to be re-run if any .m4 (macro) file is changed.