Bazaar Repository Structure, Branches, Tags

JetMark extrapic at
Wed Jun 4 15:35:35 BST 2008


Thanks everybody, very informative. Not only do I clearly have quite a bit
to learn about Bazaar, but I really cringe at my various mispellings  ;-( 
Sorry folks!  The cvsps is a disappointment because it would appear from
other discussions and comparisons elsewhere that this is an area where
Bazaar is ahead of other new-generation VCS. Well perhaps not, but it is
true that many of the potential new adoptors are currently using CVS and a
first-rate import utility would attract much use I suspect. 


JetMark wrote:
> I am an experianced CVS user. I have used CVS enhanced by various scripts
> and hooks and am now considering Bizaar as a replacement. Like many others
> I am fed up with CVS, fully aware of how much better a VCS system could
> be, but still looking for a sytem that meets minimum requirements first
> before bells and whistles are taken into account. 
> <p>
> I have imported some of my CVS repositories using cvsps-import.  It has
> created two additional directory levels between the top level of my
> repository and the highest levels of files in the repository.  The first
> level is called "branches" and "tags" the second contains all of my cvs
> branch and tag names. 
> <p>
> Its not just Bizaar that does this type of thing, for a while I considered
> subversion and a major point against subversion (in my view) is that it
> seems to have confused/polluted the directory-structure name space with
> that of the tag names name space. Now it seems that Bizaar does the same.
> There are several aspects of this that I just do not understand and want
> help in understanding from people more knowlegable than I. 
> <p>
> In CVS, when checking out to do a build (so this is a checkout not for
> modification purposes.) If I have a tag of any description, weather its a
> branch tag, HEAD or some other tag, that is all I need to know. It appears
> that in Bazaar I need in fact to know if the tag I have been given is a
> branch or a tag, and worse, that the name space here is not mutually
> exclusive. In other words, I can create branches and tags with the same
> name that are not the same. Is this true? 
> [Question 1] 
> <p>
> Second I think its very strange that Bizaar would incorporate tag
> information into the repository structure. To checkout I need to do
> <p>
> bzr checkout mytopdirectory/[branch or tag identifier]/[branch or tag
> name]  . 
> <p>
> The 3rd word on this line looks like a directory path, and as far as
> Bazaar is concerned IS a directory path, but as far as the external
> project is concerned is NOT a directory path since what we have here is
> leakage of the internal repository structure from inside Bizaar (where it
> should be private) into the actual project! Not only that, but the default
> options on checkout if the 4th option (the target location) is omitted is
> to create this directory name, so extending this name pollution to the
> users directory structure. Surely the first aim of any VCS is to separate
> the repository private information from what you put in it. As it happens,
> with CVS the directory structure of the repository is the same as the
> files in it, but it doesnt have to be like that: you could write a CVS
> server where all the information was stored in one file, a database or
> whatever, the user view of the system is through the interface and ought
> to allow anything to be stored under any tag. [Question 2] Why is it done
> like this? Why do other modern VCS systems appear to make the same
> mistake?  Is it a mistake or do I just not get something here? 
> <p>
> Lastly if I use Bizaar, its likely I will want to use the hooks. These
> will be complex, custom, and require creation and maintenance over a
> period of time. Am I disadvantaged by the fact that I am not very good at
> python and not really keen to spend time learning yet another language?
> Its bad enough Bizaar "runs on anything that will run Python 2.4" (All the
> systems we use use only 2.3) but I dont see anything about how to use an
> executable as a hook. Even boilerplate python code showing how to do this
> would be a useful addition to the documentation. 
> [Question 3] 

View this message in context:
Sent from the Bazaar - General Discussion mailing list archive at

More information about the bazaar mailing list