Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to stop tracking a file without deleting it on Mercurial

Tags:

mercurial

I saw this thread which discusses a solution for git, and found this thread on the mailing list for Mercurial (the thread is four years old though)

The solution proposed in the mailing list is to use hg rm -Af file (and they leave open the possibility of implementing this behavior as a new, more intuitive option). I'm wondering if that option exists now.

Also, if I try the command above:

> hg rm -Af my_file
> hg st
R my_file

there is an R next to my_file, but the file my_file is technically on disk, and I have told Mercurial to stop tracking it, so why am I getting R next to it?

like image 981
Amelio Vazquez-Reina Avatar asked Sep 07 '25 14:09

Amelio Vazquez-Reina


1 Answers

You can just use hg forget or maybe add the file to your .hgignore file

And to answer the last question about the R in my_file. If you see the help for hg rm --help:

hg remove [OPTION]... FILE...

aliases: rm

remove the specified files on the next commit

Schedule the indicated files for removal from the current branch.

This command schedules the files to be removed at the next commit. To undo
a remove before that, see "hg revert". To undo added files, see "hg
forget".

Returns 0 on success, 1 if any warnings encountered.

options:

-A --after record delete for missing files
-f --force remove (and delete) file even if added or modified
-I --include PATTERN [+] include names matching the given patterns
-X --exclude PATTERN [+] exclude names matching the given patterns

[+] marked option can be specified multiple times

use "hg -v help remove" to show more info

As you can see you are forcing the deletion of that file and that's why you can see the R (Removed)

like image 188
César Avatar answered Sep 10 '25 08:09

César