>________________________________ > From: Henner Zeller <[email protected]> >To: Joel Holdsworth <[email protected]> >Cc: [email protected] >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 <[email protected]> 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 : [email protected] >>Unsubscribe : https://launchpad.net/~kicad-developers >>More help : https://help.launchpad.net/ListHelp >> >> > > >_______________________________________________ >Mailing list: https://launchpad.net/~kicad-developers >Post to : [email protected] >Unsubscribe : https://launchpad.net/~kicad-developers >More help : https://help.launchpad.net/ListHelp > > > _______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp

