update Usando o TortoiseSVN através da linha de comando




tortoisesvn update (11)

Eu quero usar opções SVN de linha de comando. Eu uso o TortoiseSVN e executo vários comandos e recebo o seguinte erro.

'svn' não é reconhecido como um comando interno ou externo

Eu usei o comando

svn checkout [-N] [--ignore-externals] [-r rev] URL PATH

Eu acho que deveria adicionar alguma variável de ambiente ou outra coisa.

O que devo fazer ou não posso utilizar o TortoiseSVN a partir da linha de comandos?


O TortoiseSVN tem uma interface de linha de comando que pode ser usada para automação da TortoiseSVN GUI e é diferente da versão normal do Subversion.

Você pode encontrar informações sobre as opções de linha de comando do TortoiseSVN na documentação: Apêndice D. Automatizando o TortoiseSVN . O principal programa para trabalhar aqui é o TortoiseProc.exe .

Mas uma nota praticamente no topo já diz:

Lembre-se que o TortoiseSVN é um cliente GUI, e este guia de automação mostra como fazer com que os diálogos do TortoiseSVN apareçam para coletar a entrada do usuário. Se você quiser escrever um script que não requer entrada, você deve usar o cliente oficial da linha de comando do Subversion.

Outra opção seria instalar os binários do Subversion. O Slik SVN é uma boa compilação (e não requer um registro como o Collabnet). Versões recentes do TortoiseSVN também incluem o cliente de linha de comando se você optar por instalá-lo.


Eu já tinha ferramentas de linha de comando instaladas, mas ainda não consegui corrigir esse erro.

  • Eu reiniciei o Android Studio, mas isso não resolveu meu problema

Então percebi que depois de instalar o SVN eu não tinha reiniciado o PC, e esse era o maior problema.


Por padrão, o TortoiseSVN tem sempre uma GUI (Graphical User Interface) associada a ele. Mas no instalador (da versão 1.7 e posterior) você pode selecionar a opção "ferramentas de linha de comando do cliente" para poder chamar comandos svn (como svn commit e svn update) a partir da linha de comando.

Aqui está uma captura de tela da opção "ferramentas de linha de comando do cliente" no instalador, você precisa se certificar de que você selecioná-lo:


Minha correção para obter comandos SVN era copiar os arquivos .exe e .dll do diretório do TortoiseSVN e colá-los na pasta system32.

Você também pode executar o comando a partir do diretório TortoiseSVN e adicionar o caminho do diretório de trabalho a cada comando. Por exemplo:

C:\Program Files\TortoiseSVN\bin> svn st -v C:\checkout

Adicionando o bin para o caminho deve fazê-lo funcionar sem duplicar os arquivos, mas não funcionou para mim.


Você pode ter as ferramentas de linha de comando do TortoiseSVN e do Subversion do Apache instaladas. Eu costumo instalar as ferramentas Apache SVN do site de download do VisualSVN: https://www.visualsvn.com/downloads/

Uma vez instalado, coloque o Subversion \ bin no seu PATH configurado. Então você poderá usar o TortoiseSVN quando quiser usar a GUI, e você terá as ferramentas de linha de comando apropriadas do SVN para usar a partir da linha de comando.


Para activar o svn execute novamente o programa de instalação do TortoiseSVN, seleccione "Modificar" (Permite aos utilizadores alterar a forma como as funcionalidades estão instaladas) e instale as "ferramentas de linha de comando do cliente".


Como Joey apontou, o TortoiseSVN tem uma sintaxe de linha de comando própria. Infelizmente é muito feio, se você está acostumado com comandos svn , e ignora o diretório de trabalho atual, portanto não é muito utilizável - exceto para scripts.

Eu criei um pequeno programa em Python ( tsvn ) que imita a sintaxe svn linha de comando o mais próximo possível e chama o TortoiseSVN de acordo. Assim, a diferença entre chamar as ferramentas normais da linha de comandos e chamar o TortoiseSVN é reduzida a uma pequena letra t no início.

Meu programa tsvn ainda não está completo, mas já é útil. Pode ser encontrado no cheeseshop ( https://pypi.python.org/pypi/tsvn/ )


Minha solução foi usar o DOSKEY para configurar alguns aliases para os comandos que mais uso:

DOSKEY svc=TortoiseProc.exe /command:commit /path:.
DOSKEY svu=TortoiseProc.exe /command:update /path:.
DOSKEY svl=TortoiseProc.exe /command:log /path:.
DOSKEY svd=TortoiseProc.exe /command:diff /path:$*

Google "doskey persist" para dicas sobre como configurar um arquivo .cmd que é executado toda vez que você abrir o prompt de comando como um arquivo. * Rc no Unix.


Depois de selecionar "ferramentas de linha de comando SVN", ficará assim:


Caso você já tenha instalado a GUI do TortoiseSVN e pensando em como atualizar para ferramentas de linha de comando, aqui estão os passos ...

  1. Vá para o Painel de Controle do Windows → Programa e Recursos (Windows 7+)
  2. Localize o TortoiseSVN e clique nele.
  3. Selecione "Alterar" nas opções disponíveis.
  4. Consulte esta imagem para etapas adicionais.

  5. Após a conclusão das ferramentas de cliente da linha de comando, abra um prompt de comando e digite svn help para verificar a instalação bem-sucedida.


Depois de algum tempo, usei essa solução alternativa ...

(no arquivo .bat)

SET "CHECKOUT=http://yoururl.url";
SET "PATH=your_folder_path"

start "C:\Program Files\TortoiseSVN\bin" svn.exe checkout %CHECKOUT% %PATH%




tortoisesvn