devshell: stash only unstaged changes in pre-commit hook
This commit is contained in:
parent
b594c1bc9e
commit
9b5abf76ea
|
@ -8,8 +8,14 @@ else
|
|||
fi
|
||||
|
||||
# Stash only unstaged changes, keeping staged changes
|
||||
# We have to stash two times, because:
|
||||
# --keep-index also stashes the staged changes.
|
||||
# The staged changes end up in both the stage AND the stash.
|
||||
# https://overflow.hostux.net/questions/7650797/how-to-stash-only-unstaged-changes-in-git#60875082
|
||||
old_stash=$(git rev-parse --quiet --verify refs/stash)
|
||||
git stash push --quiet --keep-index -m 'Unstaged changes before pre-commit hook'
|
||||
git stash push --quiet --staged --message "Staged changes before pre-commit hook"
|
||||
git stash push --quiet --keep-index --message "Unstaged changes before pre-commit hook"
|
||||
git stash pop --quiet --index "stash@{1}"
|
||||
new_stash=$(git rev-parse --quiet --verify refs/stash)
|
||||
|
||||
diff="git diff-index --name-only --cached $against --diff-filter d"
|
||||
|
|
Loading…
Reference in a new issue