"Matthew Kraai via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > From: Matthew Kraai <mkraai@xxxxxxxxxxx> > > After `git add -N <file>`, the index is in a special state. A state for > which the built-in stash was not prepared, as it failed to initialize > the `rev` structure in that case before using `&rev.pending`. > > Detailed explanation: If `reset_tree()` returns a non-zero value, > `stash_working_tree()` calls `object_array_clear()` with `&rev.pending`. > If `rev` is not initialized, this causes a segmentation fault. It is a bit strange that the paragraph for "detailed explanation" is shorter than the paragraph it attempts to clarify. Dropping those two words "Detailed explanation:" easily fixes awkwardness ;-). > +test_expect_success 'stash --intent-to-add file' ' > + git reset --hard && > + echo new >file4 && > + git add --intent-to-add file4 && > + test_when_finished "git rm -f file4" && > + test_must_fail git stash > +' This still must fail because an index with an I-T-A cannot be included in a stash, but test_must_fail will make sure that the command does not suffer an uncontrolled crash. Good.