mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-11-06 21:45:50 +01:00
(refs #174)Fix commit hook for DELETE command.
This commit is contained in:
@@ -110,10 +110,25 @@ trait ActivityService {
|
|||||||
None,
|
None,
|
||||||
currentDate)
|
currentDate)
|
||||||
|
|
||||||
|
def recordDeleteTagActivity(userName: String, repositoryName: String, activityUserName: String,
|
||||||
|
tagName: String, commits: List[util.JGitUtil.CommitInfo]) =
|
||||||
|
Activities.autoInc insert(userName, repositoryName, activityUserName,
|
||||||
|
"delete_tag",
|
||||||
|
s"[user:${activityUserName}] deleted tag ${tagName} at [repo:${userName}/${repositoryName}]",
|
||||||
|
None,
|
||||||
|
currentDate)
|
||||||
|
|
||||||
def recordCreateBranchActivity(userName: String, repositoryName: String, activityUserName: String, branchName: String) =
|
def recordCreateBranchActivity(userName: String, repositoryName: String, activityUserName: String, branchName: String) =
|
||||||
Activities.autoInc insert(userName, repositoryName, activityUserName,
|
Activities.autoInc insert(userName, repositoryName, activityUserName,
|
||||||
"create_branch",
|
"create_branch",
|
||||||
s"[user:${activityUserName}] created branch [tag:${userName}/${repositoryName}#${branchName}] at [repo:${userName}/${repositoryName}]",
|
s"[user:${activityUserName}] created branch [branch:${userName}/${repositoryName}#${branchName}] at [repo:${userName}/${repositoryName}]",
|
||||||
|
None,
|
||||||
|
currentDate)
|
||||||
|
|
||||||
|
def recordDeleteBranchActivity(userName: String, repositoryName: String, activityUserName: String, branchName: String) =
|
||||||
|
Activities.autoInc insert(userName, repositoryName, activityUserName,
|
||||||
|
"delete_branch",
|
||||||
|
s"[user:${activityUserName}] deleted branch ${branchName} at [repo:${userName}/${repositoryName}]",
|
||||||
None,
|
None,
|
||||||
currentDate)
|
currentDate)
|
||||||
|
|
||||||
|
|||||||
@@ -85,7 +85,11 @@ class CommitLogHook(owner: String, repository: String, userName: String, baseURL
|
|||||||
def onPostReceive(receivePack: ReceivePack, commands: java.util.Collection[ReceiveCommand]): Unit = {
|
def onPostReceive(receivePack: ReceivePack, commands: java.util.Collection[ReceiveCommand]): Unit = {
|
||||||
using(Git.open(Directory.getRepositoryDir(owner, repository))) { git =>
|
using(Git.open(Directory.getRepositoryDir(owner, repository))) { git =>
|
||||||
commands.asScala.foreach { command =>
|
commands.asScala.foreach { command =>
|
||||||
val commits = JGitUtil.getCommitLog(git, command.getOldId.name, command.getNewId.name)
|
logger.debug(s"commandType: ${command.getType}, refName: ${command.getRefName}")
|
||||||
|
val commits = command.getType match {
|
||||||
|
case ReceiveCommand.Type.DELETE => Nil
|
||||||
|
case _ => JGitUtil.getCommitLog(git, command.getOldId.name, command.getNewId.name)
|
||||||
|
}
|
||||||
val refName = command.getRefName.split("/")
|
val refName = command.getRefName.split("/")
|
||||||
val branchName = refName.drop(2).mkString("/")
|
val branchName = refName.drop(2).mkString("/")
|
||||||
|
|
||||||
@@ -113,16 +117,15 @@ class CommitLogHook(owner: String, repository: String, userName: String, baseURL
|
|||||||
// record activity
|
// record activity
|
||||||
if(refName(1) == "heads"){
|
if(refName(1) == "heads"){
|
||||||
command.getType match {
|
command.getType match {
|
||||||
case ReceiveCommand.Type.CREATE => {
|
case ReceiveCommand.Type.CREATE => recordCreateBranchActivity(owner, repository, userName, branchName)
|
||||||
recordCreateBranchActivity(owner, repository, userName, branchName)
|
|
||||||
recordPushActivity(owner, repository, userName, branchName, newCommits)
|
|
||||||
}
|
|
||||||
case ReceiveCommand.Type.UPDATE => recordPushActivity(owner, repository, userName, branchName, newCommits)
|
case ReceiveCommand.Type.UPDATE => recordPushActivity(owner, repository, userName, branchName, newCommits)
|
||||||
|
case ReceiveCommand.Type.DELETE => recordDeleteBranchActivity(owner, repository, userName, branchName)
|
||||||
case _ =>
|
case _ =>
|
||||||
}
|
}
|
||||||
} else if(refName(1) == "tags"){
|
} else if(refName(1) == "tags"){
|
||||||
command.getType match {
|
command.getType match {
|
||||||
case ReceiveCommand.Type.CREATE => recordCreateTagActivity(owner, repository, userName, branchName, newCommits)
|
case ReceiveCommand.Type.CREATE => recordCreateTagActivity(owner, repository, userName, branchName, newCommits)
|
||||||
|
case ReceiveCommand.Type.DELETE => recordDeleteTagActivity(owner, repository, userName, branchName, newCommits)
|
||||||
case _ =>
|
case _ =>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,7 +16,9 @@
|
|||||||
case "merge_pullreq" => detailActivity(activity, "activity-merge.png")
|
case "merge_pullreq" => detailActivity(activity, "activity-merge.png")
|
||||||
case "create_repository" => simpleActivity(activity, "activity-create-repository.png")
|
case "create_repository" => simpleActivity(activity, "activity-create-repository.png")
|
||||||
case "create_branch" => simpleActivity(activity, "activity-branch.png")
|
case "create_branch" => simpleActivity(activity, "activity-branch.png")
|
||||||
|
case "delete_branch" => simpleActivity(activity, "activity-delete.png")
|
||||||
case "create_tag" => simpleActivity(activity, "activity-tag.png")
|
case "create_tag" => simpleActivity(activity, "activity-tag.png")
|
||||||
|
case "delete_tag" => simpleActivity(activity, "activity-delete.png")
|
||||||
case "fork" => simpleActivity(activity, "activity-fork.png")
|
case "fork" => simpleActivity(activity, "activity-fork.png")
|
||||||
case "push" => customActivity(activity, "activity-commit.png"){
|
case "push" => customActivity(activity, "activity-commit.png"){
|
||||||
<div class="small activity-message">
|
<div class="small activity-message">
|
||||||
|
|||||||
BIN
src/main/webapp/assets/common/images/activity-delete.png
Normal file
BIN
src/main/webapp/assets/common/images/activity-delete.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 419 B |
Reference in New Issue
Block a user