Re: [RFC PATCH v2 4/4] read-tree: add --no-sparse to turn off sparse hook
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Aug 10, 2009, 16:46 UTC
- Message-ID
- <alpine.DEB.1.00.0908101842530.8324@intel-tinevez-2-302>
- In-Reply-To
- <1249917562-5931-5-git-send-email-pclouds@gmail.com>
Hi,
On Mon, 10 Aug 2009, Nguyễn Thái Ngọc Duy wrote:
Show 15 quoted lines
> diff --git a/unpack-trees.c b/unpack-trees.c
> index f407bf5..d087112 100644
> --- a/unpack-trees.c
> +++ b/unpack-trees.c
> @@ -530,8 +530,10 @@ int unpack_trees(unsigned len, struct tree_desc *t, struct unpack_trees_options
> if (o->trivial_merges_only && o->nontrivial_merge)
> return unpack_failed(o, "Merge requires file-level merging");
>
> - if (run_sparse_hook(o))
> - return unpack_failed(o, NULL);
> + if (!o->no_sparse_hook) {
> + if (run_sparse_hook(o))
> + return unpack_failed(o, NULL);
> + }
> IMHO this would read nicelier as
if (!o->no_sparse_hook && run_sparse_hook(o)) return unpack_failed(o, NULL);
Show 10 quoted lines
> diff --git a/unpack-trees.h b/unpack-trees.h
> index ad21823..81eb2ef 100644
> --- a/unpack-trees.h
> +++ b/unpack-trees.h
> @@ -30,6 +30,7 @@ struct unpack_trees_options {
> skip_unmerged,
> initial_checkout,
> diff_index_cached,
> + no_sparse_hook,
> gently;Hmm. I understand that the assumption is that memset(&opts, 0, sizeof(opts)); should give you a sensible default, but I cannot avoid noticing that "no_sparse_hook = 0" is a double negation, something to be avoided...
Thanks, Dscho