* git-submodule/before-rebase hook
@ 2008-11-18 3:59 justin
2008-11-18 7:47 ` Andreas Ericsson
0 siblings, 1 reply; 2+ messages in thread
From: justin @ 2008-11-18 3:59 UTC (permalink / raw)
To: git
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
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: git-submodule/before-rebase hook
2008-11-18 3:59 git-submodule/before-rebase hook justin
@ 2008-11-18 7:47 ` Andreas Ericsson
0 siblings, 0 replies; 2+ messages in thread
From: Andreas Ericsson @ 2008-11-18 7:47 UTC (permalink / raw)
To: justin; +Cc: git
justin wrote:
> 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?
> 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
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2008-11-18 7:48 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-11-18 3:59 git-submodule/before-rebase hook justin
2008-11-18 7:47 ` Andreas Ericsson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).