Changes between Version 7 and Version 8 of pm-svn-branches
- Timestamp:
- Oct 6, 2006 5:19:39 PM (14 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
pm-svn-branches
v7 v8 5 5 A '''''tag''''' is a name that is given by the project maintainer to a particular revision of the code in a repository, so that one can easily retrieve it without having to specify a revision number. Typically, one might want to give tags to stable versions of the code. 6 6 7 A '''''branch''''' is a specific "line" of code development. One always has a main branch, which represents what the common user should obtain from the repository as current release. In subversion, this main branch is by convention called '''''trunk'''''. But it is a very good idea, and we highly recommend this, to do the code development in a different branch, so that one can submit code changes to the repository, without disturbing the users of the official version. In such a '''''development branch''''', one can safely continue to work, possily sharing the changes with other developers, and if a new stable version has been obtained, the changes can be '''''merged''''' to the official '''''trunk''''' version. 7 A '''''branch''''' is a specific "line" of code development. One always has a main branch, which contains the main development branch. In subversion, this main development branch is by convention called '''''trunk'''''. But it is a very good idea, and we highly recommend this, to maintain stable branches, which allow the common user to work with a recent version of the code, without being disturbed by every single change and intermediate unstable version. '''[wiki:pm-svn-releases Here] we discuss the recommended way to handle a project's repository in terms of stable branches and official point releases.''' 8 9 In the trunk development branch one can safely continue to work, possily sharing the changes with other developers, and if a new stable version has been obtained, the changes can be '''''merged''''' to a stable branch. 8 10 9 11 If you have used CVS before, you know the notion of "branches" and "tags". In CVS, there are specific commands to organize tags and branches, which can sometimes be confusing. It is important to understand that subversion works in a different, much easier way. … … 11 13 Subversion itself does not know about tags and branches. Instead, one can use the fact that subversion (in constrast to CVS) also keeps revisions of directories, just as for files, and that an {{{svn copy}}} retains the change history for copied files and directories. 12 14 13 By convention, the directory stucture in the svn repository at the very base of a project (say, {{{Prjct}}}), is 14 15 Project managers are encouraged to follow the [wiki:pm-svn-releases COIN release management policy]. In this case, the directory structure in the svn repository at the very base of a project (say, {{{Prjct}}}), is 15 16 {{{ 16 17 Prjct ---- trunk 17 18 | 19 |------- stable 20 | 21 |------- releases 22 | 18 23 |------- branches 19 24 | 20 -------- tags 25 |------- tags 26 | 27 -------- conf 21 28 }}} 29 Here, {{{stable}}} contains subdirectories {{{x.y}}} with 2-digit release numbers, indicating a '''stable branch''', and {{{releases}}} contains subdirectories {{{x.y.z}}} with 3-digit release numbers, indicating '''tags for stable point releases'''. The latest development is meant to take place in {{{trunk}}}. The directories {{{branches}}} and {{{tags}}} are meant for further branches and tags, respectively, and {{{conf}}} contains some configuration files. 22 30 23 31 You can find out more about the subversion commands used here by typing {{{svn help command}}}, or look at our short documentation [wiki:pm-svn-cmds here].