web-dev-qa-db-fra.com

liste svn des fichiers modifiés dans la copie locale

J'utilise le client Tortoise pour vérifier/valider mes modifications sur SVN. Mais j'ai trouvé cela un peu difficile car je ne trouve pas la liste de tous les fichiers modifiés dans ma copie locale. Y a-t-il un raccourci ou quelque chose que j'ai négligé?

Je suis nouveau sur SVN. Pour info.

56
Broken Link

La commande "Vérifier les modifications" dans tortoise affichera une liste de tous les fichiers modifiés dans la copie de travail. "Valider" affichera également tous les fichiers modifiés (que vous pourrez ensuite valider). "Revert" affichera également les fichiers modifiés (que vous pourrez ensuite restaurer).

30
1800 INFORMATION

Je ne connais pas la tortue, mais avec Subversion to linux je taperais

svn status

Une recherche sur Google me dit que la tortue prend également en charge les commandos en ligne de commande, essayez l'état svn dans le dossier qui contient le référentiel svn.

115
Torandi

Je n'ai pas pu svn status -q travailler. En supposant que vous êtes sur une boîte Linux, pour voir uniquement les fichiers modifiés, exécutez: svn status | grep 'M ' Sous Windows, je ne sais pas trop ce que vous feriez, peut-être quelque chose avec 'FindStr'

45
jdawley

La commande ci-dessous affichera les fichiers modifiés seuls dans les fenêtres.

svn status | findstr "^M"
10
Rejeev Divakaran

Si vous voulez vraiment lister fichiers modifiés uniquement vous pouvez réduire la sortie de svn st en commençant par "M" qui indique un le fichier a été modifié. Je ferais ça comme ça:

svn st | grep ^M
7
nils

svn status | grep 'M ' fonctionne très bien sur MacOSX.

Je viens de tester ça.

3
Rockoder

Si vous souhaitez uniquement les noms de fichiers et souhaitez également tous les fichiers ajoutés (A).

svn st | grep ^[AM] | cut -c9-

Remarque: Les 7 premières colonnes ont chacune un caractère de large suivi d'un espace puis du nom de fichier.

2
tfentonz

cela devrait le faire dans Windows: svn stat | trouver "M"

1
crig

Comme dit, vous devez utiliser SVN Check for modification dans l'interface graphique et tortoiseproc.exe /command:repostatus /path:"<path-to-version-control-file-or-directory>" dans CLI pour voir les changements liés à la racine de <path-to-version-control-file-or-directory>.

Malheureusement, mais cette commande n'affichera pas [~ # ~] toutes les [~ # ~] modifications locales, elle n'affiche que les modifications liées à la racine du répertoire demandé. Les modifications prises séparément, comme les extractions autonomes ou les répertoires externes orphelins dans le sous-répertoire racine, seront affichées comme Unversioned ou Nested et vous risquez de ne pas les valider/les rechercher .

Pour éviter une telle condition, vous devez soit appeler le tortoiseproc.exe /command:repostatus /pathfile:"<path-to-file-with-list-of-items-to-lookup-from>" (voir la documentation détaillée sur la ligne de commande: https://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-automation.html ), ou utilisez des applications/utilitaires/scripts 3dparty pour envelopper l'appel.

J'ai été écrit mon propre ensemble de scripts pour Windows pour automatiser l'appel à partir du Total Commander: https://sf.net/p/contools/contools/HEAD/tree/trunk/Scripts/Tools/ToolAdaptors/totalcmd/README_EN.txt (recherchez TortoiseSVN )

- Ouvre la boîte de dialogue d'état TortoiseSVN pour un ensemble de répertoires WC (s'ouvre toujours pour afficher les modifications non versionnées).

Command:   call_nowindow.vbs
Arguments: tortoisesvn\TortoiseProcByNestedWC.bat /command:repostatus "%P" %S

- Ouvre les boîtes de dialogue de validation de TortoiseSVN pour un ensemble de répertoires WC (ne s'ouvre que si aucune modification de version n'est vide).

Command:   call_nowindow.vbs
Arguments: tortoisesvn\TortoiseProcByNestedWC.bat /command:commit "%P" %S

Voir le README_EN.txt pour les derniers détails (vous devez exécuter configure.bat avant l'utilisation et copiez le reste des scripts sur vous-même comme call_nowindow.vbs).

0
Andry

En utilisant Powershell, vous pouvez faire ceci:

# Checks for updates and changes in working copy.
# Regex: Excludes unmodified (first 7 columns blank). To exclude more add criteria to negative look ahead.
# -u: svn gets updates
$regex = '^(?!\s{7}).{7}\s+(.+)';
svn status -u | %{ if($_ -match $regex){ $_ } };

Cela comprendra les changements de propriété. Ceux-ci s'affichent dans la colonne 2. Il détectera également d'autres différences dans les fichiers qui s'affichent dans les colonnes 3-7.

Sources:

0
Hans Vonn

statut svn | grep ^ M listera les fichiers modifiés. M - signifie modifié :)

0