info-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Problems with uncommitted working directories, from homeand work.


From: Larry Lords
Subject: RE: Problems with uncommitted working directories, from homeand work.
Date: Tue, 02 Dec 2003 11:04:54 -0700

I have a question on Jim's statement "Private branches are never considered
candidates for releases or for builds".  I have always understood that a company
would always release from a private branch.  This assumes when a release process
begins a release branch is created and final testing begins on the release
branch's code while development for succeeding releases continue on the trunk. 
Any problems found on the release branch are fixed and retested.  Only approved
bug fixes are checked into the release branch.  When the release branch is
stable the release is made from the branch and all changes are merged into the
trunk.

Is this concept incorrect or is there a difference between within cvs between a
private branch and a non-import branch?

Just wondering,
Larry Lords

>>> Jim.Hyslop <address@hidden> 12/02/03 09:04AM >>>
Craig O'Shannessy [mailto:address@hidden wrote:
> I work onsite about half the time and offsite the other half.  Some
> nights, I'll be onsite, be half way through a complex set of changes,
> have heaps of modified files, and have to go home.
> 
> The next morning, I want to pick up from where I left off, 
> but this time
> from home.  I can't commit the stuff at work (at least to the head
> branch), because it's not stable enough (may not even build).
This is where "private branches" come in. Private branches are never
considered candidates for releases or for builds. The contents of private
branches are potentially meaningless, except to the person who created them.

We use a naming convention for private branches: the name starts with
"priv-" and contains something identifying the developer. Since you are
using the branch to effectively transfer files between home and work, you
might use:

cvs tag -b priv-craig-transfer

When you are ready to go home, check everything into the private branch.
When you resume work from home, then there are a couple of ways you can
proceed.

1) You can work from the trunk, by immediately merging your private branch
into your trunk code. This will allow you to immediately update any changes
anybody else checks in. The drawback is, if you aren't ready to check in by
the end of the day, you have to create another branch or move the existing
branch (this can get cumbersome, because IIRC you must remove all revisions
from a branch before you can remove the symbolic branch tag - might just be
easier to use branch tags keyed by date, e.g. priv-craig-transfer-20031202).

2) You can work from the branch, and merge any changes anyone checks in
during the day into your code, and when you're done merge it back to the
trunk. In other words, treat it like any normal branch.

My inclination would be to use the first approach. But do whatever works
best for you.

-- 
Jim Hyslop
Senior Software Designer
Leitch Technology International Inc. (http://www.leitch.com)
Columnist, C/C++ Users Journal (http://www.cuj.com/experts)



_______________________________________________
Info-cvs mailing list
address@hidden 
http://mail.gnu.org/mailman/listinfo/info-cvs 


------------------------------------------------------------------------------
This message may contain confidential information, and is intended only for the 
use of the individual(s) to whom it is addressed.


==============================================================================





reply via email to

[Prev in Thread] Current Thread [Next in Thread]