confused by repositories

Jamie Wilkinson jaq at spacepants.org
Thu May 11 01:58:28 BST 2006


This one time, at band camp, John A Meinel wrote:
>Jamie Wilkinson wrote:
>> What are the paths to projects like within the repository, on your working
>> repo and your public repo?
>
>Because I came from standalone branches, I tend to do a lot of leaf
>branches, but no parents. Meaning I would have:
>
>project/ <= repository base
>  dev/
>    0.7/ <= integration branch for version 0.7
>    0.7-foo/ <= feature branch
>    0.7-baz/ <= other feature branch
>    0.7-jam/ <= my personal branch
>  stable/
>    #Nothing has been released here yet :)
>
>And then my working directories looked like:
>
>~/dev/
>  project/ <= Repository
>    dev-0.7/ <= working tree
>    dev-0.7-baz/ <= working tree
>    dev-0.7-jam/
>
>The big reason for that is just that the default 'nick' for a branch is
>its last path segment. And 'dev-0.7-jam' is a little better than just
>'0.7-jam'.

Ok, so your repo is 'dev', you work within the repo with various named
branches;  That gets mirrored to the public repo?  So if I wanted
dev-0.7-jam I'd go:

 bzr get http://jam-server.example.org/prefix/dev/project/dev-0.7-jam

I use a similar structure; *all* my source code lives in ~/src, and within
that I have a bunch of directories for each project.  Within them, I have
actual working trees from CVS, Subversion, Arch, bzr, etc.:

 src/
  projA/
   projA.cvs/
  projB/
   projB.dev/
   projB.some-feature/

But of course it's not *all* bzr branches in there.

If I were to make a repo elsewhere, and check out branches from it, how do I
create a branch within the repo?

(This sounds like a silly question I guess, I should just RTFM.  Probably
I'm thinking of something similar to Aarons setup?)

>> What happens if I'm offline?  Do I need to manually unbind?  If so, does the
>> unbind only need to happen once?
>
>Unbind breaks the binding, so you have to re-'bind' later.

Sure, but do I need to unbind?  If I commit locally and the push times out,
will it just queue until the next commit when online, and that updates the
public mirror?

>> If so, do you automate your bind/unbind somehow? :-)  (I'm terribly lazy :-)
>
>However, bzr supports 'bzr commit --local' which lets you do a commit
>just to the local tree.

So you have to tell bzr not to push if you're offline?  I guess it's an ok
workaround but I'd prefer not to have to worry; muscle-memory and all that
means I'm going to forget frequently...

>Does that help?

Yep, thanks.




More information about the bazaar mailing list