summaryrefslogtreecommitdiffstats
path: root/services/issue
diff options
context:
space:
mode:
authorzeripath <art27@cantab.net>2022-01-18 23:26:42 +0000
committerGitHub <noreply@github.com>2022-01-19 00:26:42 +0100
commit4a20eadfd7ecc1e71a02f5c96d6f92d9818b0a28 (patch)
tree70036ae56df85fdbd9c0010573fd2b1f0eae212d /services/issue
parent84f8ef3df6316cb8fe8048556288452c07da4d7b (diff)
downloadgitea-4a20eadfd7ecc1e71a02f5c96d6f92d9818b0a28.tar.gz
gitea-4a20eadfd7ecc1e71a02f5c96d6f92d9818b0a28.zip
Restore propagation of ErrDependenciesLeft (#18325)
Unfortunately #17643 prevented all propagation of ErrDependenciesLeft meaning that dependency errors that prevent closing of issues get swallowed. This PR restores propagation of the error but instead swallows the error in the places where it needs to be swallowed. Fix #18223 Signed-off-by: Andrew Thornton <art27@cantab.net>
Diffstat (limited to 'services/issue')
-rw-r--r--services/issue/status.go8
1 files changed, 4 insertions, 4 deletions
diff --git a/services/issue/status.go b/services/issue/status.go
index 5b8d21274d..64fbccd26a 100644
--- a/services/issue/status.go
+++ b/services/issue/status.go
@@ -8,6 +8,7 @@ import (
"code.gitea.io/gitea/models"
"code.gitea.io/gitea/models/db"
user_model "code.gitea.io/gitea/models/user"
+ "code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/notification"
)
@@ -15,10 +16,9 @@ import (
func ChangeStatus(issue *models.Issue, doer *user_model.User, closed bool) error {
comment, err := issue.ChangeStatus(doer, closed)
if err != nil {
- // Don't return an error when dependencies are open as this would let the push fail
- if models.IsErrDependenciesLeft(err) {
- if closed {
- return models.FinishIssueStopwatchIfPossible(db.DefaultContext, doer, issue)
+ if models.IsErrDependenciesLeft(err) && closed {
+ if err := models.FinishIssueStopwatchIfPossible(db.DefaultContext, doer, issue); err != nil {
+ log.Error("Unable to stop stopwatch for issue[%d]#%d: %v", issue.ID, issue.Index, err)
}
}
return err