| 8 | |
| 9 | == About Subversion == |
| 10 | |
| 11 | [http://subversion.tigris.org/ Subversion] is a version control system meant to be a replacement for CVS, |
| 12 | and has most of CVS's features. Generally, Subversion's interface to a particular feature is similar to CVS's, |
| 13 | except where there's a compelling reason to do otherwise. The most important advantage over CVS is that |
| 14 | Subversion does not only version file contents and file existence, but also directories, copies, and renames. |
| 15 | Commits are also truly atomic; no part of a commit takes effect until the entire commit has succeeded. The most |
| 16 | visible difference to CVS is that CVS Revision numbers are per-commit, not per-file. Tags and branches are also handled somewhat differently (rather like copying things into dedicated directories). |
| 17 | |
| 18 | Probably the best source about Subversion is the [http://svnbook.red-bean.com/nightly/en/index.html Subversion book] |
| 19 | (the link points to the current development version of the documentation; pdf and other versions of the book are |
| 20 | [http://svnbook.red-bean.com/ available here]. |
| 21 | |
| 22 | Users without experience in version control systems like Subversion or CVS might benefit from this [http://svnbook.red-bean.com/nightly/en/svn.intro.html general introduction]; experienced CVS users will find |
| 23 | [http://svnbook.red-bean.com/nightly/en/svn.forcvs.html Subversion for CVS users] useful. |
| 24 | |
| 25 | The subversion repository for ROPP can be accessed via the Subversion server at the URL |
| 26 | {{{ |
| 27 | svn://eld001/ROPP_svn/... |
| 28 | }}} |
| 29 | For example, checking out the actual development version of the entire source code into a subdirectory ropp_src would require |
| 30 | {{{ |
| 31 | svn co svn://eld001/ROPP_svn/ropp_src/trunk ropp_src |
| 32 | }}} |
| 33 | The commands |
| 34 | {{{ |
| 35 | svn co svn://eld001/ROPP_svn/ropp_doc/trunk ropp_doc |
| 36 | svn co svn://eld001/ROPP_svn/ropp_web/trunk ropp_web |
| 37 | svn co svn://eld001/ROPP_svn/ropp_test/trunk ropp_test |
| 38 | }}} |
| 39 | will check out the documentation, web presentation, and test folder in a similar way. With FCM (see below), the |
| 40 | above checkout commands would be somewhat simpler: |
| 41 | {{{ |
| 42 | fcm co fcm:ropp_src_tr ropp_src |
| 43 | fcm co fcm:ropp_doc_tr ropp_doc |
| 44 | fcm co fcm:ropp_web_tr ropp_web |
| 45 | fcm co fcm:ropp_test_tr ropp_test |
| 46 | }}} |
| 47 | The latter requires that FCM is set up properly in your environment. |
| 48 | |
| 49 | |
| 50 | == About FCM == |
| 52 | [http://www-nwp/~frtc/FCM/trunk/doc/sys/user_guide/index.html FCM] (Flexible Configuration Management |
| 53 | system) is the Met Office's set of tools build around Subversion (for version management), Trac |
| 54 | (for issue tracking) and the Met Office's own build system. ROPP uses FCM only for code management; the |
| 55 | build part is based on GNU's autotools. The |
| 56 | [http://www-nwp/~frtc/FCM/trunk/doc/sys/user_guide/index.html documentation for FCM] is quite exhaustive; |
| 57 | to access the FCM commands the following command needs to be added to your .profile (or equivalent shell |
| 58 | initialisation file): |
| 59 | |
| 60 | {{{ |
| 61 | . ~frdm/FCM/bin/env.sh |
| 62 | }}} |
| 63 | |
| 64 | Among the advantages of using FCM is a simpler frontend to Subversion commands (see the checkout examples above), |
| 65 | but also and graphical diff and merge utilities. In order to support ROPP, the following abbreviations/keywords |
| 66 | are implemented within FCM: |
| 67 | |
| 68 | {{{ |
| 69 | fcm:ropp_doc svn://eld001/ROPP_svn/ropp_doc |
| 70 | fcm:ropp_doc_tr svn://eld001/ROPP_svn/ropp_doc/trunk |
| 71 | fcm:ropp_doc_br svn://eld001/ROPP_svn/ropp_doc/branches |
| 72 | fcm:ropp_doc_tg svn://eld001/ROPP_svn/ropp_doc/tags |
| 73 | fcm:ropp_src svn://eld001/ROPP_svn/ropp_src |
| 74 | fcm:ropp_src_tr svn://eld001/ROPP_svn/ropp_src/trunk |
| 75 | fcm:ropp_src_br svn://eld001/ROPP_svn/ropp_src/branches |
| 76 | fcm:ropp_src_tg svn://eld001/ROPP_svn/ropp_src/tags |
| 77 | fcm:ropp_test svn://eld001/ROPP_svn/ropp_test |
| 78 | fcm:ropp_test_tr svn://eld001/ROPP_svn/ropp_test/trunk |
| 79 | fcm:ropp_test_br svn://eld001/ROPP_svn/ropp_test/branches |
| 80 | fcm:ropp_test_tg svn://eld001/ROPP_svn/ropp_test/tags |
| 81 | fcm:ropp_web svn://eld001/ROPP_svn/ropp_web |
| 82 | fcm:ropp_web_tr svn://eld001/ROPP_svn/ropp_web/trunk |
| 83 | fcm:ropp_web_br svn://eld001/ROPP_svn/ropp_web/branches |
| 84 | fcm:ropp_web_tg svn://eld001/ROPP_svn/ropp_web/tags |
| 85 | }}} |
| 86 | |
| 87 | |
11 | | Trac is a '''minimalistic''' approach to '''web-based''' management of |
12 | | '''software projects'''. Its goal is to simplify effective tracking and handling of software issues, enhancements and overall progress. |
| 90 | [http://trac.edgewall.com/ Trac] is a minimalistic approach to web-based management of |
| 91 | software projects. Its goal is to simplify effective tracking and handling of software issues, |
| 92 | enhancements and overall progress. All aspects of Trac have been designed with the single goal |
| 93 | to help developers write software while staying out of the way and imposing as little as possible |
| 94 | on a team's established process and culture. |
25 | | "[wiki:TracAdmin trac-admin] ''yourenvdir'' initenv" created |
26 | | a new Trac environment, containing a default set of wiki pages and some sample |
27 | | data. This newly created environment also contains |
28 | | [wiki:TracGuide documentation] to help you get started with your project. |
29 | | |
30 | | You can use [wiki:TracAdmin trac-admin] to configure |
31 | | [http://trac.edgewall.com/ Trac] to better fit your project, especially in |
32 | | regard to ''components'', ''versions'' and ''milestones''. |
| 110 | It is possible to configure Trac to better fit this project, especially in regard to ''components'', |
| 111 | ''versions'' and ''milestones''. At present, however, this is only possible on a system administrator level; |
| 112 | so contact Dave Matthews about such changes. |