RFC: default to creating a repository directory during branch/init.
Robert Collins
robert.collins at canonical.com
Wed Apr 8 12:29:48 BST 2009
Currently, one of the major usability problems we have is that it is
hard to setup an efficient work area for large C style programs - that
is one where you switch between branches rather than just making a new
branch on disk.
We explicitly create branches for:
- init
- branch
and implicitly for:
- push
- export-loom
If we changed 'bzr init foo' to create a shared repository automatically
when one isn't present - like so:
$ls
$ bzr init foo
$ ls -a foo
.
..
.bzr
trunk/
And similarly for branch
$ bzr branch http://bazaar-vcs.org/bzr/bzr.dev
$ ls
bzr
$ ls -a bzr
.
..
.bzr
bzr.dev
push should do the same thing.
When branches are being made stacked, it shouldn't make a shared
repository to meet the current constraints and logic on reusing shared
repositories.
Possible caveats:
'version /etc' and other use cases require initing a branch on an
existing directory. I propose to meet this by saying that when init
finds an existing directory, it create it inline like it does today.
This approach changes the UI for init/branch/push. But it also fixes
some bugs: people wanting a shared repo don't know what format to
create, creating a repo is non-trivial.
There are other approaches we could take, such as colocated branches. I
see this as a reasonable thing to do that does not preclude such steps
being taken later.
-Rob
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20090408/c8178690/attachment.pgp
More information about the bazaar
mailing list