我怎样才能将版本控制的增量上传到我的服务器?无需强制用户安装任何工具

时间:2013-08-06 07:41:36

标签: git version-control versioning git-svn rsync

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

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

让我们在我的网站上说,用户已经在他的回购中有一个文件'x'(130kb),他在他的系统中对'x'(now its 150kb)进行了更改并将其拖放到我的网站中,我该如何确保只有20kb(不完全是20kb,我的意思就是变化),被上传到我的服务器上。

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

2 个答案:

答案 0 :(得分:1)

另请参阅此google lib for diff / patch:google-diff-match-patch

答案 1 :(得分:0)

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

有几点警告:

  1. 可能值得遵循统一的diff格式,以便可以使用标准的补丁工具。
  2. 二进制文件,尤其是zip文件,在使用diff时通常会变得更大,因此您需要禁止二进制文件,测试二进制文件并直接上传,检查补丁是否大于整个文件或者结合前人。