← Back to team overview

kicad-developers team mailing list archive

Re: Revisiting the Git decision (I come in peace! - with a patch)

 

>________________________________
> From: Henner Zeller <h.zeller@xxxxxxx>
>To: Joel Holdsworth <joel@xxxxxxxxxxxxxxxxxxx> 
>Cc: kicad-developers@xxxxxxxxxxxxxxxxxxx
>Sent: Tuesday, February 4, 2014 3:43 PM
>Subject: Re: [Kicad-developers] Revisiting the Git decision (I come in peace! - with a patch)
> 
>
>
>Thank you for this mail. I fullheartedly agree.
>
>
>I myself am usually very active with contributing to projects I am using - many projects from KDE to LyX, gimp, kphotoalbum, OpenScad ... (many more to name) have patches from me. Mostly because whenever I use a program, and I see things to change/fix/improve I just do it, because as a software engineer that is the matter I do all day :). If things are simple git pull, branch and send a pull request for review and iterate, I am happy.
>
>
>I have used many VCS systems - from sccs, RCS in the early days over CVS, SVN, now Perforce (yeah, for work) and git. I contributed to SVN, was the maintainer for CVSweb for a while. I even wrote a VCS system my diploma thesis. And for one one patch to KiCad I even used bazaar. The only project I ever had to use bazaar. So yeah, I had some exposure to VCS system.
>
>
>Bazaar is powerful and it looks like it has similar features to git. However, it is an oddball VCS that never took off and is mostly dead now. It is rarely used while git is one of the hot VCS systems that a very high percentage of open source projects use, virtually every open source developer is familiar with it. I suspect even the main KiCad developers are familiar with git.
>
>
>
>When I contributed one patch to KiCad, I perceived the use of bazaar an inconvenient hurdle. And the mental fatigue you feel when you have to learn about some rare and obsolete technology that is only used in very few projects (only _one_ project I care about), just to get the work done.
>
>
>
>I believe that many developers and potential contributors feel the same and the occasional thread like this popping up on this mailing list shows that there are many potential developers that would like to contribute, have an easy-to-use git-pull request and review process such as on github and just spend the time getting some patches done, not battle with a VCS hindrance.
>
>
>Right now, I do have a list of like 5 things I want to work on on KiCad and contribute patches, but the prospect of having to figuring out again how to properly do local branches, do the equivalent of pull requests and code review for a rare VCS that is not relevant for anything else I do is keeping me from doing it.
>
>
>Of course you could just say that I am lazy and should just get over it and learn bazaar. Fair point. But fact is, that this is preventing _me_ from getting into the contribution right now (and working on KiCad) and many others as well.
>
>
>So while I respect the decision to stick with bazaar right now, just be aware that this definitely is a hindrance and hurdle for people to contribute.
>
>
>We keep the kicad library in git. But we keep the KiCad source in bazaar. Just that double use alone would qualify for switching to git now.
>It is forseeable, that the need to switch away from bazaar is at the horizon in a year or so anyway. Why not do it now and have a more inviting development environment for hundreds of possible contributors - to unfortunately the expense of a dozen or so regular contributors who have to adapt to a different workflow.
>
>
>-henner
>
>

Like git, there are very few bzr commands that people use on a daily basis. I may not be creating branches in the best way possible, but what I do is something like this:

1. bzr checkout lp:kicad kicad_head
2. Create my (very heavy) branches:
   a. bzr branch kicad_head mybranch
   b. cd mybranch && bzr bind ../kicad_head
3. Hack at code, with the occasional 'bzr up' in kicad_head and mybranch
4. Create a patch: bzr diff > mypatch

If it's a small patch I post it to the list, if it's an enormous patch I push it to my patch repository on github and make an announcement on the list. Updating a patch to the latest revision is trivial and as easily done as in git.

The only other commands I commonly use are revert, add, commit, log, and revno.

Whenever I get stuck (which is rare) I just spend a few minutes looking at the bzr documentation.

