Changed signature of env.UpdateWorkingRoot

This commit is contained in:
Zach Musgrave
2021-06-21 09:28:45 -07:00
parent af8d109474
commit 5535387c94
10 changed files with 40 additions and 40 deletions
@@ -45,7 +45,10 @@ func (a StageAll) CommandString() string { return "stage_all" }
// Exec executes a StageAll command on a test dolt environment.
func (a StageAll) Exec(t *testing.T, dEnv *env.DoltEnv) error {
return actions.StageAllTables(context.Background(), dEnv.DbData())
workingRoot, err := dEnv.WorkingRoot(context.Background())
require.NoError(t, err)
return actions.StageAllTables(context.Background(), workingRoot, dEnv.DbData())
}
type CommitStaged struct {
@@ -57,6 +60,9 @@ func (c CommitStaged) CommandString() string { return fmt.Sprintf("commit_staged
// Exec executes a CommitStaged command on a test dolt environment.
func (c CommitStaged) Exec(t *testing.T, dEnv *env.DoltEnv) error {
workingRoot, err := dEnv.WorkingRoot(context.Background())
require.NoError(t, err)
name, email, err := actions.GetNameAndEmail(dEnv.Config)
if err != nil {
@@ -65,7 +71,7 @@ func (c CommitStaged) Exec(t *testing.T, dEnv *env.DoltEnv) error {
dbData := dEnv.DbData()
_, err = actions.CommitStaged(context.Background(), dbData, actions.CommitStagedProps{
_, err = actions.CommitStaged(context.Background(), workingRoot, dbData, actions.CommitStagedProps{
Message: c.Message,
Date: time.Now(),
AllowEmpty: false,
@@ -86,7 +92,10 @@ func (c CommitAll) CommandString() string { return fmt.Sprintf("commit: %s", c.M
// Exec executes a CommitAll command on a test dolt environment.
func (c CommitAll) Exec(t *testing.T, dEnv *env.DoltEnv) error {
err := actions.StageAllTables(context.Background(), dEnv.DbData())
workingRoot, err := dEnv.WorkingRoot(context.Background())
require.NoError(t, err)
err = actions.StageAllTables(context.Background(), workingRoot, dEnv.DbData())
require.NoError(t, err)
name, email, err := actions.GetNameAndEmail(dEnv.Config)
@@ -97,7 +106,7 @@ func (c CommitAll) Exec(t *testing.T, dEnv *env.DoltEnv) error {
dbData := dEnv.DbData()
_, err = actions.CommitStaged(context.Background(), dbData, actions.CommitStagedProps{
_, err = actions.CommitStaged(context.Background(), workingRoot, dbData, actions.CommitStagedProps{
Message: c.Message,
Date: time.Now(),
AllowEmpty: false,
@@ -126,7 +135,7 @@ func (r ResetHard) Exec(t *testing.T, dEnv *env.DoltEnv) error {
return err
}
_, err = dEnv.UpdateStagedRoot(context.Background(), headRoot)
err = dEnv.UpdateStagedRoot(context.Background(), headRoot)
if err != nil {
return err
}
@@ -225,7 +234,10 @@ func (m Merge) Exec(t *testing.T, dEnv *env.DoltEnv) error {
assert.NoError(t, err)
assert.NotEqual(t, h1, h2)
tblNames, _, err := env.MergeWouldStompChanges(context.Background(), cm2, dEnv.DbData())
workingRoot, err := dEnv.WorkingRoot(context.Background())
require.NoError(t, err)
tblNames, _, err := env.MergeWouldStompChanges(context.Background(), workingRoot, cm2, dEnv.DbData())
if err != nil {
return err
}
@@ -282,7 +294,7 @@ func (m Merge) Exec(t *testing.T, dEnv *env.DoltEnv) error {
return err
}
_, err = dEnv.UpdateStagedRoot(context.Background(), mergedRoot)
err = dEnv.UpdateStagedRoot(context.Background(), mergedRoot)
if err != nil {
return err
}
+2 -4
View File
@@ -114,9 +114,7 @@ func checkoutTables(ctx context.Context, dbData env.DbData, roots map[doltdb.Roo
}
// update the working root with currRoot
_, err := env.UpdateWorkingRoot(ctx, dbData.Ddb, dbData.Rsw, currRoot)
return err
return env.UpdateWorkingRoot(ctx, dbData.Rsw, currRoot)
}
func checkoutDocs(ctx context.Context, dbData env.DbData, roots map[doltdb.RootType]*doltdb.RootValue, docs doltdocs.Docs) error {
@@ -134,7 +132,7 @@ func checkoutDocs(ctx context.Context, dbData env.DbData, roots map[doltdb.RootT
docs = updatedDocs
}
_, err := env.UpdateWorkingRoot(ctx, dbData.Ddb, dbData.Rsw, currRoot)
err := env.UpdateWorkingRoot(ctx, dbData.Rsw, currRoot)
if err != nil {
return err
}
+1 -3
View File
@@ -150,13 +150,11 @@ func CommitStaged(ctx context.Context, workingRoot *doltdb.RootValue, dbData env
}
workingRoot, err = workingRoot.UpdateSuperSchemasFromOther(ctx, stagedTblNames, srt)
if err != nil {
return "", err
}
_, err = env.UpdateWorkingRoot(ctx, ddb, rsw, workingRoot)
err = env.UpdateWorkingRoot(ctx, rsw, workingRoot)
if err != nil {
return "", err
}
+2 -3
View File
@@ -83,8 +83,7 @@ func resetHardTables(ctx context.Context, dbData env.DbData, cSpecStr string, wo
}
}
_, err = env.UpdateWorkingRoot(ctx, ddb, rsw, newWkRoot)
err = env.UpdateWorkingRoot(ctx, rsw, newWkRoot)
if err != nil {
return nil, err
}
@@ -268,7 +267,7 @@ func resetDocs(ctx context.Context, dbData env.DbData, workingRoot, headRoot, st
return nil, err
}
_, err = env.UpdateWorkingRoot(ctx, dbData.Ddb, dbData.Rsw, workingRoot)
err = env.UpdateWorkingRoot(ctx, dbData.Rsw, workingRoot)
if err != nil {
return nil, err
}
+1 -1
View File
@@ -109,7 +109,7 @@ func stageTables(ctx context.Context, db *doltdb.DoltDB, rsw env.RepoStateWriter
return err
}
if _, err := env.UpdateWorkingRoot(ctx, db, rsw, working); err == nil {
if err = env.UpdateWorkingRoot(ctx, rsw, working); err == nil {
if sh, err := env.UpdateStagedRoot(ctx, db, rsw, staged); err == nil {
err = rsw.SetStagedHash(ctx, sh)
+2 -4
View File
@@ -49,8 +49,7 @@ func ResetWorkingDocsToStagedDocs(
if err != nil {
return err
}
_, err = UpdateWorkingRoot(ctx, ddb, rsw, newWrkRoot)
return err
return UpdateWorkingRoot(ctx, rsw, newWrkRoot)
}
if stgDocsFound {
@@ -58,8 +57,7 @@ func ResetWorkingDocsToStagedDocs(
if err != nil {
return err
}
_, err = UpdateWorkingRoot(ctx, ddb, rsw, newWrkRoot)
return err
return UpdateWorkingRoot(ctx, rsw, newWrkRoot)
}
return nil
}
+5 -9
View File
@@ -203,20 +203,15 @@ func (rs *RepoState) GetMergeCommit() string {
}
// Updates the working root.
func UpdateWorkingRoot(ctx context.Context, ddb *doltdb.DoltDB, rsw RepoStateWriter, newRoot *doltdb.RootValue) (hash.Hash, error) {
func UpdateWorkingRoot(ctx context.Context, rsw RepoStateWriter, newRoot *doltdb.RootValue) error {
//logrus.Infof("Updating working root with value %s", newRoot.DebugString(ctx, true))
h, err := ddb.WriteRootValue(ctx, newRoot)
err := rsw.UpdateWorkingRoot(ctx, newRoot)
if err != nil {
return hash.Hash{}, doltdb.ErrNomsIO
return ErrStateUpdate
}
err = rsw.UpdateWorkingRoot(ctx, newRoot)
if err != nil {
return hash.Hash{}, ErrStateUpdate
}
return h, nil
return nil
}
// Returns the head root.
@@ -265,6 +260,7 @@ func UpdateStagedRootWithVErr(ddb *doltdb.DoltDB, rsw RepoStateWriter, updatedRo
return nil
}
// TODO: this needs to be a function in the merge package, not repo state
func MergeWouldStompChanges(ctx context.Context, workingRoot *doltdb.RootValue, mergeCommit *doltdb.Commit, dbData DbData) ([]string, map[string]hash.Hash, error) {
headRoot, err := HeadRoot(ctx, dbData.Ddb, dbData.Rsr)
+2 -6
View File
@@ -184,17 +184,13 @@ func rebaseRefs(ctx context.Context, dbData env.DbData, replay ReplayCommitFn, n
return err
}
// TODO: this should be a single update to repo state, not two
_, err = env.UpdateStagedRoot(ctx, ddb, rsw, r)
if err != nil {
return err
}
_, err = env.UpdateWorkingRoot(ctx, ddb, rsw, r)
if err != nil {
return err
}
return err
return env.UpdateWorkingRoot(ctx, rsw, r)
}
func rebase(ctx context.Context, ddb *doltdb.DoltDB, replay ReplayCommitFn, nerf NeedsRebaseFn, origins ...*doltdb.Commit) ([]*doltdb.Commit, error) {
@@ -325,7 +325,8 @@ func mergeRootToWorking(
}
}
workingHash, err := env.UpdateWorkingRoot(ctx, dbData.Ddb, dbData.Rsw, workingRoot)
// TODO: this should only update the session working root
err = env.UpdateWorkingRoot(ctx, dbData.Rsw, workingRoot)
if err != nil {
return err
}
@@ -341,7 +342,9 @@ func mergeRootToWorking(
return err
}
return ctx.SetSessionVariable(ctx, sqle.WorkingKey(dbName), workingHash.String())
// TODO: set the session root directly
// return ctx.SetSessionVariable(ctx, sqle.WorkingKey(dbName), workingHash.String())
return nil
}
func checkForConflicts(tblToStats map[string]*merge.MergeStats) bool {
+1 -1
View File
@@ -1588,7 +1588,7 @@ func testSelectDiffQuery(t *testing.T, test SelectTest) {
root, err := cm.GetRootValue()
require.NoError(t, err)
_, err = dEnv.UpdateStagedRoot(ctx, root)
err = dEnv.UpdateStagedRoot(ctx, root)
require.NoError(t, err)
err = dEnv.UpdateWorkingRoot(ctx, root)