Re: [PATCH 14/21] Add proper parsing of "tagger" line, but only when thorough_verify is set
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Jun 10, 2007, 08:52 UTC
- Message-ID
- <Pine.LNX.4.64.0706100945290.4059@racer.site>
- In-Reply-To
- <200706090218.41941.johan@herland.net>
Hi,
On Sat, 9 Jun 2007, Johan Herland wrote:
Show 5 quoted lines
> Be explicit about the fact that the "tagger" line is now considered a > mandatory part of the tag object. There are however old tags (from > before July 2005) that don't have a "tagger" line. We therefore consider > the "tagger" line _optional_ when parsing tags without thorough_verify > set.
No. The "before July 2005" part is _not_ the reason that we consider this line optional.
The fact that it is bad to fail on a fetch, just because you happen to have an invalid tag in your repository, is a good reason not to.
The fact that it is bad to fail on a git branch, just because you happen to have an invalid tag in your repository, is a good reason not to.
The fact that it is bad to fail on an fsck, just because you happen to have an invalid tag in your repository, is a good reason not to.
And yes, if I remember correctly, your original patch did exactly that.
The paradigm to follow is: fail gracefully. I could have an invalid _commit_ in my repository, and would still want _every_ Git operation to succeed, _as long_ as it does not touch that bad object.
And I damned well want git-fsck to not crash, just because some assumptions are made.
Since this is a fundamental critique on your patch series, I will do the detailed review on _this_ patch in another mail.
Ciao, Dscho