![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiv-DVDlAsKDTq4uSCE9tLsy8t3gMY5yk8wDg7P_uzSHwfzloL0I8pcnPEk9m2KUaehl9kqhdHfcn85TZ5BodX-5-mbP6EmZMESmL938dHlIKtRGCa9gPWyJCHnWyLfgm__CfdkqOCVWw/s400/mercurial.png)
O mercurial é realmente ótimo. Como desenvolvemos para windows, estamos usando o TortoiseHG para como interface do Mercurial. Segue um screenshot de uma das telas do TortoiseHG.
Explicando melhor, cada bolinha é um commit. Todas as sequencias são locais, as uniões entre os caminhos marcam os pontos em que os fontes foram unidos e equalizados, apontando quem fez as uniões e quais foram os arquivos unidos. Uma coisa muito interessante é a representação do ponto em comum. No exemplo da imagem, houve um ponto em comun onde duas pessoas começaram desenvolvimentos diferentes e como tudo foi unido um pouco mas adiante.
Não consigo ver uma maneira mais fácil de rastrear as mudançãs que essa. Depois de alguns anos trabalhando e administrando repositórios CVSs e apanhar de suas limitações e dificuldades de traking de informações, branching work e etc, acho que estou usando uma das melhores ferramentas para controle de versão, o Mercurial (HG).