Workflow question

Nicholas Allen nick.allen at onlinehome.de
Thu Feb 28 20:20:22 GMT 2008


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

Hi,

I'm just wondering what is the best way to work with Bazaar for a very
common workflow that I have. I know Bazaar can manage all of this but I
want to know what is the easiest way to do this with Bazaar's flexible
workflows.

Basically, I work on a project from home, on the move, and occasionally
from work. I want to keep a number of branches for the project (one for
each feature that I am developing). I need to have every branch backed
up to a remote server (so I can access from home, work and on the move)
but when on the move I need to be able to commit offline if not internet
access is available.

I work with Eclipse and because the project structure is quite complex I
have one directory that contains my workspace and I switch a project
directory in the workspace to whatever branch I want to work on. On
Linux I can do this with "ln -sf" but Windows does not support this so I
use "bzr switch".

When I commit I want the commit to be mirrored on the backup server(but
only if I have not told Bazaar I am offline). I also want the commits on
the backup server to have stable revision ids - so I assumed I want to
use bound branches here.

I figured I could do this by having the branches locally and remote with
each local branch bound to the corresponding remote branch. I can tell
Bazaar when I am offline with "bzr unbind" on one of the local branches.

The problem is to switch between branches in Eclipse I use "bzr switch"
and switch my Eclipse branch to a local branch and then bind that to the
local branch. I was hoping that when I commit in my Eclipse branch it
would get committed to the local branch it is bound to and then to the
remote branch that that is bound to. However, with this setup Bazaar
complains that I cannot commit to a branch that is bound to a branch
which is bound to another branch (it only works if I have one level of
bound branches).

This seemed like the right way to do it. I know I could avoid bound
branches completely and use push, pull, merge but then I have to
remember to commit in my Eclipse branch, push to corresponding local
branch, and then push that to the remote branch. I need to remember this
for every commit and it also will not guarantee stable revision numbers
on the remote server so I don't want to do this at all.

So I know how to do it - but I just hope there is a simpler way since
the way I figured to do it doesn't work. Any suggestions appreciated...

Cheers,

Nick

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

iD8DBQFHxxeG1+i51gqqEGkRAoLiAJ9R93RVEaYIdaE0ofRSc8V5EZ9dDwCeKn3G
Ss0MdIaLA/7qXs5knLz9Oas=
=Bbj1
-----END PGP SIGNATURE-----



More information about the bazaar mailing list