Vérifier qu'un dépôt svn url n'existe pas
Je suis en train d'écrire un script qui permettra d'ajouter un nouveau projet dans le référentiel, basé sur le nom fourni par l'utilisateur. Cela implique d'une Part de vérifier que l'url avec le même nom n'existe pas déjà sur le référentiel.
Dans le référentiel, tous les projets de notre équipe sont stockés dans
https://developernetwork.repo.net/svn/Projects/
Disons que l'utilisateur veut appeler le projet "Calculatrice" et exécute le script. Dans ce cas, nous devons nous assurer que le suivant n'existe pas déjà dans le référentiel
https://developernetwork.repo.net/svn/Projects/Calculator/
Est-il une commande svn que je peux utiliser pour le réaliser? Malheureusement, je ne vois pas de commande appropriée je peux utiliser dans le svn de la documentation (http://svnbook.red-bean.com/en/1.0/svn-book.html) à tous.
- La documentation vous lien est le cas, par svn 1.0. Lire svnbook.red-bean.com/nightly/en/index.html pour la dernière docs.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez simplement utiliser
Il vous dira si le référentiel(répertoire) existent ou non.
Mise à jour
pour les répertoires avec beaucoup de fichiers utilisation:
$?
Il contient le code de retour de la commande précédente svn ls "1" en cas d'échec.Au lieu de vérifier de retour cordes, je voudrais juste vérifier le code de retour:
les deux
et
retourne 0 si tout s'est bien passé, et 1 si les choses tournaient mal; vous pouvez rapidement vérifier:
donc dans un script bash juste faire quelque chose comme:
fonctionne comme un régal!
À recevoir des informations concernant le référentiel existant (par exemple, pour éventuellement enrichir un message d'erreur), vous pouvez également utiliser
Pour un non-projet existant, il va juste retour
--xml
paramètre. Personnellement je venais de vérifier l'existence de l'UUID de l'élément, qui doit être inclus dans touteinfo
de données (corrigez-moi si ce n').Je suis face au problème ci-dessus et j'ai essayé dans tous les sens. pas de travail pour moi.. si nous avons accès svn avec un chemin d'accès pas dans le svn il a échoué avec l'erreur et le script shell de casser.
Au lieu d'accéder chemin inconnu, ce que j'ai fait est d'obtenir la liste des répertoires du dossier parent et vérifier si la correspondance contiennent ou non.
Obtenir tous les projets de la forme de votre répertoire Parent (si vous voulez trouver une des balises spécifiques, alors votre répertoire parent chemin d'accès doit être
https://developernetwork.repo.net/svn/Projects/Calculator/tags
)ensuite, vérifiez votre dossier de projet existe. N'oubliez pas de ajouter
/
après le nom de votre projet.simple.
J'aurais commenté sur les résultats d'une réponse, mais je n'ai pas suffisamment de réputation.
Je voulais savoir si un fichier a été importé avec succès ou non, alors j'ai essayé "svn info" et "svn ls" avec "echo $?". Je n'ai pu avoir un zéro/retour non nul de code lorsque j'ai utilisé "svn ls": "svn info" toujours retourné à zéro.
C'était avec subversion 1.5.5 sur Redhat RHEL6.
Comme @Un Scott dit, la
echo $?
ne peut pas être utilisé pour savoir si l'URL est correcte (je suis sur Mac OS 10.11 et client SVN 1.9.5).Pour d'éventuels futurs lecteurs, j'ai utiliser cette solution de contournement :