Skip to content

Add git+* dbfactory remotes with required --git-cache-dir, --ref support, and integration tests#10483

Merged
coffeegoddd merged 20 commits intomainfrom
db/dbfactory
Feb 11, 2026
Merged

Add git+* dbfactory remotes with required --git-cache-dir, --ref support, and integration tests#10483
coffeegoddd merged 20 commits intomainfrom
db/dbfactory

Conversation

@coffeegoddd
Copy link
Copy Markdown
Contributor

Implements git-backed Dolt remotes via dbfactory (git+file/http/https/ssh), requiring --git-cache-dir and supporting --ref, with end-to-end BATS + Go multi-client coverage for push/clone/pull and empty-remote bootstrap.

@coffeegoddd
Copy link
Copy Markdown
Contributor Author

@coffeegoddd DOLT

read_tests from_latency to_latency percent_change
covering_index_scan 0.55 0.55 0.0
groupby_scan 10.09 9.91 -1.78
index_join 1.86 1.82 -2.15
index_join_scan 1.34 1.34 0.0
index_scan 21.89 21.89 0.0
oltp_point_select 0.27 0.27 0.0
oltp_read_only 5.28 5.28 0.0
select_random_points 0.54 0.54 0.0
select_random_ranges 0.56 0.55 -1.79
table_scan 22.28 22.28 0.0
types_table_scan 65.65 66.84 1.81
write_tests from_latency to_latency percent_change
oltp_delete_insert 6.32 6.32 0.0
oltp_insert 3.07 3.07 0.0
oltp_read_write 11.45 11.45 0.0
oltp_update_index 3.25 3.25 0.0
oltp_update_non_index 3.13 3.13 0.0
oltp_write_only 6.09 6.09 0.0
types_delete_insert 6.91 6.79 -1.74

@coffeegoddd
Copy link
Copy Markdown
Contributor Author

@coffeegoddd DOLT

read_tests from_latency to_latency percent_change
covering_index_scan 0.55 0.55 0.0
groupby_scan 10.09 9.91 -1.78
index_join 1.82 1.82 0.0
index_join_scan 1.34 1.34 0.0
index_scan 22.28 22.28 0.0
oltp_point_select 0.27 0.27 0.0
oltp_read_only 5.37 5.37 0.0
select_random_points 0.54 0.54 0.0
select_random_ranges 0.55 0.56 1.82
table_scan 22.28 22.28 0.0
types_table_scan 66.84 68.05 1.81
write_tests from_latency to_latency percent_change
oltp_delete_insert 6.32 6.32 0.0
oltp_insert 3.07 3.07 0.0
oltp_read_write 11.45 11.45 0.0
oltp_update_index 3.25 3.25 0.0
oltp_update_non_index 3.19 3.13 -1.88
oltp_write_only 6.09 6.09 0.0
types_delete_insert 6.91 6.91 0.0

@coffeegoddd
Copy link
Copy Markdown
Contributor Author

@coffeegoddd DOLT

read_tests from_latency to_latency percent_change
covering_index_scan 0.55 0.55 0.0
groupby_scan 10.09 9.91 -1.78
index_join 1.82 1.86 2.2
index_join_scan 1.34 1.34 0.0
index_scan 22.28 21.89 -1.75
oltp_point_select 0.27 0.28 3.7
oltp_read_only 5.28 5.37 1.7
select_random_points 0.54 0.54 0.0
select_random_ranges 0.55 0.55 0.0
table_scan 22.28 22.28 0.0
types_table_scan 66.84 66.84 0.0
write_tests from_latency to_latency percent_change
oltp_delete_insert 6.32 6.32 0.0
oltp_insert 3.07 3.07 0.0
oltp_read_write 11.45 11.45 0.0
oltp_update_index 3.19 3.19 0.0
oltp_update_non_index 3.13 3.13 0.0
oltp_write_only 6.09 6.09 0.0
types_delete_insert 6.79 6.91 1.77

@coffeegoddd
Copy link
Copy Markdown
Contributor Author

@coffeegoddd DOLT

