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?

Respostas:



313

Ou

svn checkout url://repository/path@1234

ou

svn checkout -r 1234 url://repository/path

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)


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 .


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://machines@mywebsite.com/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.


6

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

A documentação para isso pode ser encontrada aqui



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.


1

Você precisará usar o svn diretamente:

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

e

svn help co

dá-lhe um pouco mais de ajuda.


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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.