Hello.

I noticed some bizarre behaviour when using: git stash -u.
It deletes folders which contain files configured to be ignored. I
actually lost files by this which I could not restore.

Here is how you can reproduce the case.

1. Create a project folder to act as the root of the repository. `cd`
into the directory
2. Create a folder `tracked-folder` with a file `tracked-file` in it.
Add some content to the file.
3. Create a folder `untracked-folder` with a file `untracked-file` in
it. Add some content to the file.
4. Create a file `to-be-stashed`, add some content to the file.
5. Create a `.gitignore` file with the following content: `untracked-file`.
6. Initialize the Git repository: `git init .`
7. Add all files to be tracked: `git add . & git commit`
8. List the current content of the repository: `tree`. It should show
the following:

├── to-be-stashed
├── tracked-folder
│   └── tracked-file
└── untracked-folder
    └── untracked-file

9. Run `git stash -u` and inspect the folder again:

.
└── tracked-folder
    └── tracked-file

10. Run `git stash pop` and inspect the folder once again:

.
├── to-be-stashed
└── tracked-folder
    └── tracked-file

There you are - you just lost the whole folder.

Can you please confirm or deny if this is a bug? Thank you.
Best regards, Tobias
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to