Thread (11 messages) flat view 11 messages, 5 authors, 2016-06-15

Re: [PATCH v4] Allow update hooks to update refs on their own.

From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:43:56

Possibly related (same subject, not in this thread)

Hi,

On Mon, 3 Dec 2007, Shawn O. Pearce wrote:
Johannes Schindelin [off-list ref] wrote:
quoted
On Sun, 2 Dec 2007, Shawn O. Pearce wrote:
quoted
Steven Grimm [off-list ref] wrote:
quoted
This is useful in cases where a hook needs to modify an incoming commit
in some way, e.g., fixing whitespace errors, adding an annotation to
the commit message, noting the location of output from a profiling tool,
or committing to an svn repository using git-svn.
...
quoted
+/* Update hook exit code: hook has updated ref on its own */
+#define EXIT_CODE_REF_UPDATED 100
Hmm.  I would actually rather move the ref locking to before we run
the update hook, so the ref is locked *while* the hook executes.
Would that not mean that you cannot use update-ref to update the ref, 
since that wants to use the same lock?
You failed to quote the part of my email where I talked about how
we set an evironment variable to pass a hint to lockfile.c running
within the git-update-ref subprocess to instruct it to perform a
different style of locking, one that would work as a "recursive"
lock.

Such a recursive lock could be useful for a whole lot more than just
the update hook.  But it would at least allow the update hook to
use git-update-ref to safely change the ref, without receive-pack
losing its own lock on the ref.
Indeed, I even failed to read it fully ;-)

What do you propose, though?  <filename>.lock.<n>?

Ciao,
Dscho
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help