apache / apache/maven-scm

[SCM-996] Streamline checkIn operation in git providers with respect to modified/added/removed files

Open
#1,204 0 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

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

Currently `ScmManager.checkIn(...)` behaves differently for the different git providers with respect to files which have not been added/removed with ScmManager API before.

This is related to SCM-970, but aims at making both git providers behave the same for the existing API.

The following table lists the status quo for modified files when `ScmManager.checkIn(...)` is performed

||Provider||ScmManager.checkIn(...) with fileSet empty||ScmManager.checkIn(...) with fileSet not empty
|git|index not modified prior commit|files in fileSet added to index prior commit
|jgit|index updated for modified files prior commit|files in fileSet added to index prior commit

---

**Issue Links:**
- [SCM-970](https://issues.apache.org/jira/browse/SCM-970) Have separate APIs for distributed and centralized version control

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by comparing the git and jgit provider implementations behind ScmManager.checkIn(...), using the status table as the behavioral reference. Verify how empty and non-empty fileSet values affect modified files and the index, then confirm that both providers produce the same behavior while preserving the existing API.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, java
Domain
devtools
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.