Re: [PATCH 14/21] Add proper parsing of "tagger" line, but only when thorough_verify is set
From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:43:15
Hi, On Sat, 9 Jun 2007, Johan Herland wrote:
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