Pergunta

Eu tenho um projeto VS 2008 sob controle de origem TortoiseSVN. Eu sou a única pessoa a usá-lo no presente.

Eu estava tentando cometer minhas últimas alterações quando recebi a mensagem "abc arquivo está desatualizado - atualização, por favor". Quando eu tento atualizar o projeto, eu recebo todo um conjunto de conflitos de arquivo (binários e texto). Desde que eu estou confiante de minha cópia de trabalho contém a versão correta dos arquivos, eu tento resolver os conflitos, selecionando "mina", como a versão correta. Eu também tentei apenas marcando cada conflito de arquivo como resolvido. Sou então capaz de cometer.

No entanto, após este projecto minha VS 2008 se recusa a compilar e dá centenas de erros (tantos erros que o VS 2008 relata que há demasiados erros para show!). Algo sobre resolução de conflitos do TortoiseSVN completamente estraga o projeto, e ele se recusa a construir.

Qualquer maneira que eu posso forçar TortoiseSVN para apenas salvar a minha cópia de trabalho para o repositório como a última revisão, sem verificar se existem conflitos?

Foi útil?

Solução

Eu espero que você tenha feito um backup de sua cópia de trabalho antes de atualizar, porque então é mais provável que os conflitos têm levado a uma pilha enorme dos comentários >>>>>> theirs e <<<<<<< mine em seus arquivos de origem.

Enquanto eu não entendo como os conflitos poderia acontecer, em primeiro lugar (desde que você é o único que se comprometer com o repositório), há uma correção possível.

Mova o atual, "trabalhando" cópia de trabalho para um local seguro. Confira o projeto completamente novo. Copie os arquivos de origem sobre a nova cópia de trabalho e, em seguida, confirmar as alterações resultantes.

Quando sua árvore fonte consiste em vários diretórios, pode ser entediante para copiar cada diretório individualmente. Para superar isso, você pode exportar o seu seguro "trabalhando" cópia de trabalho usando TortoiseSVN -> Exportar tudo. Isso cria um diretório sem todos os arquivos .svn e diretórios. Você pode então copiar este diretório exportado sobre a nova cópia de trabalho.

Outras dicas

Eu descobri que os arquivos de projeto do Visual Studio são bastante propensas a problemas de fusão automatizadas. O problema é que o formato dos arquivos é tão repetitivo, o utilitário de fusão tem um tempo muito difícil determinar se uma mudança é uma adição ou uma modificação. Além disso, algumas ações parecem causar Visual Studio para entires Reorganizar no arquivo de projeto. Mais uma vez, essas mudanças são relativamente difíceis para o utilitário de mesclagem para lidar corretamente.

Eu confio em uma das duas opções para corrigir isso. Primeiro, você pode abrir o arquivo de projeto no bloco de notas e corrigi-lo com a mão. Eles não são tão complexo e você pode geralmente basta seguir o padrão e ter certeza que nada está fora de lugar.

A segunda abordagem seria para reverter o arquivo de projeto e, em seguida, adicionar e remover arquivos e fazer outras alterações, conforme necessário no Visual Studio.

Se commits são feitas cedo e muitas vezes, nenhuma destas tarefas é muito complexo. Se bombas estão sendo lançadas sobre o repositório, bem, esta é uma das muitas razões pelas quais cometer cedo e muitas vezes é uma boa idéia. =)

Visual Studio e TortoiseSVN não jogar bonito juntos. Uma coisa que eu notei é que você não pode com sucesso versão nada em uma pasta de compilação, porque VS pensa que "possui" os diretórios construir, e é provável que excluir a pasta .svn (isso é apenas para compilações envolvendo uma limpa? )

Você pode olhar para um cliente Subversion que se integra ao Visual Studio. AnkhSVN vem à mente, mas um ponto de partida bom para pesquisar isso seria http: //sharpsvn.open.collab. net / . Alternativamente, você pode considerar o uso sharpsvn diretamente de uma tarefa de compilação pré ou pós, ou talvez uma macro no Visual Studio.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top