J'ai extrait le code source d'un serveur SVN, qui n'est pas sous mon contrôle. J'aimerais savoir si de nouvelles mises à jour sont disponibles et les classer en tant que modifications, nouveaux ajouts, etc. Une recherche sur Google m'a conduit à penser que "svn status --show-updates" était la commande que je recherchais. Cependant, lorsque je l'exécute sur le dépôt Root, elle ne me donne pas les drapeaux A/M mais juste * dans la colonne statut. Une idée sur la façon d'obtenir ceci ? TIA.
Réponses
Trop de publicités?Un bon outil pour ce travail est CommitMonitor .
svn status
vous indique si votre copie de travail a été modifiée par rapport à la copie du référentiel que vous avez extraite. Le drapeau --show-updates indique si des mises à jour sont disponibles sur le serveur, et le * signifie qu'elles le sont.
Edit : Ok, si vous pouvez utiliser une interface graphique, j'utilise subversive dans eclipse, mais pour rester en ligne de commande, que pensez-vous de ceci ? Ce que vous voulez ressemble à un dryrun d'une fusion... vous voulez voir ce que tous les A, D, M se passeront lorsque vous mettez à jour le HEAD. Essayez donc ceci :
svn merge --dry-run -r BASE:HEAD
svn status --show-updates
mettra * devant chaque fichier qui a changé dans le référentiel depuis la dernière mise à jour.
Vous pouvez voir les changements détaillés entre votre copie de travail de base (dernière mise à jour) et la tête de dépôt actuelle en utilisant :
svn log --revision BASE:HEAD
L'ajout de l'option --verbose listera tous les fichiers modifiés précédés de M, A etc. Ajouter l'option --quiet cachera les messages de commit.
Mise à jour :
svn diff --summarize --revision BASE:HEAD
listera tous les fichiers modifiés précédés de M, A etc. dans toutes les révisions de la gamme regroupées en une seule liste. Je suppose que c'est ce que vous recherchez.