Merge automatico do sistema de versões é confiável?

Olá,

Vocês confiam no merge automatico do sistema de versões que vocês usam?
Em equipes menores é fácil de resolver algum problema que talvez ocorra, mas e em equipes grandes?

Fazer o merge sem da uma confirida, impossível, para não dizer suicídio.

Conferida == Testes, mesmo que sejam pequenos testes locais.

Só em arquivos properties, geralmente de i18n. Caso contrário não confio.

[size=24][color=red]NUUUUUUUUUUNNNNNNCAAAAAAAAAAAAA[/color][/size]

Em nada, nem arquivo binário, imagine arquivos de texto com código.

Realmente é totalmente inviável fazer uma coisa dessas.

[quote=Maurício Linhares]Em nada, nem arquivo binário, imagine arquivos de texto com código.[/quote]Pq?
Se fosse tão ruim assim, essa função nem existiria e todos os VCSs só teriam checkout exclusivo.

[quote=MarcioTavares]Pq?
Se fosse tão ruim assim, essa função nem existiria e todos os VCSs só teriam checkout exclusivo.
[/quote]

Se ele está perguntando a você se pode fazer é porque o conflito é grande o suficiente pra que ele não saba como proceder e se ele não sabe como proceder, é melhor que alguém dê uma olhada lá pra ter certeza de que está tudo normal.

Eu, pessoalmente, acho que necessidades constantes de merge são resultado de algum problema de comunicação na equipe ou então demora pra se fazer commits no projeto.

Operações de merge devem ser infrequentes o suficiente para que parar por alguns momentos pra discutir e avaliar elas não sejam problema o suficiente pra aceitar o “auto-merge” da ferramenta de VCS.

[quote=“microfilo”]Vocês confiam no merge automatico do sistema de versões que vocês usam?
Em equipes menores é fácil de resolver algum problema que talvez ocorra, mas e em equipes grandes?[/quote][quote=“Maurício Linhares”]Se ele está perguntando a você se pode fazer é porque o conflito é grande o suficiente pra que ele não saba como proceder e se ele não sabe como proceder, é melhor que alguém dê uma olhada lá pra ter certeza de que está tudo normal.[/quote]Bom, pelo menos até agora ele não perguntou se pode fazer ou não. Ele só pediu a opinião do pessoal sobre uma característica de um produto que todo mundo estranha alguma vez na vida, principalmente quando começa a usar uma ferramenta de controle de versão.

[quote=“Maurício Linhares”]Eu, pessoalmente, acho que necessidades constantes de merge são resultado de algum problema de comunicação na equipe ou então demora pra se fazer commits no projeto.[/quote]Concordo.

[quote=MarcioTavares]Bom, pelo menos até agora ele não perguntou se pode fazer ou não. Ele só pediu a opinião do pessoal sobre uma característica de um produto que todo mundo estranha alguma vez na vida, principalmente quando começa a usar uma ferramenta de controle de versão.
[/quote]

O ele que eu me referi foi o VCS, não o Rubem :lol:

Se o VCS não sabe como resolver, é melhor dexar que alguém o faça não é :wink:

Ok então. Corrigindo:

[quote=“Maurício Linhares”]Se ele está perguntando a você se pode fazer é porque o conflito é grande o suficiente pra que ele não saiba como proceder e se ele não sabe como proceder, é melhor que alguém dê uma olhada lá pra ter certeza de que está tudo normal.[/quote]Nem sempre o conflito é grande. Às vezes (teoricamente na maioria das vezes) os conflitos são de apenas algumas linhas, mas que pelo conflito impedem a máquina de corrigir, necessitando que alguém o faça. By the way, essa não é uma das características fundamentais do merge? Fazer com que alguém olhe para ter certeza? Acho que não há nada errado com esse comportamento, pra que nunca precise ser usado.

[quote=Maurício Linhares]

Eu, pessoalmente, acho que necessidades constantes de merge são resultado de algum problema de comunicação na equipe ou então demora pra se fazer commits no projeto.

Operações de merge devem ser infrequentes o suficiente para que parar por alguns momentos pra discutir e avaliar elas não sejam problema o suficiente pra aceitar o “auto-merge” da ferramenta de VCS.[/quote]


Bom, tem muita gente mexendo em diversos lugares fazendo diversas coisas (implementar caso de uso novo, corrigir defeito, melhorias, etc), num modulo que se integra com todos os outros módulos do sistemas :stuck_out_tongue:
Não da para controlar isso :slight_smile:

Então é provável que seja mesmo um problema de comunicação.

Eu não acho que seja normal várias pessoas estarem mexendo sempre no mesmo código ao mesmo tempo, mesmo que seja um ponto de integração.


O que você sugere, que cada vez que eu vou mexer numa classe eu avise todo mundo?
Ia ser centenas de e-mails diários se todo mundo fizesse isso…

[quote=“microfilo”]tem muita gente mexendo em diversos lugares fazendo diversas coisas (implementar caso de uso novo, corrigir defeito, melhorias, etc), num modulo que se integra com todos os outros módulos do sistemas[/quote]Na empresa que eu estou agora está acontecendo a mesma coisa e estamos usando o ClearCase em modo ckeckout exclusivo.
São por volta de 25 desenvolvedores, mas até hoje eu não vi nenhum problema, pois a divisão de tarefas é muito clara, mesmo tendo um módulo comum a todos os outros.