If I need to make a change to a project source to suit my needs I don't let the VCS stop me. I've even been known to work with that second-most-awful-vcs-ever (svn -- I completely agree with Linus Torvalds' comments on svn).

Personally I find it takes much more effort for me to make sure I comply with the source formatting rules than it takes to learn to use bzr.

- Cirilo

>
>
>
>On 1 February 2014 03:40, Joel Holdsworth <joel@xxxxxxxxxxxxxxxxxxx> wrote:
>
>Hi Guys,
>>
>>I'm new to this project - though not to open source in general. I'm the
>>author of PulseView - a GUI for logic analyzers and oscilloscopes; part
>>of the sigrok project.
>>
>>I've been trying to get started making contributions to your project,
>>building from source, fixing problems etc. and I feel like I've
>>encountered an unusually large number of hurdles to me a would-be casual
>>contributor.
>>
>>I'll just mention one of them in this message, and that is the project's
>>usage of Bazaar. I understand some discussion has already taken place
>>about this, and the project authors wish to stay with Bazaar - and I
>>respect that decision. As a project author myself, I agree with the
>>principle that the authors can do whatever they damn well like.
>>
>>But...
>>
>>Here's the thing: I really think it's the wrong call.
>>
>>Though I'm not at all happy to say it, Bazaar is dead. You can see that
>>clearly here: www.ohloh.net/p/bazaar - bazaar has not had a single
>>commit in 3 months. In that time Git has had literally hundreds. Or try
>>reading this blog post from a former developer:
>>http://stationary-traveller.eu/pages/bzr-a-retrospective.html
>>
>>But Bazaar is still usable - it still works - right? Of course this is
>>true, one can still get work done with it, and will be able to for some
>>time to come. But at this point - in my opinion - it's a dead horse.
>>
>>Rightly or wrongly, Bazaar has lost the mindshare battle, and now very
>>few developers have any familiarity with it at all. Whereas with a Git
>>project, I can grab the code, make a local branch, start hacking, make
>>some commits, tidy them up with rebase, shove them up on a github
>>account (that I already have ready to go), and notify the maintainer -
>>all without learning anything new. And I think this is true for many
>>other developers. But in kicad using bazaar there is significant
>>friction involved in every single one of the above steps for the newcomer.
>>
>>Of course someone sufficiently motivated can overcome these things. But
>>I think there is a significant constituency of good contributors who
>>just have very little time to spare, but who have good things to offer,
>>and who you never hear from because they were discouraged by the friction.
>>
>>For myself, overcoming this friction has definitely kept me away from
>>hacking on Kicad for some time.
>>
>>So I'm asking what you think?
>>
>>Of course I totally respect the project author's right to decide, and I
>>really respect this project - it is an amazing piece of work. Which is
>>why I really want to see it continue to grow and prosper.
>>
>>I consider myself somewhat knowledgeable about Git, usage, migration
>>etc., so if I can help with some transition work, or clarify anything I
>>would be happy to help.
>>
>>On the subject of Launchpad - it seems to me like a fine project system,
>>so if everyone is happing using it, I see no need to migrate away from
>>it - unless you want to. And there are several high quality Git hosting
>>platforms available, some have wikis and bug trackers etc. - if you ever
>>want to do an import to them at some point in the future.
>>
>>Also, I've been doing a little work on scripts/libary-repos-install.sh,
>>see the attached patch, would someone be willing to review it/commit it?
>>
>>Best Regards
>>Joel Holdsworth
>>
>>_______________________________________________
>>Mailing list: https://launchpad.net/~kicad-developers
>>Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>>Unsubscribe : https://launchpad.net/~kicad-developers
>>More help   : https://help.launchpad.net/ListHelp
>>
>>
>
>
>_______________________________________________
>Mailing list: https://launchpad.net/~kicad-developers
>Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>Unsubscribe : https://launchpad.net/~kicad-developers
>More help   : https://help.launchpad.net/ListHelp
>
>
>


Follow ups

References