read_tests from_latency to_latency percent_change
covering_index_scan 0.55 0.55 0.0
groupby_scan 9.91 9.91 0.0
index_join 1.82 1.86 2.2
index_join_scan 1.34 1.32 -1.49
index_scan 21.89 21.5 -1.78
oltp_point_select 0.27 0.27 0.0
oltp_read_only 5.37 5.28 -1.68
select_random_points 0.54 0.54 0.0
select_random_ranges 0.56 0.55 -1.79
table_scan 21.89 21.89 0.0
types_table_scan 65.65 66.84 1.81
write_tests from_latency to_latency percent_change
oltp_delete_insert 6.32 6.32 0.0
oltp_insert 3.07 3.07 0.0
oltp_read_write 11.45 11.45 0.0
oltp_update_index 3.19 3.19 0.0
oltp_update_non_index 3.13 3.13 0.0
oltp_write_only 6.09 6.09 0.0
types_delete_insert 6.79 6.79 0.0

@coffeegoddd
Copy link
Copy Markdown
Contributor Author

@coffeegoddd DOLT

test_name from_latency_p95 to_latency_p95 percent_change
tpcc-scale-factor-1 63.32 63.32 0.0
test_name from_server_name from_server_version from_tps to_server_name to_server_version to_tps percent_change
tpcc-scale-factor-1 dolt 86ca603 36.71 dolt 05a68ac 36.56 -0.41

@coffeegoddd
Copy link
Copy Markdown
Contributor Author

@coffeegoddd DOLT

test_name from_latency_p95 to_latency_p95 percent_change
tpcc-scale-factor-1 62.19 61.08 -1.78
test_name from_server_name from_server_version from_tps to_server_name to_server_version to_tps percent_change
tpcc-scale-factor-1 dolt 86ca603 37.57 dolt 5a012bf 37.52 -0.13

@coffeegoddd
Copy link
Copy Markdown
Contributor Author

@coffeegoddd DOLT

read_tests from_latency to_latency percent_change
covering_index_scan 0.55 0.55 0.0
groupby_scan 9.91 9.91 0.0
index_join 1.82 1.82 0.0
index_join_scan 1.34 1.34 0.0
index_scan 21.89 21.89 0.0
oltp_point_select 0.27 0.27 0.0
oltp_read_only 5.28 5.37 1.7
select_random_points 0.53 0.53 0.0
select_random_ranges 0.55 0.55 0.0
table_scan 22.28 21.89 -1.75
types_table_scan 66.84 66.84 0.0
write_tests from_latency to_latency percent_change
oltp_delete_insert 6.32 6.32 0.0
oltp_insert 3.07 3.07 0.0
oltp_read_write 11.45 11.45 0.0
oltp_update_index 3.19 3.19 0.0
oltp_update_non_index 3.13 3.13 0.0
oltp_write_only 6.09 6.09 0.0
types_delete_insert 6.91 6.79 -1.74

@coffeegoddd
Copy link
Copy Markdown
Contributor Author

@coffeegoddd DOLT

test_name from_latency_p95 to_latency_p95 percent_change
tpcc-scale-factor-1 62.19 62.19 0.0
test_name from_server_name from_server_version from_tps to_server_name to_server_version to_tps percent_change
tpcc-scale-factor-1 dolt 86ca603 36.82 dolt 76881c2 37.32 1.36

@coffeegoddd
Copy link
Copy Markdown
Contributor Author

@coffeegoddd DOLT

read_tests from_latency to_latency percent_change
covering_index_scan 0.55 0.55 0.0
groupby_scan 10.09 9.91 -1.78
index_join 1.82 1.82 0.0
index_join_scan 1.34 1.34 0.0
index_scan 22.28 21.89 -1.75
oltp_point_select 0.27 0.27 0.0
oltp_read_only 5.37 5.37 0.0
select_random_points 0.54 0.54 0.0
select_random_ranges 0.56 0.56 0.0
table_scan 22.28 21.89 -1.75
types_table_scan 66.84 66.84 0.0
write_tests from_latency to_latency percent_change
oltp_delete_insert 6.32 6.32 0.0
oltp_insert 3.07 3.07 0.0
oltp_read_write 11.45 11.45 0.0
oltp_update_index 3.19 3.19 0.0
oltp_update_non_index 3.13 3.13 0.0
oltp_write_only 6.09 6.09 0.0
types_delete_insert 6.91 6.79 -1.74

@coffeegoddd
Copy link
Copy Markdown
Contributor Author

