← Back to team overview

kicad-developers team mailing list archive

Re: Git transition

 

On Fri, Aug 12, 2016 at 04:31:52PM -0400, Wayne Stambaugh wrote:
> [snip] I just want to do things because that's what all the
> cool kids are doing.  If it makes sense, then we should adopt it.  If
> not we should do what is appropriate for us.  In this case is seems to
> make sense.

We're only talking about commit message formatting here, not choosing a
version control system or host or anything like that... ;)

> 
> > 
> >> I'm all for adding this information to the commit message.
> >> I looked at Orson's web hook and this is all we need for it to link the
> >> bug reports to the commit.  Let's go with "Fixes: lp:#######" as a
> >> separate line in the commit message and see how it goes.  If we have
> >> issues, we can adjust accordingly.
> >>
> >>>
> >>> lp:nnnn without "Fixes" may not be obvious at first glance to people
> >>> unfamiliar with our conventions.
> >>>
> >>> On Thu, Aug 11, 2016 at 04:09:11PM +0200, Nick Østergaard wrote:
> >>>> Den 11/08/2016 11.18 skrev "Maciej Sumiński" <maciej.suminski@xxxxxxx>:
> >>>>>
> >>>>> On 08/10/2016 03:34 PM, Wayne Stambaugh wrote:
> >>>>>> On 8/10/2016 5:02 AM, Maciej Sumiński wrote:
> >>>>>>> On 08/08/2016 06:09 PM, Wayne Stambaugh wrote:
> >>>>>>>> The last time I looked, notifications of repo commits still were not
> >>>>>>>> implemented.  This is a show stopper for me.  I don't want to have to
> >>>>>>>> constantly grep the git commit log to see what changed.  If change
> >>>>>>>> notifications are working correctly, then I'm OK with moving forward
> >>>> on
> >>>>>>>> this if you can get the bug fix linking working.  We definitely should
> >>>>>>>> do some testing before we go live with this.
> >>>>>>>
> >>>>>>> I see there is an option to set notifications, in the same way as for
> >>>>>>> the bazaar branches ("Edit your subscriptions" on the right side pane).
> >>>>>>> I could not verify it, as likely I cannot receive notifications for the
> >>>>>>> changes I introduce. Even if it does not work, I can implement it in my
> >>>>>>> webhook.
> >>>>>>
> >>>>>> I spent some time yesterday creating my own git clone of kicad on LP and
> >>>>>> I noticed that the subscriptions that I need appear to be available for
> >>>>>> git repos so we shouldn't need any webhooks in for that unless they do
> >>>>>> not work.
> >>>>>
> >>>>> If they do not work, let me know and I will fix it in the hook.
> >>>>>
> >>>>>>>
> >>>>>>> The webhook has reached beta stage. I have created a dummy project for
> >>>>>>> testing purposes, where you can see a bug report [1] and a commit [2]
> >>>>>>> with message that includes a "fix(es)?[ ]+(lp:|#)?([0-9]+)" regex
> >>>> match.
> >>>>>>> When it is detected, it automatically adds a message, changes the bug
> >>>>>>> status and assignee. One thing that is not possible right now is
> >>>> linking
> >>>>>>> with git branches, as apparently launchpad does not handle this at the
> >>>>>>> moment (or I could not find the right format to specify a branch).
> >>>>>>
> >>>>>> Bug report linking is very important to me since I am responsible for
> >>>>>> the stable branch.  If there is no support for this yet, I'm OK with
> >>>>>> adding the bug report number to the first line of the commit message and
> >>>>>> the URL somewhere in the commit message body.  If I give the OK to use
> >>>>>> git, I will expect all developers that have commit privileges to the
> >>>>>> product repo to follow this without exception.  The commit message for
> >>>>>> bug report fixes must have this format:
> >>>>>>
> >>>>>> Description of bug report fix. (fixes lp:########)
> >>>>>>
> >>>>>> * https://bugs.launchpad.net/kicad/+bug/########
> >>>>>>
> >>>>>> If this is not acceptable, then the git transition will have to wait
> >>>>>> until Canonical gets git bug report linking implemented or Orson beats
> >>>>>> them to it.
> >>>>>
> >>>>> I spoke with a Launchpad developer and they have it already in their
> >>>>> todo list. There is a plan to migrate Launchpad itself to git, so I
> >>>>> believe they will do it well.
> >>>>>
> >>>>> From what I heard, currently it is possible to link git merge requests
> >>>>> to bug reports, so it may temporarily solve the problem.
> >>>>>
> >>>>>>> All we need to do is to set a webhook pointing to my script [3]. If it
> >>>>>>> is accepted, then I am going to create a separate lp account for the
> >>>>>>> automated changes.
> >>>>>>>
> >>>>>>> Currently the webhook works on my home server which has a high uptime,
> >>>>>>> but still it is not as reliable as dedicated servers. If there is
> >>>>>>> someone willing to host it on a better machine, I will be pleased to
> >>>> help.
> >>>>>>>
> >>>>>>> If you are curious about the source code, then I can put it in the
> >>>> KiCad
> >>>>>>> github (once I get a repository there) or just post it somewhere.
> >>>>>>
> >>>>>> I can create a repo on github or you can create a repo on launchpad.
> >>>>>> Either way is fine by me.  If you want to use github, let me know what
> >>>>>> name you want for the repo and your github user name and I will set up
> >>>>>> the repo and give you admin rights.
> >>>>>
> >>>>> I have just pushed the code to Launchpad [1] and consider it ready to
> >>>>> go. There is also a new account (KiCad Janitor) awaiting approval for
> >>>>> kicad-developers membership, so all the changes will be done using this
> >>>>> dedicated account.
> >>>>>
> >>>>> The webhook has been modified to accept a wider set of phrases
> >>>>> indicating a bugfix (now it is (f|F)ix(es|ed|ing)?:? *(lp:|#)?([0-9]+)).
> >>>>>
> >>>>
> >>>> I would like to suggest that we don't write "fixes:" as a prefix, I don't
> >>>> see it adds any added information. Simply write:
> >>>> lp:42444432442
> >>>>
> >>>> And in the rare event it is for multiple bugs just append more lines of it.
> >>>>
> >>>>> Let me know when the git repository is set up, so I can install the
> >>>> webhook.
> >>>>>
> >>>>> Regards,
> >>>>> Orson
> >>>>>
> >>>>> 1. https://launchpad.net/kicad-git-hook
> >>>>>
> >>>>>> Thanks for working on this.
> >>>>>>
> >>>>>> Cheers,
> >>>>>>
> >>>>>> Wayne
> >>>>>>
> >>>>>>>
> >>>>>>> Regards,
> >>>>>>> Orson
> >>>>>>>
> >>>>>>> 1. https://bugs.launchpad.net/kicad-git-test/+bug/1611664
> >>>>>>> 2.
> >>>>>>>
> >>>> https://git.launchpad.net/kicad-git-test/commit/?id=3d29b9be29346fdfaa87cdf8abf6957bf46bb5cd
> >>>>>>> 3. https://orson.net.pl/kicad_git_hook
> >>>>>>>
> >>>>>>>> Before every starts beating the GitHub drum, I have one major issue
> >>>> with
> >>>>>>>> GitHub and that is control.  There is no way that I know of to
> >>>> moderate
> >>>>>>>> a project on github.  Anyone with a github account can submit a pull
> >>>>>>>> requests at anytime even if they are not part of the dev team.  As
> >>>>>>>> project leader, this is an issue.  I'm already a my limit with the
> >>>>>>>> development team we have in place and I really don't want to deal
> >>>> with a
> >>>>>>>> wide open code hosting.  I also have no way of removing someone from
> >>>> the
> >>>>>>>> list should I need to.  I know it hasn't happened yet but I am not
> >>>> naive
> >>>>>>>> enough to think that it wont happen.  At this time, I am more
> >>>>>>>> comfortable with LP until something better comes along or we take full
> >>>>>>>> control a provide our own hosting.
> >>>>>>>>
> >>>>>>>> On 8/8/2016 3:58 AM, Maciej Sumiński wrote:
> >>>>>>>>> Apparently we have not discussed git transition for a long time now,
> >>>> so
> >>>>>>>>> I felt it is the right time to raise the subject again to keep our
> >>>> routine.
> >>>>>>>>>
> >>>>>>>>> Launchpad now supports merge proposals [1] and it looks like they are
> >>>>>>>>> still improving git integration. The only missing feature are links
> >>>>>>>>> between bug fixing commits and respective bug reports (bzr commit ...
> >>>>>>>>> --fixes=lp:123456). It is not supported by git itself, but might be
> >>>>>>>>> resolved using webhooks [2] and appropriate keywords in commit
> >>>> messages
> >>>>>>>>> (e.g. "Fixed a memory leak [fixes #123456]"). If this is the only
> >>>>>>>>> obstacle, then I volunteer to provide code for the hook.
> >>>>>>>>>
> >>>>>>>>> What do you think? Is there anything else that prevents transition?
> >>>>>>>>>
> >>>>>>>>> Regards,
> >>>>>>>>> Orson
> >>>>>>>>>
> >>>>>>>>> 1. https://help.launchpad.net/Code/Git
> >>>>>>>>> 2. https://help.launchpad.net/API/Webhooks
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> _______________________________________________
> >>>>>>>>> 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
> >>>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>> _______________________________________________
> >>>>> 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
> >>>
> >>
> >> _______________________________________________
> >> 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


References