[ 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)