Re: [PATCH 10/10] push: teach push to be quiet if local ref is strict subset of remote ref
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Oct 31, 2007, 09:14 UTC
- Message-ID
- <7vzlxzhchr.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <7v8x5jiseh.fsf@gitster.siamese.dyndns.org>
Junio C Hamano <gitster@pobox.com> writes:
Show 8 quoted lines
> 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.