3 votes

Extraire les fichiers modifiés de SVN

Quelqu'un sait-il s'il existe un moyen d'extraire d'un dépôt SVN les fichiers modifiés entre deux commits ?

Il serait utile d'obtenir la structure du répertoire également..

J'ai besoin d'extraire les fichiers que j'ai modifiés depuis le dernier commit et de les envoyer au client . Je l'ai fait manuellement jusqu'à présent, mais comme le nombre de fichiers augmente, cela commence à être assez long (et factice, je pense :)

J'utilise l'interface graphique de Cornerstone, mais il est évident qu'il serait possible de le faire à partir de la ligne de commande ou peut-être existe-t-il une interface graphique qui fait cela sur le Mac ?

Gracias.

7voto

me_and Points 6090

Si le client est heureux d'utiliser patch le moyen le plus simple est d'utiliser svn diff . Si la révision que vous voulez envoyer à votre client est r26, tapez

svn diff -c 26 > changes.diff

Pour envoyer tous les changements dans les révisions 26-35, utilisez

svn diff -r 26:35 > changes.diff

Ils vont tous deux créer un fichier changes.diff que vous pouvez envoyer à votre client, qui copie ensuite ce fichier à la racine de sa copie du code et l'exécute.

patch -p1 < changes.diff

Cette méthode prend également en charge la structure du répertoire pour vous.

Cela présente l'inconvénient supplémentaire que les fichiers nouveaux/supprimés ne seront pas corrigés, de même que les fichiers binaires. Pour autant que je sache, il n'y a pas de moyen automatisé de le faire.

4voto

asdasd Points 21

Le plugin Subversive pour Eclipse a Extract qui fait exactement ce que vous voulez.

1voto

Bert Huijben Points 13856

Pourquoi n'utilisez-vous pas 'svn update' sur le client ?

Ceci implémente la récupération d'un diff binaire des fichiers modifiés (donc exactement l'information que vous demandez) et l'applique à votre copie de travail également :)

1voto

fboiton Points 41

J'utilise un shell script qui récupère la liste des fichiers du SVN Log et les exporte ensuite un par un. Je suis toujours à la recherche d'une autre option utilisant directement le client SVN.

0voto

akr Points 2011

Je n'ai pas de solution simple, mais vous pouvez consulter le livre sur la subversion, chapitre 4, Copier les modifications entre les branches - Chapitre 4. Branches et fusion . Il y a aussi des discussions sur les changesets.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X