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

git-submodule/before-rebase hook

From
Jjustin <juddhuck@gmail.com>
Date
Nov 18, 2008, 03:59 UTC
Message-ID
<CC8B9B47-4985-4B96-B8DB-0B351633C849@justinbalthrop.com>

I just discovered git-submodule today, and already I can see it making my life a lot easier. I develop several modules that are used in two different projects, and being able to check in changes from the submodule in either project is something I have been wanting to do for a while. But there is one shortcoming in git-submodule that I haven't figured out how to overcome... yet.

When I make a change to a submodule and push that change to the parent repository, the change appears to all other users of the repository as a modification to the submodule commit version. A few people at our company use 'git ci -a' to add all of their changes, and I'm afraid they are going to unknowingly revert the submodule back to a previous version. So my plan was to add a post-pull hook that does 'git submodule update --init', so that people who don't do development on the submodule will get updates every time they pull. Unfortunately though, there is no such hook in git. I thought post-merge was going to work, but most people at our company use 'git pull --rebase', and post-merge isn't called in that case. The post-checkout hook is called, but the pull hasn't been completed at that point, so updating the submodule doesn't work. Alas, if only there was a post-rebase hook.

Any ideas other than patching every employee's git source to add a post-rebase hook?

Thanks, Justin

Next: Andreas Ericsson
Message 1 of 2 in “git-submodule/before-rebase hook”
  1. justinNov 18, 2008
  2. Andreas EricssonNov 18, 2008

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.