{"thread":{"id":"43916","subject":"Getting \"The following submodule paths contain changes that can not be found on any remote\" when they are in the remote","startedAt":"2016-08-23T21:10:20Z","lastAt":"2016-08-23T23:30:56Z","messageCount":4,"participants":["Leandro Lucarella","Stefan Beller"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"299984","messageId":"20160823203446.40abfd37@labs-064.localdomain","threadId":"43916","inReplyTo":null,"subject":"Getting \"The following submodule paths contain changes that can not be found on any remote\" when they are in the remote","fromName":"Leandro Lucarella","fromEmail":"leandro.lucarella@sociomantic.com","sentAt":"2016-08-23T18:34:46Z","receivedAt":"2016-08-23T21:10:20Z","isPatch":false,"sender":{"key":"leandro.lucarella@sociomantic.com","avatar":"https://gravatar.com/avatar/b8884950a0d028195af6bb849af0136915e795824f1d888a9599af7ce3d174af?d=mp&s=160"},"body":"Hi, I'm getting very often, but not always, with many different\nprojects using submodules, the message:\n\n  The following submodule paths contain changes that can\n  not be found on any remote:\n    <module>\n\n  Please try\n\n  \tgit push --recurse-submodules=on-demand\n\n  or cd to the path and use\n\n  \tgit push\n\n  to push them to a remote.\n\n  fatal: Aborting.\n\nThis even happens after doing a:\n\ngit submodule deinit <module>\nrm -fr <module>\nrm -fr .git/modules/<module>\ngit submodule update --init\n\nSo I am getting the reference from the remote, but when pushing a new\nchange (that doesn't touch the submodules) I keep getting this error.\n\nI tried to get more information about why this is happening but I\ncouldn't. Googling didn't help either, so I'm resorting to ask here.\n\nI would also like to report a tiny bug, when using push --quiet, I do\nget all the message above except for the <module> name, which is quite\nconfusing.\n\n$ git --version\ngit version 2.9.3\n\n(running under Ubuntu 14.04)\n\nPlease CC me, and thanks a lot in advance!\n\n-- \nLeandro Lucarella\nTechnical Development Lead\nSociomantic Labs GmbH <http://www.sociomantic.com>\n"},{"id":"299986","messageId":"CAGZ79kbkyupBJfvyX3Hj_R5ZW36+3ufOnnLC-Dpic40nPJAxDA@mail.gmail.com","threadId":"43916","inReplyTo":"20160823203446.40abfd37@labs-064.localdomain","subject":"Re: Getting \"The following submodule paths contain changes that can not be found on any remote\" when they are in the remote","fromName":"Stefan Beller","fromEmail":"sbeller@google.com","sentAt":"2016-08-23T21:26:22Z","receivedAt":"2016-08-23T21:27:13Z","isPatch":false,"sender":{"key":"stefanbeller@gmail.com","avatar":"https://avatars.githubusercontent.com/u/455868?v=4"},"body":"On Tue, Aug 23, 2016 at 11:34 AM, Leandro Lucarella\n<leandro.lucarella@sociomantic.com> wrote:\n> Hi, I'm getting very often, but not always, with many different\n> projects using submodules, the message:\n>\n>   The following submodule paths contain changes that can\n>   not be found on any remote:\n>     <module>\n>\n>   Please try\n>\n>         git push --recurse-submodules=on-demand\n\nCheck if push.recurseSubmodules is set (in the project, globally,\nin the home dir?)\n\n    git config --list | grep push.recurseSubmodules\n\n>\n>   or cd to the path and use\n>\n>         git push\n>\n>   to push them to a remote.\n>\n>   fatal: Aborting.\n>\n> This even happens after doing a:\n>\n> git submodule deinit <module>\n> rm -fr <module>\n> rm -fr .git/modules/<module>\n> git submodule update --init\n>\n> So I am getting the reference from the remote, but when pushing a new\n> change (that doesn't touch the submodules) I keep getting this error.\n\nSo the submodule did not change, but you still get the error?\nThat sounds like a bug.\n\nCan you provide a sample repository that demonstrates this bug?\nMaybe there are 'dangling' submodule pointers in past commits\nthat trigger this problem?\n\n>\n> I tried to get more information about why this is happening but I\n> couldn't. Googling didn't help either, so I'm resorting to ask here.\n\nIf you are sure it is bug and not your fault, you can overwrite\nthe push.recurseSubmodules setting locally in your repository\nto be \"no\" or \"on-demand\", see the git config documentation[1].\n\n[1] e.g. https://www.kernel.org/pub/software/scm/git/docs/git-config.html\n\n>\n> I would also like to report a tiny bug, when using push --quiet, I do\n> get all the message above except for the <module> name, which is quite\n> confusing.\n\nThis sounds like a second bug.\n\nSee https://github.com/git/git/blob/master/transport.c#L767\n\nSo there are a few issues:\n\n* the printf in the loop should be an fprintf(stderr,...)  for consistency.\n* die_with_unpushed_submodules that is called from transport_push\n  doesn't respect the transport->verbose setting.\n\nThe second bug can be explained with these issues; the first one\ncould hint at a bug in find_unpushed_submodules in submodule.c\n\nThanks for reporting a bug!\nStefan\n"},{"id":"300016","messageId":"20160823203819.2dfa513c@labs-064.localdomain","threadId":"43916","inReplyTo":"20160823203446.40abfd37@labs-064.localdomain","subject":"Re: Getting \"The following submodule paths contain changes that can not be found on any remote\" when they are in the remote","fromName":"Leandro Lucarella","fromEmail":"leandro.lucarella@sociomantic.com","sentAt":"2016-08-23T18:38:19Z","receivedAt":"2016-08-23T23:14:53Z","isPatch":false,"sender":{"key":"leandro.lucarella@sociomantic.com","avatar":"https://gravatar.com/avatar/b8884950a0d028195af6bb849af0136915e795824f1d888a9599af7ce3d174af?d=mp&s=160"},"body":"On Tue, 23 Aug 2016 20:34:46 +0200\nLeandro Lucarella <leandro.lucarella@sociomantic.com> wrote:\n> This even happens after doing a:\n> \n> git submodule deinit <module>\n> rm -fr <module>\n> rm -fr .git/modules/<module>\n> git submodule update --init\n\nOne more thing, doing a clean new clone seems to work, but I have this\nissue in many many repos, which are old clones, from before Git had the\nability to check for submodules. Could it be some incompatibility in\nold clones with this? Is there anything I can look for in the .git/\ndirectory or elsewhere to fix them?\n\nThanks again!\n\n-- \nLeandro Lucarella\nTechnical Development Lead\nSociomantic Labs GmbH <http://www.sociomantic.com>\n"},{"id":"300017","messageId":"CAGZ79kZ7LHx6sWdMWzv3d1SgS_PPBdVu07tGWhz14tWmAb2eJw@mail.gmail.com","threadId":"43916","inReplyTo":"20160823203819.2dfa513c@labs-064.localdomain","subject":"Re: Getting \"The following submodule paths contain changes that can not be found on any remote\" when they are in the remote","fromName":"Stefan Beller","fromEmail":"sbeller@google.com","sentAt":"2016-08-23T23:30:38Z","receivedAt":"2016-08-23T23:30:56Z","isPatch":false,"sender":{"key":"stefanbeller@gmail.com","avatar":"https://avatars.githubusercontent.com/u/455868?v=4"},"body":"On Tue, Aug 23, 2016 at 11:38 AM, Leandro Lucarella\n<leandro.lucarella@sociomantic.com> wrote:\n> On Tue, 23 Aug 2016 20:34:46 +0200\n> Leandro Lucarella <leandro.lucarella@sociomantic.com> wrote:\n>> This even happens after doing a:\n>>\n>> git submodule deinit <module>\n>> rm -fr <module>\n>> rm -fr .git/modules/<module>\n>> git submodule update --init\n>\n> One more thing, doing a clean new clone seems to work, but I have this\n> issue in many many repos, which are old clones, from before Git had the\n> ability to check for submodules. Could it be some incompatibility in\n> old clones with this? Is there anything I can look for in the .git/\n> directory or elsewhere to fix them?\n\nCheck if push.recurseSubmodules is set?\n\n>\n> Thanks again!\n>\n> --\n> Leandro Lucarella\n> Technical Development Lead\n> Sociomantic Labs GmbH <http://www.sociomantic.com>\n> --\n> To unsubscribe from this list: send the line \"unsubscribe git\" in\n> the body of a message to majordomo@vger.kernel.org\n> More majordomo info at  http://vger.kernel.org/majordomo-info.html\n"}]}