What's NOT a branch?

Asked by Zearin

In trying to understand Bazaar, I've been reading about all the different ways there are to work with a source tree, and the manual will say things like "…the checkout is still a first class branch as far as Bazaar is concerned."

So, the more I've read and reread, the more I get the idea that pretty much *everything* in Bazaar is a branch. I think the only exceptions would be a repository and a lightweight checkout.

Am I right about that? Actually, what I'd really like answered is: pretend I didn't just speculate on the only things that are NOT branches. Now, please explain to me everything that's not a branch, and the difference between it and a branch in Bazaar terms.

Question information

Language:
English Edit question
Status:
Solved
For:
Bazaar Edit question
Assignee:
No assignee Edit question
Solved by:
Martin Pool
Solved:
Last query:
Last reply:
Revision history for this message
Zearin (zearin) said :
#1

Also…

If I have a repo and I want to put multiple projects into it, is it just that each projects gets its own branch and they share one umbrella repo? I just want to maintain a logical separation where it's warranted. :)

Revision history for this message
Best Martin Pool (mbp) said :
#2

> If I have a repo and I want to put multiple projects into it, is it just that each projects gets its own branch and they share one umbrella repo? I just want to maintain a logical separation where it's warranted. :)

That's correct. We'd generally recommend putting each project, or group of related projects, into its own repository, so that the repository gets no larger than is necessary, and in case you need to coordinate upgrades of the repository format. (For instance, if everyone working on that project needs to upgrade to a later version of bzr so you can use that format.) But other than that, you can put everything in one repository if you like.

> Now, please explain to me everything that's not a branch, and the difference between it and a branch in Bazaar terms.

A branch is, essentially, just a pointer a pointer to a tip revision. A repository is not a branch; it contains revisions that can be addressed by branches. A working tree is not a branch, but it has a related branch. The branch of a working tree can be either in the same .bzr directory, which is the standard case, or it can be elsewhere are just pointed to by the working tree, which is the case for a lightweight checkout.

Revision history for this message
Zearin (zearin) said :
#3

Thanks Martin Pool, that solved my question.