Comment lister tous les fichiers dans un dépôt SVN?
- Je accéder à une grand distance référentiel SVN. Depuis que je suis habituellement seulement besoin d'un petit sous-ensemble de son contenu, j'ai fait un "sparse checkout":
svn checkout --depth empty svn+ssh://... src
Chaque fois que j'ai besoin d'un dossier à partir du référentiel que je peux le faire
svn up folder
et lorsque je n'ai pas besoin de plus je utiliser
svn up --set-depth exclude folder
Mais maintenant j'ai besoin d'une liste complète de tous les fichiers dans le référentiel, et je ne veux pas faire un check-out complet juste pour obtenir les noms des fichiers et dossiers.
J'ai déjà essayé svn ls -R
qui sera en effet une liste de certains des fichiers que je n'ai pas vérifier, mais il ya encore certains disparus. Je le sais parce que il ne veut tout montrer dans le répertoire courant. Maintenant, je pouvais semi-manuellement exécuter svn ls
et svn up --depth empty
pour chaque nouveau répertoire, mais je me demande si il ya une meilleure alternative.
Contrairement à Comment puis-je liste tous les fichiers jamais engagés dans le référentiel? je suis seulement intéressé par le contenu du référentiel et je n'ai pas accès à svnadmin
. Ni puis-je installer le logiciel sur le serveur de dépôt.
Vous devez vous connecter pour publier un commentaire.
Cette liste tous les fichiers de manière récursive:
-R
peut être utilisé.Je pense que les travaux en cours et tous les sous-répertoires que j'ai essayé. Cette une listes de toutes les branches et les tags, et tous leurs sous-répertoires et fichiers.
Vous pouvez essayer de mon utilitaire rapide-svn-robot, il est beaucoup plus rapide que "liste svn --recursive".
Sans URL
svn list --recursive -r HEAD
Si vous souhaitez obtenir une liste complète de tous les fichiers et pas les dossiers, vous pouvez pipe liste svn et grep de commande comme ceci:
le chemin d'accès aux dossiers répertoriés par
se termine toujours par "/" tout chemin d'accès au fichier qui ne fonctionne pas. La sortie est passée comme une entrée à
qui exclut tous les chemins d'avoir une fuite "/"; les autres chemins ne sont liées qu'à des fichiers.
Exemple: imaginons que nous avons un référentiel nommé myrepo sur my.svnserver.com comme un domaine, et nous voulons récupérer tous les fichiers répertoriés dans un sous-répertoire de myrepo c'est à dire mysubdir: la commande est
Aussi, si vous dirigez le résultat de wc-l de commande (qui imprime le nombre de retours à la ligne, chaque ligne de sortie contient une seule voie), vous pouvez obtenir le nombre de tous les fichiers sous mysubdir, à l'instar de ce