Thread (5 messages) 5 messages, 3 authors, 2017-02-04

Re: git push failing when push.recurseSubmodules on-demand and git commit --amend was used in submodule.

From: Stefan Beller <hidden>
Date: 2017-02-04 18:44:03

On Tue, Jan 31, 2017 at 5:10 PM, Carlo Wood [off-list ref] wrote:
On Tue, 31 Jan 2017 14:08:41 -0800
Stefan Beller [off-list ref] wrote:
quoted
On Sun, Jan 29, 2017 at 5:00 PM, Junio C Hamano [off-list ref]
wrote:
quoted
 2. If the amend is good and ready to go, "git add" to update the
    superproject to make that amended result the one that is needed
    in the submodule.
yup.
But that is what I am doing. The amended commit IS already
added to the superproject (and pushed to the remote).

Please have a look at my script, this happens here:

# Correct that in the parent too:
pushd parent
git add subm
git commit -m 'Updated subm.'
popd
And if you were to use ammend here, too; there would be no problem;
In the parent there are now two commits, the first one pointing at the
first (unammended) commit in the submodule, the second pointing to
the corrected commit.
The commit from before the amend was added to the super
project (but never pushed) but has now been completely
replaced. I still think this is a flaw in git. It shouldn't
not complain and simply push.
The problem here is in the design.
When "on-demand" is set, the parent repo determines which
sumbodules needs pushing, then runs a plain "git push" in them
and then checks again.

The push operation in the submodule did not push out the un-amended
commit (which is correct IMO).

The parent in the second check determines that there is a commit, that
is not pushed, though. Maybe we need an option there "on-demand-but-no-recheck"
as a weaker promise what Git can deliver there.
--
Carlo Wood [off-list ref]
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help