Controles de versão que uso

Há algum tempo atrás, o navegador Firefox mudou (em inglês) do Mercurial para o git. Existe até um post engraçadinho (em inglês) sobre quando mudaram do CVS para o Mercurial.

Acho que esta é uma oportunidade para eu falar dos sistemas de controle de versão que eu uso.

Git

O próprio famoso. Comecei a aprender ainda em 2013. Achei maravilhoso, e pouco depois, incentivei os colegas da equipe de robótica a usarem na parte de programação. O único que usei em equipe.

Acho muito doido o quanto os usuários de git o veem de formas bastante diferentes.

Site (em inglês)

Fóssil

Nem lembro como cheguei a conhecê-lo. Provavelmente lendo sobre SQLite, já que foi feito nele e para ele.

Inclui ferramentas de registrar bugs, e está tudo incluído em um só arquivo, o que é conveniente para mandar de um lado para o outro (o git bundle também faz isso de forma mais complicada).

Mas a principal coisa que me influenciou foi que o histórico é praticamente imutável. Anteriormente eu vinha de “um repositório de código é uma descrição bonitinha da história”, mas só faz perder tempo, não agrega valor, e não aceita que errare humanum est.

Raramente uso, mas mudou minha visão de mundo.

Site (em inglês)

Mercurial

Resolve os mesmos problemas do git. Inclusive acho os comandos mais fáceis de entender, mesmo não conhecendo o que se passa por trás (como conheço do git). Só sei que clonar no mesmo sistema de arquivos cria links físicos.

Clonar localmente inclusive é um dos jeitos de ramificar linhas de pensamento, mesmo sem dar nome aos ramos.

Possui o conceito de consolidações (commits) publicadas ou rascunhos. Edições do histórico geralmente só funcionam no rascunho, o que acho um bom equilíbrio.

Este blog (e rascunhos) está no Mercurial.

Site (em inglês)

RCS

Antigo e problemático para qualquer repositório de software moderno. Mas às vezes eu só queria guardar versões de um único arquivo, independente das versões de seus vizinhos. As outras ferramentas parecem um canhão para matar um mosquito, neste caso.

Uso bastante para arquivos assim.

Site (em inglês)

Cópia Extra

Tem horas que eu quero só uma cópia extra pra reverter se eu fizer alguma coisa que não gosto. Não preciso do histórico, não preciso de ramos. Eu já vi gente usar git assim.

Comecei este blog com cópia para mexer e cópia extra. Só mudei quando tive ideias em paralelo e que precisaria guardar os rascunhos.

Site? (em inglês)