On Tuesday 2007 March 20 14:38, Shawn O. Pearce wrote: > The problem of course is the update hook is running before a ref > is created to point at the tag. If you used post-receive hook > on the other hand... Oh, right, that has its own problems too! I've obviously not described the problem very well; as I don't understand how your comment relates to this patch. All I'm doing is pulling the individual fields out of $ git cat-file -p v1.5.0 object 437b1b20df4b356c9342dac8d38849f24ef44f27 type commit tag v1.5.0 tagger Junio C Hamano <junkio@xxxxxxx> Wed Feb 14 00:00:00 2007 +0000 And putting them in their own variables. I'm not sure how for-each-ref or in fact, any ref-based tool would help me do this. At this point it's nothing to do with git, it's a standard shell script problem. git cat-file -p $newrev | while read field value do variable = "found" done echo $variable Doesn't work, because the right half of the pipe is run in its own process and so setting "variable" has no effect once the while loop is over. I found that "<<<" heredoc thing in the bash manual, which is almost like having a reverse pipe and allows the while loop to run in the main process. Andy -- Dr Andy Parkins, M Eng (hons), MIET andyparkins@xxxxxxxxx - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html