多文件结构的集中式版本控制
参考结构表用于锚定文件的权威命名
### 二、串行编辑 `JustEnoughVCS` 采用 **串行编辑模型**,从根本上消除合并冲突。我们的权限原则是:**可见即可读,持有则可写**。 当您持有文件时,您拥有独占的编辑权。其他成员可以看到当前版本,但无法同时编辑。编辑完成后,您提交的新版本立即可供所有人获取。 串行编辑确保只有一个“真相来源”。如果有成员在未持有权限或基于过时版本进行编辑,系统会明确标记这些修改为**无效编辑**,也就是说,它们不会被意外提交或覆盖有效版本。 不过不用担心,在 `JustEnoughVCS` 的前端([命令行、桌面端](#安装))中,提供了清晰可见视图,用于确认文件状态。 ### 三、架构 `JustEnoughVCS` 为集中式版本控制,分为 **服务端** 和 **客户端**,本地工作区仅为用于记录修改和更新的文件拷贝。 **上游库 (Upstream Vault)** 上游库记录了如下信息: 1. 上游库配置信息 2. 成员注册信息及公钥 3. 结构表 1. 当前持有者 2. 映射关系 4. 文件元数据 1. 当前持有者 2. 版本顺序 5. 文件历史版本存储**(全量、未压缩)** **工作区 (Local Workspace)** 工作区记录了如下信息: 1. 工作区配置信息 2. 上游库元数据的本地缓存 3. 结构表的本地缓存:用来对比本地和上游差异 4. 本地结构表:用来分析工作区变化 5. 物理文件Vault 和 Workspace 的关系
## 安装 该仓库为 `JustEnoughVCS` 的核心库,不提供任何交互功能。 请前往对应的仓库以下载或构建 `JustEnoughVCS` 的前端: - [命令行前端](https://github.com/JustEnoughVCS/CommandLine) - [桌面端](https://github.com/JustEnoughVCS/Desktop) **开发中** ## 路线图 - [ ] 核心功能 - [x] 表管理 - [x] 追踪 - [x] 对齐 - [x] 分享 - [x] 参考 - [x] 管理员工具 - [ ] 版本跳转 - [ ] 版本冻结 - [ ] 借用器 - [ ] 命令行 - [ ] 完整核心功能封装 - [x] 帮助 - [x] 补全 - [ ] 内嵌文档 - [ ] JSON 输出 - [ ] 桌面端 - [ ] 完整核心功能封装 - [x] 命令行包装器 - [ ] 主题 - [ ] 2026 计划 - [ ] 桌面端支持 **当前阶段** - [ ] 规范化核心、命令行代码 - [ ] 提高异步、并发支持 - [ ] 存储优化 - [ ] 分布式内容存储、集中式权限管理 ## 支持 在使用 JustEnoughVCS 时遇到任何问题或有建议? - 请将其提交到 https://github.com/JustEnoughVCS/VersionControl/issues 页面,我们将及时处理您的反馈。 ## 许可证 本项目采用 **MIT 许可证**。 有关完整的许可证条款,请参阅项目根目录中的 *./LICENSE-MIT.md* 文件。 --- 最后,感谢您对 `JustEnoughVCS` 的关注! ## 一些碎语 > 为什么要给它命名 `JustEnoughVCS` ? > > 如果你认为它听起来像是 Minecraft 中的 Mod 才会取的名字,那你就猜对了! > > 其实灵感正是来自 `JustEnoughItems` 😄