James Moger
2014-10-31 4a2fb11479c9b53ffe4e2e1cca82205ca122753b
src/main/java/com/gitblit/utils/JGitUtils.java
@@ -2270,7 +2270,7 @@
   }
   public static enum MergeStatus {
      NOT_MERGEABLE, FAILED, ALREADY_MERGED, MERGEABLE, MERGED;
      MISSING_INTEGRATION_BRANCH, MISSING_SRC_BRANCH, NOT_MERGEABLE, FAILED, ALREADY_MERGED, MERGEABLE, MERGED;
   }
   /**
@@ -2285,9 +2285,17 @@
   public static MergeStatus canMerge(Repository repository, String src, String toBranch) {
      RevWalk revWalk = null;
      try {
         revWalk = new RevWalk(repository);
         RevCommit branchTip = revWalk.lookupCommit(repository.resolve(toBranch));
         RevCommit srcTip = revWalk.lookupCommit(repository.resolve(src));
         revWalk = new RevWalk(repository);
         ObjectId branchId = repository.resolve(toBranch);
         if (branchId == null) {
            return MergeStatus.MISSING_INTEGRATION_BRANCH;
         }
         ObjectId srcId = repository.resolve(src);
         if (srcId == null) {
            return MergeStatus.MISSING_SRC_BRANCH;
         }
         RevCommit branchTip = revWalk.lookupCommit(branchId);
         RevCommit srcTip = revWalk.lookupCommit(srcId);
         if (revWalk.isMergedInto(srcTip, branchTip)) {
            // already merged
            return MergeStatus.ALREADY_MERGED;
@@ -2300,6 +2308,8 @@
         if (canMerge) {
            return MergeStatus.MERGEABLE;
         }
      } catch (NullPointerException e) {
         LOGGER.error("Failed to determine canMerge", e);
      } catch (IOException e) {
         LOGGER.error("Failed to determine canMerge", e);
      } finally {