13 lines
1.0 KiB
Markdown
13 lines
1.0 KiB
Markdown
# ADR-002:外部项目使用子模块配置
|
|||
|
|
|
||
|
|
## 状态
|
||
|
|
|
||
|
|
已接受,2026-10-15。替代早期复制数据库驱动源码的做法。
|
||
|
|
|
||
|
|
## 决定
|
||
|
|
|
||
|
|
数据库服务与 Rust 驱动作为两个独立 Git 子模块维护。主仓库只提交远程地址、固定版本指针、初始化/构建配置,不提交依赖源码或编译产物。Cargo 引用初始化后的驱动路径,数据库从外部 checkout 构建并暂存到被忽略的 Docker 构建目录。
|
||
|
|
|
||
|
|
正式来源使用 `ChuGit:/srv/git/ChuSQL.git` 与 `ChuGit:/srv/git/ChuSQL-RustDriver.git`。在服务器可读本地 bare 仓库时,项目级 `insteadOf` 优先使用 `file:///srv/git/…`;开发者可显式指定已有本地来源。文件协议只在初始化这两个明确子模块的命令中启用,不设置全局许可,不递归获取未知子模块。
|
||
|
|
|
||
|
|
已有驱动副本从主仓库的历史树中删除。外部项目仍各自保留完整历史;主仓库不能替代依赖仓库分发其对象,源仓库必须先具有固定指针所引用的提交。
|