summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2025-09-27 22:48:27 +0800
committerGitHub <noreply@github.com>2025-09-27 22:48:27 +0800
commitac2cf637d5e96b9d08a20b1b62cf7ffd42ac5676 (patch)
treee60f8c970fa34d8a49baf2cd2b29a4d002f8bd99
parentcf85a0a75b6b6b201b4ee0906bb756b19f957af8 (diff)
parente45b3dbb230e67c8ecca7c7ab775aec961f2abe4 (diff)
Merge pull request #11 from JustEnoughVCS/jvcs_dev
docs: 更新README文档,优化结构和内容表述
-rw-r--r--README.md44
-rw-r--r--README_zh_CN.md70
2 files changed, 73 insertions, 41 deletions
diff --git a/README.md b/README.md
index 29535c0..0cd6ff7 100644
--- a/README.md
+++ b/README.md
@@ -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` 的关注!🎉