Refactoring

This commit is contained in:
Naoki Takezoe
2017-12-11 20:20:58 +09:00
parent 0309496df6
commit 1adc9b3223

View File

@@ -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)