apache / apache/maven-scm

[SCM-970] Have separate APIs for distributed and centralized version control

Open
#1,195 10 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Java
Stars
104
Forks
189
Avg merge
17h 46m
Merged PRs (30d)
6

Description

**[Robert Scholte](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=rfscholte)** opened **[SCM-970](https://issues.apache.org/jira/browse/SCM-970?redirect=false)** and commented

The nature of these 2 types are very different. The original scm api was based on centralized repositories, and the distributed was implemented behind those methods, which makes it more complex than required.

Splitting this will make it easier to make full use of distributed features.

Keep in mind that plugins like the maven-release-plugin must still be able to do their work, but they may need to provide implementations for both tastes (unless the original scm-api implements it).

---

**Issue Links:**
- [SCM-852](https://issues.apache.org/jira/browse/SCM-852) maven-scm-plugin:check-local-modification should optionally check for unpushed commits

- [SCM-996](https://issues.apache.org/jira/browse/SCM-996) Streamline checkIn operation in git providers with respect to modified/added/removed files

- [MRELEASE-1030](https://issues.apache.org/jira/browse/MRELEASE-1030) Introduce flag to push once, not twice, during release:prepare
(_**"is depended upon by"**_)
- [MRELEASE-954](https://issues.apache.org/jira/browse/MRELEASE-954) maven-release-plugin should push less often to git server
(_**"is depended upon by"**_)

1 votes, 3 watchers

Contributor guide

No contributing guide indexed for this repository

Research direction

No files, tests, or entry points are named. Start by reviewing the current SCM API and the linked SCM-852 and SCM-996 issues, then trace how maven-release-plugin depends on it; done means defined separate centralized and distributed APIs while preserving required release-plugin work.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend-api-design, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.