提交 98f3f007 编写于 作者: J Junio C Hamano

Merge branch 'en/status-multiple-renames-to-the-same-target-fix'

The code in "git status" sometimes hit an assertion failure.  This
was caused by a structure that was reused without cleaning the data
used for the first run, which has been corrected.

* en/status-multiple-renames-to-the-same-target-fix:
  commit: fix erroneous BUG, 'multiple renames on the same target? how?'
......@@ -874,6 +874,7 @@ static int prepare_to_commit(const char *index_file, const char *prefix,
s->use_color = 0;
commitable = run_status(s->fp, index_file, prefix, 1, s);
s->use_color = saved_color_setting;
string_list_clear(&s->change, 1);
} else {
struct object_id oid;
const char *parent = "HEAD";
......
......@@ -359,4 +359,27 @@ test_expect_success 'new line found before status message in commit template' '
test_i18ncmp expected-template editor-input
'
test_expect_success 'setup empty commit with unstaged rename and copy' '
test_create_repo unstaged_rename_and_copy &&
(
cd unstaged_rename_and_copy &&
echo content >orig &&
git add orig &&
test_commit orig &&
cp orig new_copy &&
mv orig new_rename &&
git add -N new_copy new_rename
)
'
test_expect_success 'check commit with unstaged rename and copy' '
(
cd unstaged_rename_and_copy &&
test_must_fail git -c diff.renames=copy commit
)
'
test_done
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册