user guide help (definitions of terms)

Martin Pool mbp at sourcefrog.net
Thu Aug 6 00:33:13 BST 2009


2009/8/6 Inky 788 <inky788 at gmail.com>:
> On Tue, Aug 4, 2009 at 1:52 PM, Neil Martinsen-Burrell<nmb at wartburg.edu> wrote:
>> On 2009-08-04 07:56 , Inky 788 wrote:
>>>
>> [snip]
>>
>> nmb at guttle[/tmp/test_branch]$ ls .bzr/*
>> .bzr/README  .bzr/branch-format
>>
>> .bzr/branch:
>> branch.conf  format  last-revision  lock/  tags
>>
>> .bzr/branch-lock:
>>
>> .bzr/checkout:
>> conflicts  dirstate  format  lock/
>>
>> .bzr/repository:
>> format  indices/  lock/  obsolete_packs/  pack-names  packs/  upload/
>>
>> You can see that there are branch, repository and checkout (=working tree)
>> subdirectories of the .bzr directory.  Any of these three subdirectories may
>> or may not be present in a .bzr directory.
>
> Thanks very much for the detailed reply.
>
> What is the difference between a branch and a checkout?
>
> My understanding was that bzr doesn't work like cvs where you do a
> checkout from a repository. All branches have the same status (with
> revision history and everything), and all count as a repository,
> correct?

A branch is a line of development: essentially an updatable pointer to
a revision, plus some configuration data.

A checkout is a working tree.

A repository holds history.

You can combine these things in various ways, with various subsets
being located in either the same or different directories.  (See the
user manual.)  It's quite flexible though the flexibility is not
presented in the most understandable way and we will reconsider this
post 2.0.

If you make a repository directory in say ~/repo, branches within it,
and then make a checkout of one of those branches to a separate
directory ~/work then you get a situation much like cvs.

-- 
Martin <http://launchpad.net/~mbp/>



More information about the bazaar mailing list