[
https://jira.codehaus.org/browse/MNG-4539?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Paul Benedict updated MNG-4539:
-------------------------------
Fix Version/s: (was: Issues to be reviewed for 3.x)
> Transactions support
> --------------------
>
> Key: MNG-4539
> URL: https://jira.codehaus.org/browse/MNG-4539
> Project: Maven
> Issue Type: New Feature
> Reporter: Johannes Schneider
>
> In an ideal world, every action Maven takes had transaction support.
> Some problems I run into regularly:
> - Deploying/installing a multi module project:
> - But one module fails (of course one of the last) and I end up with an
> inconsistent repository.
> - Deployment takes ages: Inconsistent repository for a couple of minutes
> (or hours).
> - Release:
> - Tagging of the central source repository and upload of the artifacts are
> not done synchronously.
> - If anything fails (typically site generation/deployment), the source and
> artifacts repositories are inconsistent.
> - Cleaning up after a failed release is not easy (or not possible -->
> Subversion).
> Of course a staging repository could solve some of the issues. But I suggest
> to go one step further:
> Create some sort of transaction support where actions may be added to. Once
> the transaction is finished, it is commited and all the actions are executed
> (e.g. uploading to the repository / tagging).
> If one of the actions fails, a rollback is executed.
> I think this should be possible for many cases. Subversion repositories won't
> support a "perfect" rollback mechanism. But the distributed VCS (e.g. Git)
> would.
> Uploading to the repository could support rollback either through cheap
> delete-on-rollback or better some special handling in relation to repository
> managers like Nexus. Maybe WebDAV supports transactions?
> --> For many use cases at least some sort of "cheap" transaction support with
> faked rollback stuff could work. But for other environments (DCVS + Nexus)
> there could be first class support...
--
This message was sent by Atlassian JIRA
(v6.1.6#6162)