[ https://issues.apache.org/jira/browse/SCM-1029?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17950941#comment-17950941 ]
ASF GitHub Bot commented on SCM-1029: ------------------------------------- mhoffrog commented on PR #238: URL: https://github.com/apache/maven-scm/pull/238#issuecomment-2872331326 > > @michael-o Merged PR should have a label and milestone .... > > By default GitHub action - PR Automation do it .... but here was not executed ... probably of merge by commit no GitHub UI > > I don't use the Github UI since it uses the wrong email address for me instead of the apache.org. @michael-o GitHub UI is not needed to merge. You can merge locally to the PRs target branch and then push the PR target branch - if you are authorized appropriately. Typically GitHub will recognize that merge properly and will close the PR as merged. May be the configuration behind `asf-gitbox-commits` is interfering with that. > JGit performing empty commit on CheckIn command if includes or excludes > fileset is defined but no files changed in it > --------------------------------------------------------------------------------------------------------------------- > > Key: SCM-1029 > URL: https://issues.apache.org/jira/browse/SCM-1029 > Project: Maven SCM (Moved to GitHub Issues) > Issue Type: Bug > Components: maven-scm-provider-jgit > Affects Versions: 2.1.0 > Reporter: Markus Hoffrogge > Assignee: Michael Osipov > Priority: Major > Fix For: 2.2.0 > > Original Estimate: 4h > Remaining Estimate: 4h > > *Issue* > If includes and/or excludes config is defined, then JGit checkIn is > performing empty commits if no changes are applied to the effective fileset > content BUT other files are changed that are NOT within the effective scope > of the includes or excludes related fileset. > > *Root cause* > Method *JGitCheckInCommand.executeCheckInCommand* is using > git.status().call().{*}hasUncommittedChanges(){*} if there is nothing to > commit returned by *JGitUtils.addAllFiles(git, fileSet).* > Since git.status().call().{*}hasUncommittedChanges(){*} returns the state of > any file within the working tree of the repo, this will set *doCommit* true > even in case there is no file changed or added in scope of the includes / > excludes effective fileset. > > *Solution* > Use OR condition of: > - status.getAdded().size() > 0 > - status.getChanged().size() > 0 > - status.getRemoved() > 0 > instead of status.hasUncommittedChanges() if an includes / excludes FileSet > is specified. > [PR #238|https://github.com/apache/maven-scm/pull/238] -- This message was sent by Atlassian Jira (v8.20.10#820010)