Pergunta

Pode parecer estúpido, mas às vezes eu me deparo com conflitos de versão entre duas versões de subversão. Eu montar um diretório em um servidor de desenvolvimento com sshfs e, em seguida, editar o código com o meu Vim local. Para coisas subversão como atualização, comprometendo etc. I ssh no servidor e fazê-lo lá. No entanto, às vezes eu misturar minhas conchas e acidentalmente fazer uma atualização ou cometer no meu shell local no diretório montado. saídas do Subversion com um erro, o que é bom. No entanto, quando tento fazer a mesma coisa no servidor de desenvolvimento na minha sessão ssh, subversão diz que o diretório de trabalho / subversion tem uma versão errada. A versão subversão no servidor é mais antiga do que a versão no meu notebook, então eu acho que o meu (mais recente) versão de algum modo atualiza os diretórios de trabalho para que eles são incompatíveis com a versão antiga no servidor de desenvolvimento. excluindo, por vezes, os arquivos .svn / bloqueio ajuda, mas só se eu fazê-lo logo depois que executou o comando subversão no meu notebook. Quando eu executar o comando no servidor de desenvolvimento depois, os arquivos de bloqueio desaparecer e não vejo uma maneira de resgatar o checkout. Isso não seria tão ruim se o repositório não era tão grande. Especialmente quando eu fiz muitas mudanças e não pode cometê-los.

A única solução que vejo no momento é para copiar os arquivos que mudaram em algum lugar, remover o check-out, fazer uma nova verificação completa e copiar os arquivos de volta.

Existe uma solução melhor para resgatar um check-out quebrado e / ou as minhas alterações?

Atualizar O FAQ Mikael Sundberg conexa continha a resposta. Eu escrevo isto aqui, porque ele não explictictly mencioná-lo. Há um script que pode rebaixar repositórios atualizados, quando é seguro:

http : //svn.apache.org/repos/asf/subversion/trunk/tools/client-side/change-svn-wc-format.py

Foi útil?

Outras dicas

Eu não tenho certeza se eu entendi corretamente o seu problema, mas aqui estão algumas dicas:

Primeiro uma dica? - fez você tentar SVN Limpo comando

O próximo é provavelmente inútil para você :), mas muitas pessoas costumava usar CVS não percebem que SVN tem a característica assim, então eu anotá-la.

Se você usa o Windows e Tortoise SVN você pode escolher Mostrar Log comando do menu de contexto (botão direito do mouse). Quando a lista de check-ins aparecem escolher o último bom um e escolher comandos de menu de contexto Reverter para esta revisão .

Em outro caso (não o Windows nem Tortoise SVN), investigar para a versão de linha de comando dos comandos descritos acima.

Próxima dica pode ajudá-lo a evitar a mistura de suas conchas.

Você escreveu que você use shell SSH - para evitar problemas com sessões de shell de mistura Eu uso sempre cor diferente do fundo para cada servidor (e conta), que log-in I (ou seja branco sobre preto para o desenvolvimento, no amarelo marinha no servidor de teste e amarelo em verde no servidor de produção).

Isso poupa-me muitas vezes:.)

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