Subject: [PATCH 0/4] prevent 'checkout -m' from losing staged changes

From: Nguyễn Thái Ngọc Duy <[email-masked]>
Date: Fri, 22 Mar 2019 16:31:34 +0700

During the 'git switch' discusion, Phillip found out that staged changes
could be silently lost when doing 'git checkout -m'. The first attempt
[2] tries to fix it by warning and moving on, because t7201.10 would
fail if we simply die() when there are staged changes.

This round, I update read-tree to be used in that test instead of
'checkout -m'. Then we are able to die().

I start a new thread to keep spam level down for other people, and to
break free from 'git switch' thread because it's unrelated now.

Jonathan is included, just in case he still remembers something from
6a143aa2b2 (checkout -m: attempt merge when deletion of path was
staged, 2014-08-12)

[1] https://public-inbox.org/git/[email-masked]/
[2] https://public-inbox.org/git/[email-masked]/

Nguyễn Thái Ngọc Duy (4):
  unpack-trees: keep gently check inside add_rejected_path
  unpack-trees: rename "gently" flag to "quiet"
  read-tree: add --quiet
  checkout: prevent losing staged changes with --merge

 Documentation/git-read-tree.txt |  4 ++++
 builtin/checkout.c              | 13 +++++++++++--
 builtin/read-tree.c             |  1 +
 t/t7201-co.sh                   |  9 ++-------
 unpack-trees.c                  | 25 +++++++++++--------------
 unpack-trees.h                  |  2 +-
 6 files changed, 30 insertions(+), 24 deletions(-)

-- 
2.21.0.548.gd3c7d92dc2