[vtk-developers] Auto install git hooks

Moreland, Kenneth kmorel at sandia.gov
Tue Jun 29 18:19:15 EDT 2010


That sounds pretty good to me.

-Ken


On 6/29/10 2:27 PM, "Marcus D. Hanwell" <marcus.hanwell at kitware.com> wrote:

So, I was thinking about this over the weekend, and talked to Brad King. There is an environment variable that is set by CTest when it drives the build. I can check if that variable is defined, and know that CTest is driving the build.

If I did that then when a user first configures VTK CMake will print an error with copy/paste instructions to check out the local hooks (along with a link to the wiki). They can set a CMake cache variable to ignore the hooks to get past it if they wish. If you are not in a git checkout the whole process is skipped.

If CTest invoked the configure then the environment variable is set, and so the error is not raised - negating the need to set a cache variable on all of the dashboard machines. The only assumption is that CTest is driving the build, which I think is reasonable. I tested the logic out in Titan and it looks good.

Does this cover all of your requirements reasonably? I will be checking this code into Titan as I think it is an improvement on what we had there too. I would be happy to check the relevant portion into VTK.

Marcus

On Thu, Jun 17, 2010 at 6:33 PM, Moreland, Kenneth <kmorel at sandia.gov> wrote:

In short, a pushurl is not a good indication of whether commits will be made or whether those commits will eventually be pushed to the main repository.

-Ken



On 6/17/10 2:46 PM, "Marcus D. Hanwell" <marcus.hanwell at kitware.com <http://marcus.hanwell@kitware.com> > wrote:

On Thu, Jun 17, 2010 at 4:40 PM, Clinton Stimpson <clinton at elemtech.com <http://clinton@elemtech.com> > wrote:

Can you key off the existence of a pushurl?
But I also wonder how this would keep the hooks updated?

We could possibly be clever and do a little regex to check for the git@ form of the url/pushurl. I hadn't considered being that sneaky, but it sound like a viable approach and would ease the dashboard pain.

Marcus

On Thursday, June 17, 2010 02:13:37 pm Marcus D. Hanwell wrote:
> On Thu, Jun 17, 2010 at 4:06 PM, Moreland, Kenneth <kmorel at sandia.gov>wrote:
> >  That's a good point about CMake modifying the source tree, but I think
> >
> > this is one of those cases we should let the rule slide.  In this case we
> > are installing what, IMHO, git should be pulling for us.  Although the
> > Wiki says its optional, it really should be enforced for anyone who
> > makes any commit to any repository.
>
> We came to a similar conclusion in Titan, but I am not sure about letting
> the rule slide. This is new territory though, and it is just my take
>
> > I'm less thrilled about the "error if not installed" option because it
> > still pushes the responsibility back on every developer.  It could also
> > wreck havoc on the dashboards as there will be a delay in getting someone
> > to fix the warning.  But if that is the general consensus, it's way
> > better than what we have now, which is nothing.  If that is the path we
> > choose to
> >
> > follow, then I would hope that the following could be be features:
> >    - CMake be very insistent about installing the hooks.  It should not
> >    be easy to miss or ignore the error.
> >    - The error should give clear instructions on how to install the
> >    hooks.
> >
> >     It's annoying to have to find it in the Wiki every time.
> >
> >    - The check should also look for any updates to the hooks in addition
> >    to just seeing if they are installed.  One of the problems I run into
> >    is that even though I try to be diligent about installing hooks, I
> >    miss changes pushed to the repository.
> >    - The check should turn itself off if not run in a git repository.  A
> >    user who downloaded the source from the web would never be able to
> >    satisfy the requirement.
>
> The checks in Titan have all but the third feature. That would be a
> valuable general addition though, and I think there is some code floating
> around that could help us to accomplish this. It would be good to hear how
> others feel about this, but we should certainly be making these things as
> easy as possible for our developers. I will see what our software process
> type people think - Brad, Dave, Bill?
>
> Marcus
> --
> Marcus D. Hanwell, Ph.D.
> R&D Engineer, Kitware Inc.
> (518) 881-4937






   ****      Kenneth Moreland
    ***      Sandia National Laboratories
***********
*** *** ***  email: kmorel at sandia.gov
**  ***  **  phone: (505) 844-8919
    ***      web:   http://www.cs.unm.edu/~kmorel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtk-developers/attachments/20100629/a02b2c23/attachment.html>


More information about the vtk-developers mailing list