[FEATURE REQUEST] support for file versioning
- 主要语言
- Python
- 星标
- 46.7k
- 派生
- 1.9k
- 平均合并
- 9 天 2 小时
- 30 天内合并 PR
- 4
描述
## It would be super helpful to have file-versioning to enable rollback on overwritten files.
I am aware that the server can be configured to rename files for versioning, instead of overwriting, but it would be nice to have a management layer to provide UI-accessible version-control within a single file node.
Since the file-transfer library already manages uploads as chunks, the ideal solution would be a block/chunk level version controller such as [bup](https://bup.github.io/) or [restic](https://restic.net/).
### Unfortunately, Bup is not maintained, so you would need to fork it / rip it into your project, and Restic does not currently have a python interface, and does not provide native diff tools.
If you are inspired by the idea of a file-versioning feature, I would be open to collaborating or even prototyping an implementation, but of course that's a pretty huge feature for someone who is new to your code base.
#### P.S.
Thanks for your hard work, this project is really phenomenal, and you should be very proud!
贡献指南
调研方向
该 issue 提到,file-transfer library 将上传内容作为 chunks 进行管理。查看上传处理代码,以了解 chunk 系统。研究 bup 或 restic,了解块级版本控制的概念。原型需要将版本控制集成到现有的文件节点管理中,可能是在后端存储层中实现。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- python
- 领域
- backend
- Issue 类型
- 功能
- 难度
- 5/5
- 预计耗时
- 一周以上
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 30/100