git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* bug - git version 2.20.1.windows.1
@ 2019-02-22 13:26 Krzysztof Sobierajczyk
  2019-02-22 14:10 ` Jeff King
  0 siblings, 1 reply; 2+ messages in thread
From: Krzysztof Sobierajczyk @ 2019-02-22 13:26 UTC (permalink / raw)
  To: git

for example, I've created a simple repository. Containing two files
('to rename.txt' and 'to remove.txt'). I wanted to prepare for the
index changing the name of the first file and deleting the second
file. what git shows you looks wrong. Please check the four
instructions

$ git add .
$ git commit -m " first commit"
$ git mv to\ rename.txt new\ name.txt
$ git rm to\ remove.txt





SAMPLE REPOSITORY AND TEST

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        to remove.txt
        to rename.txt

nothing added to commit but untracked files present (use "git add" to track)

ksobierajczyk@KME43 MINGW64 /d/Simple repository (master)
$ git add .

ksobierajczyk@KME43 MINGW64 /d/Simple repository (master)
$ git status
On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

        new file:   to remove.txt
        new file:   to rename.txt


ksobierajczyk@KME43 MINGW64 /d/Simple repository (master)
$ git commit -m " first commit"
[master (root-commit) 46011e3]  first commit
 2 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 to remove.txt
 create mode 100644 to rename.txt

ksobierajczyk@KME43 MINGW64 /d/Simple repository (master)
$ git status
On branch master
nothing to commit, working tree clean

ksobierajczyk@KME43 MINGW64 /d/Simple repository (master)
$ ls -all
total 8
drwxr-xr-x 1 ksobierajczyk 1049089 0 lut 22 13:40  ./
drwxr-xr-x 1 ksobierajczyk 1049089 0 lut 22 13:38  ../
drwxr-xr-x 1 ksobierajczyk 1049089 0 lut 22 13:41  .git/
-rw-r--r-- 1 ksobierajczyk 1049089 0 lut 22 13:38 'to remove.txt'
-rw-r--r-- 1 ksobierajczyk 1049089 0 lut 22 13:40 'to rename.txt'

ksobierajczyk@KME43 MINGW64 /d/Simple repository (master)
$ git mv to\ rename.txt new\ name.txt
                        <--- rename

ksobierajczyk@KME43 MINGW64 /d/Simple repository (master)
$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        renamed:    to rename.txt -> new name.txt
                <--- rename is ok


ksobierajczyk@KME43 MINGW64 /d/Simple repository (master)
$ ls -la
total 8
drwxr-xr-x 1 ksobierajczyk 1049089 0 lut 22 13:42  ./
drwxr-xr-x 1 ksobierajczyk 1049089 0 lut 22 13:38  ../
drwxr-xr-x 1 ksobierajczyk 1049089 0 lut 22 13:42  .git/
-rw-r--r-- 1 ksobierajczyk 1049089 0 lut 22 13:40 'new name.txt'
-rw-r--r-- 1 ksobierajczyk 1049089 0 lut 22 13:38 'to remove.txt'

ksobierajczyk@KME43 MINGW64 /d/Simple repository (master)

$ git rm to\ remove.txt
                                   <---- remove file

ksobierajczyk@KME43 MINGW64 /d/Simple repository (master)
$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        renamed:    to remove.txt -> new name.txt
                     <------------  AND FAIL
        deleted:    to rename.txt


ksobierajczyk@KME43 MINGW64 /d/Simple repository (master)
$ git commit -m"second commit"
[master 30beac5] second commit
 2 files changed, 0 insertions(+), 0 deletions(-)
 rename to remove.txt => new name.txt (100%)
 delete mode 100644 to rename.txt

ksobierajczyk@KME43 MINGW64 /d/Simple repository (master)
$ git status
On branch master
nothing to commit, working tree clean


ksobierajczyk@KME43 MINGW64 /d/Simple repository (master)
$ git show
commit 30beac5b0578d4e4b6e64ea3a3c9a323f14e6277 (HEAD -> master)
Author: Krzysztof Sobierajczyk <sobierajczyk.krzysztof@gmail.com>
Date:   Fri Feb 22 13:45:21 2019 +0100

    second commit

diff --git a/to remove.txt b/new name.txt
    <------- Wrong information
similarity index 100%
rename from to remove.txt
rename to new name.txt
diff --git a/to rename.txt b/to rename.txt
deleted file mode 100644
index e69de29..0000000

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: bug - git version 2.20.1.windows.1
  2019-02-22 13:26 bug - git version 2.20.1.windows.1 Krzysztof Sobierajczyk
@ 2019-02-22 14:10 ` Jeff King
  0 siblings, 0 replies; 2+ messages in thread
From: Jeff King @ 2019-02-22 14:10 UTC (permalink / raw)
  To: Krzysztof Sobierajczyk; +Cc: git

On Fri, Feb 22, 2019 at 02:26:51PM +0100, Krzysztof Sobierajczyk wrote:

> ksobierajczyk@KME43 MINGW64 /d/Simple repository (master)
> $ git status
> On branch master
> Changes to be committed:
>   (use "git reset HEAD <file>..." to unstage)
> 
>         renamed:    to remove.txt -> new name.txt
>                      <------------  AND FAIL
>         deleted:    to rename.txt

Git doesn't store rename information; it infers it when generating a
diff (and the output from git-status here is a diff between HEAD and the
index).

If "to remove" and "to rename" contain identical data, then they are
equally valid candidates, and Git has to pick one. In this case it
picked the one you didn't expect.

-Peff

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-02-22 14:10 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-22 13:26 bug - git version 2.20.1.windows.1 Krzysztof Sobierajczyk
2019-02-22 14:10 ` Jeff King

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).