Boost logo

Boost :

Subject: Re: [boost] [git] neglected aspects
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2012-02-11 12:04:52


On 02/11/2012 08:04 AM, Julian Gonggrijp wrote:
> Julien Nitard wrote:
>>> No, there is a fundamental difference between svn and git. Let me
>>> elaborate.
>>> In svn, by "branch" we just mean a branch of the file tree in the
>>> repository. The repository as a whole has a single history which is a
>>> linear sequence of revisions. So of course you can make a feature
>>> branch, but a commit to that feature branch is really also a commit to
>>> all other branches, the trunk and all tags -- and vice versa.
>> This is just wrong. A commit (or revert) to a branch is a commit to
>> that branch only. And don't tell me that the shared version number is
>> a problem.
> Of course I may be wrong. Please help me to clarify: if I checkout
> branch A (only) and commit a change to it and branch B is not affected
> along the way, is that because (1) I didn't edit branch B, so
> naturally it wouldn't be affected, or (2) svn somehow treats edits on
> branch A as events that are isolated from edits on branch B?

(1). The thing is, in svn, we can
operate on any subtree, and ignore
the rest of the repository. So, for
example, given the following situation:

revision 1: branch A
revision 2: branch B
revision 3: branch A
revision 4: branch B

If we want to undo the most recent change to
branch A, the command is

svn merge -r HEAD:2 branches/A

Revision 4 doesn't affect branch A, so it's
left alone.

> The latter would mean that svn could, for example, prevent me from
> doing the following: checkout the entire /branches directory, make
> edits on both /branches/A and /brances/B, then commit all changes
> together in one revision.

svn allows this, although I've never seen anyone
actually do it.

In Christ,
Steven Watanabe

Boost list run by bdawes at, gregod at, cpdaniel at, john at