On Tue, Oct 11, 2022 at 06:32:40PM -0400, Michael S. Tsirkin wrote:
> On Fri, Oct 07, 2022 at 12:09:40PM +0100, Daniel P. Berrangé wrote:
> > On Fri, Oct 07, 2022 at 11:45:56AM +0100, Daniel P. Berrangé wrote:
> > > On Fri, Oct 07, 2022 at 06:11:25AM -0400, Michael S. Tsirkin wrote:
> > > > On Fri, Oct 07, 2022 at 09:07:17AM +0100, Daniel P. Berrangé wrote:
> > > > > On Thu, Oct 06, 2022 at 08:24:01PM -0400, Michael S. Tsirkin wrote:
> > > > > > On Thu, Oct 06, 2022 at 07:54:52PM +0100, Daniel P. Berrangé wrote:
> > > > > > > On Thu, Oct 06, 2022 at 07:39:07AM -0400, Michael S. Tsirkin 
> > > > > > > wrote:
> > > > > > > > The most commmon complaint about submodules is that
> > > > > > > > they don't follow when one switches branches in the
> > > > > > > > main repo. Enable recursing into submodules by default
> > > > > > > > to address that.
> > > > > > > > 
> > > > > > > > Signed-off-by: Michael S. Tsirkin <m...@redhat.com>
> > > > > > > > ---
> > > > > > > >  .gitmodules | 23 +++++++++++++++++++++++
> > > > > > > >  1 file changed, 23 insertions(+)
> > 
> > snip
> > 
> > > > I just retested and it's not working for me either :(
> > > > I was sure it worked but I guess the testing wasn't done properly.
> > > > Back to the drawing board sorry.
> > > 
> > > I think the problem is that this setting doesn't apply in the context
> > > of .gitmodules. Various commands take a '--recurse-submodules' parameter,
> > > and like many params this can be set in the .git/config file. The
> > > problem is .git/config isn't a file we can influence automatically,
> > > it is upto the dev to set things for every clone they do :-(
> > 
> > With the correct setting in my .git/config, I've just discovered
> > an unexpected & undesirable consequence of using recurse=true.
> > It affects the 'push' command. If your submodule contains a hash
> > that is not present in the upstream of the submodule, then when
> > you try to push, it will also try to push the submodule change.
> > 
> > eg, I have a qemu.git branch 'work' and i made a change to
> > ui/keycodemapdb. If I try to push to my gitlab fork, whose
> > remote I called 'gitlab', then it will also try to push
> > ui/keycodemapdb to a fork called 'gitlab'.  Except I don't
> > have any such fork existing, so my attempt to push my qemu.git
> > changes fails because of the submodule.
> > 
> > This is going to be annoying to people who are working on branches
> > with updates to the git submodules if we were to set recurse=true
> > by default, as they'll have to also setup remotes for submodules
> > they work on.
> > 
> 
> Well this seems like a reasonable thing to do, no?
> 
> If you push qemu commit referring to hash 0xABC, you want
> that 0xABC to be available in the remote, no?
> Otherwise how will people fetching your tree check it out?

Don't assume I'm making it available for other people. I push to
remotes simply for moving code around for myself between machines.
I still have the submodule code I need elsewhere, so forcing me
to push the submodule & main repos so the same named remote is
getting in the way. 

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|


Reply via email to