Changes between Version 4 and Version 5 of RasdamanReleaseProcess
- Timestamp:
- Mar 18, 2013, 9:27:56 PM (12 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
RasdamanReleaseProcess
v4 v5 1 1 This page is an ongoing effort to document current release process, gather important discussions points from the dev mailing list and progress toward a fully fledged release procedure with as much automation as possible. 2 3 = Infrastructure notes = 4 Since we are using git for version control there are a few caveats that have to be considered in defining the release process: 5 git is distributed and does not keep a linear history like centralised CVS 2 6 3 7 = Versioning scheme = … … 10 14 The repository contains two types of ''branches'' on it: 11 15 * '''master''' (single instance) -- the currently available branch, which will be the main development branch; 12 * '''release''' (mulitple instances) -- When starting release process (consolidation of beta, rc, and other testing releases), a ''release'' branch is created with name '''release_ vM.m'''. These branches will allow maintenance of past releases, while development continues in the master branch.16 * '''release''' (mulitple instances) -- When starting release process (consolidation of beta, rc, and other testing releases), a ''release'' branch is created with name '''release_M.m'''. These branches will allow maintenance of past releases, while development continues in the master branch. 13 17 * Where M=Major version; m=minor version; All patch versions will belong to the same "minor" branch 14 18 * Note: consider broader detail such as per-major version release line (fewer branches) or cleaning up branches for un-maintained versions 15 19 16 A branch can be checked out20 A local branch can be checked out 17 21 {{{ 18 git checkout release_ vM.m22 git checkout release_M.m 19 23 }}} 20 24 21 N OTE: Is there a way to "export" a tag directly from a remote git repo? This will save users from getting all the clone to just test a beta or rc.25 Note that branches on the main repository are remote branches and need a specific [http://stackoverflow.com/questions/67699/how-do-i-clone-all-remote-branches-with-git checkout procedure] to be worked with. 22 26 23 Every release, both testing (cleaned up afterwards) and final, is marked by a ''tag'' '''vM.m.p''' in the repo, which can be checked out on the relevant branch by 27 NOTE: Is there a way to "export" a tag directly from a remote git repo? This will save users from getting all the clone to just test a beta or rc. We provide source tarballs for that meanwhile. 28 29 Every release, both testing (cleaned up afterwards) and final, is marked by a ''tag'' according to the pattern '''vM.m.p''' (we are keeping the "v" prefix for historical reasons) in the repo, which can be checked out with 24 30 {{{ 25 31 git checkout vM.m.p … … 39 45 == Tags == 40 46 Do tags belong to a branch or are they still visible repository wide on git? 47 * Looks like tags are still repository wide, need to be tested with tags on remote branches.