@coffeegoddd DOLT

test_name from_latency_p95 to_latency_p95 percent_change
tpcc-scale-factor-1 62.19 61.08 -1.78
test_name from_server_name from_server_version from_tps to_server_name to_server_version to_tps percent_change
tpcc-scale-factor-1 dolt 86ca603 36.96 dolt 6432b22 37.42 1.24

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds Git-backed Dolt remotes via dbfactory using git+* URL schemes, wiring support through CLI + SQL procedures and validating behavior with new end-to-end and unit tests.

Changes:

  • Introduce a GitRemoteFactory (git+file/http/https/ssh) with local bare-repo caching and configurable git_ref.
  • Normalize common git remote strings (scp-style, schemeless host/path, .git URLs, local paths) into canonical git+* URLs.
  • Add --git-cache-dir / --ref plumbing across CLI commands + SQL procedures, plus BATS + Go tests for push/clone/pull and empty-remote bootstrap.

Reviewed changes

Copilot reviewed 18 out of 18 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
integration-tests/bats/sql-remotes-git.bats SQL procedure integration tests for --ref behavior on git remotes.
integration-tests/bats/remotes-git.bats End-to-end git remote smoke tests (push/clone/pull) + bootstrap + default cache-dir behavior.
go/libraries/doltcore/sqle/dprocedures/dolt_remote.go Adds git remote parameter support to dolt_remote('add', ...).
go/libraries/doltcore/sqle/dprocedures/dolt_clone.go Adds git remote parameter support + URL normalization fallback for SQL dolt_clone.
go/libraries/doltcore/sqle/dprocedures/dolt_backup.go Adds git remote parameter handling to backup URL parsing.
go/libraries/doltcore/env/remotes.go Plumbs remote name into git-remote params; normalizes git URLs inside GetAbsRemoteUrl.
go/libraries/doltcore/env/git_remote_url.go New URL normalization helper for recognizing/rewriting git remote strings.
go/libraries/doltcore/env/git_remote_url_test.go Unit tests for NormalizeGitRemoteUrl.
go/libraries/doltcore/dbfactory/git_remote.go New GitRemoteFactory implementation (cache repo + git remote config + NBS Git store).
go/libraries/doltcore/dbfactory/git_remote_test.go Go tests validating cache dir usage and multi-client roundtrip.
go/libraries/doltcore/dbfactory/factory.go Registers git+* schemes in the dbfactory map.
go/cmd/dolt/commands/remote.go Adds --git-cache-dir / --ref parsing and scheme gating for CLI dolt remote.
go/cmd/dolt/commands/remote_test.go Tests for git remote flag parsing.
go/cmd/dolt/commands/read_tables.go Adds git flags to arg parser and URL normalization fallback for read-tables.
go/cmd/dolt/commands/read_tables_test.go Verifies read-tables parser accepts git flags.
go/cmd/dolt/commands/clone.go Adds URL normalization fallback during clone arg parsing.
go/cmd/dolt/commands/clone_test.go Tests clone directory inference behavior.
go/cmd/dolt/cli/arg_parser_helpers.go Adds git flags to clone/remote/backup arg parsers.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +76 to +81
if ref != "" {
if !isGitRemote {
return nil, errhand.BuildDError("error: --ref is only supported for git remotes").Build()
}
remoteParms[dbfactory.GitRefParam] = ref
}
Copy link

Copilot AI Feb 11, 2026

Choose a reason for hiding this comment

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

The --ref flag handling treats an empty value as "not provided" (no error). In other interfaces (e.g. dolt remote add), an empty --ref is rejected. Consider making this consistent by erroring if --ref is present but empty, instead of silently ignoring it.

Suggested change
if ref != "" {
if !isGitRemote {
return nil, errhand.BuildDError("error: --ref is only supported for git remotes").Build()
}
remoteParms[dbfactory.GitRefParam] = ref
}
if ref == "" {
return nil, errhand.BuildDError("error: --ref cannot be empty").Build()
}
if !isGitRemote {
return nil, errhand.BuildDError("error: --ref is only supported for git remotes").Build()
}
remoteParms[dbfactory.GitRefParam] = ref

Copilot uses AI. Check for mistakes.
}

