Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

TortoiseHg Copy Similarity feature

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?

like image 623
Michael La Voie Avatar asked Aug 18 '09 18:08

Michael La Voie


2 Answers

Yes it can. If you take a look at the TortoiseHg manual you'll find section 4.12 entitled "Rename Guessing". To quote:

  1. Select one or more Unrevisioned Files
  2. Slide the similarity bar (Minimum Similarity Percentage) to the percentage match you want
  3. Press either Find Renames or Find Copies
  4. Select candidate matches and accept good matches
  5. 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.

like image 63
quark Avatar answered Oct 05 '22 09:10

quark


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.

like image 30
d.Candela Avatar answered Oct 05 '22 09:10

d.Candela