[MRELEASE-954] maven-release-plugin should push less often to git server
- Dominant language
- Java
- Stars
- 128
- Forks
- 145
- Avg merge
- 7h 7m
- Merged PRs (30d)
- 3
Description
**[Markus Karg](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=mkarg)** opened **[MRELEASE-954](https://issues.apache.org/jira/browse/MRELEASE-954?redirect=false)** and commented
mvn release:prepare runs three times git push which is bad:
A single push at the end is enough to bring all commits and tags to the server finally
It consumes more time than essentially necessary
It is risky, because in case the first POM change A-SNAPSHOT -> A is pushed to the server but an error happens (bug in plugin, crash of client, whatever) then a "half prepared" state is on the server (the second POM change A -> B-SNAPSHOT is missing) and you cannot auto-recover from that without manual action (as mvn release:clean does not undo the tag). If there is only one single push at the end, then EVERYTHING, two commits and a tag, is pushed as a single transaction to the server, which is much better!
---
**Affects:** 2.5.3
**Issue Links:**
- [SCM-970](https://issues.apache.org/jira/browse/SCM-970) Have separate APIs for distributed and centralized version control
(_**"depends upon"**_)
5 votes, 4 watchers
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the maven-release-plugin entry point mvn release:prepare and trace its SCM interactions. Read the linked SCM-970 dependency before changing behavior. Done means the prepare workflow performs one final push containing both commits and the tag, without leaving a partially prepared remote state.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- git, java
- Domain
- build-system, release
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100