Re: [RFC 2/2] Don't push a repository with unpushed submodules
- From
Marc Branchaud <marcnarc@xiplink.com>
- Date
- Jun 28, 2011, 22:06 UTC
- Message-ID
- <4E0A506B.6040407@xiplink.com>
- In-Reply-To
- <1309112987-3185-3-git-send-email-iveqy@iveqy.com>
On 11-06-26 02:29 PM, Fredrik Gustafsson wrote:
Show 8 quoted lines
> When working with submodules it is easy to forget to push a submodule > to the server but pushing a super-project that contains a commit for > that submodule. The result is that the superproject points at a > submodule commit that is not avaliable on the server. > > Check that all submodule commits that are about to be pushed are present > on a remote of the submodule and require forcing if that is not the > case.
I have a few concerns about what this is trying to do.
First, I expect performance will be terrible in repositories with large and/or many submodules. I'd go so far as to say that it's pretty much a show-stopper for our repository.
Second, there are many times where I'm working in a submodule on branch "TopicA" but not in branch "TopicB". If I've made submodule changes in TopicA then try to push up TopicB, won't I have have to tell push to "-f"? But that turns off other checks that I'd rather keep.
I'd feel a lot better about this patch if the check was *off* by default and there was a config setting / command-line option to turn it on.
I also agree with Junio that this kind of verification makes more sense in a hook on the server side.
M.