问题
When committing changes to Mercurial, it can auto-detect move/copy/renames by using the command
hg addremove -similarity 100
The number after similarity indicates how similar two files need to be from 0-100% for mercurial to decide its a move, copy or rename instead of just a new file.
This is a great feature. Can TortoiseHg do this?
回答1:
Yes it can. If you take a look at the TortoiseHg manual you'll find section 4.12 entitled "Rename Guessing". To quote:
- Select one or more Unrevisioned Files
- Slide the similarity bar (Minimum Similarity Percentage) to the percentage match you want
- Press either Find Renames or Find Copies
- Select candidate matches and accept good matches
- Repeat until all unversioned files are matched
The nice thing is step 5: you can actually toggle the similarity as you go, and Tortoise changes what files are considered renames on the fly. You can get most of what you want by sliding the bar carefully to the right percentage and re-checking.
回答2:
setting «-s 100» defaults for addremove is awesome idea; but hgrc.5 says that [defaults] is deprecated, so I'm using these:
[alias]
addremove = addremove --similarity 100
adrs = addremove --similarity 0.01
The latter is very useful for keeping track of binary data (such as cad files or drawings) that is uncompressed and distinctly segmented/layered.
回答3:
I have my global settings (mercurial.ini) file configured with:
[defaults]
addremove = --similarity 100
If you ask me, this should be on by default.
来源:https://stackoverflow.com/questions/1295735/tortoisehg-copy-similarity-feature