Skip to content

Commit 88b2258

Browse files
ashmckenziePatrick BajaoGitLab Renovate Bot
authored and
GitLab
committed
Merge branch 'renovate/github.com-charmbracelet-git-lfs-transfer-digest' into 'main'
Update github.com/charmbracelet/git-lfs-transfer digest to bacbfdb See merge request https://gitlab.com/gitlab-org/gitlab-shell/-/merge_requests/1101 Merged-by: Ash McKenzie <[email protected]> Approved-by: Ash McKenzie <[email protected]> Reviewed-by: Patrick Bajao <[email protected]> Reviewed-by: Ash McKenzie <[email protected]> Co-authored-by: Patrick Bajao <[email protected]> Co-authored-by: GitLab Renovate Bot <[email protected]>
2 parents 63477e6 + 324797e commit 88b2258

File tree

4 files changed

+13
-76
lines changed

4 files changed

+13
-76
lines changed

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ go 1.21
55
toolchain go1.21.9
66

77
require (
8-
github.com/charmbracelet/git-lfs-transfer v0.1.1-0.20240605133614-0ffd62e22fe2
8+
github.com/charmbracelet/git-lfs-transfer v0.1.1-0.20240708204110-bacbfdb68d92
99
github.com/git-lfs/pktline v0.0.0-20230103162542-ca444d533ef1
1010
github.com/golang-jwt/jwt/v5 v5.2.1
1111
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,8 @@ github.com/census-instrumentation/opencensus-proto v0.4.1 h1:iKLQ0xPNFxR/2hzXZMr
8484
github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw=
8585
github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
8686
github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
87-
github.com/charmbracelet/git-lfs-transfer v0.1.1-0.20240605133614-0ffd62e22fe2 h1:dvBTqVlk25zY3E2gjxBKtWMvrdbXtiuLQTIwFM5DhyU=
88-
github.com/charmbracelet/git-lfs-transfer v0.1.1-0.20240605133614-0ffd62e22fe2/go.mod h1:yb9nL4UENLY5Y52J+ftOOrbqxBxjWEeIC05y8mIdEt4=
87+
github.com/charmbracelet/git-lfs-transfer v0.1.1-0.20240708204110-bacbfdb68d92 h1:KtQlsiHfY3K4AoIEh0yUE/wCLHteZ9EzV1hKmx+p7U8=
88+
github.com/charmbracelet/git-lfs-transfer v0.1.1-0.20240708204110-bacbfdb68d92/go.mod h1:UrXUCm3xLQkq15fu7qlXHUMlrhdlXHoi13KH2Dfiits=
8989
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
9090
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
9191
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=

internal/command/lfstransfer/gitlab_backend.go

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import (
99
"errors"
1010
"fmt"
1111
"io"
12-
"io/fs"
1312
"time"
1413

1514
"github.com/charmbracelet/git-lfs-transfer/transfer"
@@ -213,34 +212,24 @@ func (b *GitlabBackend) parseAndCheckBatchArgs(op, oid, id, token string) (href
213212
return idData.Href, idData.Headers, nil
214213
}
215214

216-
type uploadCloser struct{}
217-
218-
func (c *uploadCloser) Close() error {
219-
return nil
220-
}
221-
222-
func (b *GitlabBackend) StartUpload(oid string, r io.Reader, args transfer.Args) (io.Closer, error) {
215+
func (b *GitlabBackend) Upload(oid string, _ int64, r io.Reader, args transfer.Args) error {
223216
href, headers, err := b.parseAndCheckBatchArgs("upload", oid, args["id"], args["token"])
224217
if err != nil {
225218
_, _ = io.Copy(io.Discard, r)
226-
return nil, err
219+
return err
227220
}
228-
return &uploadCloser{}, b.client.PutObject(oid, href, headers, r)
221+
return b.client.PutObject(oid, href, headers, r)
229222
}
230223

231-
func (b *GitlabBackend) FinishUpload(_ io.Closer, _ transfer.Args) error {
232-
return nil
233-
}
234-
235-
func (b *GitlabBackend) Verify(_ string, _ transfer.Args) (transfer.Status, error) {
224+
func (b *GitlabBackend) Verify(_ string, _ int64, _ transfer.Args) (transfer.Status, error) {
236225
// Not needed, all verification is done in upload step.
237226
return transfer.SuccessStatus(), nil
238227
}
239228

240-
func (b *GitlabBackend) Download(oid string, args transfer.Args) (fs.File, error) {
229+
func (b *GitlabBackend) Download(oid string, args transfer.Args) (io.ReadCloser, int64, error) {
241230
href, headers, err := b.parseAndCheckBatchArgs("download", oid, args["id"], args["token"])
242231
if err != nil {
243-
return nil, err
232+
return nil, 0, err
244233
}
245234
return b.client.GetObject(oid, href, headers)
246235
}

internal/gitlabnet/lfstransfer/client.go

Lines changed: 4 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -55,52 +55,6 @@ type BatchResponse struct {
5555
HashAlgorithm string `json:"hash_algo,omitempty"`
5656
}
5757

58-
type downloadedFileInfo struct {
59-
oid string
60-
size int64
61-
reader io.ReadCloser
62-
}
63-
64-
func (i *downloadedFileInfo) Name() string {
65-
return i.oid
66-
}
67-
68-
func (i *downloadedFileInfo) Size() int64 {
69-
return i.size
70-
}
71-
72-
func (i *downloadedFileInfo) Mode() fs.FileMode {
73-
return 0
74-
}
75-
76-
func (i *downloadedFileInfo) ModTime() time.Time {
77-
return time.Time{}
78-
}
79-
80-
func (i *downloadedFileInfo) IsDir() bool {
81-
return false
82-
}
83-
84-
func (i *downloadedFileInfo) Sys() any {
85-
return i.reader
86-
}
87-
88-
type downloadedFile struct {
89-
downloadedFileInfo
90-
}
91-
92-
func (f *downloadedFile) Read(buf []byte) (int, error) {
93-
return f.downloadedFileInfo.reader.Read(buf)
94-
}
95-
96-
func (f *downloadedFile) Close() error {
97-
return f.downloadedFileInfo.reader.Close()
98-
}
99-
100-
func (f *downloadedFile) Stat() (fs.FileInfo, error) {
101-
return &f.downloadedFileInfo, nil
102-
}
103-
10458
type lockRequest struct {
10559
Path string `json:"path"`
10660
Ref *batchRef `json:"ref,omitempty"`
@@ -214,7 +168,7 @@ func (c *Client) Batch(operation string, reqObjects []*BatchObject, ref string,
214168
return response, nil
215169
}
216170

217-
func (c *Client) GetObject(oid, href string, headers map[string]string) (fs.File, error) {
171+
func (c *Client) GetObject(oid, href string, headers map[string]string) (io.ReadCloser, int64, error) {
218172
req, _ := newHTTPRequest(http.MethodGet, href, nil)
219173
for key, value := range headers {
220174
req.Header.Add(key, value)
@@ -225,19 +179,13 @@ func (c *Client) GetObject(oid, href string, headers map[string]string) (fs.File
225179
// discussion on bypassing the linter
226180
res, err := client.Do(req) // nolint:bodyclose
227181
if err != nil {
228-
return nil, err
182+
return nil, 0, err
229183
}
230184
if res.StatusCode < 200 || res.StatusCode > 299 {
231-
return nil, fs.ErrNotExist
185+
return nil, 0, fs.ErrNotExist
232186
}
233187

234-
return &downloadedFile{
235-
downloadedFileInfo{
236-
oid: oid,
237-
size: res.ContentLength,
238-
reader: res.Body,
239-
},
240-
}, nil
188+
return res.Body, res.ContentLength, nil
241189
}
242190

243191
func (c *Client) PutObject(oid, href string, headers map[string]string, r io.Reader) error {

0 commit comments

Comments
 (0)