From: Phillip Wood <phillip.wood@xxxxxxxxxxxxx> These two patches teach read-tree how to avoid overwriting untracked files when doing '--reset -u' and also how to respect all of git's standard excludes files. I'd like to see the porcelain commands stop overwriting untracked files, this is a first step on the way. I'm not sure if we want to add options to the porcelain commands to protect untracked files or just change their behavior and add an option to override that. I'm leaning towards the latter but I'd be interested to hear what others think. Phillip Wood (2): read-tree --reset: add --protect-untracked read-tree: add --exclude-standard Documentation/git-read-tree.txt | 19 ++++++++-- builtin/am.c | 8 +++-- builtin/checkout.c | 2 +- builtin/read-tree.c | 61 +++++++++++++++++++++++++++++-- builtin/rebase.c | 2 +- builtin/reset.c | 2 +- builtin/stash.c | 7 ++-- t/lib-read-tree.sh | 11 ++++++ t/t1005-read-tree-reset.sh | 63 +++++++++++++++++++++++++++++++-- t/t1013-read-tree-submodule.sh | 3 +- unpack-trees.c | 3 +- unpack-trees.h | 10 ++++-- 12 files changed, 170 insertions(+), 21 deletions(-) -- 2.21.0