小记debian下安装Subversion[原创]
时间:2006-08-04 来源:小兵张嘎-kevin
小记debian下安装Subversion
都说Subversion 是下一代版本控制系统,大有替代 CVS之势,先按一个玩一下.
先在新力得软件包管理器下面搜一下subversion,我的源是cn99上的,stable和testing都开着.出来3个结果,分别是subversion1.2.3,subversion-tools1.2.3,python2.3-subversion.
创建目录:
# mkdir -p /var/local/repos
创建仓库数据库:
# svnadmin create /var/local/repos
将仓库的写权限赋给 kevin:
# chown -R kevin:kevin /var/local/repos
配置apache2
按照网上的提示 在/etc/apache2/mods-available/ 找不到dav_svn.conf文件,原来是少装了libapache2-svn,用apt-cache search libapache2-svn 一看,耶!里面有.
通过用户认证授权访问仓库,添加 下列内容到 /etc/apache2/mods-available/dav_svn.conf
<Location /repos>
DAV svn
SVNPath /var/local/repos
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /etc/subversion/passwd
Require valid-user
</Location>
<Location /repos> 说明我们所有的代码仓库在/svn这个虚拟目录下
DAV svn 说明apache会使用svn这个模块来解析这个虚拟目录
SVNPath /var/local/repos 说明代码存放地
AuthType Basic 使用最基本的认证校验 用户名和密码
AuthName "Subversion repository" 说明在认证弹出对话框时,对话框的标题显示,你可以把他换成任何你想要的信息
AuthUserFile /etc/subversion/passwd 你想要建立的密码文件的名字
Require valid-user 说明只有正确输入用户名和密码才能访问
</Location> 跟上面对应
当你添加了上面的内容,您必须重新起动 Apache 2 Web 服务器
接着,使用下面的命令创建用户认证文件:
htpasswd2 -c /etc/subversion/passwd kevin
它会提示您输入密码,当您输入了密码,该用户就建立了
你在/etc/subversion/passwd里面可以看到你新建立的用户,以及密文密码
重启 Apache2,就可以使用 http://hostname/repos 来访问新的 Subversion 仓库了
出现下面的内容就代表已经成功了:
Revision 0: /
------------------------------------------------------------------------------------------
Powered by Subversion version 1.2.3 (r15833).
大家如果想拷贝自己的目录到版本库的话 用下面的命令:
svn import yourprojectname file:///var/local/repos -m "initial import"
将工作目录放到新目录
svn checkout http://192.168.102.20/repos/login/src/ src2
监测目录或者文件的修改
svn status thizcaiwu(项目名)
显示工作拷贝中的所有项目,也包括没有修改过的
svn status thizcaiwu(项目名) --verbose
加上--show-updates参数 将会联系版本库为已经过时的数据添加新信息
svn status --show-updates --verbose thizcaiwu
显示本地工作拷贝与版本库的区别
svn diff <filename>
检查过去的一个版本 不看区别
svn cat <filename>
查看文件或者目录的历史信息
svn log
可以在不下载文件到本地目录的情况下查看目录中的文件
svn list http://192.168.102.20/repos/login
查看更详细得信息
svn list --verbose http://192.168.102.20/repos/login
把文件恢复到未修改的状态
svn revert <filename>
移除工作拷贝的目录或文件的 '冲突' 状态
svn resolved
发送所有的修改到版本库,并加上描述修改的信息
svn commit --message "this is a test"
使用带参数的--revision的svn update和svn checkout 来使整个工作拷贝回到过去
svn checkout --revision 1729 # Checks out a new working copy at r1729
svn update --revision 1729 # Updates an existing working copy to r1729
查找工作拷贝中的所有遗留文件的日志文件,删除进程中得锁
svn cleanup
拷贝用户一个未被版本化的目录树到版本库最快的方法
svn import
1.创建仓库数据库:
svnadmin create /var/local/repos
2.svn import thizcaiwu file:///var/lib/repos/
都说Subversion 是下一代版本控制系统,大有替代 CVS之势,先按一个玩一下.
先在新力得软件包管理器下面搜一下subversion,我的源是cn99上的,stable和testing都开着.出来3个结果,分别是subversion1.2.3,subversion-tools1.2.3,python2.3-subversion.
创建目录:
# mkdir -p /var/local/repos
创建仓库数据库:
# svnadmin create /var/local/repos
将仓库的写权限赋给 kevin:
# chown -R kevin:kevin /var/local/repos
配置apache2
按照网上的提示 在/etc/apache2/mods-available/ 找不到dav_svn.conf文件,原来是少装了libapache2-svn,用apt-cache search libapache2-svn 一看,耶!里面有.
通过用户认证授权访问仓库,添加 下列内容到 /etc/apache2/mods-available/dav_svn.conf
<Location /repos>
DAV svn
SVNPath /var/local/repos
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /etc/subversion/passwd
Require valid-user
</Location>
<Location /repos> 说明我们所有的代码仓库在/svn这个虚拟目录下
DAV svn 说明apache会使用svn这个模块来解析这个虚拟目录
SVNPath /var/local/repos 说明代码存放地
AuthType Basic 使用最基本的认证校验 用户名和密码
AuthName "Subversion repository" 说明在认证弹出对话框时,对话框的标题显示,你可以把他换成任何你想要的信息
AuthUserFile /etc/subversion/passwd 你想要建立的密码文件的名字
Require valid-user 说明只有正确输入用户名和密码才能访问
</Location> 跟上面对应
当你添加了上面的内容,您必须重新起动 Apache 2 Web 服务器
接着,使用下面的命令创建用户认证文件:
htpasswd2 -c /etc/subversion/passwd kevin
它会提示您输入密码,当您输入了密码,该用户就建立了
你在/etc/subversion/passwd里面可以看到你新建立的用户,以及密文密码
重启 Apache2,就可以使用 http://hostname/repos 来访问新的 Subversion 仓库了
出现下面的内容就代表已经成功了:
Revision 0: /
------------------------------------------------------------------------------------------
Powered by Subversion version 1.2.3 (r15833).
大家如果想拷贝自己的目录到版本库的话 用下面的命令:
svn import yourprojectname file:///var/local/repos -m "initial import"
将工作目录放到新目录
svn checkout http://192.168.102.20/repos/login/src/ src2
监测目录或者文件的修改
svn status thizcaiwu(项目名)
显示工作拷贝中的所有项目,也包括没有修改过的
svn status thizcaiwu(项目名) --verbose
加上--show-updates参数 将会联系版本库为已经过时的数据添加新信息
svn status --show-updates --verbose thizcaiwu
显示本地工作拷贝与版本库的区别
svn diff <filename>
检查过去的一个版本 不看区别
svn cat <filename>
查看文件或者目录的历史信息
svn log
可以在不下载文件到本地目录的情况下查看目录中的文件
svn list http://192.168.102.20/repos/login
查看更详细得信息
svn list --verbose http://192.168.102.20/repos/login
把文件恢复到未修改的状态
svn revert <filename>
移除工作拷贝的目录或文件的 '冲突' 状态
svn resolved
发送所有的修改到版本库,并加上描述修改的信息
svn commit --message "this is a test"
使用带参数的--revision的svn update和svn checkout 来使整个工作拷贝回到过去
svn checkout --revision 1729 # Checks out a new working copy at r1729
svn update --revision 1729 # Updates an existing working copy to r1729
查找工作拷贝中的所有遗留文件的日志文件,删除进程中得锁
svn cleanup
拷贝用户一个未被版本化的目录树到版本库最快的方法
svn import
1.创建仓库数据库:
svnadmin create /var/local/repos
2.svn import thizcaiwu file:///var/lib/repos/
相关阅读 更多 +