Parfois, vous développez et vous décidez de vous engager, oubliant que vous avez créé quelques fichiers sur votre projet. Puis, quelques jours plus tard, votre ami sort votre version de Subversion et se plaint que certains fichiers semblent manquants. Vous vous rendez compte, ah merde, j'ai oublié d'ajouter ces fichiers!
Comment puis-je obtenir une liste des fichiers qui ne sont pas sous contrôle de version de Subversion, donc je suis sûr que j'ai tout ajouté au référentiel?
Utilisez le svn status
commande:
svn status | grep ^?
Les fichiers qui ne sont pas versionnés sont indiqués par un? au début de la ligne.
Si vous constatez que vous avez toujours des fichiers spécifiques qui ne doivent pas être ajoutés au référentiel (par exemple, des binaires générés), vous devez configurer le svn:ignore
propriété sur le répertoire conteneur afin que ces fichiers ne s'affichent pas lors de l'utilisation de svn status
.
Si certains fichiers ont eu ignore
ajoutés à leur état, ils n'apparaîtront pas dans svn status
. Tu auras besoin:
svn status --no-ignore
Si vous utilisez Windows, vous pouvez faire quelque chose de similaire à la réponse de Greg Hewgill en utilisant PowerShell.
(svn stat) -match '^\?'
Cela pourrait être étendu assez facilement pour trouver tous les fichiers non versionnés et ignorés et les supprimer.
(svn stat "--no-ignore") -match '^[I?]' -replace '^.\s+','' | rm
J'espère que cela est utile à quelqu'un!
Ou à partir de la ligne de commande Windows:
svn stat | find "?"
Vous pouvez utiliser cette commande pour répertorier tous les chemins d'accès aux fichiers non versionnés:
svn status | awk '/^?/ {print $2}'
La première partie fera un svn status
, puis il redirigera la sortie vers AWK qui fera un simple filtre "le premier caractère devrait être '?'" puis il affichera le deuxième paramètre msgstr "qui est le chemin du fichier".
svn status
n'imprimera toujours pas les fichiers ignorés. Vous pouvez ajouter un fichier ou un chemin d'accès en ajoutant ce chemin d'accès à l'aide
svn propset svn:ignore "PATH OR PATERN"