Revision Control System for Concurrent File History Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current file-revision control systems in file-sharing environments often discard previous revisions when conflicts arise, failing to efficiently manage concurrent modifications and maintain a comprehensive history of file changes.
Innovation Solution
A revision control system that includes a revision engine capable of creating and managing a revision history log, linking new revisions to existing entries, and handling commands like revert, copy, and merge to extend progression paths, while utilizing content and metadata hashes for association and identification.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If a single progression of revisions is maintained with file locking to prevent concurrent access, then conflict resolution is simplified, but collaboration efficiency and user productivity deteriorate
Solution Approach 1:
The revision history is segmented into multiple independent progression paths instead of a single linear sequence. Each user's modifications create their own progression path, allowing concurrent revisions to coexist without conflict. The system divides the revision management into separate branches that can be independently developed and later merged.
Solution Approach 2:
The system transitions from a one-dimensional linear revision sequence to a multi-dimensional revision graph structure. Revisions are organized in multiple dimensions representing different users, time periods, or modification types, enabling concurrent access without conflict while maintaining comprehensive history tracking.
2Loss of substance
If previous revisions are discarded when conflicts arise, then storage space is reduced, but loss of information about file evolution occurs
Solution Approach 1:
Multiple progression paths representing different user revisions are merged into a unified revision graph structure. This combining approach preserves all revision information from different users and time periods while organizing it in a manageable format that optimizes storage through shared common ancestors.
Solution Approach 2:
The revision structure implements a nested hierarchy where common ancestor revisions are shared among multiple progression paths. Inner revisions specific to each user are nested within the shared outer revisions, eliminating redundant storage while maintaining complete evolutionary history.
3Loss of information
If all revisions are retained to maintain complete history, then information completeness is improved, but storage requirements and system complexity increase
Solution Approach 1:
The system discards redundant copies of identical revision content that appear in multiple progression paths and recovers them as shared common ancestors. This selective discarding of duplicates while recovering the essential revision information maintains history completeness while reducing storage requirements.
Solution Approach 2:
The system changes the organizational parameter from storing complete independent copies of each revision to storing shared references to common ancestors. This parameter change in how revisions are structured and referenced reduces complexity while preserving complete historical information.
Data Source
AI summary
There is provided a file revision-control system, method and apparatus configured for storing and managing a revision history log, and for enabling to track and manage, compare and retrieve revisions including, current-revisions stored on a designated reference area, past-revisions stored in a predefined storage area and also past-revisions which were previously on a reference area. According to certain embodiments of the invention, each revision of a file is represented by a revision entry in a revision history log, which can be stored and managed in a designated data-repository. A revision entry stores data corresponding to at least one revision, while the revisions themselves may be stored on a designated data-repository. A progression path refers to one or more revision entries which represent the progression of a file over time. In case that a revision is branched into more than one revisions, each such revision will constitute a different progression path.


