Merge branch 'nd/ita-cleanup'
Paths that have been told the index about with "add -N" are not quite yet in the index, but a few commands behaved as if they already are in a harmful way. * nd/ita-cleanup: grep: make it clear i-t-a entries are ignored add and use a convenience macro ce_intent_to_add() blame: remove obsolete comment
This commit is contained in:
commit
cc14ea8cf4
@ -2409,11 +2409,6 @@ static struct commit *fake_working_tree_commit(struct diff_options *opt,
|
|||||||
ce->ce_mode = create_ce_mode(mode);
|
ce->ce_mode = create_ce_mode(mode);
|
||||||
add_cache_entry(ce, ADD_CACHE_OK_TO_ADD|ADD_CACHE_OK_TO_REPLACE);
|
add_cache_entry(ce, ADD_CACHE_OK_TO_ADD|ADD_CACHE_OK_TO_REPLACE);
|
||||||
|
|
||||||
/*
|
|
||||||
* We are not going to write this out, so this does not matter
|
|
||||||
* right now, but someday we might optimize diff-index --cached
|
|
||||||
* with cache-tree information.
|
|
||||||
*/
|
|
||||||
cache_tree_invalidate_path(&the_index, path);
|
cache_tree_invalidate_path(&the_index, path);
|
||||||
|
|
||||||
return commit;
|
return commit;
|
||||||
|
@ -386,7 +386,7 @@ static int grep_cache(struct grep_opt *opt, const struct pathspec *pathspec, int
|
|||||||
|
|
||||||
for (nr = 0; nr < active_nr; nr++) {
|
for (nr = 0; nr < active_nr; nr++) {
|
||||||
const struct cache_entry *ce = active_cache[nr];
|
const struct cache_entry *ce = active_cache[nr];
|
||||||
if (!S_ISREG(ce->ce_mode))
|
if (!S_ISREG(ce->ce_mode) || ce_intent_to_add(ce))
|
||||||
continue;
|
continue;
|
||||||
if (!ce_path_match(ce, pathspec, NULL))
|
if (!ce_path_match(ce, pathspec, NULL))
|
||||||
continue;
|
continue;
|
||||||
|
@ -211,7 +211,7 @@ static int check_local_mod(unsigned char *head, int index_only)
|
|||||||
* "intent to add" entry.
|
* "intent to add" entry.
|
||||||
*/
|
*/
|
||||||
if (local_changes && staged_changes) {
|
if (local_changes && staged_changes) {
|
||||||
if (!index_only || !(ce->ce_flags & CE_INTENT_TO_ADD))
|
if (!index_only || !ce_intent_to_add(ce))
|
||||||
string_list_append(&files_staged, name);
|
string_list_append(&files_staged, name);
|
||||||
}
|
}
|
||||||
else if (!index_only) {
|
else if (!index_only) {
|
||||||
|
@ -377,7 +377,7 @@ static int update_one(struct cache_tree *it,
|
|||||||
* they are not part of generated trees. Invalidate up
|
* they are not part of generated trees. Invalidate up
|
||||||
* to root to force cache-tree users to read elsewhere.
|
* to root to force cache-tree users to read elsewhere.
|
||||||
*/
|
*/
|
||||||
if (ce->ce_flags & CE_INTENT_TO_ADD) {
|
if (ce_intent_to_add(ce)) {
|
||||||
to_invalidate = 1;
|
to_invalidate = 1;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
1
cache.h
1
cache.h
@ -260,6 +260,7 @@ static inline unsigned create_ce_flags(unsigned stage)
|
|||||||
#define ce_uptodate(ce) ((ce)->ce_flags & CE_UPTODATE)
|
#define ce_uptodate(ce) ((ce)->ce_flags & CE_UPTODATE)
|
||||||
#define ce_skip_worktree(ce) ((ce)->ce_flags & CE_SKIP_WORKTREE)
|
#define ce_skip_worktree(ce) ((ce)->ce_flags & CE_SKIP_WORKTREE)
|
||||||
#define ce_mark_uptodate(ce) ((ce)->ce_flags |= CE_UPTODATE)
|
#define ce_mark_uptodate(ce) ((ce)->ce_flags |= CE_UPTODATE)
|
||||||
|
#define ce_intent_to_add(ce) ((ce)->ce_flags & CE_INTENT_TO_ADD)
|
||||||
|
|
||||||
#define ce_permissions(mode) (((mode) & 0100) ? 0755 : 0644)
|
#define ce_permissions(mode) (((mode) & 0100) ? 0755 : 0644)
|
||||||
static inline unsigned int create_ce_mode(unsigned int mode)
|
static inline unsigned int create_ce_mode(unsigned int mode)
|
||||||
|
@ -327,7 +327,7 @@ int ie_match_stat(const struct index_state *istate,
|
|||||||
* by definition never matches what is in the work tree until it
|
* by definition never matches what is in the work tree until it
|
||||||
* actually gets added.
|
* actually gets added.
|
||||||
*/
|
*/
|
||||||
if (ce->ce_flags & CE_INTENT_TO_ADD)
|
if (ce_intent_to_add(ce))
|
||||||
return DATA_CHANGED | TYPE_CHANGED | MODE_CHANGED;
|
return DATA_CHANGED | TYPE_CHANGED | MODE_CHANGED;
|
||||||
|
|
||||||
changed = ce_match_stat_basic(ce, st);
|
changed = ce_match_stat_basic(ce, st);
|
||||||
@ -1237,7 +1237,7 @@ int refresh_index(struct index_state *istate, unsigned int flags,
|
|||||||
|
|
||||||
if (cache_errno == ENOENT)
|
if (cache_errno == ENOENT)
|
||||||
fmt = deleted_fmt;
|
fmt = deleted_fmt;
|
||||||
else if (ce->ce_flags & CE_INTENT_TO_ADD)
|
else if (ce_intent_to_add(ce))
|
||||||
fmt = added_fmt; /* must be before other checks */
|
fmt = added_fmt; /* must be before other checks */
|
||||||
else if (changed & TYPE_CHANGED)
|
else if (changed & TYPE_CHANGED)
|
||||||
fmt = typechange_fmt;
|
fmt = typechange_fmt;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user