-
将所有文件在本地加密之前发送到服务器。服务器不应该收到任何未加密的文件或数据。
-
每个其他功能的工作方式与SVN或CVS今天的工作方式大致相同。
任何人都可以推荐这样的东西?我做了大量的搜索,但我找不到任何东西。
解决方案应该加密数据管道(ssl / ssh)并确保访问服务器。加密数据将强制SVN基本上将所有内容视为二进制文件。它不能做任何差异,所以它不能存储三角洲。这使得基于增量的方法的目的失败。 您的存储库将变得非常快速。如果您上传的文件是100kb,然后更改1个字节并再次签入,再做8次(总共10转),存储库将存储10 * 100kb,而不是100kb + 9个小三角形(我们称之为101kb)。
更新:@TheRook解释说,可以使用加密存储库来做三角洲。所以可能这样做。但是,我的初步建议是:这不值得您的麻烦,您最好加密ssl / ssh管道并保护服务器。即最佳做法。
I am looking for an encrypted version control system . Basically I would like to
Have all files encrypted locally before sending to the server. The server should never receive any file or data unencrypted.
Every other feature should work pretty much the same way as SVN or CVS does today.
Can anyone recommend something like this? I did a lot of searches but I cant find anything.
解决方案You should encrypt the data pipe (ssl/ssh) instead, and secure the access to the server. Encrypting the data would force SVN to essentially treat everything as a binary file. It can't do any diff, so it can't store deltas. This defeats the purpose of a delta-based approach. Your repository would get huge, very quickly. If you upload a file that's 100kb and then change 1 byte and checkin again, do that 8 more times (10 revs total), the repository would be storing 10 * 100kb, instead of 100kb + 9 little deltas (let's call it 101kb).
Update: @TheRook explains that it is possible to do deltas with encrypted repository. So it may be possible to do this. However, my initial advice stands: it's not worth the hassle, and you're better off with encrypting the ssl/ssh pipe and securing the server. i.e. "best practices".
更多推荐
是否有加密版本控制系统?
发布评论