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

Je veux vérifier 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  

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

Si vous l’avez déjà extrait localement, alors vous pouvez cd à l’endroit où il est extrait, puis utilisez cette syntaxe:

 $ svn up -rXXXX 

ref: Extraire une révision spécifique de subversion depuis la ligne de commande

Non plus

 svn checkout url://repository/path@1234 

ou

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

Une raison d’utiliser TortoiseProc au lieu de la simple ligne de commande svn?

J’utiliserais:

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

(pour obtenir la révision 1234)

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

Rappelez-vous que TortoiseSVN est un client GUI, et ce guide d’automatisation vous montre comment faire apparaître les boîtes de dialog TortoiseSVN pour collecter les entrées utilisateur. Si vous voulez écrire un script qui ne nécessite aucune entrée, vous devez utiliser le client de ligne de commande Subversion officiel à la place.

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

  • Commander une copie de travail en révision REV:

    1. svn checkout --revision REV https://svn.example.com/svn/MyRepo/trunk/

    2. svn checkout https://svn.example.com/svn/MyRepo/trunk/@REV

  • Mettez à jour votre copie de travail locale à la révision REV:

    svn update --revision REV

  • Exporter (c’est-à-dire télécharger) un fichier ou une twig de développement en révision REV:

    1. svn export --revision REV https://svn.example.com/svn/MyRepo/trunk/

    2. svn export https://svn.example.com/MyRepo/trunk/@REV

Vous remarquerez peut-être qu’avec svn checkout et svn export vous pouvez entrer le numéro REV en tant --revision REV et en tant que --revision REV @REV après URL. Le premier s’appelle la révision opératoire et le second est appelé révision de cheville. Lisez SVNBook pour plus d’informations sur le concept des révisions de peg et d’opération .

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

Utilisez svn log commande svn log pour savoir quelles révisions sont 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://machines@mywebsite.com/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.

Je pense que la syntaxe est /rev:

La documentation pour cela peut être trouvée ici

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 est compatible avec la checkout , mais j’ai eu l’idée de la documentation de TortoiseProc .

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 «Copier dans la copie de travail …», mais modifiez le nom du fichier à extraire pour éviter un conflit.

Vous devrez utiliser svn directement:

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

et

 svn help co 

vous aide un peu plus.

Allez dans le dossier et utilisez la commande:

 svn co {url}