| | 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. |