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.
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part java.lang.NoClassDefFoundError: com/trilead/ssh2/ServerHostKeyVerifier
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.
Partager