Changeset 2792 for trunk/Ohana/doc/elixir-cvs.txt
- Timestamp:
- Dec 22, 2004, 1:23:23 PM (22 years ago)
- File:
-
- 1 edited
-
trunk/Ohana/doc/elixir-cvs.txt (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/doc/elixir-cvs.txt
r2632 r2792 54 54 Ohana scripts. I have modified sp_plot and el_plot to use 'dvo' 55 55 instead. I have also modified elixir.photreport. 56 57 --- 58 59 Working with Elixir / Ohana and CVS: 60 61 The CVS repositories allows the developer to work on a copy of the 62 Ohana software, make changes to their copy of the code, test the 63 changes within their own version of the Elixir configuration system, 64 share the changes with other developers, and freeze a tested, working 65 snapshot of portions of the software. 66 67 The Ohana software tree is divided into packages, each possibly 68 containing a single program, a group of related programs, or a C 69 library. Within the Ohana software version control system, each of 70 these packages should be released as a single entity. Changes may be 71 made to any of the elements which make up the package. The new 72 changes should be tested so that the developer is confident that the 73 new version of the software may be safely introduced into the 74 production system. At this point, the entire package is tagged with 75 an identifying name and the new release of the package may be loaded 76 into the production tree. 77 78 In the following discussion, we illustrate the process of creating a 79 new release of a package within Elixir. 80 81 First, check out the Ohana tree: 82 83 set CVSROOT to username@machine:/data/elixir2/srcdir/cvs where 84 'username' is your user ID and machine is one of the CFHT linux 85 machines which mount /data/elixir2/srcdir. 86 87 check out your copy of the software tree: 88 89 cvs co ohana 90 91 you may also check out specific releases of packages with the command: 92 cvs co -r TAG PACKAGE eg: 93 cvs co -r libfits-1-0 libfits 94 95 this version should be executed from the same directory level as the 96 cvs co ohana command; each package is placed in the directory 97 ohana/src/PACKAGE. 98 99 The entire ohana package may be compiled from the ohana directory 100 with: 101 102 > configure 103 > make 104 > make install 105 106 Make edits, changes, etc to the programs in some package. For 107 example, you might edit the .c files in the directory 108 ohana/src/gastro/src. Occasionally publish your changes to the CVS 109 repository: 110 111 cvs update (check for changes by other developers) 112 cvs commit [filename] (publish the changes) 113 114 also: 115 116 cvs add (filename) (add a new file to the repository). 117 118 Once the changes have been made, make sure to compile and test your 119 copy of the program. If you are acting as a developer, you must have 120 your version of the ohana/bin/ARCH directory in your path (before the 121 production installation path, /apps/elixir/bin). Once the code has 122 been tested, and the package is ready for release, commit all of your 123 changes to the repository (cvs commit). Now you may tag the new 124 release of the package. Within the top-level directory of the 125 package, give the command: 126 127 cvs tag -c TAG 128 129 where TAG is the name of this release. Within the Ohana system, 130 packages are generally tagged with names of the form PACKAGE-N-M where 131 N and M are major and minor version numbers. For example, libfits has 132 tag names starting from libfits-1-0. If the changes are minor, and 133 don't affect interaction with other packages, then it is only 134 necessary to change the minor version number. If the new package 135 forces changes on other packages, it is best to change the major 136 version as well. Major version changes should be introduced only with 137 discussion among the affected parties! It is possible to check the 138 currenly assigned tags for a package with the command: 139 cvs status -v (filename) 140 where (filename) is some file that is part of the package. A 141 convenient file to use is the Makefile for the package. Assigning the 142 tag affects the repository directly (there is no need to run 'commit' 143 afterwards). If you have outstanding changes, the -c option will 144 force CVS to complain, so you will not tag different versions of the 145 files from what you expect. 146 147 Once the tag has been assigned, the new version of the package may be 148 introduced to the production system. This is a two step process: 149 first the new source tree is placed in the appropriate location and 150 compiled. Then the new binaries are pushed to their final locations. 151 There are two options for installing the new package source code. 152 First, you may make a new elixir distribution. To do this, go into 153 the ohana/etc directory, and edit the distributions.txt file. This 154 defines the package releases which make up a complete distribution. 155 There are entries for the ohana/elixir distributions, mana 156 distributions, etc. Make a new distribution version, update the 157 appropriate package, and save the file. This distribution (or any 158 other older distribution) may now be constructed by executing the 159 command 'mkdist (distribution) (version)', for example: 160 mkdist elixir 1.0 161 This command extracts from the CVS repository all of the package 162 versions which are specified to be part of the given distribution 163 version. These are placed in a single directory, along with the ohana 164 infrastructure pieces, with the directory name matching the package 165 name and version number. This new directory may be moved or copied to 166 the official production source code location 167 (/data/elixir2/srcdir/ohana). The entire tree may then be compiled. 168 169 An alternative to the above is to checkout only the new package 170 version. To do this, go to the directory containing the production 171 code (ie, /data/elixir2/srcdir). Perform a checkout of the specific 172 tagged release of the package of interest: 173 cvs co -r TAG PACKAGE (ie, cvs co -r libfits-1-0 libfits). This will 174 replace the old version of the package with the new version. Now the 175 software may be recompiled from the ohana directory. 176 177 Once a new version of the software has been compiled, it may be pushed 178 to the production binary directory. From the /data/elixir2/srcdir 179 directory, issue the command 'make install' (make install-test will 180 show what programs are new). 181
Note:
See TracChangeset
for help on using the changeset viewer.
