func GetFile(apiClient pfs.ApiClient, repositoryName string, commitID string, path string, offset int64, size int64, writer io.Writer) error { apiGetFileClient, err := apiClient.GetFile( context.Background(), &pfs.GetFileRequest{ Path: &pfs.Path{ Commit: &pfs.Commit{ Repository: &pfs.Repository{ Name: repositoryName, }, Id: commitID, }, Path: path, }, OffsetBytes: offset, SizeBytes: size, }, ) if err != nil { return err } if err := protoutil.WriteFromStreamingBytesClient(apiGetFileClient, writer); err != nil { return err } return nil }
func PullDiff(internalAPIClient pfs.InternalApiClient, repositoryName string, commitID string, shard uint64, writer io.Writer) error { apiPullDiffClient, err := internalAPIClient.PullDiff( context.Background(), &pfs.PullDiffRequest{ Commit: &pfs.Commit{ Repository: &pfs.Repository{ Name: repositoryName, }, Id: commitID, }, Shard: shard, }, ) if err != nil { return err } if err := protoutil.WriteFromStreamingBytesClient(apiPullDiffClient, writer); err != nil { return err } return nil }
func GetFile(apiClient pfs.ApiClient, repositoryName string, commitID string, path string) (io.Reader, error) { apiGetFileClient, err := apiClient.GetFile( context.Background(), &pfs.GetFileRequest{ Path: &pfs.Path{ Commit: &pfs.Commit{ Repository: &pfs.Repository{ Name: repositoryName, }, Id: commitID, }, Path: path, }, }, ) if err != nil { return nil, err } buffer := bytes.NewBuffer(nil) if err := protoutil.WriteFromStreamingBytesClient(apiGetFileClient, buffer); err != nil { return nil, err } return buffer, nil }