diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/BranchConfigTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/BranchConfigTest.java index 63441bfe9..87bb08248 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/BranchConfigTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/BranchConfigTest.java @@ -45,7 +45,9 @@ package org.eclipse.jgit.lib; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; import org.eclipse.jgit.errors.ConfigInvalidException; import org.junit.Test; @@ -144,6 +146,20 @@ public void getTrackingBranchShouldHandleNormalCaseForRemoteTrackingBranch() { branchConfig.getTrackingBranch()); } + @Test + public void isRebase() { + Config c = parse("" // + + "[branch \"undefined\"]\n" + + "[branch \"false\"]\n" + + " rebase = false\n" + + "[branch \"true\"]\n" + + " rebase = true\n"); + + assertFalse(new BranchConfig(c, "undefined").isRebase()); + assertFalse(new BranchConfig(c, "false").isRebase()); + assertTrue(new BranchConfig(c, "true").isRebase()); + } + private static Config parse(final String content) { final Config c = new Config(null); try { diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/lib/BranchConfig.java b/org.eclipse.jgit/src/org/eclipse/jgit/lib/BranchConfig.java index 3a2c54485..a62f6c3b5 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/BranchConfig.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/BranchConfig.java @@ -134,9 +134,17 @@ public String getRemote() { * @since 3.5 */ public String getMerge() { - return config.getString( - ConfigConstants.CONFIG_BRANCH_SECTION, branchName, - ConfigConstants.CONFIG_KEY_MERGE); + return config.getString(ConfigConstants.CONFIG_BRANCH_SECTION, + branchName, ConfigConstants.CONFIG_KEY_MERGE); + } + + /** + * @return {@code true} if the branch is configured to be rebased + * @since 3.5 + */ + public boolean isRebase() { + return config.getBoolean(ConfigConstants.CONFIG_BRANCH_SECTION, + branchName, ConfigConstants.CONFIG_KEY_REBASE, false); } /**