问题描述
我正在寻找一个加密的版本控制系统.基本上我想
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.
其他所有功能都应该像今天的 SVN 或 CVS 一样工作.
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.
推荐答案
您应该改为加密数据管道 (ssl/ssh),并保护对服务器的访问.加密数据将迫使 SVN 从本质上将所有内容视为二进制文件.它不能做任何差异,所以它不能存储增量.这违背了基于增量的方法的目的.
您的存储库会很快变得庞大.如果您上传一个 100kb 的文件,然后更改 1 个字节并再次签入,再执行 8 次(总共 10 转),存储库将存储 10 * 100kb,而不是 100kb + 9 个小增量(我们称之为 101kb).
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).
更新:@TheRook 解释说可以使用加密存储库进行增量.所以有可能做到这一点.但是,我最初的建议是:不值得麻烦,最好加密 ssl/ssh 管道并保护服务器.即最佳实践".
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".
这篇关于是否有加密的版本控制系统?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!