Subject: git-mv ignores gitignore file

From: Zheng Lv <[email-masked]>
Date: Tue, 16 Feb 2016 16:35:16 +0800

gitignore(5) manual says that

> A gitignore file specifies intentionally untracked files that Git 
> should ignore. Files already tracked by Git are not affected ...

> The purpose of gitignore files is to ensure that certain files not 
> tracked by Git remain untracked.

which means that the following operations are totally correct.

$ echo "b" >> .gitignore
$ echo "Something" > a
$ git add a
$ git mv a b

Equivalantly,

$ echo "b" >> .gitignore
$ echo "Something" > b
$ git add --force b

That is, doing something --force when --force it is not specified.

However, this may not be the intented behavior. The user might not want
to equivalantly add a `new' file b to the index when b should be
gitignored. Such operations are possibly oversight of users.

The ideal behavior, issue a warning when git-mv target collides with
gitignore.

Thanks.