From: Miklos Vajna Date: Mon, 07 Jul 2008 17:17:21 GMT Subject: Re: [PATCH 14/14] Build in merge Message-ID: <20080707171721.GT4729@genesis.frugalware.org> In-Reply-To: <7v4p73gxf6.fsf@gitster.siamese.dyndns.org> On Sun, Jul 06, 2008 at 02:43:41AM -0700, Junio C Hamano wrote: > > Then, you would keep an array of pointers into all_strategy[] array to > > represent the list of "-s strategy" given by the user: > > > > static struct strategy *use_strategy; > > static int use_strategy_alloc, use_strategy_nr; > > Sorry, I have an obvious typo here. "use_strategy" will be dynamic array > of pointers into all_strategy[] so its definition would be: > > static struct strategy **use_strategy; I think there are two possibilities here: 1) Append custom strategies to all_strategy and have only pointers in use_strategy. This is what you suggest in your second mail. 2) Copy the names and attributes from all_strategy to use_strategies and append custom strategies there. This is what I do at the moment. I think it's better not to modify all_strategy, it serves as a reference, for example later this would allow us to check if the used merge strategy is a predefined or a custom one. Or is there any strong reason introducing all_strategy_alloc, all_strategy_nr and using ALLOC_GROW() with all_strategy instead of with use_strategy? Thanks.