svn版本库浏览器

您所在的位置:网站首页 svn版本浏览器怎样使用 svn版本库浏览器

svn版本库浏览器

2024-07-01 10:24| 来源: 网络整理| 查看: 265

无论你用什么协议访问你的版本库,都至少需要创建一个版本库,这可以使用Subversion命令行客户端或TortoiseSVN完成。

如果你还没有创建Subversion版本库,是时间开始了。

4.1. 创建版本库

你可以使用FSFS或较老但更稳定的Berkeley Database(BDB)作为版本库的后端,FSFS格式更快一点,而且可以正常运行在Windows

98,BDB格式更加的稳定,因为其经过了更长时间的验证。《使用Subversion进行版本控制》中的第5章,

版本库数据存储有更多细节。

4.1.1. 使用命令行工具创建版本库

创建一个名为SVN(例如D:\SVN\)的空文件夹,作为你的所有版本库的根。

在D:\SVN\里创建另一个目录MyNewRepository。

打开命令行窗口(或DOS窗口),进入D:\SVN\目录,输入

svnadmin create --fs-type bdb

MyNewRepository

svnadmin create --fs-type fsfs

MyNewRepository

现在你在D:\SVN\MyNewRepository创建了一个新的版本库。

4.1.2. 使用TortoiseSVN创建版本库

图 4.1. 未版本控制文件夹的TortoiseSVN菜单

打开资源管理器

创建一个新的文件夹,命名为SVNRepository

右键点击新创建的目录,选择TortoiseSVN

→ 在此创建版本库...。

然后就会在新文件夹创建一个版本库,不要手工编辑这些文件!!!如果你得到什么警告,一定要先确定目录非空并且没有写保护。

4.1.3. 本地访问版本库

为了访问本地版本库,你需要这个文件夹的路径,只要记住Subversion期望所有的版本库路径使用的形式为file:///C:/SVNRepository/,请注意全部使用的是斜杠。

为了访问网络共享中的版本库,你可以使用驱动器影射或使用UNC路径,对于UNC路径,形式为file://ServerName/path/to/repos/,请注意这里前面只有两个斜杠。

在SVN 1.2之前,UNC路径曾经是一种非常晦涩的格式file:///\ServerName/path/to/repos,这种格式依然支持,但不推荐。

警告

不要创建和访问网络共享上的Berkeley

DB版本库,它不能存在于一个远程的文件系统,即使是影射到盘符的共享。如果你希望在网络共享使用Berkeley

DB,结果难以预料-你可能会立刻看到奇怪的错误,也有可能几个月之后才发现数据库已经损坏了。

提示

如果你需要访问网络共享中的版本库,请使用fsfs格式创建版本库,如果也希望提供服务器访问,你需要1.1或更高版本的Subversion服务器。

4.2. 版本库备份

无论你使用何种版本库,定期维护和验证版本库备份非常重要,或许你可以访问最近版本的文件,但是如果没有版本库,所有的历史将会丢失。

最简单(但不推荐)的方法是拷贝整个版本库目录到备份介质,然而你必须绝对确定没有访问数据的进程,在这里“访问”的意思是任何访问,一个BDB版本库即使在访问看起来只需要读时也会有写操作,如果在拷贝时版本库被访问了(web浏览器,WebSVN等等),备份将毫无价值。

推荐的方法是运行

svnadmin hotcopy path/to/repository path/to/backup

--clean-logs

,用一种安全的方式创建版本库的拷贝,备份是一个拷贝,--clean-logs选项并不必须,但是通过删除BDB版本库中多余的日志文件可以节省一些空间。

svnadmin在安装Subversion命令行客户端时会自动安装,如果你在Windows

PC上安装这个命令行工具,最好的方式是下载Windows安装版本,它比.zip版本的压缩效率更好,所以更小,并且小心的为你设定路径。你可以从http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91下载最新版本的命令行客户端。

4.3. 钩子脚本

钩子脚本是被版本库事件触发的程序,例如新修订版本的创建或未版本化属性的修改。每一种钩子都会被告知事件的足够信息,操作的目标,触发事件的用户名。依赖于钩子的输出或返回状态,钩子程序可以继续执行,停止或以某种方式挂起。请参阅《使用Subversion进行版本控制》的Hook

Scripts部分来查看关于钩子实现的细节。

版本库的hooks目录中有一些钩子的例子脚本,这些例子脚本适合于Unix/Linux服务器,在Windows下需要修改。钩子可以是批处理文件或可执行文件,下面是用来实现pre-revprop-change钩子的例子。

rem Only allow log messages to be changed. if "%4"

== "svn:log" exit 0 echo Property '%4' cannot

be changed >&2 exit 1

请注意所有发送到标准输出的东西都会被忽略,如果你希望信息出现在拒绝提交对话框中,你需要将这些信息发送到标准错误,在一个批处理文件中使用>&2实现。

4.4. 检出链接

如果你希望你的Subversion版本库对于别人可用,你可以在你的站点包含一个链接。为了让这些更加容易访问,你可以为其他TSVN用户包含一个检出链接。

当你安装了TortoiseSVN,它会注册一个tsvn:协议,当TSVN用户点击这样一个链接,检出窗口会自动弹出,且版本库URL已经填入。

为了在你自己的网页上包含这样一个链接,你需要添加类似下面的代码:

当然,如果你提供一个合适的图片会更好,你可以使用TortoiseSVN

logo,也可以使用自己的图片。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3