jira-importer opened a new issue, #1251:
URL: https://github.com/apache/maven-scm/issues/1251

   **[Markus 
Hoffrogge](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=mhoffrog)**
 opened 
**[SCM-1029](https://issues.apache.org/jira/browse/SCM-1029?redirect=false)** 
and commented
   
   **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)
   
   
   ---
   
   **Affects:** 2.1.0
   
   **Remote Links:**
   - [GitHub Pull Request #238
   ](https://github.com/apache/maven-scm/pull/238)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to