9001 / 9001/copyparty

[FEATURE REQUEST] support for file versioning

未关闭
#208 1 条评论 9 个 reaction 已指派 1 人 已被 @9001 认领 在 GitHub 查看
enhancement
主要语言
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

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。