Scope of operations
Robert Collins
robertc at robertcollins.net
Sun Oct 23 02:58:15 BST 2005
On Wed, 2005-10-19 at 15:31 +1000, Martin Pool wrote:
> :-)
>
> Here is a longer explanation.
>
> bzr versions the tree as a whole, not files or directories within it,
> as cvs (and less so svn) does. One reason for this decision is that
> the main use is maintaining software packages where there are
> dependencies between different files in the package, and we generally
> want to get a complete snapshot at some point in time.
>
> The general working method is to edit some files, build and test the
> whole tree, and then commit. If you commit only a subdirector you're
> recording a revision that's not what existed in your working
> directory, and therefore not what was tested and reviewed. That's
> sometimes useful, but we don't feel it should be the default case.
I'm starting to think that we are over emphasising the full tree aspects
of our internals.
I think that (unlike svn) its important that we have a full-tree
approach to what makes up a branch. That is, that the entire tree
comprises the branch; that a file only appears once within the branch.
The concept of subtrees going off in different directions in svn breaks
my brain. Tags should be global to the tree for instance.
But, I know that users often want to work on a small part of their code
at once, and it follows that operations like log/revert/commit/annotate
(and, if weave shows its potential, perhaps pull and merge), should work
on the part of the branch they are working in. Yes, they can commit
something that does not work, but they can always just commit the rest
too.
Its certainly possible using configs (in some flavour) to achieve that
between clearly separate projects, and there is a need in the future to
allow easy separation and joining of trees. But I don't think that users
should need to split their tree to get this convenience.
Rob
--
GPG key available at: <http://www.robertcollins.net/keys.txt>.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20051023/72f5807c/attachment.pgp
More information about the bazaar
mailing list