From ee7d6afe1a64173e263eb009cd61653be2b09990 Mon Sep 17 00:00:00 2001 From: Stephanie You Date: Mon, 6 Feb 2023 09:52:17 -0800 Subject: [PATCH] update dolt_fetch stored procedure to make --force default --- .../doltcore/sqle/dprocedures/dolt_fetch.go | 4 +-- integration-tests/bats/sql-fetch.bats | 33 ++----------------- 2 files changed, 3 insertions(+), 34 deletions(-) diff --git a/go/libraries/doltcore/sqle/dprocedures/dolt_fetch.go b/go/libraries/doltcore/sqle/dprocedures/dolt_fetch.go index a47a9176fa..24ff6a4e6f 100644 --- a/go/libraries/doltcore/sqle/dprocedures/dolt_fetch.go +++ b/go/libraries/doltcore/sqle/dprocedures/dolt_fetch.go @@ -62,14 +62,12 @@ func doDoltFetch(ctx *sql.Context, args []string) (int, error) { return cmdFailure, err } - updateMode := ref.UpdateMode{Force: apr.Contains(cli.ForceFlag)} - srcDB, err := sess.Provider().GetRemoteDB(ctx, dbData.Ddb.ValueReadWriter().Format(), remote, false) if err != nil { return 1, err } - err = actions.FetchRefSpecs(ctx, dbData, srcDB, refSpecs, remote, updateMode, runProgFuncs, stopProgFuncs) + err = actions.FetchRefSpecs(ctx, dbData, srcDB, refSpecs, remote, ref.UpdateMode{Force: true}, runProgFuncs, stopProgFuncs) if err != nil { return cmdFailure, fmt.Errorf("fetch failed: %w", err) } diff --git a/integration-tests/bats/sql-fetch.bats b/integration-tests/bats/sql-fetch.bats index 08efa9433b..d2f177d363 100644 --- a/integration-tests/bats/sql-fetch.bats +++ b/integration-tests/bats/sql-fetch.bats @@ -357,46 +357,17 @@ teardown() { [[ "$output" =~ "t1" ]] || false } -@test "sql-fetch: dolt_fetch --force" { +@test "sql-fetch: dolt_fetch with forced commit" { # reverse information flow for force fetch repo1->rem1->repo2 cd repo2 dolt sql -q "create table t2 (a int)" dolt add . dolt commit -am "forced commit" dolt push --force origin main - cd ../repo1 + run dolt sql -q "call dolt_fetch('origin', 'main')" - [ "$status" -eq 1 ] - [[ "$output" =~ "fetch failed: can't fast forward merge" ]] || false - - dolt sql -q "call dolt_fetch('--force', 'origin', 'main')" - - dolt diff main origin/main - run dolt diff main origin/main [ "$status" -eq 0 ] - [[ "$output" =~ "deleted table" ]] || false - - run dolt sql -q "show tables as of hashof('origin/main')" -r csv - [ "${#lines[@]}" -eq 2 ] - [[ "$output" =~ "Table" ]] || false - [[ "$output" =~ "t2" ]] || false -} - -@test "sql-fetch: CALL dolt_fetch --force" { - # reverse information flow for force fetch repo1->rem1->repo2 - cd repo2 - dolt sql -q "create table t2 (a int)" - dolt add . - dolt commit -am "forced commit" - dolt push --force origin main - - cd ../repo1 - run dolt sql -q "CALL dolt_fetch('origin', 'main')" - [ "$status" -eq 1 ] - [[ "$output" =~ "fetch failed: can't fast forward merge" ]] || false - - dolt sql -q "CALL dolt_fetch('--force', 'origin', 'main')" run dolt diff main origin/main [ "$status" -eq 0 ]