Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> Co-authored-by: Jakub Panek <me@panekj.dev>
This commit is contained in:
@@ -132,23 +132,23 @@ func (c GoGitActionCache) GetTarArchive(ctx context.Context, cacheDir, sha, incl
|
|||||||
|
|
||||||
gitPath := path.Join(c.Path, safeFilename(cacheDir)+".git")
|
gitPath := path.Join(c.Path, safeFilename(cacheDir)+".git")
|
||||||
|
|
||||||
logger.Infof("GoGitActionCache get content %s with sha %s subpath %s at %s", cacheDir, sha, includePrefix, gitPath)
|
logger.Infof("GoGitActionCache get content %s with sha %s subpath '%s' at %s", cacheDir, sha, includePrefix, gitPath)
|
||||||
|
|
||||||
gogitrepo, err := git.PlainOpen(gitPath)
|
gogitrepo, err := git.PlainOpen(gitPath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("GoGitActionCache failed to open bare git %s with sha %s subpath %s at %s: %w", cacheDir, sha, includePrefix, gitPath, err)
|
return nil, fmt.Errorf("GoGitActionCache failed to open bare git %s with sha %s subpath '%s' at %s: %w", cacheDir, sha, includePrefix, gitPath, err)
|
||||||
}
|
}
|
||||||
commit, err := gogitrepo.CommitObject(plumbing.NewHash(sha))
|
commit, err := gogitrepo.CommitObject(plumbing.NewHash(sha))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("GoGitActionCache failed to get commit %s with sha %s subpath %s at %s: %w", cacheDir, sha, includePrefix, gitPath, err)
|
return nil, fmt.Errorf("GoGitActionCache failed to get commit %s with sha %s subpath '%s' at %s: %w", cacheDir, sha, includePrefix, gitPath, err)
|
||||||
}
|
}
|
||||||
t, err := commit.Tree()
|
t, err := commit.Tree()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("GoGitActionCache failed to open git tree %s with sha %s subpath %s at %s: %w", cacheDir, sha, includePrefix, gitPath, err)
|
return nil, fmt.Errorf("GoGitActionCache failed to open git tree %s with sha %s subpath '%s' at %s: %w", cacheDir, sha, includePrefix, gitPath, err)
|
||||||
}
|
}
|
||||||
files, err := commit.Files()
|
files, err := commit.Files()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("GoGitActionCache failed to list files %s with sha %s subpath %s at %s: %w", cacheDir, sha, includePrefix, gitPath, err)
|
return nil, fmt.Errorf("GoGitActionCache failed to list files %s with sha %s subpath '%s' at %s: %w", cacheDir, sha, includePrefix, gitPath, err)
|
||||||
}
|
}
|
||||||
rpipe, wpipe := io.Pipe()
|
rpipe, wpipe := io.Pipe()
|
||||||
// Interrupt io.Copy using ctx
|
// Interrupt io.Copy using ctx
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ func (l *LocalRepositoryCache) GetTarArchive(ctx context.Context, cacheDir, sha,
|
|||||||
logger := common.Logger(ctx)
|
logger := common.Logger(ctx)
|
||||||
// sha is mapped to ref in fetch if there is a local override
|
// sha is mapped to ref in fetch if there is a local override
|
||||||
if dest, ok := l.CacheDirCache[fmt.Sprintf("%s@%s", cacheDir, sha)]; ok {
|
if dest, ok := l.CacheDirCache[fmt.Sprintf("%s@%s", cacheDir, sha)]; ok {
|
||||||
logger.Infof("LocalRepositoryCache read cachedir %s with ref %s and subpath %s from %s", cacheDir, sha, includePrefix, dest)
|
logger.Infof("LocalRepositoryCache read cachedir %s with ref %s and subpath '%s' from %s", cacheDir, sha, includePrefix, dest)
|
||||||
srcPath := filepath.Join(dest, includePrefix)
|
srcPath := filepath.Join(dest, includePrefix)
|
||||||
buf := &bytes.Buffer{}
|
buf := &bytes.Buffer{}
|
||||||
tw := tar.NewWriter(buf)
|
tw := tar.NewWriter(buf)
|
||||||
@@ -95,6 +95,6 @@ func (l *LocalRepositoryCache) GetTarArchive(ctx context.Context, cacheDir, sha,
|
|||||||
}
|
}
|
||||||
return io.NopCloser(buf), nil
|
return io.NopCloser(buf), nil
|
||||||
}
|
}
|
||||||
logger.Infof("LocalRepositoryCache not matched cachedir %s with Ref %s and subpath %s", cacheDir, sha, includePrefix)
|
logger.Infof("LocalRepositoryCache not matched cachedir %s with Ref %s and subpath '%s'", cacheDir, sha, includePrefix)
|
||||||
return l.Parent.GetTarArchive(ctx, cacheDir, sha, includePrefix)
|
return l.Parent.GetTarArchive(ctx, cacheDir, sha, includePrefix)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user