Re: git-submodule/before-rebase hook
- From
Andreas Ericsson <ae@op5.se>
- Date
- Nov 18, 2008, 07:47 UTC
- Message-ID
- <49227314.4080709@op5.se>
- In-Reply-To
- <CC8B9B47-4985-4B96-B8DB-0B351633C849@justinbalthrop.com>
justin wrote:
Show 10 quoted lines
> 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.
It shouldn't, unless you push the change into a non-bare copy of a checked out submodule, but that would be rather insane as the submodule rather than the superproject then gets to decide which version of the submodule to use.
> 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.
Ah, now I see where you're coming from. After you issue "git pull" in the submodule you have to sync the new version of the submodule to the superproject using "git submodule sync".
> 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.
Ok, I didn't. Why do you pull into the submodules if you don't want to sync the code so the superproject gets the benefit of the changes?
Show 10 quoted lines
> 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? >
Yes. Only pull in submodules if you intend to sync them afterwards.
-- Andreas Ericsson andreas.ericsson@op5.se OP5 AB www.op5.se Tel: +46 8-230225 Fax: +46 8-230231