mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-11-15 09:55:49 +01:00
Refactoring
This commit is contained in:
@@ -122,7 +122,7 @@ trait MergeService {
|
|||||||
object MergeService{
|
object MergeService{
|
||||||
|
|
||||||
object Util{
|
object Util{
|
||||||
// return treeId
|
// return merge commit id
|
||||||
def createMergeCommit(repository: Repository, treeId: ObjectId, committer: PersonIdent, message: String, parents: Seq[ObjectId]): ObjectId = {
|
def createMergeCommit(repository: Repository, treeId: ObjectId, committer: PersonIdent, message: String, parents: Seq[ObjectId]): ObjectId = {
|
||||||
val mergeCommit = new CommitBuilder()
|
val mergeCommit = new CommitBuilder()
|
||||||
mergeCommit.setTreeId(treeId)
|
mergeCommit.setTreeId(treeId)
|
||||||
@@ -131,15 +131,14 @@ object MergeService{
|
|||||||
mergeCommit.setCommitter(committer)
|
mergeCommit.setCommitter(committer)
|
||||||
mergeCommit.setMessage(message)
|
mergeCommit.setMessage(message)
|
||||||
// insertObject and got mergeCommit Object Id
|
// insertObject and got mergeCommit Object Id
|
||||||
val inserter = repository.newObjectInserter
|
using(repository.newObjectInserter){ inserter =>
|
||||||
val mergeCommitId = inserter.insert(mergeCommit)
|
val mergeCommitId = inserter.insert(mergeCommit)
|
||||||
inserter.flush()
|
inserter.flush()
|
||||||
inserter.close()
|
mergeCommitId
|
||||||
mergeCommitId
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
def updateRefs(repository: Repository, ref: String, newObjectId: ObjectId, force: Boolean, committer: PersonIdent, refLogMessage: Option[String] = None): Unit = {
|
def updateRefs(repository: Repository, ref: String, newObjectId: ObjectId, force: Boolean, committer: PersonIdent, refLogMessage: Option[String] = None): Unit = {
|
||||||
// update refs
|
|
||||||
val refUpdate = repository.updateRef(ref)
|
val refUpdate = repository.updateRef(ref)
|
||||||
refUpdate.setNewObjectId(newObjectId)
|
refUpdate.setNewObjectId(newObjectId)
|
||||||
refUpdate.setForceUpdate(force)
|
refUpdate.setForceUpdate(force)
|
||||||
@@ -239,16 +238,14 @@ object MergeService{
|
|||||||
val mergeBaseTipCommit = using(new RevWalk( repository ))(_.parseCommit( mergeBaseTip ))
|
val mergeBaseTipCommit = using(new RevWalk( repository ))(_.parseCommit( mergeBaseTip ))
|
||||||
var previousId = mergeBaseTipCommit.getId
|
var previousId = mergeBaseTipCommit.getId
|
||||||
|
|
||||||
val inserter = repository.newObjectInserter
|
using(repository.newObjectInserter){ inserter =>
|
||||||
|
commits.foreach { commit =>
|
||||||
commits.foreach { commit =>
|
val nextCommit = _cloneCommit(commit, Array(previousId))
|
||||||
val nextCommit = _cloneCommit(commit, Array(previousId))
|
previousId = inserter.insert(nextCommit)
|
||||||
previousId = inserter.insert(nextCommit)
|
}
|
||||||
|
inserter.flush()
|
||||||
}
|
}
|
||||||
|
|
||||||
inserter.flush()
|
|
||||||
inserter.close()
|
|
||||||
|
|
||||||
Util.updateRefs(repository, s"refs/heads/${branch}", previousId, false, committer, Some("merged")) // TODO reflog message
|
Util.updateRefs(repository, s"refs/heads/${branch}", previousId, false, committer, Some("merged")) // TODO reflog message
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -269,10 +266,11 @@ object MergeService{
|
|||||||
mergeCommit.setMessage(message)
|
mergeCommit.setMessage(message)
|
||||||
|
|
||||||
// insertObject and got squash commit Object Id
|
// insertObject and got squash commit Object Id
|
||||||
val inserter = repository.newObjectInserter
|
val newCommitId = using(repository.newObjectInserter){ inserter =>
|
||||||
val newCommitId = inserter.insert(mergeCommit)
|
val newCommitId = inserter.insert(mergeCommit)
|
||||||
inserter.flush()
|
inserter.flush()
|
||||||
inserter.close()
|
newCommitId
|
||||||
|
}
|
||||||
|
|
||||||
Util.updateRefs(repository, mergedBranchName, newCommitId, true, committer)
|
Util.updateRefs(repository, mergedBranchName, newCommitId, true, committer)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user