Is bzr *appropriate* and *ready* for me?

Erik Bågfors zindar at gmail.com
Sun Feb 5 20:28:22 GMT 2006


2006/2/5, jorges <jorgesmbox-ml at yahoo.es>:
> ... or maybe the question should be: Am I ready for bzr?
>
> (long post)
>
> Hi all,
>         I've been wandering around the web these last days collecting info
> regarding SCM tools, and I've found so many options that I feel lost
> right now. I have used subversion for the last year or so, with very
> small stuff I've worked on. So far I worked alone on these projects, but
> from two different places (home & university), so the compelling reason
> to use an SCM was *both* to be able to follow back my own footsteps and
> to sync the work done from these two places easier.
>         I started looking into distributed SCMs 'cause I've read somewhere that
> you gain in flexibility, and because you don't rely on (exclusively) on
> having a central repository available online. I am not even sure I
> *need* a distributed SCM, being the only one working in my projects.
> Then I thought that someone more experienced could probably guide me on
> that, and so here are some questions:
>         1. Do I need to switch from subversion? Typical use *now* is: I store
> the repository at home (I have a dsl line), and checkout and commit to
> my projects both from home and from university. Most of the time the
> work is on the same stuff but just from two different places, i.e. I
> continue the work at home where I left it at university. I don't do much
> branching and other stuff, I work on the *head* most of the time.
> Exceptions are when I have a demo scheduled or smthg like that, where I
> freeze the work in a working state and continue trying improvement, etc.
> Complementary data: I program usually in C++, don't have much clue about
> python and although I am keen on fidling with stuff, I don't consider
> myself "strong" regarding programming.

No you don't NEED to switch to bzr.  If svn does what you want and
covers all your needs, there is no real reason to switch.

That said, the example you give, where you freeze stuff now and then
and create branches, is where bzr is really really good.

Also, it's very good at dealing with working both at home and at uni. 
Even if you dsl goes down, you can still keep working.

Besides, I think bzr is simpler to setup and start using than svn, but
if you already have svn running, that's not an argument.

Personally, I find that once you start to use bzr, svn feels like a
really bad, old and outdated product.  It's upside is that it's more
mature than bzr, but it can do less.

I simply think you are going to have to give it a try and see what you
think of it. I was also looking for the perfect SCM when I found
bazaar (and then it was only documentation describing what it would be
able to do in the future :) )

>         2. If above answer is yes, is bzr the right choice? I know this might
> seem like the wrong place to ask for an unbiased answer to this, but I
> am willing to try. Complementary data for answering: I am doing a Ph.D
> and I will start writing my thesis sometime soon. I plan to use SCM for
> helping me with the task (besides some programming that goes in line
> with the thesis). What I'd like is something I can rely on, that would't
>   turn my valuable stuff into crap in 8 months cause there has been some
> change in design or bug, etc.; that has reasonably good documentation
> (at least for the basic stuff, I will probably underuse any SCM); good
> community support (I am pretty confident in this viewing the activity on
> this list).

I believe bzr is the right choice.  It's still very much in
development and it's storage format and perhaps UI will change as it's
being worked on.  However, there is always an upgrade path and if you
stay with the released versions of bzr I think you are safe when it
comes to corruption.

>         3. If the answer to (2) is also yes, what do you think would be a good
> way of using bzr considering my needs?

I would have one branch on a central server some where, this can be
your dsl machine, then on both your home machine(s) and your uni
machine(s), you get that branch, you hack on it and then push your
changes to the central branch.  So... for example

Home,
* hack hack
* commit
* hack hack
* commit
* push

Uni
* pull
* hack hack
* commit
* hack hack
* commit
* push

Home
* pull
* hack hack
* commit
* push

etc

Don't worry if you forget to push or pull some time, that's what merge
is here for.

> I realize this has turned out a very long message, I wouldn't blame he
> who stopped reading long ago... Anyway, If you get here and can answer
> some of the above, many thanks.

I got here, do I win a price?

Regards,
Erik




More information about the bazaar mailing list