Changes between Version 7 and Version 8 of pm-svn-branches


Ignore:
Timestamp:
Oct 6, 2006 5:19:39 PM (14 years ago)
Author:
andreasw
Comment:

started changes reflecting new release policy

Legend:

Unmodified
Added
Removed
Modified
  • pm-svn-branches

    v7 v8  
    55A '''''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.
    66
    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.
     7A '''''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
     9In 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.
    810
    911If 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.
     
    1113Subversion 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.
    1214
    13 By convention, the directory stucture in the svn repository at the very base of a project (say, {{{Prjct}}}), is
    14 
     15Project 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
    1516{{{
    1617Prjct ---- trunk
    1718  |
     19  |------- stable
     20  |
     21  |------- releases
     22  |
    1823  |------- branches
    1924  |
    20   -------- tags
     25  |------- tags
     26  |
     27  -------- conf
    2128}}}
     29Here, {{{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.
    2230
    2331You 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].