From: Junio C Hamano <gitster@pobox.com>
To: Duy Nguyen <pclouds@gmail.com>
Cc: David Turner <dturner@twopensource.com>,
git@vger.kernel.org, Anatole Shaw <git-devel@omni.poc.net>
Subject: Re: [PATCH v2] unpack-trees: don't update files with CE_WT_REMOVE set
Date: Sat, 18 Jul 2015 14:20:11 -0700 [thread overview]
Message-ID: <xmqqpp3pyxh0.fsf@gitster.dls.corp.google.com> (raw)
In-Reply-To: <20150718083719.GA19676@lanh> (Duy Nguyen's message of "Sat, 18 Jul 2015 15:37:19 +0700")
Duy Nguyen <pclouds@gmail.com> writes:
> Thank you both for catching this. Just a small suggestion. Perhaps we
> should do this instead. apply_sparse_checkout() is the function where
> all "action" manipulation (add, delete, update files..) for sparse
> checkout occurs and it should not ask to delete and update both at the
> same time.
Sounds good. The first hunk may merely be a noise, but the second
one is the true bugfix for the issue observed, I think.
>
> -- 8< --
> diff --git a/unpack-trees.c b/unpack-trees.c
> index 2927660..d6cf849 100644
> --- a/unpack-trees.c
> +++ b/unpack-trees.c
> @@ -224,6 +224,9 @@ static int check_updates(struct unpack_trees_options *o)
> struct cache_entry *ce = index->cache[i];
>
> if (ce->ce_flags & CE_UPDATE) {
> + if (ce->ce_flags & CE_WT_REMOVE)
> + die("BUG: both update and delete flags are set on %s",
> + ce->name);
> display_progress(progress, ++cnt);
> ce->ce_flags &= ~CE_UPDATE;
> if (o->update && !o->dry_run) {
> @@ -293,6 +296,7 @@ static int apply_sparse_checkout(struct index_state *istate,
> if (!(ce->ce_flags & CE_UPDATE) && verify_uptodate_sparse(ce, o))
> return -1;
> ce->ce_flags |= CE_WT_REMOVE;
> + ce->ce_flags &= ~CE_UPDATE;
> }
> if (was_skip_worktree && !ce_skip_worktree(ce)) {
> if (verify_absent_sparse(ce, ERROR_WOULD_LOSE_UNTRACKED_OVERWRITTEN, o))
> -- 8< --
>
> --
> Duy
next prev parent reply other threads:[~2015-07-18 21:20 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-17 19:48 [PATCH] unpack-trees: don't update files flagged for deletion David Turner
2015-07-17 20:05 ` Junio C Hamano
2015-07-17 21:19 ` [PATCH v2] unpack-trees: don't update files with CE_WT_REMOVE set David Turner
2015-07-17 21:34 ` Junio C Hamano
2015-07-18 8:37 ` Duy Nguyen
2015-07-18 21:20 ` Junio C Hamano [this message]
2015-07-21 20:52 ` Junio C Hamano
2015-07-20 17:40 ` David Turner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqpp3pyxh0.fsf@gitster.dls.corp.google.com \
--to=gitster@pobox.com \
--cc=dturner@twopensource.com \
--cc=git-devel@omni.poc.net \
--cc=git@vger.kernel.org \
--cc=pclouds@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.