func looksLikeLocalPath(s string) bool {
return strings.HasPrefix(s, "/") || strings.HasPrefix(s, "./") || strings.HasPrefix(s, "../")
Copy link

Copilot AI Feb 11, 2026

Choose a reason for hiding this comment

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

looksLikeLocalPath() only checks for '/', './', and '../' prefixes. On Windows, absolute paths like "C:\repos\remote.git" (or UNC paths) won't be treated as local paths, so NormalizeGitRemoteUrl will misclassify them as schemeless host/path and return a git+https URL. Consider using filepath.IsAbs / filepath.VolumeName (and UNC checks) to detect Windows absolute paths reliably.

Suggested change
return strings.HasPrefix(s, "/") || strings.HasPrefix(s, "./") || strings.HasPrefix(s, "../")
if s == "" {
return false
}
// Use filepath.IsAbs so that absolute paths are detected according to the
// current OS semantics (e.g. "C:\repo" on Windows, "/repo" on POSIX).
if filepath.IsAbs(s) {
return true
}
// Preserve existing behavior for common relative path prefixes.
if strings.HasPrefix(s, "./") || strings.HasPrefix(s, "../") {
return true
}
// Be robust for UNC-like paths even when running on non-Windows systems.
// UNC paths typically start with "\\" or "//".
if strings.HasPrefix(s, `\\`) || strings.HasPrefix(s, "//") {
return true
}
return false

Copilot uses AI. Check for mistakes.
@coffeegoddd
Copy link
Copy Markdown
Contributor Author

@coffeegoddd DOLT

test_name from_latency_p95 to_latency_p95 percent_change
tpcc-scale-factor-1 61.08 62.19 1.82
test_name from_server_name from_server_version from_tps to_server_name to_server_version to_tps percent_change
tpcc-scale-factor-1 dolt 86ca603 37.38 dolt 815b950 37.31 -0.19

@coffeegoddd
Copy link
Copy Markdown
Contributor Author

@coffeegoddd DOLT

read_tests from_latency to_latency percent_change
covering_index_scan 0.55 0.55 0.0
groupby_scan 10.09 9.91 -1.78
index_join 1.82 1.79 -1.65
index_join_scan 1.34 1.34 0.0
index_scan 21.89 21.89 0.0
oltp_point_select 0.27 0.28 3.7
oltp_read_only 5.28 5.37 1.7
select_random_points 0.54 0.54 0.0
select_random_ranges 0.55 0.55 0.0
table_scan 22.28 21.89 -1.75
types_table_scan 65.65 66.84 1.81
write_tests from_latency to_latency percent_change
oltp_delete_insert 6.32 6.32 0.0
oltp_insert 3.07 3.07 0.0
oltp_read_write 11.45 11.45 0.0
oltp_update_index 3.25 3.19 -1.85
oltp_update_non_index 3.13 3.13 0.0
oltp_write_only 6.09 6.09 0.0
types_delete_insert 6.91 6.79 -1.74

@coffeegoddd
Copy link
Copy Markdown
Contributor Author

@coffeegoddd DOLT

comparing_percentages
100.000000 to 100.000000
version result total
554ef83 ok 5937471
version total_tests
554ef83 5937471
correctness_percentage
100.0

@coffeegoddd
Copy link
Copy Markdown
Contributor Author

@coffeegoddd DOLT

test_name from_latency_p95 to_latency_p95 percent_change
tpcc-scale-factor-1 61.08 61.08 0.0
test_name from_server_name from_server_version from_tps to_server_name to_server_version to_tps percent_change
tpcc-scale-factor-1 dolt 86ca603 37.48 dolt 554ef83 37.41 -0.19

@coffeegoddd
Copy link
Copy Markdown
Contributor Author

@coffeegoddd DOLT

read_tests from_latency to_latency percent_change
covering_index_scan 0.54 0.54 0.0
groupby_scan 9.91 9.91 0.0
index_join 1.82 1.82 0.0
index_join_scan 1.34 1.34 0.0
index_scan 22.28 21.89 -1.75
oltp_point_select 0.28 0.27 -3.57
oltp_read_only 5.28 5.37 1.7
select_random_points 0.53 0.54 1.89
select_random_ranges 0.56 0.55 -1.79
table_scan 22.28 21.89 -1.75
types_table_scan 66.84 65.65 -1.78
write_tests from_latency to_latency percent_change
oltp_delete_insert 6.32 6.32 0.0
oltp_insert 3.07 3.07 0.0
oltp_read_write 11.45 11.45 0.0
oltp_update_index 3.19 3.19 0.0
oltp_update_non_index 3.13 3.13 0.0
oltp_write_only 6.09 6.09 0.0
types_delete_insert 6.79 6.79 0.0

@coffeegoddd
Copy link
Copy Markdown
Contributor Author

@coffeegoddd DOLT

read_tests from_latency to_latency percent_change
covering_index_scan 0.54 0.54 0.0
groupby_scan 10.09 9.91 -1.78
index_join 1.82 1.82 0.0
index_join_scan 1.34 1.34 0.0
index_scan 22.28 21.89 -1.75
oltp_point_select 0.27 0.27 0.0
oltp_read_only 5.28 5.28 0.0
select_random_points 0.54 0.54 0.0
select_random_ranges 0.55 0.55 0.0
table_scan 22.28 21.89 -1.75
types_table_scan 65.65 65.65 0.0
write_tests from_latency to_latency percent_change
oltp_delete_insert 6.32 6.32 0.0
oltp_insert 3.07 3.07 0.0
oltp_read_write 11.45 11.45 0.0
oltp_update_index 3.19 3.19 0.0
oltp_update_non_index 3.13 3.13 0.0
oltp_write_only 6.09 6.09 0.0
types_delete_insert 6.79 6.91 1.77

Copy link
Copy Markdown
Contributor

@reltuk reltuk left a comment

Choose a reason for hiding this comment

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

LGTM. A couple comments on bats test.

I reached out on Discord regarding git remote name and an inconsistency in behavior between multi Dolt repositories using the same remote name and same cache dir vs. a single Dolt repository using multiple remotes with different names and the same remote url. We should sync up on approach there as well.

I'm working on landing updates to lambdabats so it has git available.

@coffeegoddd
Copy link
Copy Markdown
Contributor Author

@coffeegoddd DOLT

test_name from_latency_p95 to_latency_p95 percent_change
tpcc-scale-factor-1 61.08 61.08 0.0
test_name from_server_name from_server_version from_tps to_server_name to_server_version to_tps percent_change
tpcc-scale-factor-1 dolt 86ca603 37.72 dolt 36b1853 37.57 -0.4

@coffeegoddd
Copy link
Copy Markdown
Contributor Author

@coffeegoddd DOLT

comparing_percentages
100.000000 to 100.000000
version result total
ae5544d ok 5937471
version total_tests
ae5544d 5937471
correctness_percentage
100.0

@coffeegoddd
Copy link
Copy Markdown
Contributor Author

@coffeegoddd DOLT

test_name from_latency_p95 to_latency_p95 percent_change
tpcc-scale-factor-1 61.08 61.08 0.0
test_name from_server_name from_server_version from_tps to_server_name to_server_version to_tps percent_change
tpcc-scale-factor-1 dolt 86ca603 37.84 dolt ae5544d 38.19 0.92

@coffeegoddd
Copy link
Copy Markdown
Contributor Author

@coffeegoddd DOLT

read_tests from_latency to_latency percent_change
covering_index_scan 0.55 0.56 1.82
groupby_scan 9.91 9.91 0.0
index_join 1.82 1.86 2.2
index_join_scan 1.34 1.37 2.24
index_scan 22.28 21.89 -1.75
oltp_point_select 0.28 0.27 -3.57
oltp_read_only 5.37 5.37 0.0
select_random_points 0.54 0.54 0.0
select_random_ranges 0.56 0.55 -1.79
table_scan 22.28 21.89 -1.75
types_table_scan 66.84 66.84 0.0
write_tests from_latency to_latency percent_change
oltp_delete_insert 6.32 6.32 0.0
oltp_insert 3.07 3.07 0.0
oltp_read_write 11.45 11.45 0.0
oltp_update_index 3.19 3.19 0.0
oltp_update_non_index 3.13 3.13 0.0
oltp_write_only 6.09 6.09 0.0
types_delete_insert 6.79 6.91 1.77

@coffeegoddd
Copy link
Copy Markdown
Contributor Author

@coffeegoddd DOLT

read_tests from_latency to_latency percent_change
covering_index_scan 0.55 0.56 1.82
groupby_scan 10.09 10.09 0.0
index_join 1.86 1.86 0.0
index_join_scan 1.37 1.37 0.0
index_scan 22.28 22.28 0.0
oltp_point_select 0.27 0.27 0.0
oltp_read_only 5.28 5.37 1.7
select_random_points 0.54 0.54 0.0
select_random_ranges 0.55 0.55 0.0
table_scan 22.28 22.69 1.84
types_table_scan 68.05 68.05 0.0
write_tests from_latency to_latency percent_change
oltp_delete_insert 6.32 6.32 0.0
oltp_insert 3.07 3.07 0.0
oltp_read_write 11.45 11.45 0.0
oltp_update_index 3.19 3.25 1.88
oltp_update_non_index 3.13 3.19 1.92
oltp_write_only 6.09 6.09 0.0
types_delete_insert 6.91 6.91 0.0

@coffeegoddd
Copy link
Copy Markdown
Contributor Author

@coffeegoddd DOLT

comparing_percentages
100.000000 to 100.000000
version result total
ce10f62 ok 5937471
version total_tests
ce10f62 5937471
correctness_percentage
100.0

@coffeegoddd
Copy link
Copy Markdown
Contributor Author

@coffeegoddd DOLT

test_name from_latency_p95 to_latency_p95 percent_change
tpcc-scale-factor-1 61.08 61.08 0.0
test_name from_server_name from_server_version from_tps to_server_name to_server_version to_tps percent_change
tpcc-scale-factor-1 dolt 86ca603 37.83 dolt 027fd3e 37.69 -0.37

@coffeegoddd
Copy link
Copy Markdown
Contributor Author

@coffeegoddd DOLT

test_name from_latency_p95 to_latency_p95 percent_change
tpcc-scale-factor-1 62.19 62.19 0.0
test_name from_server_name from_server_version from_tps to_server_name to_server_version to_tps percent_change
tpcc-scale-factor-1 dolt 86ca603 37.43 dolt ce10f62 36.86 -1.52

@coffeegoddd
Copy link
Copy Markdown
Contributor Author

@coffeegoddd DOLT

read_tests from_latency to_latency percent_change
covering_index_scan 0.55 0.55 0.0
groupby_scan 10.09 9.91 -1.78
index_join 1.82 1.86 2.2
index_join_scan 1.34 1.37 2.24
index_scan 22.28 22.28 0.0
oltp_point_select 0.27 0.28 3.7
oltp_read_only 5.37 5.37 0.0
select_random_points 0.54 0.54 0.0
select_random_ranges 0.55 0.55 0.0
table_scan 22.28 22.28 0.0
types_table_scan 65.65 66.84 1.81
write_tests from_latency to_latency percent_change
oltp_delete_insert 6.32 6.32 0.0
oltp_insert 3.07 3.07 0.0
oltp_read_write 11.45 11.45 0.0
oltp_update_index 3.19 3.19 0.0
oltp_update_non_index 3.13 3.13 0.0
oltp_write_only 6.09 6.09 0.0
types_delete_insert 6.91 6.91 0.0

@github-actions
Copy link
Copy Markdown

This PR is being tested for performance. Please allow ~12 mins for this to complete. If this PR does not result in a performance regression, the performance_approved label will be automatically added to this PR.

@coffeegoddd
Copy link
Copy Markdown
Contributor Author

@coffeegoddd DOLT

comparing_percentages
100.000000 to 100.000000
version result total
3b2ff8c ok 5937471
version total_tests
3b2ff8c 5937471
correctness_percentage
100.0

@coffeegoddd
Copy link
Copy Markdown
Contributor Author

@coffeegoddd DOLT

test_name from_latency_p95 to_latency_p95 percent_change
tpcc-scale-factor-1 62.19 62.19 0.0
test_name from_server_name from_server_version from_tps to_server_name to_server_version to_tps percent_change
tpcc-scale-factor-1 dolt 86ca603 37.28 dolt 3b2ff8c 37.18 -0.27

@coffeegoddd coffeegoddd merged commit 3c2969b into main Feb 11, 2026
28 of 29 checks passed
@coffeegoddd coffeegoddd deleted the db/dbfactory branch February 11, 2026 21:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants