0

我想创建一个网站,让用户将文件上传到基于云的 Web 服务器。但我不希望用户每次进行更改时都上传完整的文件。我知道 github 通过让用户在 Windows 中安装 git 来实现这一点。另外,我不想强​​迫用户在他们的系统上安装 git。

如何将版本控制系统作为拖放解决方案放入我的网站?

假设在我的网站上,一个用户'x'(130kb)已经在他的仓库中有一个文件,他在他的系统中进行了更改'x'(now its 150kb)并将其拖放到我的网站中,我怎样才能确保只有 20kb,(不完全是 20kb,我的意思是更改),上传到我的服务器上。

也许像javascript中的轻量级git替代品?

4

2 回答 2

1

另请参阅此 google lib 以获取 diff/patch:google-diff-match-patch

于 2014-02-17T15:43:34.210 回答
0

根据这里的答案,我发现jsdifflib我建议它可以作为基于浏览器的差异的基础并发送差异/补丁工具。

几个注意事项:

  1. 可能值得遵循统一的差异格式,以便可以使用标准补丁工具。
  2. 二进制文件,尤其是 zip 文件,在采用 diff 时通常会变得更大,因此您需要禁止二进制文件,测试二进制文件并直接上传,检查补丁是否大于整个文件或两者的组合放弃。
于 2013-08-16T09:07:44.223 回答