Como fazer checkout de uma revisão específica do Subversion na linha de comando?

364

Quero fazer check-out de uma revisão específica de uma pasta no Subversion usando a linha de comando.

Não vejo uma opção para especificar o número da revisão em TortoiseProc.exe,

TortoiseProc.exe /command:checkout <url>

Como obtenho a revisão que desejo? É TortoiseProc.exea ferramenta certa para o que eu quero fazer?

Ciro Santilli adicionou uma nova foto
fonte

Respostas:

469

Se você já fez o check-out localmente, pode cdfazer o check-out do local e usar esta sintaxe:

$ svn up -rXXXX

ref: Confira uma revisão específica do subversion na linha de comando

rogerdpack
fonte
Por alguma razão, isso não faz nada para mim. Ainda na revisão antiga.
IgorGanapolsky
2
@IgorGanapolsky Você modificou localmente o arquivo que está tentando atualizar?
Como você redefine o disco rígido? (Ignorando conflitos?)
Dilip Raj Baral
313

Ou

svn checkout url://repository/path@1234

ou

svn checkout -r 1234 url://repository/path
pix0r
fonte
3
Eu tive que remover o espaço depois de -r, para que "-r1234" funcionasse para mim.
Elijah Lofgren 10/10
257

Alguma razão para usar o TortoiseProc em vez de apenas a linha de comando svn normal?

Eu usaria:

svn checkout svn://somepath@1234 working-directory

(para obter a revisão 1234)

Jon Skeet
fonte
36

Você nunca deve usar o TortoiseProc.exe como um cliente Subversion de linha de comando! O TortoiseProc deve ser utilizado apenas para automatizar a GUI do TortoiseSVN. Veja a nota no manual do TortoiseSVN :

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

Use o cliente svn.exe da linha de comando do Subversion . Com o cliente de linha de comando, você pode

Você pode perceber que com svn checkoute svn exportpode inserir o número REV como --revision REVargumento e como @REVURL posterior. O primeiro é chamado de revisão operativa e o segundo é chamado de revisão de pinos. Leia o SVNBook para obter mais informações sobre o conceito de peg e revisões operacionais .

bahrep
fonte
8

svn checkout para revisão onde seu repositório está em outro servidor

Use o svn logcomando para descobrir quais revisões estão disponíveis:

svn log

Que imprime:

------------------------------------------------------------------------
r762 | machines | 2012-12-02 13:00:16 -0500 (Sun, 02 Dec 2012) | 2 lines

------------------------------------------------------------------------
r761 | machines | 2012-12-02 12:59:40 -0500 (Sun, 02 Dec 2012) | 2 lines

Anote o número r761. Aqui está a descrição do comando:

svn export http://url-to-your-file@761 /tmp/filename

Eu usei este comando especificamente:

svn export svn+ssh://[email protected]/home1/oct/calc/calcFeatures.m@761 calcFeatures.m

O que faz com que a revisão 761 do calcFeatures.m seja transferida para o diretório atual.

Eric Leschinski
fonte
6

Eu acredito que a sintaxe para isso é /rev:<revisionNumber>

A documentação para isso pode ser encontrada aqui

Stuart Thompson
fonte
3

Você poderia tentar

TortoiseProc.exe /command:checkout /rev:1234

para obter a revisão 1234.

Não tenho 100% de certeza de que a /revopção seja compatível checkout, mas obtive a ideia em algumas documentações do TortoiseProc .

PAUSE do sistema
fonte
2

Parece que você pode usar o navegador do repositório. Clique no botão de revisão no canto superior direito e altere-o para a revisão desejada. Em seguida, clique com o botão direito do mouse no seu arquivo no navegador e use 'Copiar para cópia de trabalho ...', mas altere o nome do arquivo que ele fará check-out, para evitar conflitos.

user1240259
fonte
1

Você precisará usar o svn diretamente:

svn checkout URL[@REV]... [PATH]

e

svn help co

dá-lhe um pouco mais de ajuda.

Sebastian Dressler
fonte
2
Tanto quanto eu vejo, acho que um exemplo pode ajudar. você inclui ou não os colchetes? que tal 3 períodos? e o espaço após os 3 períodos? Quais caracteres são literais, quais são os espaços reservados e quais são os caracteres adicionados para os espaços reservados?
Ahnbizcad 28/05
0

Vá para a pasta e use o comando:

svn co {url}
jsduniya
fonte