Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

return commit hash for dolt_merge() when --no-ff is not specified #6281

Merged
merged 31 commits into from
Jul 10, 2023
Merged
Show file tree
Hide file tree
Changes from 20 commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
b2369e4
return commit
Jul 5, 2023
737e526
Merge branch 'main' into james/merge1
Jul 5, 2023
1d492de
return commit on normal merges
Jul 5, 2023
135c024
[ga-format-pr] Run go/utils/repofmt/format_repo.sh and go/Godeps/upda…
jcor11599 Jul 5, 2023
d4da758
use dolt commit type
Jul 5, 2023
b3ec98b
[ga-format-pr] Run go/utils/repofmt/format_repo.sh and go/Godeps/upda…
jcor11599 Jul 5, 2023
06499f7
missed some skips
Jul 5, 2023
e8b4fa1
Merge branch 'james/merge1' of https://github.com/dolthub/dolt into j…
Jul 5, 2023
cdf87cf
[ga-format-pr] Run go/utils/repofmt/format_repo.sh and go/Godeps/upda…
jcor11599 Jul 6, 2023
7a55b04
missed one
Jul 6, 2023
18302b4
Merge branch 'james/merge1' of https://github.com/dolthub/dolt into j…
Jul 6, 2023
d1820fb
also return hash on fastforward merge
Jul 6, 2023
e15a695
???
Jul 6, 2023
e8397d2
[ga-format-pr] Run go/utils/repofmt/format_repo.sh and go/Godeps/upda…
jcor11599 Jul 6, 2023
45d8e66
hopefully all correct now
Jul 6, 2023
b983bd8
Merge branch 'james/merge1' of https://github.com/dolthub/dolt into j…
Jul 6, 2023
3fff703
merge with main
Jul 6, 2023
c8b8a33
[ga-format-pr] Run go/utils/repofmt/format_repo.sh and go/Godeps/upda…
jcor11599 Jul 6, 2023
daa8689
more
Jul 6, 2023
8579a51
prevent panics
Jul 6, 2023
6bfba3e
skipping redundant test
Jul 6, 2023
ef6afec
please be right
Jul 6, 2023
ff345e5
ff returns hash
Jul 7, 2023
aa567ea
fixing integration tests
Jul 7, 2023
cdf61e1
more queries
Jul 7, 2023
add822e
[ga-format-pr] Run go/utils/repofmt/format_repo.sh and go/Godeps/upda…
jcor11599 Jul 7, 2023
c8be060
rewrite using custom validator
Jul 7, 2023
aafeeaa
bump
Jul 7, 2023
e2e6250
[ga-format-pr] Run go/utils/repofmt/format_repo.sh and go/Godeps/upda…
jcor11599 Jul 7, 2023
3219644
bump
Jul 7, 2023
c8811ca
merge with main
Jul 10, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion go/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ require (
github.com/cespare/xxhash v1.1.0
github.com/creasty/defaults v1.6.0
github.com/dolthub/flatbuffers/v23 v23.3.3-dh.2
github.com/dolthub/go-mysql-server v0.16.1-0.20230705230615-51a311d1ea04
github.com/dolthub/go-mysql-server v0.16.1-0.20230706185656-b7dc43978c87
github.com/dolthub/swiss v0.1.0
github.com/goccy/go-json v0.10.2
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510
Expand Down
4 changes: 2 additions & 2 deletions go/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -168,8 +168,8 @@ github.com/dolthub/fslock v0.0.3 h1:iLMpUIvJKMKm92+N1fmHVdxJP5NdyDK5bK7z7Ba2s2U=
github.com/dolthub/fslock v0.0.3/go.mod h1:QWql+P17oAAMLnL4HGB5tiovtDuAjdDTPbuqx7bYfa0=
github.com/dolthub/go-icu-regex v0.0.0-20230524105445-af7e7991c97e h1:kPsT4a47cw1+y/N5SSCkma7FhAPw7KeGmD6c9PBZW9Y=
github.com/dolthub/go-icu-regex v0.0.0-20230524105445-af7e7991c97e/go.mod h1:KPUcpx070QOfJK1gNe0zx4pA5sicIK1GMikIGLKC168=
github.com/dolthub/go-mysql-server v0.16.1-0.20230705230615-51a311d1ea04 h1:Gos2SQQbDNNZNDVMoP1DsMJ+GCYD6ZF9u0iUtvBRdIM=
github.com/dolthub/go-mysql-server v0.16.1-0.20230705230615-51a311d1ea04/go.mod h1:ANNYjFKs4Ysh0e2r3Yi87QND7swUZsyk5vLuq5LpbHQ=
github.com/dolthub/go-mysql-server v0.16.1-0.20230706185656-b7dc43978c87 h1:BaGJ/ocV3ShoXGVQ74/TRBuh4dFtie+LYUFx0DOeR58=
github.com/dolthub/go-mysql-server v0.16.1-0.20230706185656-b7dc43978c87/go.mod h1:ANNYjFKs4Ysh0e2r3Yi87QND7swUZsyk5vLuq5LpbHQ=
github.com/dolthub/ishell v0.0.0-20221214210346-d7db0b066488 h1:0HHu0GWJH0N6a6keStrHhUAK5/o9LVfkh44pvsV4514=
github.com/dolthub/ishell v0.0.0-20221214210346-d7db0b066488/go.mod h1:ehexgi1mPxRTk0Mok/pADALuHbvATulTh6gzr7NzZto=
github.com/dolthub/jsonpath v0.0.2-0.20230525180605-8dc13778fd72 h1:NfWmngMi1CYUWU4Ix8wM+USEhjc+mhPlT9JUR/anvbQ=
Expand Down
12 changes: 10 additions & 2 deletions go/libraries/doltcore/sqle/dprocedures/dolt_merge.go
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,10 @@ func doDoltMerge(ctx *sql.Context, args []string) (string, int, int, error) {
return "", noConflictsOrViolations, threeWayMerge, err
}

if apr.NArg() < 1 {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

prevents panic caused by branchName := apr.Arg(0) when running query call dolt_merge()

return "", noConflictsOrViolations, threeWayMerge, errors.New("error: Please specify a branch to merge")
}

if apr.ContainsAll(cli.SquashParam, cli.NoFFParam) {
return "", noConflictsOrViolations, threeWayMerge, fmt.Errorf("error: Flags '--%s' and '--%s' cannot be used together.\n", cli.SquashParam, cli.NoFFParam)
}
Expand Down Expand Up @@ -214,6 +218,9 @@ func performMerge(ctx *sql.Context, sess *dsess.DoltSession, roots doltdb.Roots,
}

ws, err = executeFFMerge(ctx, dbName, spec.Squash, ws, dbData, spec.MergeC)
if h, cerr := spec.MergeC.HashOf(); cerr == nil {
return ws, h.String(), noConflictsOrViolations, fastForwardMerge, err
}
return ws, "", noConflictsOrViolations, fastForwardMerge, err
}

