web-dev-qa-db-fra.com

Comment extraire une révision Subversion spécifique à partir de la ligne de commande?

Je veux extraire une révision spécifique d'un dossier dans Subversion en utilisant la ligne de commande.

Je ne vois pas d’option pour spécifier le numéro de révision dans TortoiseProc.exe,

TortoiseProc.exe /command:checkout <url>

Comment puis-je obtenir la révision que je veux? Est-ce que TortoiseProc.exe est le bon outil pour ce que je veux faire?

357
ranja

Si vous l'avez déjà extrait localement, vous pouvez alors utiliser cd là où il a été extrait, puis utilisez la syntaxe suivante:

$ svn up -rXXXX

ref: extraire une révision spécifique de Subversion à partir de la ligne de commande

461
rogerdpack

Soit

svn checkout url://repository/path@1234

ou

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

Une raison d'utiliser TortoiseProc au lieu de la ligne de commande svn normale?

J'utiliserais:

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

(pour obtenir la révision 1234)

258
Jon Skeet

Vous ne devriez jamais utiliser TortoiseProc.exe en tant que client Subversion en ligne de commande! TortoiseProc ne devrait être utilisé que pour automatiser l'interface graphique de TortoiseSVN. Voir le note dans le manuel de TortoiseSVN :

Rappelez-vous que TortoiseSVN est un client graphique, et ce guide d’automatisation vous montre comment faire apparaître les boîtes de dialogue TortoiseSVN pour collecter les entrées de l’utilisateur. Si vous souhaitez écrire un script qui ne nécessite aucune entrée, vous devez plutôt utiliser le client en ligne de commande Subversion officiel.

Utilisez le client Subversion client svn.exe en ligne de commande . Avec le client en ligne de commande, vous pouvez

Vous remarquerez peut-être qu'avec svn checkout et svn export, vous pouvez entrer le numéro REV en tant qu'argument --revision REV et en fin de @REV après l'URL. Le premier s'appelle la révision opérationnelle, et le second s'appelle la révision de cheville. Lisez SVNBook pour plus d’informations sur le concept de cheville et de révisions opérationnelles .

35
bahrep

svn checkout à la révision où votre référentiel est sur un autre serveur

Utilisez la commande svn log pour connaître les révisions disponibles:

svn log

Quelles impressions:

------------------------------------------------------------------------
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

Notez le numéro r761. Voici la description de la commande:

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

J'ai utilisé cette commande spécifiquement:

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

Ce qui provoque l'extraction de calcFeatures.m révision 761 dans le répertoire en cours.

7
Eric Leschinski

Je crois que la syntaxe pour ceci est /rev:<revisionNumber>

La documentation pour cela peut être trouvée ici

6
Stuart Thompson

Tu pourrais essayer

TortoiseProc.exe /command:checkout /rev:1234

pour obtenir la révision 1234.

Je ne suis pas sûr à 100% que l'option /rev soit compatible avec checkout, mais j'ai eu l'idée de documentation TortoiseProc .

3
system PAUSE

Il semble que vous puissiez utiliser le navigateur de référentiel. Cliquez sur le bouton de révision en haut à droite et remplacez-le par la révision souhaitée. Cliquez ensuite avec le bouton droit de la souris sur votre fichier dans le navigateur et utilisez l'option "Copier vers une copie de travail ...", mais modifiez le nom du fichier à extraire pour éviter un conflit.

2
user1240259

Allez dans le dossier et utilisez la commande:

svn co {url}
1
jsduniya

Vous devrez utiliser svn directement:

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

et

svn help co

vous donne un peu plus d'aide.

1
Sebastian Dressler