diff options
| author | 魏曹先生 <1992414357@qq.com> | 2025-09-27 22:46:32 +0800 |
|---|---|---|
| committer | 魏曹先生 <1992414357@qq.com> | 2025-09-27 22:46:32 +0800 |
| commit | e45b3dbb230e67c8ecca7c7ab775aec961f2abe4 (patch) | |
| tree | e60f8c970fa34d8a49baf2cd2b29a4d002f8bd99 | |
| parent | 4951e2e98bab7a2996893939ee77f0279145b556 (diff) | |
docs: 更新README文档,优化结构和内容表述
- 为README.md和README_zh_CN.md添加更清晰的标题描述
- 新增'我的设计哲学'章节,阐述Just Enough理念
- 优化虚拟文件系统和表系统的描述,使表述更准确
- 完善表间文件传递机制的说明
- 改进整体文档结构和语言表达
| -rw-r--r-- | README.md | 44 | ||||
| -rw-r--r-- | README_zh_CN.md | 70 |
2 files changed, 73 insertions, 41 deletions
@@ -1,6 +1,10 @@ -# JustEnoughVCS +# JustEnoughVCS - A Lightweight, Cross-Functional, Binary-Friendly Parallel Version Control System - `JustEnoughVCS` is a lightweight version control system designed for **cross-functional teams**. It moves away from traditional single-directory tree constraints, allowing each member to view and organize files in a way that **best suits their functional role**, enabling teams to focus on content creation itself. It primarily serves collaborative scenarios rich in binary assets, such as **game development** and **multimedia design**. + `JustEnoughVCS` is a lightweight version control system designed for **cross-functional teams**. It allows each member to view and organize files in a file structure **best suited to their functional role**, enabling the team to focus on content creation itself. It primarily serves collaborative scenarios involving large volumes of binary assets, such as **game development** and **multimedia design**. + +## My Design Philosophy - Also My Humble Opinion 😃 + + `JustEnoughVCS` adheres to the "**Just Enough**" philosophy, aiming to achieve collaborative security through architectural design. Centered around a **Virtual File System** and **Sheet Isolation**, it provides each creator with a focused, distraction-free workspace, making collaboration natural and simple. ## Virtual File System @@ -10,40 +14,52 @@ - **Description information for each modification** - **Version number sequence** - **Current latest version** -- **Current file holder (the member with editing permissions)** +- **Current file holder (the member with edit permissions)** ### Features -- **Traceable History**: Easily view the history of any version and support rollbacks. -- **Conflict-Free Collaboration**: Strictly adheres to the **"acquire before edit"** principle. Files are **visible** to everyone but **writable** only by the holder, preventing conflicts. -- **Pre-Acquisition Validation**: Before acquiring a file, the local file's hash value and version number are strictly validated to ensure editing begins from the latest version. +- **Traceable History**: Easily view the history of any version and support rollback. +- **Conflict-Free Collaboration**: Strictly adheres to the **"Acquire First, Edit Later"** principle. Files are **visible** to everyone but **writable** only by the holder, thus preventing conflicts. +- **Pre-Acquisition Validation**: Before acquiring a file, the hash value and version number of the local file are strictly validated to ensure editing starts from the latest version. ## Sheet System - The Sheet System acts as a bridge connecting **virtual files** to a member's **local workspace**. It establishes mappings from `VirtualFileId` to local `SheetPath`, creating customized file views for each functional role (e.g., programmer, artist, designer) or individual member. + The Sheet System acts as a bridge connecting **virtual files** with members' **local workspaces**. It establishes a mapping from `VirtualFileId` to a local `SheetPath`, creating customized file views for each functional role (e.g., programmer, artist, designer) or individual member. -Sheets are divided into two types, differing primarily in permission management: +Sheets are divided into two types, primarily differing in permission management: -| Operation | Reference Struct Sheet | Member Struct Sheet | +- **Reference Sheet**: Stores files commonly used across the team, serving as a shared resource library. All members can acquire files from it into their own sheets. Members can submit their own files to the Reference Sheet; after approval by an administrator, they are added to the Reference Sheet for other members to import into their own sheets. +- **Member Sheet**: A member's own sheet, used to manage personal projects, tasks, and assets. The member has full management rights over the **sheet structure** (such as adding, moving mappings, etc.), but **edit rights** for the file itself remain exclusive to the file's holder, following the "Acquire First, Edit Later" principle. Typically, newly tracked files automatically grant ownership to the tracker. + +| Operation | Reference Sheet | Member Sheet | | :--- | :--- | :--- | | **Check-in** | All Members | All Members | -| **Add Item** | All Members (enters a temporary area) | Owner | +| **Add Item** | All Members (to a staging area) | Owner | | **Move Item** | Administrator | Owner | -| **Break Link** | Administrator | Owner | +| **Unlink** | Administrator | Owner | | **Merge** | Administrator | Owner | | **Clone** | All Members | All Members | +### Transferring Files Between Sheets + + Through the **Import/Export mechanism** provided by the Sheet System, members can copy a file's **mapping relationship** from one sheet to another. This mechanism transfers the file's **mapping relationship** (i.e., the binding of `VirtualFileId` to a path), not the file entity itself. The file entity always resides in the Virtual File System. This mechanism supports cross-sheet collaboration, such as submitting completed work to the team for sharing, or recommending a file to a specific member for further processing. + +- **Export**: A member can directly export files from their own sheet to the target sheet's (e.g., Reference Sheet or another member's sheet) pending import area. +- **Import**: The owner of the target sheet receives a list of files pending import. The owner can review and selectively import them (i.e., add the mapping) into their own sheet. During this process, the file's **edit rights remain unchanged**; it simply makes the file "visible" in the recipient's sheet. + +This mechanism ensures the **controllability** of file transfer, as the recipient has the right to decide whether to accept the imported file mapping, thereby maintaining the cleanliness and order of their respective workspaces. + ## Support -Encounter any issues or have suggestions while using JustEnoughVCS? +Encountered any issues or have suggestions while using JustEnoughVCS? -- Please submit them to the https://github.com/JustEnoughVCS/VersionControl/issues page, and we will address your feedback promptly. +- Please submit them to the https://github.com/JustEnoughVCS/VersionControl/issues page, and we will promptly address your feedback. ## License This project is licensed under the **MIT License**. -For the complete license terms, please see the ./LICENSE-MIT.md file in the root directory of the project. +For the complete license terms, please refer to the ./LICENSE-MIT.md file in the project root directory. --- diff --git a/README_zh_CN.md b/README_zh_CN.md index 1a283f7..1fc3907 100644 --- a/README_zh_CN.md +++ b/README_zh_CN.md @@ -1,50 +1,66 @@ -# JustEnoughVCS +# JustEnoughVCS - 轻量、跨职能、二进制友好的并行版本控制系统 - `JustEnoughVCS` 是一款为 **跨职能团队** 打造的轻量级版本控制系统。它不再使用传统的单一目录树约束,而是允许各成员以 **最适合自身职能的方式** 查看和组织文件,从而让团队能专注于内容创作本身,主要服务于 **游戏开发**、**多媒体设计** 等二进制资产繁多的协作场景。 + `JustEnoughVCS` 是一个为**跨职能团队**设计的轻量级版本控制系统。它允许每个成员以**最适合其职能角色**的文件结构查看和组织文件,使团队能够专注于内容创作本身。它主要服务于大量二进制资产的协作场景,如**游戏开发**和**多媒体设计**。 + +## 我的设计哲学 - 也是我的拙见 😃 + + `JustEnoughVCS` 遵循"**Just Enough**"的理念,旨在通过架构设计来实现协作安全。它以**虚拟文件系统**和**表隔离**为核心,为每个创作者提供专注、无干扰的工作空间,让协作变得自然且简单。 ## 虚拟文件系统 (Virtual File System) - 虚拟文件系统是 `JustEnoughVCS` 的基石。每个文件都由一个全局唯一的 `VirtualFileId` 标识,与物理路径解耦。它完整记录了文件的: + 虚拟文件系统是 `JustEnoughVCS` 的基础。每个文件由一个全局唯一的 `VirtualFileId` 标识,与其物理路径解耦。它全面记录: -- **所有历史版本** -- **每次修改的描述信息** -- **版本号序列** -- **当前最新版本** -- **当前文件持有者(拥有编辑权限的成员)** +- **所有历史版本** +- **每次修改的描述信息** +- **版本号序列** +- **当前最新版本** +- **当前文件持有者(拥有编辑权限的成员)** ### 特性 -- **历史可追溯**:轻松查看任何版本的历史记录并支持回滚。 -- **无冲突协作**:严格遵循 **"先持有,后编辑"** 的原则。文件对所有人 **可见**,但仅持有者 **可写**,以避免冲突。 -- **拿取前校验**:拿取文件前会严格校验本地文件的哈希值、版本号,以确保该文件编辑时处于最新版本。 +- **可追溯的历史**:轻松查看任何版本的历史并支持回滚。 +- **无冲突协作**:严格遵守 **"先获取,后编辑"** 原则。文件对所有人**可见**但仅对持有者**可写**,从而防止冲突。 +- **获取前验证**:在获取文件之前,本地文件的哈希值和版本号会被严格验证,以确保编辑从最新版本开始。 + +## 表系统 (Sheet System) + + 表系统充当连接**虚拟文件**与成员**本地工作区**的桥梁。它建立从 `VirtualFileId` 到本地 `SheetPath` 的映射,为每个职能角色(例如,程序员、艺术家、设计师)或个体成员创建定制化的文件视图。 + +表分为两种类型,主要区别在于权限管理: + +- **参照表 \(Reference Sheet\)**:存储团队间通用的文件,作为共享资源库。所有成员都可以从中获取文件到自己的表中。成员可以将自己的文件提交到参照表,经管理员审核同意后,即可加入参照表中供其他成员导入到自己的表。 +- **成员表 \(Member Sheet\)**:成员自身的表,用来管理个人的工程、项目和素材。成员拥有对**表结构**的完全管理权(如添加、移动映射关系等),但对文件本身的**编辑权**仍由该文件的持有者独占,遵循"先获取,后编辑"的原则。通常,新追踪的文件会自动将其所有权赋予追踪者。 + +| 操作 | 参照表 | 成员表 | +| :--- | :--- | :--- | +| **签入** | 所有成员 | 所有成员 | +| **添加项** | 所有成员(进入临时区域) | 所有者 | +| **移动项** | 管理员 | 所有者 | +| **断开链接** | 管理员 | 所有者 | +| **合并** | 管理员 | 所有者 | +| **克隆** | 所有成员 | 所有成员 | -## 结构表系统 (Sheet System) +### 表间传递文件 - 结构表系统是连接 **虚拟文件** 与成员 **本地工作区** 的桥梁。它通过建立 `VirtualFileId` 到本地 `SheetPath` 的映射,为每个职能角色(如程序、美术、策划)或成员定制专属的文件视图。 + 通过表系统提供的 **Import/Export 机制**,成员可以将文件的**映射关系**从一个表传复制到另一个表。此机制传递的是文件的**映射关系**(即 `VirtualFileId` 与路径的绑定),而非文件实体本身。文件实体始终存储在虚拟文件系统中。此机制支持跨表协作,例如将完成的工作成果提交给团队共享,或将文件推荐给特定成员进行后续处理。 -结构表分为两种类型,主要在权限管理上有所区别: +- **Export(导出)**:成员可以将自己表中的文件直接导出至目标表(如参照表或其他成员的表)的待导入区。 +- **Import(导入)**:目标表的所有者会收到待导入文件的列表。所有者可以查看并选择性地将其导入(即添加映射)到自己的表中。在此过程中,文件的**编辑权保持不变**,仅仅是让文件在接收方的表中"可见"。 -| 操作 | 参照结构表 (Reference Struct Sheet) | 成员结构表 (Member Struct Sheet) | -| ----------------------- | ----------------------------------- | -------------------------------- | -| **签入** (Check-in) | 所有成员 | 所有成员 | -| **增加项** (Add Item) | 所有成员(进入临时区域) | 所属者 | -| **移动项** (Move Item) | 管理员 | 所属者 | -| **断裂项** (Break Link) | 管理员 | 所属者 | -| **合入** (Merge) | 管理员 | 所属者 | -| **克隆** (Clone) | 所有成员 | 所有成员 | +这种机制确保了文件传递的**可控性**,接收方有权决定是否接受导入文件映射,从而维持了各自工作区的整洁与秩序。 ## 支持 -在使用过程中遇到任何问题或有建议? +在使用 JustEnoughVCS 时遇到任何问题或有建议? -- 请提交至 GitHub Issues 页面,我们会及时处理您的反馈。 +- 请将其提交到 https://github.com/JustEnoughVCS/VersionControl/issues 页面,我们将及时处理您的反馈。 ## 许可证 本项目采用 **MIT 许可证**。 -完整的许可证条款请参阅项目根目录下的 LICENSE-MIT.md 文件。 +有关完整的许可证条款,请参阅项目根目录中的 ./LICENSE-MIT.md 文件。 ------- +--- -最后,感谢您对 `JustEnoughVCS` 的关注! +最后,感谢您对 `JustEnoughVCS` 的关注!🎉 |
