| | |
| | | import org.eclipse.jgit.lib.RepositoryCache.FileKey;
|
| | | import org.eclipse.jgit.lib.StoredConfig;
|
| | | import org.eclipse.jgit.lib.TreeFormatter;
|
| | | import org.eclipse.jgit.merge.MergeStrategy; |
| | | import org.eclipse.jgit.merge.RecursiveMerger; |
| | | import org.eclipse.jgit.merge.MergeStrategy;
|
| | | import org.eclipse.jgit.merge.RecursiveMerger;
|
| | | import org.eclipse.jgit.revwalk.RevBlob;
|
| | | import org.eclipse.jgit.revwalk.RevCommit;
|
| | | import org.eclipse.jgit.revwalk.RevObject;
|
| | |
| | | import org.slf4j.Logger;
|
| | | import org.slf4j.LoggerFactory;
|
| | |
|
| | | import com.gitblit.GitBlitException; |
| | | import com.gitblit.GitBlitException;
|
| | | import com.gitblit.models.GitNote;
|
| | | import com.gitblit.models.PathModel;
|
| | | import com.gitblit.models.PathModel.PathChangeModel;
|
| | |
| | | try {
|
| | | // resolve object id
|
| | | ObjectId branchObject;
|
| | | if (StringUtils.isEmpty(objectId)) {
|
| | | if (StringUtils.isEmpty(objectId) || "HEAD".equalsIgnoreCase(objectId)) {
|
| | | branchObject = getDefaultBranch(repository);
|
| | | } else {
|
| | | branchObject = repository.resolve(objectId);
|
| | |
| | | RefUpdate mergeRefUpdate = repository.updateRef(toBranch); |
| | | mergeRefUpdate.setNewObjectId(mergeCommitId); |
| | | mergeRefUpdate.setRefLogMessage("commit: " + mergeCommit.getShortMessage(), false); |
| | | RefUpdate.Result rc = mergeRefUpdate.forceUpdate(); |
| | | RefUpdate.Result rc = mergeRefUpdate.update(); |
| | | switch (rc) { |
| | | case FAST_FORWARD: |
| | | // successful, clean merge |
| | | break; |
| | | break;
|
| | | default: |
| | | throw new GitBlitException(MessageFormat.format("Unexpected result \"{0}\" when merging commit {1} into {2} in {3}", |
| | | rc.name(), srcTip.getName(), branchTip.getName(), repository.getDirectory())); |