зеркало из https://github.com/microsoft/git.git
Merge branch 'nd/diff-i-t-a'
* nd/diff-i-t-a: Revert "diff-lib.c: adjust position of i-t-a entries in diff"
This commit is contained in:
Коммит
b5496cbd22
|
@ -63,7 +63,6 @@ static void update_callback(struct diff_queue_struct *q,
|
|||
switch (fix_unmerged_status(p, data)) {
|
||||
default:
|
||||
die(_("unexpected diff status %c"), p->status);
|
||||
case DIFF_STATUS_ADDED:
|
||||
case DIFF_STATUS_MODIFIED:
|
||||
case DIFF_STATUS_TYPE_CHANGED:
|
||||
if (add_file_to_index(&the_index, path, data->flags)) {
|
||||
|
|
12
diff-lib.c
12
diff-lib.c
|
@ -212,11 +212,6 @@ int run_diff_files(struct rev_info *revs, unsigned int option)
|
|||
ce->sha1, !is_null_sha1(ce->sha1),
|
||||
ce->name, 0);
|
||||
continue;
|
||||
} else if (ce->ce_flags & CE_INTENT_TO_ADD) {
|
||||
diff_addremove(&revs->diffopt, '+', ce->ce_mode,
|
||||
EMPTY_BLOB_SHA1_BIN, 0,
|
||||
ce->name, 0);
|
||||
continue;
|
||||
}
|
||||
|
||||
changed = match_stat_with_submodule(&revs->diffopt, ce, &st,
|
||||
|
@ -381,13 +376,6 @@ static void do_oneway_diff(struct unpack_trees_options *o,
|
|||
struct rev_info *revs = o->unpack_data;
|
||||
int match_missing, cached;
|
||||
|
||||
/* i-t-a entries do not actually exist in the index */
|
||||
if (idx && (idx->ce_flags & CE_INTENT_TO_ADD)) {
|
||||
idx = NULL;
|
||||
if (!tree)
|
||||
return; /* nothing to diff.. */
|
||||
}
|
||||
|
||||
/* if the entry is not checked out, don't examine work tree */
|
||||
cached = o->index_only ||
|
||||
(idx && ((idx->ce_flags & CE_VALID) || ce_skip_worktree(idx)));
|
||||
|
|
|
@ -5,24 +5,10 @@ test_description='Intent to add'
|
|||
. ./test-lib.sh
|
||||
|
||||
test_expect_success 'intent to add' '
|
||||
test_commit 1 &&
|
||||
git rm 1.t &&
|
||||
echo hello >1.t &&
|
||||
echo hello >file &&
|
||||
echo hello >elif &&
|
||||
git add -N file &&
|
||||
git add elif &&
|
||||
git add -N 1.t
|
||||
'
|
||||
|
||||
test_expect_success 'git status' '
|
||||
git status --porcelain | grep -v actual >actual &&
|
||||
cat >expect <<-\EOF &&
|
||||
DA 1.t
|
||||
A elif
|
||||
A file
|
||||
EOF
|
||||
test_cmp expect actual
|
||||
git add elif
|
||||
'
|
||||
|
||||
test_expect_success 'check result of "add -N"' '
|
||||
|
@ -57,8 +43,7 @@ test_expect_success 'i-t-a entry is simply ignored' '
|
|||
git add -N nitfol &&
|
||||
git commit -m second &&
|
||||
test $(git ls-tree HEAD -- nitfol | wc -l) = 0 &&
|
||||
test $(git diff --name-only HEAD -- nitfol | wc -l) = 0 &&
|
||||
test $(git diff --name-only -- nitfol | wc -l) = 1
|
||||
test $(git diff --name-only HEAD -- nitfol | wc -l) = 1
|
||||
'
|
||||
|
||||
test_expect_success 'can commit with an unrelated i-t-a entry in index' '
|
||||
|
@ -87,13 +72,13 @@ test_expect_success 'cache-tree invalidates i-t-a paths' '
|
|||
: >dir/bar &&
|
||||
git add -N dir/bar &&
|
||||
git diff --cached --name-only >actual &&
|
||||
>expect &&
|
||||
echo dir/bar >expect &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
git write-tree >/dev/null &&
|
||||
|
||||
git diff --cached --name-only >actual &&
|
||||
>expect &&
|
||||
echo dir/bar >expect &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
|
|
|
@ -139,13 +139,11 @@ test_expect_success SYMLINKS 'setup symlinks with attributes' '
|
|||
test_expect_success SYMLINKS 'symlinks do not respect userdiff config by path' '
|
||||
cat >expect <<-\EOF &&
|
||||
diff --git a/file.bin b/file.bin
|
||||
new file mode 100644
|
||||
index 0000000..d95f3ad
|
||||
Binary files /dev/null and b/file.bin differ
|
||||
index e69de29..d95f3ad 100644
|
||||
Binary files a/file.bin and b/file.bin differ
|
||||
diff --git a/link.bin b/link.bin
|
||||
new file mode 120000
|
||||
index 0000000..dce41ec
|
||||
--- /dev/null
|
||||
index e69de29..dce41ec 120000
|
||||
--- a/link.bin
|
||||
+++ b/link.bin
|
||||
@@ -0,0 +1 @@
|
||||
+file.bin
|
||||
|
|
Загрузка…
Ссылка в новой задаче