[ 
https://issues.apache.org/jira/browse/IVY-492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12495002
 ] 

Xavier Hanin commented on IVY-492:
----------------------------------

Agreed for the transactional attribute, my suggestion was to add a third value, 
'auto', which enable transactional behavior if the jar is in the classpath, and 
we could use it as default value, since I think it would be nice to make 
anybody benefit from transactional publication.

For the separate interface, I see your point, and I think I agree with you, 
with no strong preference.

> support atomic publish operation
> --------------------------------
>
>                 Key: IVY-492
>                 URL: https://issues.apache.org/jira/browse/IVY-492
>             Project: Ivy
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Geoff Reedy
>
> Some resolver types (e.g. one that uses subversion) could benefit from 
> publishing a module as a single atomic transaction.  Currently, each artifact 
> (and it's checksums) are published as separate operations, if one of the 
> artifact uploads fail (perhaps an artifact is missing or another user is 
> trying to publish the same version at the same time) the ivy repository can 
> be in an inconsistent state with a half published module.  In addition, if 
> uploads are logged many entries in the log are generated for a single logical 
> operation.
> A possible implementation strategy is to add three new methods to the 
> resolver interface:
> beginPublish(ModuleRevisionId)
> abortPublish()
> commitPublish()
> beginPublish would be called before publishing the artifacts of the module, 
> abortPublish would be called if there is an error while publishing the 
> module, commitPublish would be called if all artifacts were successfully 
> published.  Existing resolvers could simple implement these methods as no-ops 
> to retain the present behavior.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to