Skip to content
- Git doesn’t track renames at all, but uses heuristic to re-discover them during merge etc.
- Mercurial tracks renames (the origin version and origin file is recorded) and uses that information during merges. So you have to explicitly tell hg about renames with
hg mv
, or use hg addremove --similarity
for auto-discovery. There has been some talk about adding heuristics during merge too.
- Svn tracks renames, but I don’t know how good it deals with them during merges (never actually tested that).