From e45b3dbb230e67c8ecca7c7ab775aec961f2abe4 Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Sat, 27 Sep 2025 22:46:32 +0800 Subject: docs: 更新README文档,优化结构和内容表述 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 为README.md和README_zh_CN.md添加更清晰的标题描述 - 新增'我的设计哲学'章节,阐述Just Enough理念 - 优化虚拟文件系统和表系统的描述,使表述更准确 - 完善表间文件传递机制的说明 - 改进整体文档结构和语言表达 --- README.md | 44 ++++++++++++++++++++++++++++++-------------- 1 file changed, 30 insertions(+), 14 deletions(-) (limited to 'README.md') 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. --- -- cgit