← Back to team overview

kicad-developers team mailing list archive

Re: Revisiting the Git decision

 

Hi All,

Thank you all for taking the time to respond to my original e-mail. It
seems to me that whatever the outcome this discussion it is well worth
having.


On 04/02/14 11:57, Brian Sidebotham wrote:
> I suspect it's all just a documentation issue too as someone else 
> suggested because it's so easy to branch the code and generate a
> patch using Bazaar.

Agreed, as James Hagerman put it....

"The KiCad website and KiCad Launchpad page are full of broken or
misleading links to old, outdated, or conflicting information.
Binaries (and libraries) for all platforms are not readily available
on either site."

I found that to be true for myself. For example I spent a lot of time
trying to get the adamwolf PPA to work for me - but it's hopelessly
out of date.

It wouldn't take much effort to fix this, just a bit of polish;
sorting through what is current, and what is out of date.

> Perhaps the best place for anyone who has decided Bazaar is dead
> (it works for me by the way!) and therefore cannot contribute (and 
> particularly git fans) is to look at the Inkscape wiki

As I said, of course Bazaar still works - Hell CVS still works! But
that doesn't mean it would be doing you any favors if you stuck with a
CVS workflow. That's my point - it's a loss of opportunity.

I do hope someone brings Bazaar back on track - truly! Competition in
this space is good and healthy. But what do you think? Do you think
that's likely? I hope to be wrong, but I suspect I won't be. And there
are some big warning signs: emacs switching away from it, the loss of
developer mind-share, stalled development - these are quite serious,
and so I'd recommend taking care not to dismiss them to lightly.

Let me ask - do you think Bazaar has a bright future at this point?

My fear is that this is just going to get worse and worse, and so
after some years the project will have no option but to move. - which
should be doable at that time, but in the meantime you will have
missed out on all the benefits of using a more widely known system.

I guess peripheral people such as myself should be less lazy and get
on and use the damn thing. And I did - see the patch attached to the
original e-mail. It seems to me though, the more you can throw open
the doors to people, the more likely they'll spend some time working
on Kicad.

> look at the Inkscape wiki: 
> http://www.inkscape.org/en/develop/getting-started/
> 
> Or, you can just...
> 
> bzr checkout lp:kicad bzr branch ./kicad ./kicad-feature
> 
> ..hack, hack, hack kicad-feature, you can commit to ./kicad-feature
> as many times as you like and merge in the tip any time you want to
> keep conflicts to a minimum...
> 
> cd kicad && bzr up && cd .. cd kicad-feature && bzr merge ../kicad 
> bzr diff > my-feature.patch
> 
> It's really that easy to start contributing (I've left out the
> build and debug steps which are several orders of magnitude more
> time consuming). You don't need to fork, pull, push or anything
> like that.

Yes that is very helpful information - for sure.

There are a couple of things I'd like to have also. Are these things
possible? ....

Creating a branch involves creating a whole copy of the source tree,
and thus the rebuild time. Therefore branching is not a cheap
operation, which is a shame because it's nice to be able to create 5
branches - slowly iterating towards the perfect patch set. So I would
love to be able to do in-place branching - is this possible with bzr?

Also, when I work on an experimental branch I tend to tidy it up with
git rebase: splitting commits up, and squashing them together,
reordering them, renaming them - generally tidying the patch set, and
removing extraneous guff before submission. Is such a workflow
possible? I used the rewrite plugin, and it seemed to be a rather
unloved way of working in bazaar world.

Also, does bazaar have anything like git add -p, where you go through
your changes selecting which parts of your work you want to go into
this commit?

But yes, it can be done. I followed a work-flow similar to the one you
described to make my patch.

> I agree, we should probably have a wiki page similar to
> Inkscape's, but Inkscape has many more contributors compared to
> KiCad. PCB design is less popular than vector graphics in general.

Coincidently I used to be an Inkscape contributor myself many years
ago - back in the SVN days. At that time SVN was open access -
basically to anyone who would ask, - no review process or anything.
The result of having this committer free-for-all was that the code was
in really bad shape: really messy, and unstable. This got so bad that
is basically became a roadblock to further development to the point
where they had to spend the last couple of years on a major tidying
effort as a result.

I take the moral of this to be that seemingly unimportant source
control system and workflow choices can have a massive impact on the
health a project.

Best Regards
Joel Holdsworth



Follow ups

References