I attached my previous post from user mailling. I take a moment tonight to figure out the error.
In my mind, I wanted to synchronize two repositories which is not possible regarding the code. As if overwrite is set to false an IOException is thrown as soon as an existing artifact is found. I feel like synchronization would be a good feature, what do you think of? There is different way to handle the feature but it would requires API change somehow. We need distingate the case of an exception of Input Output and the "file already exist" case. Some suggestions: void publish(Artifact artifact, File src, boolean overwrite) throws IOException, ExistingArtifactUncheckedException; => Would unify error message regarding duplicate as IOException is filled with various message according the resolver. void publish(Artifact artifact, File src, boolean overwrite,boolean skipExistingFile) throws IOException; .... Trace confuse me a bit , I am using SFTP and I would suggest to add to SFTPRepository.java line 137: if (!overwrite && checkExistence(destination, c)) { throw new IOException("destination file " + destination + " exists and overwrite == true"); } regards, Hello, I have two repo : local , integration I tried to use ivy:install to migrate my modules between them. After publishing in local, i start a new task to migrate new dependencies I could have added to my local repo during my developpement: <ivy:install organisation="${ivy.organisation}" module="${ivy.module}" revision="${ivy.revision}" from="local" to="integration" transitive="true" /> [ivy:install] :: installing com.foo.test#Basic;1.53 :: [ivy:install] :: resolving dependencies :: [ivy:install] found com.foo.test#Basic;1.53 in fs-local [ivy:install] found foo#AntCommon;1.39D in remote-private [ivy:install] found junit#junit;3.8.1 in remote-private [ivy:install] :: downloading artifacts to cache :: [ivy:install] downloading d:\javadev\local-repository\com.foo.test\Basic\jars\Basic-1.53.jar ... [ivy:install] .. (1kB) [ivy:install] .. (0kB) [ivy:install] [SUCCESSFUL ] com.foo.test#Basic;1.53!Basic.jar (20ms) [ivy:install] :: installing in remote :: [ivy:install] published Basic to ./repository/private/com.foo.test/Basic/jars/Basic-1.53.jar [ivy:install] published ivy to ./repository/private/com.foo.test/Basic/ivy-1.53.xml [ivy:install] missing artifact foo#AntCommon;1.39D!AntCommon.zip: [ivy:install] d:\javadev\repository\.ivy-cache\foo\AntCommon\zips\AntCommon-1.39D.zip file does not exist BUILD FAILED C:\javadev\src\AntCommon\src\build-common.xml:321: impossible to install com.foo.test#Basic;1.53: java.io.IOException: destination file exists and overwrite == true Total time: 1 minute 1 second I tried with ivy 1.4.1 and ivy 2.0 beta 1 same error, if I put transitive to false I don't get this error. I guess there is an issue with the artifact being reprocessed one more time when transitive. I don't really want to put overwrite="true" because I have so many artifact it would take too long ... -- View this message in context: http://www.nabble.com/ivy%3Ainstall-tp14724560p14724560.html Sent from the Ant - Dev mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]