func StartCommit(apiClient pfs.APIClient, repoName string, parentCommit string) (*pfs.Commit, error) { commit, err := apiClient.StartCommit( context.Background(), &pfs.StartCommitRequest{ Parent: NewCommit(repoName, parentCommit), }, ) if err != nil { return nil, err } return commit, nil }
// TODO: handle directories in filePathToContent func setupPFSInputCommit(t *testing.T, pfsAPIClient pfs.APIClient, repo *pfs.Repo, filePathToContent map[string][]byte) *pfs.Commit { commit, err := pfsAPIClient.StartCommit( context.Background(), &pfs.StartCommitRequest{ Parent: &pfs.Commit{ Repo: repo, Id: pfs.InitialCommitID, }, }, ) require.NoError(t, err) for filePath, content := range filePathToContent { apiPutFileClient, err := pfsAPIClient.PutFile( context.Background(), ) require.NoError(t, err) err = apiPutFileClient.Send( &pfs.PutFileRequest{ File: &pfs.File{ Commit: commit, Path: filePath, }, FileType: pfs.FileType_FILE_TYPE_REGULAR, Value: content, }, ) require.NoError(t, err) _, _ = apiPutFileClient.CloseAndRecv() } _, err = pfsAPIClient.FinishCommit( context.Background(), &pfs.FinishCommitRequest{ Commit: commit, }, ) require.NoError(t, err) return commit }