On Oct 6, 2006, at 12:18 PM, David Dyer-Bennet wrote:
On 10/5/06, Wee Yeh Tan <[EMAIL PROTECTED]> wrote:
On 10/6/06, David Dyer-Bennet <[EMAIL PROTECTED]> wrote:
> One of the big problems with CVS and SVN and Microsoft SourceSafe is > that you don't have the benefits of version control most of the time,
> because all commits are *public*.

David,

That is exactly what "branch" is for in CVS and SVN. Dunno much about
M$ SourceSafe.

I've never encountered branch being used that way, anywhere.  It's
used for things like developing release 2.0 while still supporting 1.5
and 1.6.

However, especially with merge in svn it might be feasible to use a
branch that way.  What's the operation to update the branch from the
trunk in that scenario?

We use personal branches all the time; in fact each developer has at least one, sometimes several if they are working on orthogonal issues or experimenting with a couple of different approaches to the same problem. Personal branches are for messy code, unfinished patches - basically anything that took longer than 15 minutes to write. Keeping that stuff on just one machine is unworkable as I code from many locations, not to mention the server is backed up more often.

Note that when I say 'personal', I mean intended for the use of one particular person. Some people refer to these as 'private' branches, but we don't do access control in svn other than on a per-project level, so other users can take a look at what I'm up to. This allows me to ask for suggestions or advice without having to email diffs around.

Updating from trunk is slightly irritating as svn doesn't do merge tracking ATM (it's in the works, though). Currently I just grep the commit log for the last merge from trunk (I use a consistent log message so this is easy).

svn log https://svn.example.com/project/branches/ben | grep 'Merged from trunk'
(note last merged revision)
svn merge -r$LAST_MERGED_REV:HEAD https://svn.example.com/project/ trunk /path/to/wc
(fix any conflicts)
svn ci /path/to/wc -m "Merged from trunk r$LASTMERGEDREV"

Of course, you can also cherry-pick changes from other branches or tags if you know the revision number(s).

From what I've seen on the svn mailing lists, this is a pretty common pattern to use. I don't think it's very common in CVS though, simply because branching and merging are more difficult.

--
Ben


Attachment: PGP.sig
Description: This is a digitally signed message part

_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to