Situation
$ cat .hgignore
.hgignore
$ hg status
M file1
M file2
M src/project.xml
I don't want to track the project.xml
so I run
echo "project.xml" >> .hgignore
and the result is
$ cat .hgignore
.hgignore
project.xml
$ hg status
M .hgignore
M file1
M file2
M src/project.xml
So the .hgignore
is now as modified even though it shouldn't be tracked and nothing happend with the project.xml
. What does this mean?
You wrote:
"M src/project.xml"
which means that src/project.xml
is under version control.
A file already under version control cannot be ignored! The
.hgignore
file is for ignoring files that are untracked (status
will show a "?").
You have two solutions to ignore your file:
hg forget
" the file, the opposite of "hg add
" (i.e.,
telling Mercurial not to track this file anymore), orYou can use the ”-X
” option as a default for status/diff/commit
in your .hg/hgrc
configuration file, e.g.,
[defaults]
status = -X <file>
diff = -X <file>
commit = -X <file>
which will tell hg not to include this file in the use of status, diff, and commit.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With