• Jonathon Mah's avatar
    stash: Don't fail if work dir contains file named 'HEAD' · 44df2e29
    Jonathon Mah authored
    When performing a plain "git stash" (without --patch), git-diff would fail
    with "fatal: ambiguous argument 'HEAD': both revision and filename". The
    output was piped into git-update-index, masking the failed exit status.
    The output is now sent to a temporary file (which is cleaned up by
    existing code), and the exit status is checked. The "HEAD" arg to the
    git-diff invocation has been disambiguated too, of course.
    
    In patch mode, "git stash -p" would fail harmlessly, leaving the working
    dir untouched. Interactive adding is fine, but the resulting tree was
    diffed with an ambiguous 'HEAD' argument.
    
    Use >foo (no space) when redirecting output.
    
    In t3904, checks and operations on each file are in the order they'll
    appear when interactively staging.
    
    In t3905, fix a bug in "stash save --include-untracked -q is quiet": The
    redirected stdout file was considered untracked, and so was removed from
    the working directory. Use test path helper functions where appropriate.
    Signed-off-by: default avatarJonathon Mah <[email protected]>
    Acked-by: default avatarThomas Rast <[email protected]>
    Signed-off-by: default avatarJunio C Hamano <[email protected]>
    44df2e29
git-stash.sh 12.6 KB