Duy Nguyen <pclouds@xxxxxxxxx> writes: > Sorry for this waaay too late response, everything (of the series > nd/ita-cleanup) is addressed so far except this.. > > On Tue, Aug 25, 2015 at 10:36:52AM -0700, Junio C Hamano wrote: >> > diff --git a/builtin/checkout.c b/builtin/checkout.c >> > index e1403be..02889d4 100644 >> > --- a/builtin/checkout.c >> > +++ b/builtin/checkout.c >> > @@ -300,6 +300,8 @@ static int checkout_paths(const struct checkout_opts *opts, >> > * anything to this entry at all. >> > */ >> > continue; >> > + if (ce_intent_to_add(ce)) >> > + continue; >> > /* >> > * Either this entry came from the tree-ish we are >> > * checking the paths out of, or we are checking out >> >> Hmm, while this does prevent the later code from checking it out, I >> am not sure how well this interacts with ps_matched[] logic here. >> If the user told Git that 'foo' is a path that she cares about with >> "add -N foo", and said "git checkout -- foo", should we be somehow >> saying that 'foo' did match but there is nothing to check out, or >> something? > > How about this? It does not mess with ps_matched logic. But it does > not say "nothing to checkout" at the end either. While we could do > that (in general case, not just because all we are checking out is ita > entries), I'm not sure if such verbosity helps anyone. I'm thinking of > dropping the new warning I added here too.. I agree that these warnings are unwanted when you run "checkout ." in a repository with tons of i-t-a paths (but on the other hand, having tons of i-t-a paths is unusual so the user might want to be reminded of them--I dunno). With or without the new warning(), this one looks an improvement over the previous one to me. Thanks. > -- 8< -- > diff --git a/builtin/checkout.c b/builtin/checkout.c > index 3e141fc..c11fe71 100644 > --- a/builtin/checkout.c > +++ b/builtin/checkout.c > @@ -328,12 +328,17 @@ static int checkout_paths(const struct checkout_opts *opts, > if (opts->merge) > unmerge_marked_index(&the_index); > > - /* Any unmerged paths? */ > for (pos = 0; pos < active_nr; pos++) { > const struct cache_entry *ce = active_cache[pos]; > if (ce->ce_flags & CE_MATCHED) { > - if (!ce_stage(ce)) > + if (!ce_stage(ce)) { > + if (ce_intent_to_add(ce)) { > + warning(_("path '%s' is only intended to add"), ce->name); > + ce->ce_flags &= ~CE_MATCHED; > + } > continue; > + } > + /* Any unmerged paths? */ > if (opts->force) { > warning(_("path '%s' is unmerged"), ce->name); > } else if (opts->writeout_stage) { > -- 8< -- > -- > Duy -- 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