]> source.dussan.org Git - gitea.git/commitdiff
Add `TAGS` to `TEST_TAGS` and fix bugs found with gogit (#31791) (#31795)
authorGiteabot <teabot@gitea.io>
Wed, 7 Aug 2024 15:58:09 +0000 (23:58 +0800)
committerGitHub <noreply@github.com>
Wed, 7 Aug 2024 15:58:09 +0000 (15:58 +0000)
Backport #31791 by @wolfogre

Found at
https://github.com/go-gitea/gitea/pull/31790#issuecomment-2272898915

`unit-tests-gogit` never work since the workflow set `TAGS` with
`gogit`, but the Makefile use `TEST_TAGS`.

<img width="690" alt="image"
src="https://github.com/user-attachments/assets/fb68df49-952b-42b9-8438-44200cefff43">

![image](https://github.com/user-attachments/assets/78ff88c7-3b5f-4d50-9c58-e607bf7b1a71)

This PR adds the values of `TAGS` to `TEST_TAGS`, ensuring that setting
`TAGS` is always acceptable and avoiding confusion about which one
should be set.

After this PR:

<img width="714" alt="image"
src="https://github.com/user-attachments/assets/54cc7f38-d95b-4dbc-a87c-daba63462b86">

Co-authored-by: Jason Song <i@wolfogre.com>
Makefile
modules/git/blame_sha256_test.go
modules/git/repo_tree_gogit.go

index 1eb34c4cf3de1bf26e63d5d49010ba2b045f4693..7eefea49dae183fd2caafc77f84d1b6a89521823 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -136,7 +136,7 @@ TAGS ?=
 TAGS_SPLIT := $(subst $(COMMA), ,$(TAGS))
 TAGS_EVIDENCE := $(MAKE_EVIDENCE_DIR)/tags
 
-TEST_TAGS ?= sqlite sqlite_unlock_notify
+TEST_TAGS ?= $(TAGS_SPLIT) sqlite sqlite_unlock_notify
 
 TAR_EXCLUDES := .git data indexers queues log node_modules $(EXECUTABLE) $(FOMANTIC_WORK_DIR)/node_modules $(DIST) $(MAKE_EVIDENCE_DIR) $(AIR_TMP_DIR) $(GO_LICENSE_TMP_DIR)
 
index 8cd345714f30ba332ec773a527c26af1610ea31f..da451f22fc5e185311a0f64e90f15051df96a288 100644 (file)
@@ -14,6 +14,11 @@ func TestReadingBlameOutputSha256(t *testing.T) {
        ctx, cancel := context.WithCancel(context.Background())
        defer cancel()
 
+       if isGogit {
+               t.Skip("Skipping test since gogit does not support sha256")
+               return
+       }
+
        t.Run("Without .git-blame-ignore-revs", func(t *testing.T) {
                repo, err := OpenRepository(ctx, "./tests/repos/repo5_pulls_sha256")
                assert.NoError(t, err)
index dc97ce13441c92daefc6f1c55227500c99e4e529..651794a5aafbe07b227028bc8c066ff3285188f2 100644 (file)
@@ -6,11 +6,20 @@
 
 package git
 
-import "github.com/go-git/go-git/v5/plumbing"
+import (
+       "errors"
+
+       "github.com/go-git/go-git/v5/plumbing"
+)
 
 func (repo *Repository) getTree(id ObjectID) (*Tree, error) {
        gogitTree, err := repo.gogitRepo.TreeObject(plumbing.Hash(id.RawValue()))
        if err != nil {
+               if errors.Is(err, plumbing.ErrObjectNotFound) {
+                       return nil, ErrNotExist{
+                               ID: id.String(),
+                       }
+               }
                return nil, err
        }