-
Notifications
You must be signed in to change notification settings - Fork 0
Description
JSON files stored on the hard disk of a user computer represent pointers to a node in the version control graph. Therefore, it is possible to inspect the evolution of a JSON object, irrespective in which folder or under which filename it is stored. While the flexible and location-independent tracking of files is already a pertinent capability, it is not enough for a good user experience. People are very used to the hierarchical organization of information (such as implemented in filesystems by (nested) directories and files). The same hierarchical organization should also be supported by the json version control system.
Therefore, one could implement support of a "document archive file format" (also in JSON format) to organize JSON objects into a hierarchical structure. There can be one-to-one correspondence between the nesting of directories and the nesting of JSON object types, with keys being the names of directories. Files could be indicated by the hash given as string data type. For example,
{
"dir1": {
"file1": "abb232...",
"file2": "2342aaa...",
"dir2": {
"file3": "2342334...",
}
}
The functionality of the package could comprise the creation of such document archive files by taking a snapshot from an existing directory on the computer and in a more fine grained way similar to how git allows for the addition and removal of files via git add
, git commit
, etc. It should also be possible to expanding a document archive file into the corresponding nested directory structure on the filesystem of the user computer.