Mercurial - determine where file was removed?
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 wou开发者_如何学编程ld 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 ???
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.
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
This is what I use to list all the deleted files in my repository:
hg log --template "{rev}: {file_dels}\n" | grep -v ':\s*$'
精彩评论