Mercurial - determine where file was removed?
Solution 1
You can check which revision deleted a file (any many other interesting features) using revsets:
hg log -r 'removes(<myfile>)'
Some examples:
hg log -r 'removes(build.xml)'
// where build.xml used to be in the current directory
hg log -r 'removes("**/build.xml")'
// where build.xml may have been in sub directories
See hg help revsets
for details.
Solution 2
The --removed
flag should get you what you are looking for:
hg log myfile -v --removed
From the help for hg log
:
--removed include revisions where files were removed
Solution 3
This is what I use to list all the deleted files in my repository:
hg log --template "{rev}: {file_dels}\n" | grep -v ':\s*$'
![Marcus Leon](https://i.stack.imgur.com/Xk75m.jpg?s=256&g=1)
Marcus Leon
Director Clearing Technology, Intercontinental Exchange. Develop the clearing systems that power ICE/NYSE's derivatives markets.
Updated on June 06, 2022Comments
-
Marcus Leon about 2 years
If you do
hg log myfile -v
you see a list of changesets that the file was modified in.In our case, in the most recent changeset, the file was removed. But you can't tell this by looking at the verbose (-v) output of hg log. Is there an easy Mercurial command you can use to determine if and when a file has been removed from the repo?
Update: Note that this is on a Windows client, and we are using Mercurial v 1.4.3
Update 2: Appears the answers below would work with a more recent version of Mercurial, however an upgrade isn't in the cards right now. Any other ideas for v 1.4.3 ???