Since git-stash's inception, it has defaulted to stashing the index but not restoring it. This has caused some confusion: change the default as part of Git 3.0 to unstash the index, too. I ran into this myself a while back and did some digging; it appears that other have been bit, too (see references in patch 3). Moreover, when git-stash was originally written, defaulting with --index was suggested but not implemented before the script merged. So this RFC should bring us back towards "less confusing," hopefully. The series is structured as follows: Patches 1-2: unrelated prep/style commits noticed while working on tests. Patch 3: update Documentation/BreakingChanges.adoc. This seems like a natural place to discuss the proposal, so it contains no other changes. Patch 4: make it so in builtin/stash.c. Patches 5-9: update the impacted tests. Separated out for ease of review. I used a style more like "split the test into 2: one with, one without breaking changes." In retrospect, the diff might be smaller (and the 2 versions of the test easier to compare) if I used "test_has_prereq" in the tests… but at the cost of making the tests harder to follow. Thoughts? D. Ben Knoble (9): t3903: reduce dependencies on previous tests t3905: remove unneeded blank line BreakingChanges: announce stash {apply,pop} will imply --index stash: restore the index by default when breaking changes are enabled t0450: mark stash documentation as a known discrepancy t3903: adjust stash test to account for --[no-]index with breaking changes t3904: adjust stash -p test to account for index states with breaking changes t3905: adjust stash -u tests for breaking changes t3906: adjust stash submodule tests to account for breaking changes Documentation/BreakingChanges.adoc | 11 ++ Documentation/git-stash.adoc | 6 ++ builtin/stash.c | 38 +++++++ t/lib-submodule-update.sh | 24 ++++- t/t0450/adoc-help-mismatches | 1 + t/t3903-stash.sh | 161 +++++++++++++++++++++++++++-- t/t3904-stash-patch.sh | 14 ++- t/t3905-stash-include-untracked.sh | 40 ++++++- 8 files changed, 276 insertions(+), 19 deletions(-) base-commit: 1ee85f0e215f22b0878d0ad4b2445d12bbb63887 -- 2.48.1