Default dependencies to HTTPS with opt-in SSH fallback

This commit is contained in:
TheBadRoger committed 2026-10-15 21:12:36 +08:00
1 parent 959dba988c
commit 1e535c83eb
8 files changed
+49 -55

No files matched your search

+2 -2
View File
@@ -8,8 +8,8 @@
数据库服务与 Rust 驱动作为两个独立 Git 子模块维护。主仓库只提交远程地址、固定版本指针、初始化/构建配置,不提交依赖源码或编译产物。Cargo 引用初始化后的驱动路径,数据库从外部 checkout 构建并暂存到被忽略的 Docker 构建目录。
子模块登记来源使用 `ChuGit:/srv/git/ChuSQL.git` 与 `ChuGit:/srv/git/ChuSQL-RustDriver.git`。服务器初始化由 `deploy` 用户执行,优先连接 `ssh://git@localhost/srv/git/…`;本机不可用或不含固定提交时,改用对应 GitHub 仓库。支持空仓库留下的半初始化状态恢复。回退仍保持固定提交,不自动跟随远程最新分支。
子模块默认使用 `https://github.com/TheBadRoger/ChuSQL.git` 与 `https://github.com/TheBadRoger/ChuSQL-RustDriver.git`,公开依赖不要求读者配置服务器 SSH 密钥。已授权设备可用 `--prefer-ssh` 先访问 `ChuGit:/srv/git/…`,失败后回退 GitHub HTTPS;空仓库留下的半初始化状态也可恢复。回退仍保持固定提交,不自动跟随远程最新分支。
可选项目级 `insteadOf` 只将自建服务器别名转到 localhost SSH,不重写 GitHub,以保证回退独立。开发者可以显式使用已有文件路径;文件协议只对这种开发覆盖参数的一次命令启用。Docker 构建前通过同一个初始化脚本取依赖,Git 密钥不进入构建上下文。
服务器上的 Git 地址覆盖、操作系统账户和 SSH 配置由服务器自己管理,项目不配置 localhost 映射或固定 deploy 用户。Docker 构建前使用同一初始化脚本,继承运行者现有 Git 配置。开发者仍可以显式使用已有文件路径,此时文件协议仅对该次初始化命令启用,不设置全局许可。
已有驱动副本从主仓库的历史树中删除。外部项目仍各自保留完整历史;主仓库不能替代依赖仓库分发其对象,源仓库必须先具有固定指针所引用的提交。