Expand Down Expand Up @@ -245,15 +252,16 @@ func performMerge(ctx *sql.Context, sess *dsess.DoltSession, roots doltdb.Roots,
return ws, "", noConflictsOrViolations, threeWayMerge, err
}

var commit string
if !noCommit {
author := fmt.Sprintf("%s <%s>", spec.Name, spec.Email)
commit, _, err := doDoltCommit(ctx, []string{"-m", msg, "--author", author})
commit, _, err = doDoltCommit(ctx, []string{"-m", msg, "--author", author})
if err != nil {
return ws, commit, noConflictsOrViolations, threeWayMerge, fmt.Errorf("dolt_commit failed")
}
}

return ws, "", noConflictsOrViolations, threeWayMerge, nil
return ws, commit, noConflictsOrViolations, threeWayMerge, nil
}

func abortMerge(ctx *sql.Context, workingSet *doltdb.WorkingSet, roots doltdb.Roots) (*doltdb.WorkingSet, error) {
Expand Down
90 changes: 45 additions & 45 deletions go/libraries/doltcore/sqle/enginetest/dolt_queries.go
Original file line number Diff line number Diff line change
Expand Up @@ -3599,12 +3599,12 @@ var DoltTagTestScripts = []queries.ScriptTest{
Expected: []sql.Row{{types.OkResult{RowsAffected: 2}}},
},
{
Query: "CALL DOLT_COMMIT('-am','made changes in other')",
SkipResultsCheck: true,
Query: "CALL DOLT_COMMIT('-am','made changes in other')",
Expected: []sql.Row{{doltCommit}},
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is so awesome to see us able to remove so many SkipResultsChecks! 🙏 Great work!

},
{
Query: "CALL DOLT_MERGE('v1')",
Expected: []sql.Row{{"", 0, 0}},
Expected: []sql.Row{{doltCommit, 0, 0}},
},
{
Query: "SELECT * FROM test",
Expand Down Expand Up @@ -3715,8 +3715,8 @@ var DoltAutoIncrementTests = []queries.ScriptTest{
Expected: []sql.Row{{types.OkResult{RowsAffected: 2, InsertID: 1}}},
},
{
Query: "call dolt_commit('-am', 'two values on main')",
SkipResultsCheck: true,
Query: "call dolt_commit('-am', 'two values on main')",
Expected: []sql.Row{{doltCommit}},
},
{
Query: "call dolt_checkout('branch1')",
Expand All @@ -3734,8 +3734,8 @@ var DoltAutoIncrementTests = []queries.ScriptTest{
},
},
{
Query: "call dolt_commit('-am', 'two values on branch1')",
SkipResultsCheck: true,
Query: "call dolt_commit('-am', 'two values on branch1')",
Expected: []sql.Row{{doltCommit}},
},
{
Query: "call dolt_checkout('branch2')",
Expand Down Expand Up @@ -3966,8 +3966,8 @@ var DoltCherryPickTests = []queries.ScriptTest{
},
Assertions: []queries.ScriptTestAssertion{
{
Query: "CALL dolt_merge('--no-ff', 'branch1');",
SkipResultsCheck: true, // TODO: how do i predict the hash
Query: "CALL dolt_merge('--no-ff', 'branch1');",
Expected: []sql.Row{{doltCommit, 0, 0}},
},
{
Query: "CALL dolt_cherry_pick('HEAD');",
Expand Down Expand Up @@ -4040,16 +4040,16 @@ var DoltCherryPickTests = []queries.ScriptTest{
Expected: []sql.Row{},
},
{
Query: "call dolt_cherry_pick(@commit2);",
SkipResultsCheck: true,
Query: "call dolt_cherry_pick(@commit2);",
Expected: []sql.Row{{doltCommit, 0, 0, 0}},
},
{
Query: "SELECT * FROM t;",
Expected: []sql.Row{{2, "two"}},
},
{
Query: "call dolt_cherry_pick(@commit1);",
SkipResultsCheck: true,
Query: "call dolt_cherry_pick(@commit1);",
Expected: []sql.Row{{doltCommit, 0, 0, 0}},
},
{
Query: "SELECT * FROM t order by pk;",
Expand All @@ -4074,8 +4074,8 @@ var DoltCherryPickTests = []queries.ScriptTest{
Expected: []sql.Row{},
},
{
Query: "CALL DOLT_CHERRY_PICK('branch1');",
SkipResultsCheck: true,
Query: "CALL DOLT_CHERRY_PICK('branch1');",
Expected: []sql.Row{{doltCommit, 0, 0, 0}},
},
{
Query: "SELECT * FROM keyless;",
Expand All @@ -4099,8 +4099,8 @@ var DoltCherryPickTests = []queries.ScriptTest{
Expected: []sql.Row{{"myview"}},
},
{
Query: "call dolt_cherry_pick(@commit1);",
SkipResultsCheck: true,
Query: "call dolt_cherry_pick(@commit1);",
Expected: []sql.Row{{doltCommit, 0, 0, 0}},
},
{
Query: "SHOW TABLES;",
Expand Down Expand Up @@ -4130,8 +4130,8 @@ var DoltCherryPickTests = []queries.ScriptTest{
Expected: []sql.Row{{"myview"}, {"dropme"}},
},
{
Query: "call dolt_cherry_pick(@commit1);",
SkipResultsCheck: true,
Query: "call dolt_cherry_pick(@commit1);",
Expected: []sql.Row{{doltCommit, 0, 0, 0}},
},
{
Query: "SHOW TABLES;",
Expand All @@ -4152,8 +4152,8 @@ var DoltCherryPickTests = []queries.ScriptTest{
},
Assertions: []queries.ScriptTestAssertion{
{
Query: "call dolt_cherry_pick(@commit1);",
SkipResultsCheck: true,
Query: "call dolt_cherry_pick(@commit1);",
Expected: []sql.Row{{doltCommit, 0, 0, 0}},
},
{
Query: "SHOW CREATE TABLE test;",
Expand All @@ -4174,8 +4174,8 @@ var DoltCherryPickTests = []queries.ScriptTest{
},
Assertions: []queries.ScriptTestAssertion{
{
Query: "call dolt_cherry_pick(@commit1);",
SkipResultsCheck: true,
Query: "call dolt_cherry_pick(@commit1);",
Expected: []sql.Row{{doltCommit, 0, 0, 0}},
},
{
Query: "SHOW CREATE TABLE test;",
Expand All @@ -4196,8 +4196,8 @@ var DoltCherryPickTests = []queries.ScriptTest{
},
Assertions: []queries.ScriptTestAssertion{
{
Query: "call dolt_cherry_pick(@commit1);",
SkipResultsCheck: true,
Query: "call dolt_cherry_pick(@commit1);",
Expected: []sql.Row{{doltCommit, 0, 0, 0}},
},
{
Query: "SHOW CREATE TABLE test;",
Expand Down Expand Up @@ -4427,8 +4427,8 @@ var DoltCommitTests = []queries.ScriptTest{
Expected: []sql.Row{{types.NewOkResult(1)}},
},
{
Query: "CALL DOLT_COMMIT('-ALL', '-m', 'update table terminator');",
SkipResultsCheck: true,
Query: "CALL DOLT_COMMIT('-ALL', '-m', 'update table terminator');",
Expected: []sql.Row{{doltCommit}},
},
// check last commit
{
Expand All @@ -4437,8 +4437,8 @@ var DoltCommitTests = []queries.ScriptTest{
},
// amend last commit
{
Query: "CALL DOLT_COMMIT('-amend', '-m', 'update table t');",
SkipResultsCheck: true,
Query: "CALL DOLT_COMMIT('-amend', '-m', 'update table t');",
Expected: []sql.Row{{doltCommit}},
},
// check amended commit
{
Expand All @@ -4463,8 +4463,8 @@ var DoltCommitTests = []queries.ScriptTest{
Expected: []sql.Row{{types.NewOkResult(0)}},
},
{
Query: "CALL DOLT_COMMIT('-Am', 'drop table t');",
SkipResultsCheck: true,
Query: "CALL DOLT_COMMIT('-Am', 'drop table t');",
Expected: []sql.Row{{doltCommit}},
},
{
Query: "CALL DOLT_RESET('--hard');",
Expand All @@ -4480,13 +4480,13 @@ var DoltCommitTests = []queries.ScriptTest{
Expected: []sql.Row{{types.NewOkResult(0)}},
},
{
Query: "CALL DOLT_COMMIT('-Am', 'add table 21');",
SkipResultsCheck: true,
Query: "CALL DOLT_COMMIT('-Am', 'add table 21');",
Expected: []sql.Row{{doltCommit}},
},
// amend last commit
{
Query: "CALL DOLT_COMMIT('-amend', '-m', 'add table 2');",
SkipResultsCheck: true,
Query: "CALL DOLT_COMMIT('-amend', '-m', 'add table 2');",
Expected: []sql.Row{{doltCommit}},
},
// check amended commit
{
Expand Down Expand Up @@ -4548,8 +4548,8 @@ var DoltCommitTests = []queries.ScriptTest{
Expected: []sql.Row{{2, nil, "added"}},
},
{
Query: "CALL DOLT_COMMIT('--amend', '-m', 'amended commit message');",
SkipResultsCheck: true, // commit hash is being returned, skip check
Query: "CALL DOLT_COMMIT('--amend', '-m', 'amended commit message');",
Expected: []sql.Row{{doltCommit}},
},
{
Query: "SELECT message FROM dolt_log;",
Expand Down Expand Up @@ -4617,8 +4617,8 @@ var DoltCommitTests = []queries.ScriptTest{
Expected: []sql.Row{{0}},
},
{
Query: "CALL DOLT_COMMIT('--amend');",
SkipResultsCheck: true, // commit hash is being returned, skip check
Query: "CALL DOLT_COMMIT('--amend');",
Expected: []sql.Row{{doltCommit}},
},
{
Query: "SELECT message FROM dolt_log;",
Expand Down Expand Up @@ -4655,8 +4655,8 @@ var DoltCommitTests = []queries.ScriptTest{
Expected: []sql.Row{{0}},
},
{
Query: "CALL DOLT_COMMIT('--amend', '-m', 'amended commit with added changes');",
SkipResultsCheck: true, // commit hash is being returned, skip check
Query: "CALL DOLT_COMMIT('--amend', '-m', 'amended commit with added changes');",
Expected: []sql.Row{{doltCommit}},
},
{
Query: "SELECT COUNT(*) FROM dolt_status;",
Expand Down Expand Up @@ -4721,8 +4721,8 @@ var DoltCommitTests = []queries.ScriptTest{
Expected: []sql.Row{{0}},
},
{
Query: "CALL DOLT_COMMIT('--amend', '-m', 'amended commit with removed changes');",
SkipResultsCheck: true, // commit hash is being returned, skip check
Query: "CALL DOLT_COMMIT('--amend', '-m', 'amended commit with removed changes');",
Expected: []sql.Row{{doltCommit}},
},
{
Query: "SELECT * FROM test;",
Expand Down Expand Up @@ -4780,8 +4780,8 @@ var DoltCommitTests = []queries.ScriptTest{
},
Assertions: []queries.ScriptTestAssertion{
{
Query: "CALL DOLT_COMMIT('--amend', '-m', 'new merge');",
SkipResultsCheck: true, // commit hash is being returned, skip check
Query: "CALL DOLT_COMMIT('--amend', '-m', 'new merge');",
Expected: []sql.Row{{doltCommit}},
},
{
Query: "SELECT message FROM dolt_log;",
Expand Down
Loading