On 2014-08-15 20:45-0400 Hazen Babcock wrote:

> On 8/15/2014 2:53 PM, Alan W. Irwin wrote:
>> Hi Hazen:
>> 
>> Earlier today I sent an e-mail to Brad King, the CMake git guru (with
>> CC to you to keep you fully informed) asking how they implemented the
>> enforcement hooks in their git repo to maintain the desired
>> --first-parent properties of the integration branches used in their
>> workflow.  Assuming we adopt their workflow, then I think it is
>> absolutely essential that we get these enforcement hooks in place
>> before proceeding further with PLplot development using git so I think
>> it is a good idea to make our SF git repo read-only until this
>> implementation issue for our workflow is resolved.  I plan to do that
>> later today if you don't have any strong objections.
>
> I object, but not strongly. What is the worst thing that can happen? We have 
> to delete the repo and start over? Hooks or no hooks, mistakes are going to 
> be made and will have to be dealt with, might as well start learning how to 
> do that now.

Hi Hazen:

Thanks for your response.  I do feel strongly about the necessity of
the hooks principally because the CMake software project finds them to
be essential for automatically maintaining the "clean shape of
history" they find to be so useful.  Also, I think it is important to
start with git the way we mean to go on. Therefore, because you do not
have a strong objection, I have just now made the SF git repo for PLplot
read-only until we can get the hooks implemented which will be my
first priority from now on.

Hopefully, this git hold up will all get resolved early next week if Brad
King is cooperative about sharing his hooks implementation.  But if
not, I plan to fall back to learning enough about git hooks to
implement this myself, and I would welcome your help or advice with this effort
as well if you have the time right now to participate.

By the way, you likely know this already, but for the others here
hooks can simply be shell scripts (see the part of the Pro Git book
that discusses git hooks) that exit with appropriate error message and
non-zero return code if certain logical conditions are not met.  Also,
there is a tonne of reference material on git hooks and git hook
examples at http://githooks.com/ which I will be looking at.

I feel comfortable writing shell scripts, so for me, the sticking
points for an implemention of the hook (or hooks) we need are (1)
knowing what logical conditions must be met to maintain the "clean
shape of history" (i.e., "--first-parent traversal of an integration
branch, such as master, should see only the merge commits that
integrate topics into the branch"), and (2) figuring out the git
commands to test those logical conditions.  I think (2) will be pretty
straightforward (since I used git commands a lot in my script to test
our git repo versus our svn repo).  With regard to (1) there is a
logical rule mentioned in the 
<http://public.kitware.com/Wiki/Git/Workflow/Topic> discussion of how
the hook rejects a bad workflow example which is probably what is
required here.  The current status is I don't completely understand
that example and its discussion, but I am working on it.

More later as this git hooks project progresses (or Brad King shortens
it by sharing his own implementation).

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__________________________

Linux-powered Science
__________________________

------------------------------------------------------------------------------
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to