Re: [PATCH] Enable git rev-list to parse --quiet
- From
Nick Andrew <nick@nick-andrew.net>
- Date
- Jul 20, 2008, 12:04 UTC
- Message-ID
- <20080720120437.GC15586@mail.local.tull.net>
- In-Reply-To
- <7vwsjhc7kj.fsf@gitster.siamese.dyndns.org>
On Sun, Jul 20, 2008 at 12:56:28AM -0700, Junio C Hamano wrote:
Show 7 quoted lines
> Nick Andrew <nick@nick-andrew.net> writes: > > > ...Without > > a working "--quiet" nor exit code I can pipe the output to "wc -l" > > but is there a more efficient/reliable way to implement the requirement? > > Did you read the whole thread before asking the above question?
I took your answer to mean that I shouldn't be using git-rev-list for this purpose, so I asked whether there's a better way to do it. Johannes Schindelin gave a good answer to that.
> IOW, does this answer the above question? > > http://mid.gmane.org/7vy73zd8ok.fsf@gitster.siamese.dyndns.org
I'm not happy with that patch due to this:
static void finish_commit(struct commit *commit)
{
+ if (check_empty)
+ exit(0);Exiting a process from within a callback function seems to me to violate the principle of least surprise. If the return code should be zero then the cmd_rev_list function should return zero, and run_command will return zero and handle_internal_command will exit zero. There must be a better way to avoid redundant processing for the empty set case.
Nick.