Re: [PATCH 10/10] push: teach push to be quiet if local ref is strict subset of remote ref
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:43:45
Junio C Hamano [off-list ref] writes:
1. Error on the sending side. The ref parameters given to
git-push were bogus, or they were good commits but they were
not fully connected to the commits the other side has
(i.e. local repository corruption). pack-objects will abort
and no remote (nor local tracking ref that tracks what we
pushed to the remote) would be updated. This should be
"most severe" in _any_ workflow, so I do not mind calling
this "fatal".By the way, as git-push allows an arbitrary SHA-1 on the left hand side of a refspec, you can have the above error without a corrupted repository. Here is how. * You run git-fetch from elsewhere. It is a small fetch and we decide not to keep the pack (iow, run unpack-objects instead of index-pack on the local side). Or the fetch is over dumb transport that walks commits one-by-one. This git-fetch is interrupted. We do _not_ update any refs in such a case, but we do not eradicate loose objects that were downloaded. They stay dangling. * You push one of the commits downloaded above. I.e. it is not connected to any of your ref.