Comment obtenir l'URL du svn repo actuel?

84

J'ai 2 svn checkouts que quelqu'un a configuré pour moi. Maintenant, je dois vérifier ces mêmes fichiers sur un autre ordinateur, mais comme je ne les ai pas extraits initialement, je ne connais pas les URL à utiliser lors de l'exécution de la commande svn checkout:

svn co WHAT_GOES_HERE?

Étant donné que ces 2 extractions existent déjà sur l'un de mes serveurs, existe-t-il un moyen d'obtenir l'URL du référentiel à partir duquel elles ont été extraites?

Manny
la source

Réponses:

132

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 l'un des répertoires extraits:

svn info

Si vous souhaitez une commande qui renvoie uniquement l'URL du référentiel, éventuellement pour l'utiliser dans un script, vous pouvez alors transmettre le paramètre suivant:

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

Il est à noter que cette version --show-item est disponible dans Subversion 1.9+ . Dans les versions antérieures, vous pouvez utiliser l'extrait suivant pour obtenir un résultat similaire:

svn info | grep 'Repository Root' | awk '{print $NF}'
Vladimir Blaskov
la source
5
Même chose pour Windows: svn info | findstr / C: "Racine du référentiel:"
s3v1
Pour obtenir le chemin relatif du référentiel (utile en plus de l'URL racine): svn info --show-item relative-url
Elijah Lofgren
12

Pour SVN 1.7 je devais utiliser

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

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

JoshStrange
la source
La réponse acceptée travaille toujours pour svn, version 1.7.9 (r1462340) compiled Apr 13 2013, 14:22:38.
dash17291
4
@ dash17291 cela "fonctionne" car il imprime quelque chose mais pas la bonne information. Il retourne la racine du repo qui n'est pas ce que le demandeur veut. La racine n'est pas l'URL du repo (du moins pas d'habitude). Avec la réponse ci-dessus, vous obtiendrez repourl.com/root vs mine où vous obtiendrez repourl.com/root/branch/branch_name ou tout ce que vous avez emprunté.
JoshStrange
Ceci correspond également à "URL relative" avec svn 1.8.10. Le grep devrait être changé pourgrep "^URL"
Burhan Ali
3

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

TristikNZ
la source