Browse Source

Fix committing empty commits

Allow to explicitly create an empty commit even if committing only
certain files.

Bug: 510685 
Change-Id: If9bf664d7cd824f8e5bd6765fa6cc739af3d7721
stable-4.9
Christian Halstrick 7 years ago committed by David Pursehouse
parent
commit
da0770fdec
  1. 5
      org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CommitCommandTest.java
  2. 2
      org.eclipse.jgit/src/org/eclipse/jgit/api/CommitCommand.java

5
org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CommitCommandTest.java

@ -557,6 +557,11 @@ public class CommitCommandTest extends RepositoryTestCase {
} catch (EmtpyCommitException e) { } catch (EmtpyCommitException e) {
// expect this exception // expect this exception
} }
// Allow empty commits also when setOnly was set
git.commit().setAuthor("New Author", "newauthor@example.org")
.setMessage("again no change").setOnly("file1")
.setAllowEmpty(true).call();
} }
} }

2
org.eclipse.jgit/src/org/eclipse/jgit/api/CommitCommand.java

@ -482,7 +482,7 @@ public class CommitCommand extends GitCommand<RevCommit> {
JGitText.get().entryNotFoundByPath, only.get(i))); JGitText.get().entryNotFoundByPath, only.get(i)));
// there must be at least one change // there must be at least one change
if (emptyCommit) if (emptyCommit && !allowEmpty.booleanValue())
// Would like to throw a EmptyCommitException. But this would break the API // Would like to throw a EmptyCommitException. But this would break the API
// TODO(ch): Change this in the next release // TODO(ch): Change this in the next release
throw new JGitInternalException(JGitText.get().emptyCommit); throw new JGitInternalException(JGitText.get().emptyCommit);

Loading…
Cancel
Save