{"thread":{"id":"40280","subject":"Bug? push --recurse-submodules=on-demandd not really recursive","startedAt":"2015-09-05T08:31:03Z","lastAt":"2015-09-05T08:31:03Z","messageCount":1,"participants":["Pedro Rodrigues"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"269473","messageId":"1441441863.2246.0@smtp.gmail.com","threadId":"40280","inReplyTo":null,"subject":"Bug? push --recurse-submodules=on-demandd not really recursive","fromName":"Pedro Rodrigues","fromEmail":"prodrigues1990@gmail.com","sentAt":"2015-09-05T08:31:03Z","receivedAt":"2015-09-05T08:31:03Z","isPatch":false,"sender":{"key":"prodrigues1990@gmail.com","avatar":null},"body":"Yesterday I was discussing this in on G+, which lead me to conclude \nthis is actually a bug (or, at least, a very good improvement).\n\nWhen you run push --recurse-submodules=on-demand, according to the push \nmanpage you would expect any submodule commit missing on it's default \nremote to be pushed aswell. But this only works for the submodules of \nthe repo you run it in, it does not work in nested submodules (hence \nnot being recursive at all).\n\nI could (with my very little understanding of C) confirm this in the \nsource code, and the boils down to the function push_submodule on file \ntransport.c explicitly calling push without any params, where I would \nexpect it to call with --recurse-submodules=on-demand when done so on \nthe parent repo (and then it will actually be trully recursive).\n\nAny thoughts?\n"}]}