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?'
This commit is contained in:
commit
98f3f007f5
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user