Je veux voir uniquement la liste des fichiers qui ont été modifiés, ajoutés, etc., pas le conten (svn diff
affiche cela), seule la liste des fichiers comme svn status
.
svn diff -r HEAD
me décharge des tonnes d'informations, ce qui est difficile à comprendre rapidement.
svn status
affiche uniquement les modifications comparant la copie de travail à sa version d'origine locale (et non à la révision du référentiel).
svn update
ne supporte pas --dry-run
En bref, j'ai besoin de quelque chose comme svn status
, mais quoi compare la copie de travail actuelle à la révision du référentiel (Je vais comparer avec une révision HEAD).
J'ai parcouru le manuel SVN, mais rien ne m'a aidé, malheureusement: - /
Essayer
svn status --show-updates
Le -u
(ou --show-updates
) option pour svn status
oblige svn à contacter le référentiel et à afficher les éléments modifiés dans le référentiel - cela vous suffit-il? Selon ce dont vous avez besoin, vous souhaiterez peut-être le -q
ou --verbose
drapeau aussi
svn diff -r head
Cela produira une liste diff
pour tous les fichiers qui diffèrent entre la copie de travail et le référentiel, donnant une liste de fichiers et les modifications réelles. Ce qui, comme vous le dites, peut être difficile à comprendre.
Essayez donc ceci:
svn diff -r head --diff-cmd meld
Cela fait la même chose, mais affiche les changements en utilisant meld
(vous pouvez fournir n'importe quel autre outil de diff visuel dans votre arsenal), ce qui est beaucoup plus gérable.
Mais sérieusement, habituez-vous à lire ces sorties diff, car elles constituent la base de tant d'autres choses (par exemple, les correctifs) et sont assez difficiles à éviter dans le monde Linux. Pour réduire la sortie:
svn status -u
vous donnera une liste des fichiers modifiés, puis:
svn diff <file> -r head --diff-cmd <tool>
vous donnera une différence visuelle du fichier particulier qui vous intéresse.
La façon dont vous avez formulé la question d'origine, la bonne réponse est svn status -u comme indiqué déjà. Sur la base des commentaires de suivi, vous devez également être conscient de svn diff --summarize car cela pourrait être ce que vous recherchez. C'est ce que vous utiliseriez pour comparer deux révisions de référentiel ou deux balises ou autre chose dans le référentiel. Vous ne pouvez pas utiliser cette option pour comparer votre copie de travail avec le référentiel (le statut le fait).
Voir: http://blogs.collab.net/Subversion/2007/03/computing_the_d/
op:
Je veux voir seulement la liste des fichiers qui ont été modifiés, ajoutés, etc., pas le contenu (svn diff les sorties), seulement la liste des fichiers comme svn status.
Comme l'OP, je veux voir un rapport de style "état svn" de la copie de travail actuelle pour les branches de projet qui sont imbriquées sous un référentiel svn plus grand contre leur dernier tronc et je veux utiliser le même chemin d'accès et les mêmes arguments de révision que svn diff utilise .
Ce qui suit fait cela:
svn diff --old . --new ^/pathToProject/trunk --summarize
Bien sûr, remplacez "pathToTrunk" par le chemin réel utilisé par votre référentiel.
Voici ce que j'ai fait et cela a résolu mon problème: je veux voir ce qui est différent entre ma copie de travail et la copie du dépôt.
svn diff > ~/svndiff.txt
Et puis j'ai récupéré le fichier en clair dans SublimeText 2 pour pouvoir le lire plus facilement. Je suppose que c'est assez basique, mais j'ai pensé le publier car cela m'a aidé avec un problème similaire.
C'est peut-être ce que vous recherchez:
svn diff -r HEAD --summarize