- Timestamp:
- Jun 25, 2007, 9:37:08 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/README.developer
r388 r394 4 4 5 5 This file contains developer specific information. 6 7 8 === Coding style === 9 10 Developers should follow the coding style outlined in the 11 [http://www.thep.lu.se/~jari/documents/c++_coding_guidelines/index.html C++ coding guidelines]. 12 13 14 === Subversion usage === 15 16 Commits should be minimalistic and the projects should always compile 17 (`make` and `make test`) when someone makes a clean checkout. There is 18 a short introduction to subversion and its usage available as 19 [http://www.thep.lu.se/~jari/documents/subversion_guidelines/index.html Subversion guidelines]. 20 We follow these guidelines. 21 6 22 7 23 === bootstrap === … … 13 29 14 30 to setup autoconf files. 31 15 32 16 33 === configure === … … 24 41 additional tests. All tests are not enabled by default since some of 25 42 the tests depend on being run from a subversion WC. 43 44 45 === Testing === 46 47 Test programs should be created and added to the `make check` 48 execution. Always check that the test runs before committing code to 49 the repository, i.e., run `make check`. 50 51 There is a test repository in source:trunk/test/repo that is a part of 52 the svndigest repository. The logic behind this is that it is nice to 53 have a common test repository that can be used off-line. Changes to 54 the repository are usually made to create new test cases and it is 55 important that these changes are committed to svndigest repository as 56 well. All changes to the test repository are not automatically 57 propagated to the svndigest repository and it is important that some 58 files created in the test repository are manually added to the 59 svndigest repository. Assuming that `make check` is run before a 60 commit, a warning is generated if the test repository is inconsistent 61 with the svndigest repository. There will be a diagnostic message and 62 a resolution hint, however the developer must examine and resolve the 63 problem manually. 64 65 The problem is simply that the file source:trunk/test/repo/db/current 66 is changed compared to the svndigest repository. The `current` file 67 indicates a specific number of change sets within the test repository 68 and the directories source:trunk/test/repo/db/revs and 69 source:trunk/test/repo/db/revprops contains a matching number of 70 change sets. However, the change sets added to the test repository are 71 not automatically added to the svndigest repository, therefore the new 72 files in the `revs` and `revprops` directories must be added manually 73 to the svndigest repository. 74 75 There is also a race condition when developers make changes to the 76 test repository simultaneously: It is easy to create severe conflicts 77 in the test repository. Imaging the case when two developers adds test 78 commits to the test repository, and then tries to add these to the 79 svndigest repository. Since there are different versions of the same 80 test repository revisions, the second developer committing to the 81 svndigest will get messages about files being in the way. This is just 82 one situation with possible conflicts. This conflict is of course 83 resolved by the second developer having to throw away his changes and 84 redo them after a new checkout of the test repository. 85 86 The take home message is that developers should communicate with each 87 other when changing the test repository in order to avoid to large 88 repository conflicts. AND read the output of `make check`. 89 26 90 27 91 === Create a distribution === … … 42 106 43 107 44 Also see http://lev.thep.lu.se/trac/svndigest/wiki/DeveloperInformation 108 == Releasing == 109 110 See http://lev.thep.lu.se/trac/svndigest/wiki/ReleaseProcedure 111 45 112 46 113 ------------------------------------------------------------------------- 47 114 {{{ 48 115 Copyright (C) 2006 Jari Häkkinen 49 Copyright (C) 2007 Jari Häkkinen Peter Johansson116 Copyright (C) 2007 Jari Häkkinen, Peter Johansson 50 117 51 118 This file is part of svndigest, http://lev.thep.lu.se/trac/svndigest
Note: See TracChangeset
for help on using the changeset viewer.