Subject: Re: git stash push -u deletes untracked files

From: Thomas Gummerer <[email-masked]>
Date: Mon, 2 Apr 2018 22:39:48 +0100

On 04/02, Hosam Aly Mahmoud wrote:
> Hi,
> 
> Using Git 2.16.3 on MacOS 10.13.3, running `git stash push
> --include-untracked` deletes the untracked files specified in its
> arguments and creates an empty stash commit.
> 
> In the example below, I create a repository with a single file and a
> single commit. Then I create two untracked files and push one of them
> to the stash. Although I get an error, an empty stash commit is
> generated and the specified file is deleted.

Thanks for your report.  This has been reported first in
https://public-inbox.org/git/[email-masked]/,
and fixed there.  The fix wasn't merged to 'master' yet, but it is in
the 'next' branch.

Now that 2.17 was released, I'd expect this to be merged to 'master'
at some point.  If you'd like to help the fix along, it would be
awesome if you could test the current 'next' branch, and report back
whether or not the fix works for you.

> ```
> $ git init . && touch README && git commit -m "README"
> $ touch my-file my-other-file
> $ git status
> On branch master
> Untracked files:
> my-file
> my-other-file
> 
> nothing added to commit but untracked files present
> $ git stash push -u my-file
> Saved working directory and index state WIP on master: e89afc6 README
> fatal: pathspec 'my-file' did not match any files
> error: unrecognized input
> $ git status
> On branch master
> Untracked files:
> my-other-file
> 
> nothing added to commit but untracked files present
> $ git stash list
> stash@{0}: WIP on master: e89afc6 README
> $ git stash show
> $
> $ ls
> README        my-other-file
> ```
> 
> I tested this using git built from the latest commit on master at the
> time of writing (c2a499e6c31ed613a606ffdeb5bb74ab41e9a586) and got the
> same results. Could you please check it out?
> 
> 
> Thank you,
> 
> Hosam Aly