IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ANT Java Discussion :

svnant et protocole svn+ssh


Sujet :

ANT Java

  1. #1
    Membre du Club Avatar de dark.jabberwock
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    décembre 2009
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : décembre 2009
    Messages : 38
    Points : 61
    Points
    61
    Par défaut svnant et protocole svn+ssh
    Bonjour,

    Je me créé pour le travail et pour moi-même un script ant permettant de taguer automatiquement sur SVN. J'ai testé au boulot et le script fonctionne bien avec le protocole svn.

    exemple d'adresse de dépôt : svn://IP/NOM_DEPOT/NOM_PROJET

    Par contre j'ai quelques difficulté pour faire fonctionner mon script Ant avec un protocol svn+ssh.

    J'ai eu au premier coup l'erreur suivante.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.lang.NoClassDefFoundError: com/trilead/ssh2/ServerHostKeyVerifier
    Après une rapide recherche, je suis allé cherché la librairie trilead-ssh2-build213-svnkit-1.3-patch.jar et je l'ai ajouté au path d'exécution de mon script.

    Maintenant j'ai le message d'erreur suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
          [svn] svn: authentication cancelled
          [svn] svn: authentication cancelled
          [svn] <Copy> failed.
          [svn] the execution failed for some reason. cause: Can't copy
          [svn] 	at org.tigris.subversion.svnant.commands.SvnCommand.ex(Unknown Source)
          [svn] 	at org.tigris.subversion.svnant.commands.Copy.execute(Unknown Source)
          [svn] 	at org.tigris.subversion.svnant.commands.SvnCommand.executeCommand(Unknown Source)
          [svn] 	at org.tigris.subversion.svnant.SvnTask.executeImpl(Unknown Source)
          [svn] 	at org.tigris.subversion.svnant.SvnTask.execute(Unknown Source)
          [svn] 	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
          [svn] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          [svn] 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
          [svn] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
          [svn] 	at java.lang.reflect.Method.invoke(Method.java:597)
          [svn] 	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
          [svn] 	at org.apache.tools.ant.Task.perform(Task.java:348)
          [svn] 	at org.apache.tools.ant.Target.execute(Target.java:357)
          [svn] 	at org.apache.tools.ant.Target.performTasks(Target.java:385)
          [svn] 	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
          [svn] 	at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
          [svn] 	at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
          [svn] 	at org.eclipse.ant.internal.launching.remote.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
          [svn] 	at org.apache.tools.ant.Project.executeTargets(Project.java:1189)
          [svn] 	at org.eclipse.ant.internal.launching.remote.InternalAntRunner.run(InternalAntRunner.java:423)
          [svn] 	at org.eclipse.ant.internal.launching.remote.InternalAntRunner.main(InternalAntRunner.java:137)
          [svn] Caused by: org.tigris.subversion.svnclientadapter.SVNClientException: org.tigris.subversion.javahl.ClientException: svn: authentication cancelled
          [svn] 	at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapter.copy(AbstractJhlClientAdapter.java:824)
          [svn] 	at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapter.copy(AbstractJhlClientAdapter.java:790)
          [svn] 	... 20 more
          [svn] Caused by: org.tigris.subversion.javahl.ClientException: svn: authentication cancelled
          [svn] 	at org.tigris.subversion.javahl.JavaHLObjectFactory.throwException(JavaHLObjectFactory.java:778)
          [svn] 	at org.tmatesoft.svn.core.javahl.SVNClientImpl.throwException(SVNClientImpl.java:1850)
          [svn] 	at org.tmatesoft.svn.core.javahl.SVNClientImpl.copyOrMove(SVNClientImpl.java:800)
          [svn] 	at org.tmatesoft.svn.core.javahl.SVNClientImpl.copy(SVNClientImpl.java:724)
          [svn] 	at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapter.copy(AbstractJhlClientAdapter.java:821)
          [svn] 	... 21 more
          [svn] Caused by: org.tmatesoft.svn.core.SVNCancelException: svn: authentication cancelled
          [svn] 	at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.cancel(SVNErrorManager.java:37)
          [svn] 	at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.cancel(SVNErrorManager.java:32)
          [svn] 	at org.tmatesoft.svn.core.internal.wc.DefaultSVNAuthenticationManager.getNextAuthentication(DefaultSVNAuthenticationManager.java:211)
          [svn] 	at org.tmatesoft.svn.core.internal.io.svn.SVNSSHConnector.open(SVNSSHConnector.java:105)
          [svn] 	at org.tmatesoft.svn.core.internal.io.svn.SVNConnection.open(SVNConnection.java:74)
          [svn] 	at org.tmatesoft.svn.core.internal.io.svn.SVNRepositoryImpl.openConnection(SVNRepositoryImpl.java:1242)
          [svn] 	at org.tmatesoft.svn.core.internal.io.svn.SVNRepositoryImpl.testConnection(SVNRepositoryImpl.java:95)
          [svn] 	at org.tmatesoft.svn.core.io.SVNRepository.getRepositoryRoot(SVNRepository.java:319)
          [svn] 	at org.tmatesoft.svn.core.internal.wc.SVNCopyDriver.copyReposToRepos(SVNCopyDriver.java:196)
          [svn] 	at org.tmatesoft.svn.core.internal.wc.SVNCopyDriver.setupCopy(SVNCopyDriver.java:629)
          [svn] 	at org.tmatesoft.svn.core.wc.SVNCopyClient.doCopy(SVNCopyClient.java:426)
          [svn] 	at org.tmatesoft.svn.core.javahl.SVNClientImpl.copyOrMove(SVNClientImpl.java:795)
          [svn] 	... 23 more
          [svn] --- Nested Exception ---
          [svn] org.tigris.subversion.svnclientadapter.SVNClientException: org.tigris.subversion.javahl.ClientException: svn: authentication cancelled
          [svn] 	at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapter.copy(AbstractJhlClientAdapter.java:824)
          [svn] 	at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapter.copy(AbstractJhlClientAdapter.java:790)
          [svn] 	at org.tigris.subversion.svnant.commands.Copy.execute(Unknown Source)
          [svn] 	at org.tigris.subversion.svnant.commands.SvnCommand.executeCommand(Unknown Source)
          [svn] 	at org.tigris.subversion.svnant.SvnTask.executeImpl(Unknown Source)
          [svn] 	at org.tigris.subversion.svnant.SvnTask.execute(Unknown Source)
          [svn] 	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
          [svn] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          [svn] 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
          [svn] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
          [svn] 	at java.lang.reflect.Method.invoke(Method.java:597)
          [svn] 	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
          [svn] 	at org.apache.tools.ant.Task.perform(Task.java:348)
          [svn] 	at org.apache.tools.ant.Target.execute(Target.java:357)
          [svn] 	at org.apache.tools.ant.Target.performTasks(Target.java:385)
          [svn] 	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
          [svn] 	at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
          [svn] 	at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
          [svn] 	at org.eclipse.ant.internal.launching.remote.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
          [svn] 	at org.apache.tools.ant.Project.executeTargets(Project.java:1189)
          [svn] 	at org.eclipse.ant.internal.launching.remote.InternalAntRunner.run(InternalAntRunner.java:423)
          [svn] 	at org.eclipse.ant.internal.launching.remote.InternalAntRunner.main(InternalAntRunner.java:137)
          [svn] Caused by: org.tigris.subversion.javahl.ClientException: svn: authentication cancelled
          [svn] 	at org.tigris.subversion.javahl.JavaHLObjectFactory.throwException(JavaHLObjectFactory.java:778)
          [svn] 	at org.tmatesoft.svn.core.javahl.SVNClientImpl.throwException(SVNClientImpl.java:1850)
          [svn] 	at org.tmatesoft.svn.core.javahl.SVNClientImpl.copyOrMove(SVNClientImpl.java:800)
          [svn] 	at org.tmatesoft.svn.core.javahl.SVNClientImpl.copy(SVNClientImpl.java:724)
          [svn] 	at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapter.copy(AbstractJhlClientAdapter.java:821)
          [svn] 	... 21 more
          [svn] Caused by: org.tmatesoft.svn.core.SVNCancelException: svn: authentication cancelled
          [svn] 	at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.cancel(SVNErrorManager.java:37)
          [svn] 	at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.cancel(SVNErrorManager.java:32)
          [svn] 	at org.tmatesoft.svn.core.internal.wc.DefaultSVNAuthenticationManager.getNextAuthentication(DefaultSVNAuthenticationManager.java:211)
          [svn] 	at org.tmatesoft.svn.core.internal.io.svn.SVNSSHConnector.open(SVNSSHConnector.java:105)
          [svn] 	at org.tmatesoft.svn.core.internal.io.svn.SVNConnection.open(SVNConnection.java:74)
          [svn] 	at org.tmatesoft.svn.core.internal.io.svn.SVNRepositoryImpl.openConnection(SVNRepositoryImpl.java:1242)
          [svn] 	at org.tmatesoft.svn.core.internal.io.svn.SVNRepositoryImpl.testConnection(SVNRepositoryImpl.java:95)
          [svn] 	at org.tmatesoft.svn.core.io.SVNRepository.getRepositoryRoot(SVNRepository.java:319)
          [svn] 	at org.tmatesoft.svn.core.internal.wc.SVNCopyDriver.copyReposToRepos(SVNCopyDriver.java:196)
          [svn] 	at org.tmatesoft.svn.core.internal.wc.SVNCopyDriver.setupCopy(SVNCopyDriver.java:629)
          [svn] 	at org.tmatesoft.svn.core.wc.SVNCopyClient.doCopy(SVNCopyClient.java:426)
          [svn] 	at org.tmatesoft.svn.core.javahl.SVNClientImpl.copyOrMove(SVNClientImpl.java:795)
          [svn] 	... 23 more

    Jusque là je comprends bien l'erreur mais j'avoue que je ne vois pas comment résoudre mon problème d'authentification. Voici quelques informations concernant le serveur et le script.

    Serveur SVN :
    - OVH mutualisé pro
    - accès via tunnel ssh
    - pas d'authentification particulière dans la config SVN. L'utilisateur "jabberwock" à les droits d'écritures sur le dépôt.

    Le script :
    Vous pouvez le télécharger en bas de cet article. Il faut rajouter la librairie trilead-ssh2-build213-svnkit-1.3-patch.jar dans le projet.

    Je suis preneur de toutes idées, solutions, retour d'expériences sur un problème similaire.

    Merci d'avance.

  2. #2
    Membre du Club Avatar de dark.jabberwock
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    décembre 2009
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : décembre 2009
    Messages : 38
    Points : 61
    Points
    61
    Par défaut
    Après quelques tests et recherche sur Google, je suis tombé sur le lien suivant : https://jira.atlassian.com/browse/FE-1948

    La solution est d'utiliser le client natif. Soit javahl.
    Il m'a donc suffit de changer deux variables dans le fichier de properties .

    En passant de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    svnant.javahl=false
    svnant.svnkit=true
    à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    svnant.javahl=true
    svnant.svnkit=false
    tout en ayant ajouté le jar de trilead.

    Je publierais sur mon blog une évolution du script avec notamment quelques UI via antform pour la création de tag.

    Au fait, pendant que j'y penses, y-a-t-il une zone spéciale sur laquelle je pourrais mettre à disposition mon script ? Car je vois pas l'intérêt de le garder pour moi tout seul.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. https ou svn+ssh?
    Par Xavier3131 dans le forum Subversion
    Réponses: 1
    Dernier message: 12/03/2008, 16h29
  2. authentification via svn+ssh://
    Par luckyvae dans le forum NetBeans
    Réponses: 1
    Dernier message: 25/09/2007, 10h40
  3. connexion svn ssh
    Par semaj_james dans le forum Eclipse Java
    Réponses: 15
    Dernier message: 30/03/2007, 17h16
  4. [TortoiseSVN] Connexion svn+ssh erreur
    Par Taichin dans le forum Subversion
    Réponses: 12
    Dernier message: 22/01/2007, 18h04
  5. [Mac / Subclipse / SVN + SSH] Problèmes de connexion
    Par Caille Rotie dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 09/03/2006, 18h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo