modulepackage
0.0.0-20240929032323-50348278c214
Repository: https://github.com/siyuan-note/dejavu.git
Documentation: pkg.go.dev
# README
DejaVu
๐ก Introduction
DejaVu is the component of data snapshot and sync for SiYuan.
โจ Features
- Git-like version control
- File deduplication in chunks
- Data compression
- AES Encrypted
- Cloud sync and backup
โ ๏ธ Attention
- Folders are not supported
- Permission attributes are not supported
- Symbolic links are not supported
๐จ Design
Design reference from ArtiVC.
Entity
ID
Each entity is identified by SHA-1Index
file list, each index operation generates a new indexmemo
index memocreated
index timefiles
file listcount
count of total filessize
size of total files
File
file, a new file is generated when the actual data file path or content changespath
file pathsize
file sizeupdated
last update timechunks
file chunk list
Chunk
file chunkdata
actual data
Ref
refers to the indexlatest
built-in reference, automatically points to the latest indextag
tag reference, manually point to the specified index
Repo
repository
Repo
DataPath
data folder path, the folder where the actual data file is locatedPath
repo folder path, the repo is not stored in the data folder, we need to specify the repo folder path separately
The repo folder layout is as follows:
โโindexes
โ 0531732dca85404e716abd6bb896319a41fa372b
โ 19fc2c2e5317b86f9e048f8d8da2e4ed8300d8af
โ 5f32d78d69e314beee36ad7de302b984da47ddd2
โ cbd254ca246498978d4f47e535bac87ad7640fe6
โ
โโobjects
โ โโ1e
โ โ 0ac5f319f5f24b3fe5bf63639e8dbc31a52e3b
โ โ
โ โโ56
โ โ 322ccdb61feab7f2f76f5eb82006bd51da7348
โ โ
โ โโ7e
โ โ dccca8340ebe149b10660a079f34a20f35c4d4
โ โ
โ โโ83
โ โ a7d72fe9a071b696fc81a3dc041cf36cbde802
โ โ
โ โโ85
โ โ 26b9a7efde615b67b4666ae509f9fbc91d370b
โ โ
โ โโ87
โ โ 1355acd062116d1713e8f7f55969dbb507a040
โ โ
โ โโ96
โ โ 46ba13a4e8eabeca4f5259bfd7da41d368a1a6
โ โ
โ โโa5
โ โ 5b8e6b9ccad3fc9b792d3d453a0793f8635b9f
โ โ b28787922f4e2a477b4f027e132aa7e35253d4
โ โ
โ โโbe
โ โ c7a729d1b5f021f8eca0dd8b6ef689ad753567
โ โ
โ โโd1
โ โ 324c714bde18442b5629a84a361b5e7528b14a
โ โ
โ โโf1
โ โ d7229171f4fa1c5eacb411995b16938a04f7f6
โ โ
โ โโf7
โ ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
โ
โโrefs
โ latest
โ
โโtags
v1.0.0
v1.0.1
๐ License
DejaVu uses the GNU AFFERO GENERAL PUBLIC LICENSE, Version 3 open source license.
๐ Acknowledgement
- https://github.com/dustin/go-humanize
MIT license
- https://github.com/klauspost/compress
BSD-3-Clause license
- https://github.com/panjf2000/ants
MIT license
- https://github.com/InfuseAI/ArtiVC
Apache-2.0 license
- https://github.com/restic/restic
BSD-2-Clause license
- https://github.com/sabhiram/go-gitignore
MIT license
# Variables
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
ErrIndexFileChanged indicates that the file has changed during the index process.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Structs
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Repo ๆ่ฟฐไบ้ฎ่พๆทๆฐๆฎไปๅบใ.
Store ๆ่ฟฐไบๅญๅจๅบใ.
No description provided by the author
No description provided by the author