diff options
author | John Cai <johncai86@gmail.com> | 2022-12-22 19:52:53 +0300 |
---|---|---|
committer | John Cai <johncai86@gmail.com> | 2022-12-27 22:07:55 +0300 |
commit | 56bc82642861a5d0232a27a8325da0c9c8fa7f39 (patch) | |
tree | 54b3cc2df5e1d299cd9c26edea37f571ac8a31bf | |
parent | 7b43a8bea3435f6a2208710517ab75bd7f089586 (diff) |
tree write
-rw-r--r-- | internal/git/command_description.go | 3 | ||||
-rw-r--r-- | internal/git/localrepo/tree.go (renamed from internal/git/tree/write.go) | 5 | ||||
-rw-r--r-- | internal/git/localrepo/tree_test.go (renamed from internal/git/tree/write_test.go) | 26 |
3 files changed, 17 insertions, 17 deletions
diff --git a/internal/git/command_description.go b/internal/git/command_description.go index 0ed09e7f9..d35e9f7f3 100644 --- a/internal/git/command_description.go +++ b/internal/git/command_description.go @@ -192,6 +192,9 @@ var commandDescriptions = map[string]commandDescription{ "mktag": { flags: scNoRefUpdates, }, + "mktree": { + flags: scNoRefUpdates, + }, "multi-pack-index": { flags: scNoRefUpdates, }, diff --git a/internal/git/tree/write.go b/internal/git/localrepo/tree.go index 9b21c4662..8506534c0 100644 --- a/internal/git/tree/write.go +++ b/internal/git/localrepo/tree.go @@ -1,4 +1,4 @@ -package tree +package localrepo import ( "bytes" @@ -6,13 +6,12 @@ import ( "fmt" "gitlab.com/gitlab-org/gitaly/v15/internal/git" - "gitlab.com/gitlab-org/gitaly/v15/internal/git/localrepo" "gitlab.com/gitlab-org/gitaly/v15/internal/helper/text" ) // Write writes a new tree object to the given path. This function does not verify whether OIDs // referred to by tree entries actually exist in the repository. -func Write(ctx context.Context, repo *localrepo.Repo, entries []*Entry) (git.ObjectID, error) { +func (r *localrepo) Write(ctx context.Context, entries []*git.TreeEntry) (git.ObjectID, error) { var tree bytes.Buffer for _, entry := range entries { var entryType string diff --git a/internal/git/tree/write_test.go b/internal/git/localrepo/tree_test.go index 268b8e7dc..773aa01cc 100644 --- a/internal/git/tree/write_test.go +++ b/internal/git/localrepo/tree_test.go @@ -1,6 +1,4 @@ -//go:build !gitaly_test_sha256 - -package tree +package localrepo import ( "bytes" @@ -30,7 +28,7 @@ func TestWriteTree(t *testing.T) { blobID, err := repo.WriteBlob(ctx, "file", bytes.NewBufferString("foobar\n")) require.NoError(t, err) - treeID, err := Write(ctx, repo, []*Entry{ + treeID, err := repo.WriteTree(ctx, []*git.TreeEntry{ { ObjectID: blobID, Mode: []byte("100644"), @@ -42,12 +40,12 @@ func TestWriteTree(t *testing.T) { for _, tc := range []struct { desc string - entries []*Entry - expectedEntries []*Entry + entries []*TreeEntry + expectedEntries []*TreeEntry }{ { desc: "entry with blob OID", - entries: []*Entry{ + entries: []*TreeEntry{ { ObjectID: blobID, Mode: []byte("100644"), @@ -55,7 +53,7 @@ func TestWriteTree(t *testing.T) { Type: Blob, }, }, - expectedEntries: []*Entry{ + expectedEntries: []*TreeEntry{ { ObjectID: blobID, Mode: []byte("100644"), @@ -66,7 +64,7 @@ func TestWriteTree(t *testing.T) { }, { desc: "entry with tree OID", - entries: []*Entry{ + entries: []*TreeEntry{ { ObjectID: treeID, Mode: []byte("040000"), @@ -74,7 +72,7 @@ func TestWriteTree(t *testing.T) { Type: Tree, }, }, - expectedEntries: []*Entry{ + expectedEntries: []*TreeEntry{ { ObjectID: blobID, Mode: []byte("100644"), @@ -85,7 +83,7 @@ func TestWriteTree(t *testing.T) { }, { desc: "mixed tree and blob entries", - entries: []*Entry{ + entries: []*TreeEntry{ { ObjectID: treeID, Mode: []byte("040000"), @@ -105,7 +103,7 @@ func TestWriteTree(t *testing.T) { Type: Blob, }, }, - expectedEntries: []*Entry{ + expectedEntries: []*TreeEntry{ { ObjectID: blobID, Mode: []byte("100644"), @@ -128,7 +126,7 @@ func TestWriteTree(t *testing.T) { }, { desc: "two entries with nonexistant objects", - entries: []*Entry{ + entries: []*TreeEntry{ { ObjectID: git.ObjectID(strings.Repeat("1", git.ObjectHashSHA1.Hash().Size()*2)), Mode: []byte("100644"), @@ -155,7 +153,7 @@ func TestWriteTree(t *testing.T) { output := text.ChompBytes(git.Exec(t, cfg, "-C", repoPath, "ls-tree", "-r", string(oid))) if len(output) > 0 { - var actualEntries []*Entry + var actualEntries []*TreeEntry for _, line := range bytes.Split([]byte(output), []byte("\n")) { // Format: <mode> SP <type> SP <object> TAB <file> tabSplit := bytes.Split(line, []byte("\t")) |