| 21 | ====================== |
| 22 | Rework of the above ... GORAN |
| 23 | ====================== |
| 24 | |
| 25 | MASTER |
| 26 | The most recent official stable DETER sources. (A link to the most recent release branch??? What is the semantics of this branch now??? -- tvf) |
| 27 | This should be obsoleted by Release branches. It should be renamed to release 0.93. |
| 28 | |
| 29 | DEVELOPMENT |
| 30 | This is the main trunk containing current development sources. |
| 31 | It is integration and collection branch. No support will be provided for snapshots of this branch. Anybody installing deter software or doing development is expected to take snapshots of the latest Release branch. |
| 32 | Development trunk will be at all times under OPS group control. |
| 33 | No change can be committed into this branch prior to OPS group approval, completed documentation and prior testing. |
| 34 | |
| 35 | RELEASE |
| 36 | A released version, known to be a valid starting point for collaborators. |
| 37 | Release versions are only updated to fix urgent bugs or security problems reviewed by the operations group. |
| 38 | These are labelled by version number. The current Release is 0.93 a.k.a. MASTER. |
| 39 | A new Release Branch will be created as snapshot of a stable (tested) DEV trunk whenever OPS group decide to release new project(s), or periodically a number of bug fixes. |
| 40 | This newly released branch will be then tested, updates may be applied to fix any problems. When finalized, changes will be merged back into DEV, and the new release will be announced. |
| 41 | Problems within these branches will be fixed as minor revisions of the branch in question. |
| 42 | Release branches may periodically merged back into the Dev trunk, to pickup fixes done to that branch. |
| 43 | The release branches will also be under OPS group control. |
| 44 | We should support only one or two versions back from latest release. TBD. |
| 45 | Procedure for creating new release should be: |
| 46 | 1. take a snapshot of the dev branch, create new release branch |
| 47 | 2. Test and fix the new branch until satisfied |
| 48 | 3. Document, then push changes, if any back to dev, |
| 49 | 4. declare victory |
| 50 | |
| 51 | PRIVAT |
| 52 | Developers may also create nonce branches to carry out development tasks, performance evaluations, or other common tasks. |
| 53 | These branches are not supported by the OPS group. |
| 54 | The only play ground for developers and partners (to carry out development tasks, performance evaluations, bug fixing or other) is inside these branches. |
| 55 | They are created and deleted as required with an assigned owner. |
| 56 | Only the owner (or member of the owner's team) of such branch can commit to it. |
| 57 | Committing changes from ISI owned branches back to the Dev Trunk can only be done by prior OPS group approval, after all paper work detailing changes and testing performed is completed. |
| 58 | Committing changes from NON-ISI owned branches back to the Dev Trunk can only be done ISI team, upon request ,after detailed review and after OPS group approval. |
| 59 | Procedure to prepare these branches for checkin should be |
| 60 | 1. pull all changes from DEV branch |
| 61 | 2. retest and fix |
| 62 | 3. Do the documentation, then create request to checkin into dev |
| 63 | 4. If ISI branch push the changes to dev, if not then OPS group will handle ... |
| 64 | |
| 65 | Keeping Track fixes and features in various branches |
| 66 | A better release control will have to be created to track what was fixed in each of the branches. |
| 67 | As a bare minimum fixes would need to be tracked against release versions along with what and how they were tested. |
| 68 | Again, we should only support few branches and obsolete older ones. |
| 69 | |
| 70 | Definition of "accepted" change or satisfactory testing |
| 71 | This is the criteria to declare a successful fix, new release readiness or project completion. |
| 72 | Need to define a default, minimum or required test hardware and/or procedure. Do we really test in production environment ? How would partners do that ? |
| 73 | Suggestions? |
| 74 | |
| 75 | Tagging: |
| 76 | Every major and/or minor release will be tagged to allow going back. The major/minor number will be a part of each version of the released software. |
| 77 | |
| 78 | |
| 79 | |