Re: [PATCH 2/2] Make gc a builtin.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Sun, 11 Mar 2007, Junio C Hamano wrote:

> Johannes Schindelin <Johannes.Schindelin@xxxxxx> writes:
> 
> > And instead of die()ing, I'd rather do something like
> >
> > 	return (pack_refs || run_command_v_opt(argv_pack_refs, RUN_GIT_CMD) &&
> > 		run_command_v_opt(argv_reflog_expire, RUN_GIT_CMD) &&
> > 		run_command_v_opt(argv_repack, RUN_GIT_CMD) &&
> > 		(prune || run_command_v_opt(argv_prune, RUN_GIT_CMD) &&
> > 		run_command_v_opt(argv_rerere, RUN_GIT_CMD);
> 
> Gaaaaaaaah.
> 
> That may be valid C,

Actually, it is not. As usual, I fscked up: run_command_v_opt() is 
supposed to return 0 on _success_, so all the "&&" should be "||", and all 
the "||" should be "&&".

> 	if (we are told to pack-refs)
>         	if (try to pack refs and find error)
> 			goto failure;

I find this not very elegant. Instead, I'd do

	if (do_pack_refs && run_comand_v_opt(argv_pack_refs, RUN_GIT_CMD))
		return error("Could not run pack-refs.");

It does not only avoid the evil goto, but uses the screen estate for some 
nice error messages so that the user is not left out in the cold when 
something is wrong.

Ciao,
Dscho

-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]