svn对于二进制(svn的功能及好处,以及弊端)

本文目录
svn的功能及好处,以及弊端
1. 性能提高。SVN不管文件是文本还是二进制类型,在内部都是以二进制差异比较算法来表示文件的更新部分。这表示所有的文件在文件库中都是以差异的形式储存。而且在网络上传输的,都是较小的文件差异部分。这也使创建分支、打标签、合并等操作可以非常快地完成.
2. 对目录的组织的管理更加方便。SVN不光对文件做版本跟踪,也会对目录做版本跟踪。因此可以根据项目的需要,对目录结构随时进行修改,可以把现有的目录移动到新的地方。
3. 保证提交操作的完整性。SVN对提交操作的处理方式类似数据库的事务处理,要么全部成功,要么全部无效,保证了原子性。
如何修改svn文件文本/二进制属性
有时候我们想上传一个文本文件,但是svn会误认为是二进制文件。一旦svn认为是二进制文件的话,我们在svn diff时候就会出现问题。为了告诉svn我们传入的文件是文本的话,可以使用
svn propget svn:mime-type
来查看文件的属性,如果是application/octet-stream那么就是二进制,如果是text/plain的话就是文本。为了修改文件为文本,我们可以使用
svn propedit svn:mime-type
然后会调用器(可能需要我们设置环境变量EDITOR,比如EDITOR=emacs)打开,然后我们修改为text/plain即可.
svn 合版本少合版本 怎么办
SVN当发生冲突时,会将发生冲突的源头版本、已提交的前一个版本、本地未提交的修改版本都存放到本地工作区,同时对于文本文件SVN会自动将有差异的地方合并到一份文件中,并用;;、;;;;;;等符号标注出来;但对于二进制文件,由于文件类型繁多,SVN就可能自动进行差异比较和合并了,所以就不会生成自动合并后的版本。
对于SVN来说,word、excel等文件都属于二进制文件的范畴。
对于二进制文件,只能是手动比较(当然有些工具可以进行两个文件间的比较,比如word自带了这样的功能),然后手工合并。对于不便进行手工合并的文件,比较需要进行PS的图片,SVN建议使用lock机制。
git对比svn有什么优势
我使用SVN有5年的历史了,而且现在在公司里仍然是使用SVN。但是大概在3年前,我的所有个人项目都已经迁移到了git(gitHub)上。我能想出很多git优于subversion的地方,大部分是体现在分布式优于集中式的特征上,但如果你让我说出任何SVN分过来胜过git的地方,我竟一时想不出来一个。但这就能说明git完胜SVN吗?
事实当然不是这样,就像是Windows和Linux,你不能说这个一定就比那个好。最近在stackexchange的讨论让我学习了不少。先举个简单的例子证明有些地方你只能用SVN而不能用git。谷歌的搜索排名算法,就不能放到分布式开放的代码库了。
这种情况下SVN的集中式管理就是不二选择。下面就来条理的看看Subversion在哪些环境下比git更适用。

更多文章:
oracle维护中的常见问题(紧急求助:oracle内存不释放的故障)
2026年9月27日 04:40
flash脚本编写(flash中点击一个按钮跳转到第二帧,再点击回到第一帧,这么脚本怎么编写)
2026年9月27日 01:10
asc文件怎么转化为txt(geomagic studio2013怎么转换txt文件)
2026年9月26日 21:30
oracle insert 系统时间(Oracle数据库中插入timestamp类型的数据)
2026年9月26日 21:10
python调用pascal(在编程语言中是什么地位为什么很多大学不教 Python)
2026年9月26日 20:20






