3 messages in com.perforce.perforce-user[p4] branch newbie
FromSent OnAttachments
Zoltan Grose18 Feb 2003 10:35 
Robert Cowham18 Feb 2003 14:48 
Brian Colfer18 Feb 2003 17:32 
Subject:[p4] branch newbie
From:Brian Colfer (bcol@get.topica.com)
Date:02/18/2003 05:32:21 PM
List:com.perforce.perforce-user

Item 1 is a correct but incomplete answer. Yes you can branch any file from any arbitrary version but the real question is how to you lay down a branch for a whole product based on some previous set of versions. Usually, through either a lable or changelist specification.

Item 2 is correct also but I would like to introduce the two following elaborations: 1) For what you are doing change lists seem to be a better way of specifying the contents of builds. 2) New development should be done off of the "main" branch. The main branch and other reference branches (if there are multiple parallel releases) serve as baselines for releases. The problem with submitting changes directly to a reference branch is that you never know what changes will actually be released. Consider the case where you are nearly ready to release a new version X when the development team is required to release a different set of features Y before X. If you are developing on the main branch then you have problems ... either integrate the pre X versions to main then develop Y or branch Y from the pre X point. It is just much cleaner to develop on a branch and integrate.

Integration with perforce is so much easier than CVS or VSS the extra time is a small price for assurance of a better release.

-----Original Message----- From: perf@perforce.com [mailto:perforce-user-admin at perforce.com] On Behalf Of Robert Cowham Sent: Tuesday, February 18, 2003 14:49 To: 'Zoltan Grose'; perforce-user at perforce.com Subject: RE: [p4] branch newbie

Can you create a branch using an arbitrary version of a file (like version 3) or just the head version?

Any version is possible.

What I would like to do is to create nightly labels that correspond to nightly builds. My QA team may choose any particular build as the one they are going to test and then release. Once they decided on a label, I would create a branch based on the labelspec. Depending on how fast I am moving, this build may include files several versions old.

Is this possible? Is it sane? :)

Yes possible. Sane if you have to maintain files based on the label. It is perfectly valid to have a known point (label or changelist) on a codeline which is when a release was produced. If no bugs come along (i.e. no maintenance required) then you never actually branch from that point. If bugs, then branch and fix on branch (and propagate changes back to mainline where new features have been going on since).

Links to additional info on branching would be helpful too.

Check out:

http://www.vaccaperna.co.uk/scm/branching.html http://www.vaccaperna.co.uk/scm/branching_casestudy1.html http://public.perforce.com/public/perforce/faq/branching.html