Subversion¶
https://subversion.apache.org/
从SVN导入项目到VisionByte¶
VisionByte能够从SVN导入储存库,由于大多数其他版本控制系统也可以从SVN导入/导出,所以可以使用SVN作为中介将大多数版本控制系统导入到VisionByte储存库
将SVN储存库导入到VisionByte,请执行以下操作:
svnadmin dump PATH | vb import -svn NEW-REPO.VisionByte
svnrdump dump PATH | vb import -svn NEW-REPO.VisionByte
前面SVN的命令是将储存所有内容以文本形式打印出来,需要跟随的是本地SVN工程目录。 后面的vb指令是将打印的SVN工程所有项目传入跟随的文件名。 利用上述命令即可生成VisionByte数据库。
SVN和VisionByte区别¶
VisionByte 和 Subversion (SVN) 是两种不同的版本控制系统 (VCS),它们在设计理念、功能和使用场景上有一些明显的区别。
VisionByte是一个分布式版本控制系统,这意味着每个开发者都有一个完整的仓库副本,包括整个历史记录。开发者可以离线工作,进行提交和查看历史记录。 SVN 是一个集中式版本控制系统 ,所有的历史记录都保存在中央服务器上。开发者需要与服务器进行交互才能提交更改和查看历史记录。
VisionByte 使用 SQLite 数据库存储版本历史和其他数据。这使得它的管理和备份非常简单,只需一个数据库文件。 SVN 使用 BDB 或 FSFS 文件系统来存储版本历史。它的备份和恢复过程相对复杂,需要专门的工具和步骤。
由于是分布式系统,VisionByte 的大多数操作(如提交、分支、合并等)都可以在本地完成,因此性能更快,尤其是在网络不稳定或无网络的情况下。 SVN 由于是集中式系统,很多操作都需要与中央服务器通信,因此在网络不稳定或无网络的情况下,操作会受到限制。
VisionByte主要用在需要集成问题跟踪和文档管理的项目中。 SVN适用于需要严格控制访问权限和版本控制的企业环境中。
导入项目差异¶
SVN导入项目通常设计将项目文件上传到中央仓库,SVN会处理版本历史的记录。一般需要使用SVN命令行工具或GUI客户端。 Visionbyte导入项目可以通过创建一个新的仓库并将项目文件加入其中。Visionbyte提供了一个命令行工具(如 vb init 和 vb add)来进行这些操作。
SVN储存库的基本组件有下面几个文件目录:
|
该目录是配置文件的容器 |
|
此目录包含所有版本化数据的数据存储 |
|
此文件描述了存储库的内部组织方案 |
|
此目录包含钩子脚本模板和钩子脚本 |
|
SVN 使用此目录来存放存储库锁定文件,用于管理对存储库的并发访问 |
|
这是一个简短的文本文件,仅包含一个通知,告知读者他们正在查看的目录是 SVN 存储库 |
VisionByte 将状态信息储存在SQLite数据库文件中。SQLite将整个关系数据库(包括多个表和索引)保存在单个磁盘文件中。
VisionByte 用三个独立的SQLite数据库:
1.配置数据库
2.储存库数据库
3.检出数据库
配置数据库通常是 “~/.vb” 或 “~/.config/vb.db”
全局设置
all命令使用的活动储存库列表
储存库数据库通常是 “项目名.vbyte”
本地设置
Web界面显示首选项
用户凭证和权限
有关全局状态的元数据,以方便快速查询
使用增量压缩编码的项目全局状态
检出数据库通常是 “_VBYTE_” 或 “.fslckout”