apache / apache/maven-scm

[SCM-1015] Clarify difference between ScmManager and ScmProvider

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

Description

**[Konrad Windszus](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=kwin)** opened **[SCM-1015](https://issues.apache.org/jira/browse/SCM-1015?redirect=false)** and commented

I was assuming that `ScmProvider` is the SPI while `ScmManager` is the (consumer) API. But there are some methods from `ScmProvider` which are not called from anywhere else (except for test code) like:
* `untag`
* `info`
* `remoteinfo`

Are those just missing from `ScmManager` (and their implementation delegating to the `ScmProvider`'s method in `AbstractScmManager`) or is there no clear separation between `ScmProvider` and `ScmManager`?

At the same time some clarification on differences between `ScmRepository` and `ScmProviderRepository` would be helpful.

---
No further details from [SCM-1015](https://issues.apache.org/jira/browse/SCM-1015?redirect=false)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by comparing the ScmProvider, ScmManager, and AbstractScmManager entry points, including the untag, info, and remoteinfo methods mentioned in the issue. Then inspect ScmRepository, ScmProviderRepository, and related test code. Done means the roles and separation of these interfaces are clearly documented, including whether the provider methods should be exposed through ScmManager.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.