I have only a few days of experience with Git and Mercurial, and I have little programming experience.
In the last few days, I read a lot of posts comparing them. Based on the read and my tests, I draw the following conclusions:
Git renaming is 100% automatic, but not 100% accurate. It uses an algorithm to guess renames. End users cannot change their decision, even if it is completely wrong.
I believe that the Git method may be fine in 99% of cases, but 1% will cause headaches. This makes me embarrassed to reorganize my code (while changing the name and contents of the class), since I risk losing my file history if there is too much refactoring.
Mercurial can be 100% automatic and 100% accurate, if I always rename / move my things in Visual Studio and install VisualHG, VisualHG should accurately and automatically track the movement and renaming (VisualHG currently has an error - File is not renamed when I moving it between projects ). End users can change this decision if it makes mistakes.
If I don’t have Visual Studio, I can still use TortoiseHg "Copy / rename detection", I can set the similarity percentage, ask Mercurial to automatically detect renames. If he is mistaken, I have the opportunity to correct him.
Are my findings right or wrong?
Link:
Git and Mercurial - Compare and Contrast
user593358
source share