summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--models/branches.go6
-rw-r--r--modules/repofiles/update.go6
2 files changed, 12 insertions, 0 deletions
diff --git a/models/branches.go b/models/branches.go
index 045019314a..21b23c75d9 100644
--- a/models/branches.go
+++ b/models/branches.go
@@ -525,6 +525,12 @@ func (deletedBranch *DeletedBranch) LoadUser() {
deletedBranch.DeletedBy = user
}
+// RemoveDeletedBranch removes all deleted branches
+func RemoveDeletedBranch(repoID int64, branch string) error {
+ _, err := x.Where("repo_id=? AND name=?", repoID, branch).Delete(new(DeletedBranch))
+ return err
+}
+
// RemoveOldDeletedBranches removes old deleted branches
func RemoveOldDeletedBranches(ctx context.Context) {
// Nothing to do for shutdown or terminate
diff --git a/modules/repofiles/update.go b/modules/repofiles/update.go
index c97d3d46e4..19c3d5b51c 100644
--- a/modules/repofiles/update.go
+++ b/modules/repofiles/update.go
@@ -520,6 +520,12 @@ func PushUpdates(repo *models.Repository, optsList []*PushUpdateOptions) error {
}
}
+ if opts.NewCommitID != git.EmptySHA {
+ if err = models.RemoveDeletedBranch(repo.ID, opts.Branch); err != nil {
+ log.Error("models.RemoveDeletedBranch %s/%s failed: %v", repo.ID, opts.Branch, err)
+ }
+ }
+
log.Trace("TriggerTask '%s/%s' by %s", repo.Name, opts.Branch, pusher.Name)
go pull_service.AddTestPullRequestTask(pusher, repo.ID, opts.Branch, true)