08:16 < abentley> Better phrasing: 'what circumstances should cause us to produce a working tree in a repository branch'?

Aaron Bentley aaron.bentley at utoronto.ca
Thu Feb 9 18:58:49 GMT 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Denys Duchier wrote:
> mm... how would I create an empty standalone branch?

bzr init, I suppose.

> with:
> 
> 	bzr branch foo repo/bar
> 
> is foo the existing branch and repo/bar the one to create?  What happens when
> foo is using a different repo?

In this example, foo is an existing branch.  It does not matter whether
foo is a standalone or repository branch, or whether it shares a
repository with repo/bar.

>>Starting work using ~ as a repo (ugh):
>>bzr create-repository ~ --allow-trees
> 
> 
> what does --allow-trees do?

It changes the behaviour of branch command, when the target is in the ~
repository.  This causes branch to produce checkouts/working trees in
the branches in ~, when otherwise, there would not be working trees.
Working trees take away many of the advantages of repositories.

>>bzr branch foo
> 
> 
> I suspect this is not supposed to create a standalone branch eventhough the
> exact same command earlier was.  This lacks referential transparency and will
> cause no end of grief.  I think it would be better to always require an explicit
> --standalone option when a standalone branch is desired.

Common operations should be easy, and newbie operations, like creating
standalone branches, should be easiest.  If we had to have an option, I
would prefer --repository.

Both forms of branch have, in common, the property that their revision
history is independent, and it would be nice if the command set
indicated this somehow.  Perhaps it is the wrong compromise.

> All joking aside, I frequently want more extensive help - for example to be
> reminded of the many syntaxes accepted by --revision.  It's a nuisance to have
> to look at the source code to figure it out.

I agree.  It's on the wiki too, though.

The issue, for me, is that since option syntax is ususally global, I
would rather know 'the syntax is ABC globally' than 'The syntax is ABC
here.  The syntax is ABC here.  The syntax is ABC here.'

> - And I would really like ALL
> commands to offer examples when asked for verbose help.  

Agreed, save that I would prefer to always give verbose help.

> Some commands have help
> that's no help at all, like "resolve": what is it for and what the heck does it
> do? 

Well, it's for marking a conflict as resolved.  I agree that could be
expanded, but I'm not sure what else to say, and I'm happy to admit this
is because of my implementor perspective.

>>I'd
>>claim that creating an empty repository is a unique command, whether
>>it's phrased as "bzr create-repository" or "bzr create --repository".
> 
> 
> I think you are influenced in this by your perspective as an implementor.
> Consider the act of "reading": there are vast differences in the act of reading
> a novel and that of reading a comic book, but there is also an essential
> commonality of enterprise.  Giving them different names would probably not be
> that helpful (at least, not to the general public).

I guess I disagree about the degree of comonality.

Consider also that create-repository is a lot more discoverable than
create --repository.  The first would probably contain the term
'repository' twice in the command listing; once in the name, once in the
description.  So anyone scanning over the list of commands to figure out
how to create a repository would probably find it.

A command listing for 'create' might not have the space to mention
repositories at all.

Aaron
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFD65Dp0F+nu1YWqI0RAuIEAJ419Gbf+QPlsYhkYbJEkQPXC2CqpgCfbz40
Ez9t8X55XKw7SLZOgdcxVng=
=u+OP
-----END PGP SIGNATURE-----




More information about the bazaar mailing list