104 votes

Comment obtenir l'url du repo svn actuel ?

J'ai 2 checkouts svn que quelqu'un a mis en place pour moi. J'ai maintenant besoin de vérifier ces mêmes fichiers sur un autre ordinateur, mais comme je ne les ai pas vérifiés au départ, je ne connais pas les urls à utiliser lorsque je lance la commande svn checkout :

svn co WHAT_GOES_HERE?

Puisque ces deux extractions existent déjà sur l'un de mes serveurs, y a-t-il un moyen d'obtenir l'url du repo à partir duquel elles ont été initialement extraites ?

158voto

Vladimir Blaskov Points 6013

Vous pouvez obtenir l'URL du répertoire dans lequel vous vous trouvez, ainsi que la racine du référentiel et d'autres informations en exécutant la commande suivante dans n'importe quel répertoire extrait :

svn info

Si vous voulez une commande qui renvoie uniquement l'URL du référentiel, peut-être pour une utilisation dans un script, alors vous pouvez passer le paramètre suivant :

svn info --show-item repos-root-url 

Il convient de noter que --show-item est disponible dans Subversion 1.9+. . Dans les versions plus anciennes, vous pouvez utiliser l'extrait suivant pour obtenir un résultat similaire :

svn info | grep 'Repository Root' | awk '{print $NF}'

6 votes

Même chose pour Windows : svn info | findstr /C : "Racine du dépôt : "

1 votes

Pour obtenir le chemin relatif pour le dépôt (utile en plus de l'URL racine) : svn info --show-item relative-url

13voto

JoshStrange Points 231

Pour SVN 1.7 j'ai dû utiliser

svn info | grep '^URL' | awk '{print $NF}'

J'espère que cela aidera tous ceux qui viennent ici avec un nouveau SVN.

0 votes

La réponse acceptée fonctionne toujours pour svn, version 1.7.9 (r1462340) compiled Apr 13 2013, 14:22:38 .

4 votes

@dash17291 ça "marche" dans le sens où ça imprime quelque chose mais pas la bonne info. Il renvoie la racine du repo, ce qui n'est pas ce que le demandeur veut. La racine n'est pas l'url du repo (du moins pas habituellement). Avec la réponse ci-dessus, vous obtiendrez repourl.com/root par rapport à la mienne où vous obtiendrez repourl.com/root/branch/branch_name ou tout ce que vous avez vérifié.

0 votes

Cela correspond également à "Relative URL" en utilisant svn 1.8.10. Le grep devrait être changé en grep "^URL"

4voto

TristikNZ Points 31

Pas besoin de grep, il suffit d'utiliser AWK pour la recherche et la délimitation de la chaîne.
svn info | awk '/^URL/{print $2}'

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X