git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Bug report: Folder and files are deleted by git stash -u

From
Junio C Hamano <gitster@pobox.com>
Date
Feb 5, 2015, 19:15 UTC
Message-ID
<xmqqvbjgkw4i.fsf@gitster.dls.corp.google.com>
In-Reply-To
<CADEaiE8zSptYy9GTi4ZZ2bZptbretW6kDM4srmrSqaYeavfFhg@mail.gmail.com>
Tobias Preuss <tobias.preuss@googlemail.com> writes:
> I noticed some bizarre behaviour when using: git stash -u.
> It deletes folders which contain files configured to be ignored.

The files you mark as ignored are expendable and this is not limited to "stash".

    $ git init
    Initialized empty Git repository in /var/tmp/x/ignore/.git/
    $ echo \*.o >.gitignore
    $ git add .gitignore
    $ git commit -m void
    [master (root-commit) 457b70e] void
     1 file changed, 1 insertion(+)
     create mode 100644 .gitignore
    $ echo a regular file >a
    $ git add a
    $ git commit -m "a regular file"
    [master df839f0] a regular file
     1 file changed, 1 insertion(+)
     create mode 100644 a
We have two regular files, .gitignore and a, on 'master' branch.
    $ git checkout -b side HEAD^
    Switched to a new branch 'side'
    $ mkdir a
    $ >a/file.c
    $ >a/file.o
    $ git add .
    $ git commit -m 'a/file.c'
    [side 3199d63] a/file.c
     1 file changed, 0 insertions(+), 0 deletions(-)
     create mode 100644 a/file.c

We have two regular files, .gitignore and a/file.c, on 'side' branch, which is checked out. The object files that would be created by compiling source files are set to be ignored by .gitignore rule.

Here is what should happen when you go to 'master':
    $ git checkout master
    Switched to branch 'master'
    $ /bin/ls -AF
    a  .git/  .gitignore

That is, a/file.c that is safely stored in 'side' branch is removed, a/file.o that is expendable is deleted, and the empty directory 'a' now can be replaced with the regular file 'a' the 'master' branch wants to have.

Previous: Tobias PreussNext: Junio C Hamano
Message 2 of 3 in “Bug report: Folder and files are deleted by git stash -u”
  1. Tobias PreussFeb 5, 2015
  2. Junio C HamanoFeb 5, 2015
  3. Junio C HamanoFeb 5, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.