git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Configuring a third-party git hook

From
Chris Angelico <rosuav@gmail.com>
Date
Mar 19, 2014, 11:16 UTC
Message-ID
<CAPTjJmomAnrjjyfSvDJijBP2pUN_kqVCRr+UbZkQHQy295A85A@mail.gmail.com>

I have a bit of a weird question. Poking around with Google searches hasn't come up with any results, so I'm asking here :)

Short version: What's the most appropriate way to configure a git hook?

Long version: I have a git hook (handles prepare-commit-msg and commit-msg) and part of what it does can search 'git log' for a single file. It doesn't really care about the full history, and wants to be reasonably fast (as the user is waiting for it). It's just a convenience, so correctness isn't a huge issue. The easiest way to keep it moving through quickly is to limit the search:

$ git log ...other options... HEAD~100 some-file.pike

The problem with this is that it doesn't work if HEAD doesn't have 100 great-great-...-grandparents - plus, it's way too specific a number to hard-code. I might want it different on different repos (and the script is shared, and is available for other people to use).

Now, if this were something in git core, I'd expect to set that value of 100 with 'git config', but this is my own script. Is it right to use 'git config' for something that isn't controlled by the core code of git? I've tentatively used "git config rosuav.log-search.limit" (with 0 or absence meaning "omit the argument" ie search the whole history), and am wondering if that's a really really bad idea.

Here's the script in question: https://github.com/Rosuav/shed/blob/master/githook.pike#L36

Two parts to the question, then. Firstly, is it acceptable to use 'git config' for a hook like this? And secondly, either: Is there a naming convention to follow? or, what alternative would you recommend?

Thanks in advance for any ideas/tips!
ChrisA
Next: Kevin
Message 1 of 14 in “Configuring a third-party git hook”
  1. Chris AngelicoMar 19, 2014
  2. KevinMar 20, 2014
  3. Chris AngelicoMar 20, 2014
  4. Jeff KingMar 20, 2014
  5. Chris AngelicoMar 20, 2014
  6. Jeff KingMar 21, 2014
  7. Chris AngelicoMar 21, 2014
  8. Junio C HamanoMar 21, 2014
  9. Chris AngelicoMar 21, 2014
  10. Jeff KingMar 21, 2014
  11. Junio C HamanoMar 21, 2014
  12. Junio C HamanoMar 21, 2014
  13. Junio C HamanoMar 20, 2014
  14. Chris AngelicoMar 20, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.