Pergunta
Perguntei a alguns colegas de trabalho sobre AnkhSVN e nenhum deles ficou feliz com isso.Um deles chegou a dizer que AnkhSVN bagunçou seu desenvolvimento várias vezes.
Qual é a sua experiência com AnkhSVN?Eu realmente sinto falta de ter uma ferramenta de controle de origem integrada IDE.
Solução
O AnkhSVN mais antigo (pré 2.0) era muito ruim e eu o usava apenas para ícones brilhantes no gerenciador de soluções.Confiei no Tortoise para tudo, exceto reversões.
O Ankh mais recente é uma reescrita completa (agora está usando a API de controle de origem do IDE) e parece e funciona muito melhor.Ainda assim, não o forcei a nenhum trabalho pesado.Ícones são suficientes para mim.
A única reclamação que tenho com o 2.0 é o fato de que ele atinge sua pegada .sln arquivos.Eu sempre os reverto para que não causem problemas aos colegas de trabalho que não possuem o Ankh instalado.Não sei se meus medos são infundados ou não.
termo aditivo:
Tenho usado a v2.1.7141 um pouco mais extensivamente nas últimas semanas e aqui estão as novidades que devo adicionar:
- Nenhuma falha feia que afetou a v1.x.Yay!
- Por alguma razão, as janelas "Mostrar alterações" (diff) estão limitadas a apenas duas.Ah, sim.
- As janelas de comparação ainda não permitem edição/reversão.Vaia!
- Atualizações, commits e navegação são MUITO mais rápidos que o Tortoise.Yay!
Resumindo, eu não o usaria sozinho, mas assim que você começar a usá-lo, ele se tornará um companheiro quase indispensável do Tortoise.
Outras dicas
Sempre tive problemas de estabilidade com o AnkhSVN.Eu não poderia mudar todos para o Subversion onde trabalho sem uma solução integrada.
Graças a Deus por VisualSVN + TortoiseSVN.
VisualSVN não é gratuito, mas é barato e funciona muito bem.
@pilif:AnkhSVN mantém um estado na memória da cópia de trabalho, que é invalidado/atualizado por eventos do Visual Studio (ou seja, você edita/altera um arquivo) e eventos AnkhSVN (ou seja, você confirma/atualiza/reverte/etc)
Sempre que a cópia de trabalho for alterada fora do Visual Studio (editando com outra ferramenta ou usando outro cliente Subversion), você terá que atualizar o AnkhSvn usando o comando Atualizar que fornecemos.
A outra coisa que acontece quando você apaga um arquivo em um projeto com o TortoiseSvn, por exemplo, é que ele permanece listado no arquivo do projeto, e você terá que removê-lo lá separadamente (e depois enviar o arquivo do projeto também).
Eu tentei a versão 1 e não era confiável, para dizer o mínimo.Não posso dizer nada sobre 2.0.
Se você puder pagar, aquele que eu uso, VisualSVN, é muito bom e usa o TortoiseSVN em toda a sua interface, exceto nas coisas especializadas relacionadas à integração do VS.
Copiar/colar partes do meu própria postagem do blog, quando mudei de Ankh para VisualSVN:
Por que eu mudei?Porque fiquei um pouco insatisfeito com a estabilidade geral do Ankh, já que ele tem alguns problemas para rastrear as alterações da solução.VisualSVN é “apenas” um Frontend TortoiseSVN, o que significa que deixa todo o “trabalho pesado” para uma ferramenta de terceiros que a) está instalada na maioria das estações de trabalho de qualquer maneira e b) que foi testada e usada por um público tão amplo, é realmente Rocha sólida.
Agora, o AnkhSVN certamente não é um produto ruim, e as pessoas por trás dele levam a sério o que estão fazendo, mas ter arquivos excluídos há muito tempo ainda no meu SVN ou receber a mensagem “Por favor, limpe sua solução” fica irritante depois de algum tempo, mas minha maior reclamação é a janela da propriedade.É bom que haja uma bela janela com botões de opção perguntando qual propriedade eu quero adicionar.Infelizmente, não há como inserir uma propriedade manualmente.
Editar: Isso foi para o AnkhSVN 1.x.Nesse ínterim, ele foi atualizado para 2.xe muito melhorou.Eu o uso em produção em um sistema onde não tenho VisualSVN e funciona extremamente bem agora.
Não tive problemas com a v1, mas fui avisado para não usá-la.Estou usando a v2 há algum tempo e não tive problemas com ela.Eu ainda mantenho um backup do repositório ...
Comecei com AnkhSvn e depois mudei para VisualSvn.Tenho minhas próprias queixas com o VisualSvn, mas é muito menos problemático em comparação com o Ankh.Ainda estou para experimentar a nova versão do Ankh, que eles dizem ser uma reescrita completa e também recebi contribuições da equipe de desenvolvimento da Microsoft.
Tenho usado a versão mais recente do Ankh SVN e do Tortoise em um projeto em casa.Acho que ambos são muito bons, com uma ressalva.
Descobri que ambas as ferramentas SVN às vezes não conseguem acompanhar a renomeação e movimentação de meus arquivos/pastas, resultando em pensar que um arquivo perfeitamente bom precisa ser excluído no próximo commit.Provavelmente isso se deve ao uso indevido do SVN de alguma forma, mas o TFS no trabalho não tem esse problema.
Eu tentei o AnkhSVN (1.0.3, há apenas 4 meses) e não funcionou do jeito que eu queria (ou seja,necessário para selecionar itens na janela do navegador em vez de com base no arquivo ativo).Acabei fazendo algumas macros que utilizam o TortoiseSVN que funcionam muito mais como eu esperava.
Fiquei muito feliz em usar o TortoiseSVN via explorer e minhas macros dentro do IDE.
Anteriormente (como há 2 anos, quando tentei pela última vez), AnkhSVN e Tortoise usados em paralelo com a mesma cópia de trabalho causaram algum tipo de corrupção na cópia de trabalho, onde Ankh e Tortoise de alguma forma perderam o controle do estado em que a outra ferramenta deixou a cópia de trabalho.
Era como se uma das ferramentas armazenasse metadados adicionais não contidos na cópia de trabalho e dependesse de que isso estivesse correto.
Os problemas se manifestaram por Ankh (ou Tortoise) insistindo em arquivos que não estavam lá, em arquivos sendo alterados que não estavam e em arquivos não sendo alterados que estavam (e, portanto, incapazes de serem confirmados).
Talvez isso tenha sido corrigido desde então, mas achei melhor avisar vocês.
Cerca de um ano atrás, eu e um amigo usamos o AnkhSVN para um projeto...vários commits depois, enquanto movia namespaces, ele quebrou o repositório SVN.Quebrado, o último commit que fizemos foi corrompido e não pudemos mais cometer.
Depois disso usamos TortoiseSVN e movi o namespace manualmente, apenas ... trabalhado.Se você está trabalhando apenas em bibliotecas de classes base, você pode tentar usar SharpDevelop em vez disso (que se integra com o TortoiseSVN).
Espero que eles tenham corrigido o AnkhSVN agora, porque as integrações IDE sempre são demais...quando eles trabalham.
@mcintyre321
Descobri que ambas as ferramentas SVN às vezes não conseguem acompanhar a renomeação e movimentação de meus arquivos/pastas, resultando em pensar que um arquivo perfeitamente bom precisa ser excluído no próximo commit.
Uma operação de mover ou renomear resulta em uma exclusão e 'adicionamento com histórico' no nível do Subversion.
TortoiseSvn mostra isso como:
originalFile deleted
newFile added (+)