- 浏览: 54359 次
- 性别:
文章分类
最新评论
使用svnadmin create 创建一个版本库:
svnadmin create REPO
每个版本库的目录下有一个hooks目录:
root@SVN:/home/svn/repo# ls /home/svn/repo/
conf dav db format hooks locks README.txt
在每个版本库下有hooks文件夹,里面有很多钩子程序:
root@SVN:/home/svn/repo# ls -l hooks/
total 40
-rwxr-xr-x 1 www-data www-data 332 2010-05-30 16:47 post-commit
-rw-r--r-- 1 www-data www-data 2000 2010-05-30 15:22 post-commit.tmpl
-rw-r--r-- 1 www-data www-data 1663 2010-05-29 23:28 post-lock.tmpl
-rw-r--r-- 1 www-data www-data 2322 2010-05-29 23:28 post-revprop-change.tmpl
-rw-r--r-- 1 www-data www-data 1592 2010-05-29 23:28 post-unlock.tmpl
-rw-r--r-- 1 www-data www-data 3488 2010-05-29 23:28 pre-commit.tmpl
-rw-r--r-- 1 www-data www-data 2410 2010-05-29 23:28 pre-lock.tmpl
-rw-r--r-- 1 www-data www-data 2796 2010-05-29 23:28 pre-revprop-change.tmpl
-rw-r--r-- 1 www-data www-data 2100 2010-05-29 23:28 pre-unlock.tmpl
-rw-r--r-- 1 www-data www-data 2830 2010-05-29 23:28 start-commit.tmpl
在执行commit操作之后会自动执行post-commit这个钩子程序。
因此可以设置post-commit来自动更新:
操作步骤如下:
1. 使用checkout建立一个工作复本
mkdir /home/web
root@SVN:/home# chown www-data:www-data web
ls -l web
drwxr-xr-x 2 www-data www-data 4096 2010-05-30 16:15 web
必须使用apache的所属用户和组(在ubuntu下面的是www-data)来执行:check out
root@SVN:/home/web# sudo su www-data
$ cd /home/web
$ svn checkout http://svn.love.com/svn/repo/www/
Authentication realm: <http://svn.love.com:80> Repo Auth
Password for 'www-data':
Authentication realm: <http://svn.love.com:80> Repo Auth
Username: jack
Password for 'jack':
-----------------------------------------------------------------------
ATTENTION! Your password for authentication realm:
<http://svn.love.com:80> Repo Auth
can only be stored to disk unencrypted! You are advised to configure
your system so that Subversion can store passwords encrypted, if
possible. See the documentation for details.
You can avoid future appearances of this warning by setting the value
of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
'/var/www/.subversion/servers'.
-----------------------------------------------------------------------
Store password unencrypted (yes/no)? yes
连续输入2次 "yes"
root@SVN:/home/web# ls -al www/
drwxr-xr-x 6 www-data www-data 4096 2010-05-30 16:18 .svn
可以看到.svn的权限,userown、goupown都是www-data
2,使用svn update测试,看www-data用户是否有权限更新。
$ svn update /home/web/www --username svnuser --password svnpasswd
在连续输入2次"yes"或者"no"之后、可以看到已经更新成功:
Store password unencrypted (yes/no)? At revision 37.
3,在hooks目录下面的添加一个post-commit脚本文件
#!/bin/sh
REPOS="$1"
REV="$2"
export LANG=en_US.UTF-8
svn update /home/web/www --username svnuser --password svnpasswd
在客户端commit后报错
sudo su www-data
$ cd /home/svn/repo/hooks
$ ./post-commit
提示:
Store password unencrypted (yes/no)?
在svn update --help中找到了 --no-auth-cache 这个参数:
--no-auth-cache : do not cache authentication tokens
加上这个参数后终于可以了:
root@SVN:/home/svn/repo/hooks# cat post-commit
#!/bin/sh
REPOS="$1"
REV="$2"
export LANG=en_US.UTF-8
svn update /home/web/www --username svnuser --password svnpasswd --no-auth-cache
参考资料来自:
http://blog.sina.com.cn/s/blog_4c5fc6950100h18b.html
为了便于排错,可以将脚本的错误输出、以及版本信息、执行用户的名称保存到日志里面。
#!/bin/sh
REPOS="$1"
REV="$2"
export LANG=en_US.UTF-8
echo `whoami`,$REPOS,$REV >> /tmp/svn_hooks.log
svn update /home/web/www --username svnuser --password svnpasswd --no-auth-cache 2> /home/web/svn_hook.log
svnadmin create REPO
每个版本库的目录下有一个hooks目录:
root@SVN:/home/svn/repo# ls /home/svn/repo/
conf dav db format hooks locks README.txt
在每个版本库下有hooks文件夹,里面有很多钩子程序:
root@SVN:/home/svn/repo# ls -l hooks/
total 40
-rwxr-xr-x 1 www-data www-data 332 2010-05-30 16:47 post-commit
-rw-r--r-- 1 www-data www-data 2000 2010-05-30 15:22 post-commit.tmpl
-rw-r--r-- 1 www-data www-data 1663 2010-05-29 23:28 post-lock.tmpl
-rw-r--r-- 1 www-data www-data 2322 2010-05-29 23:28 post-revprop-change.tmpl
-rw-r--r-- 1 www-data www-data 1592 2010-05-29 23:28 post-unlock.tmpl
-rw-r--r-- 1 www-data www-data 3488 2010-05-29 23:28 pre-commit.tmpl
-rw-r--r-- 1 www-data www-data 2410 2010-05-29 23:28 pre-lock.tmpl
-rw-r--r-- 1 www-data www-data 2796 2010-05-29 23:28 pre-revprop-change.tmpl
-rw-r--r-- 1 www-data www-data 2100 2010-05-29 23:28 pre-unlock.tmpl
-rw-r--r-- 1 www-data www-data 2830 2010-05-29 23:28 start-commit.tmpl
在执行commit操作之后会自动执行post-commit这个钩子程序。
因此可以设置post-commit来自动更新:
操作步骤如下:
1. 使用checkout建立一个工作复本
mkdir /home/web
root@SVN:/home# chown www-data:www-data web
ls -l web
drwxr-xr-x 2 www-data www-data 4096 2010-05-30 16:15 web
必须使用apache的所属用户和组(在ubuntu下面的是www-data)来执行:check out
root@SVN:/home/web# sudo su www-data
$ cd /home/web
$ svn checkout http://svn.love.com/svn/repo/www/
Authentication realm: <http://svn.love.com:80> Repo Auth
Password for 'www-data':
Authentication realm: <http://svn.love.com:80> Repo Auth
Username: jack
Password for 'jack':
-----------------------------------------------------------------------
ATTENTION! Your password for authentication realm:
<http://svn.love.com:80> Repo Auth
can only be stored to disk unencrypted! You are advised to configure
your system so that Subversion can store passwords encrypted, if
possible. See the documentation for details.
You can avoid future appearances of this warning by setting the value
of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
'/var/www/.subversion/servers'.
-----------------------------------------------------------------------
Store password unencrypted (yes/no)? yes
连续输入2次 "yes"
root@SVN:/home/web# ls -al www/
drwxr-xr-x 6 www-data www-data 4096 2010-05-30 16:18 .svn
可以看到.svn的权限,userown、goupown都是www-data
2,使用svn update测试,看www-data用户是否有权限更新。
$ svn update /home/web/www --username svnuser --password svnpasswd
在连续输入2次"yes"或者"no"之后、可以看到已经更新成功:
Store password unencrypted (yes/no)? At revision 37.
3,在hooks目录下面的添加一个post-commit脚本文件
#!/bin/sh
REPOS="$1"
REV="$2"
export LANG=en_US.UTF-8
svn update /home/web/www --username svnuser --password svnpasswd
在客户端commit后报错
sudo su www-data
$ cd /home/svn/repo/hooks
$ ./post-commit
提示:
Store password unencrypted (yes/no)?
在svn update --help中找到了 --no-auth-cache 这个参数:
--no-auth-cache : do not cache authentication tokens
加上这个参数后终于可以了:
root@SVN:/home/svn/repo/hooks# cat post-commit
#!/bin/sh
REPOS="$1"
REV="$2"
export LANG=en_US.UTF-8
svn update /home/web/www --username svnuser --password svnpasswd --no-auth-cache
参考资料来自:
http://blog.sina.com.cn/s/blog_4c5fc6950100h18b.html
为了便于排错,可以将脚本的错误输出、以及版本信息、执行用户的名称保存到日志里面。
#!/bin/sh
REPOS="$1"
REV="$2"
export LANG=en_US.UTF-8
echo `whoami`,$REPOS,$REV >> /tmp/svn_hooks.log
svn update /home/web/www --username svnuser --password svnpasswd --no-auth-cache 2> /home/web/svn_hook.log
发表评论
-
Linux下解压rar的方法
2013-06-19 14:55 788Linux下解压rar的方法: wget http:// ... -
Linux下PHP扩展pdo_mysql
2013-06-19 13:34 731Linux下PHP扩展pdo_mysql 1.进入PHP源 ... -
linux top命令详解
2013-05-29 15:59 1202使用top命令,可以查看 ... -
linux 服务器安全配置
2013-03-14 10:18 1000假如你想要搭建一个 Linux 服务器,并且希望可以长期维护的 ... -
MySQL查询及删除重复记录的方法
2012-06-08 19:16 785查询及删除重复记录的 ... -
linux办公操作命令
2012-04-17 13:29 783现在流行的Linux远程登 ... -
linux tar打包解压详解
2012-03-07 13:35 1063tar命令 解压文件到指定目录:tar -zxvf /hom ... -
Linux压缩文件的读取
2012-03-02 18:38 0Linux压缩文件的读取 · *.Z com ... -
Linux操作系统下Sudo命令的使用方法说明
2012-03-02 17:31 927“Sudo” 是Unix/Linux平台 ... -
/dev/null 2>&1 解释
2012-03-02 15:01 930/dev/null 2>&1 解释 cr ... -
在linux下设置开机自动启动程序的方法
2012-03-02 14:31 1841在linux下设置开机自动 ... -
postfix+postfixadmin邮件服务器架设记录
2012-03-02 14:25 0工作需求,在现有的linux系统上面安装邮箱服务器。 服务器上 ... -
最简单的linux 安装postfix邮件服务器
2012-02-27 13:43 1430首先下载postfix源代码包: wget ftp://f ...
相关推荐
在描述中提到的"svn同步web文件"是指通过SVN的hook机制,实现在每次提交(commit)到SVN服务器后,自动将更新的数据发布到Web服务器上,简化项目开发和测试流程。 实现这一功能的关键在于使用SVN的hook脚本,特别是...
本文主要介绍如何在Windows和Linux环境下配置Subversion(简称svn)进行数据同步,特别是将svn的提交操作同步到Web服务器的根目录,实现版本控制系统与Web服务的实时联动。 一、Windows下的svn同步配置 1. **安装*...
总的来说,SVN客户端如TortoiseSVN和服务器端如VisualSVN Server是开发团队不可或缺的工具,它们提供了高效、可靠的版本控制服务,有助于确保项目在多人协作环境下的稳定性和一致性。正确使用这两个工具,可以帮助...
此外,还有一些基于Web的SVN服务,如Assembla、Beanstalk等,它们提供托管的SVN仓库,简化了服务器端的维护。 总之,“SVN服务器端和客户端 window64”这个压缩包为Windows 64位用户提供了完整的SVN解决方案,无论...
所以就有了一种同步的方式,将其自动同步到服务器下的web目录,实现实时预览 首先在linux服务器下搭建svn,创建版本库并运行,这里就不提供教程啦 1.实现同步的很关键一步代码 svn co –username –password 例子...
在“SVN 服务器端”场景下,我们通常指的是搭建一个SVN服务,使得团队可以在该服务器上存储、版本控制他们的代码和其他项目资源。 64位Windows系统是目前大多数企业的工作环境,因此“SVN 服务器端”针对64位...
VisualSVN Server是针对Windows平台的一个强大且易用的SVN服务器端软件,尤其适合小型到大型企业进行源代码管理和版本控制。 **1. SVN的基本概念** - **版本库(Repository)**:SVN的核心是版本库,存储所有项目...
而在集中式模式下,如使用Apache HTTP Server + mod_dav_svn模块,可以将SVN服务集成到现有的Web服务器中。服务器端配置包括创建仓库、设置用户权限、备份和恢复等。 3. MyEclipse的SVN插件: MyEclipse是一款强大...
而借助Apache运行SVN则可以利用其强大的Web服务器功能,提供更灵活的配置和更高的性能,但设置相对复杂。根据项目需求和个人技术水平,可以选择适合的部署方式。 首先,你需要在本地安装SVN客户端。这可以通过访问...
安装完成后,管理员可以通过Web界面(即VisualSVN Server Manager)轻松管理仓库和用户权限,而开发人员则可以在本地工作副本上进行日常开发工作,通过SVN客户端(如TortoiseSVN)与服务器保持同步。 总的来说,...
此外,还在服务器上初始化了一个工作副本以便接收更新,并在客户端提交更新后,实现了服务器端的自动同步。 这种方式不仅简化了部署过程,还提高了开发效率和可靠性。开发者只需专注于编写代码并在本地进行测试,...
在SVN系统中,分为客户端(Client)和服务器端(Server)两个主要部分,它们协同工作以实现代码的版本控制。 **1. SVN服务器端** SVN服务器端是整个版本控制系统的核心,它存储所有版本的文件和目录,并处理客户端...
PHP是一种服务器端脚本语言,通常用于Web开发,但也可以用作命令行工具,这使得它适合于执行这种批处理任务。使用SVN_Deleter,用户可以快速、方便地移除不再需要的SVN元数据,而无需手动逐个删除大量的`.svn`子目录...
2. **服务器端安装**:在服务器上部署SVN仓库需要先安装Subversion服务器软件,如Apache HTTP Server或VisualSVN Server。然后配置仓库目录,设置访问权限,并根据需求决定是否启用SSL加密通信以保证数据安全。 3. ...
9. **版本库管理**:SVN服务器端通常包含一个版本库,存储所有项目文件和历史记录。管理员可以通过Web界面或命令行工具管理版本库,如创建、删除、重命名项目。 10. **备份与恢复**:为了防止数据丢失,定期备份SVN...
Apache HTTP Server是开源的Web服务器,可以免费使用,并且与SVN有良好的集成。VisualSVN Server则是一款专为Windows设计的SVN服务器,安装简单,管理方便,适合企业级应用。 汉化包的目的是将SVN的英文界面转换为...
- 始终保持SVN客户端与服务器端的版本兼容,以避免潜在问题。 - 使用明确的提交消息,帮助团队成员理解每次更改的目的。 - 定期清理工作副本,以避免不必要的冲突和错误。 通过以上配置和使用,你可以充分利用...
在本压缩包中,包含了SVN的两个关键组件:客户端和服务器端。 1. **TortoiseSVN_x64客户端**: TortoiseSVN是基于Windows操作系统的SVN客户端,因其图标和右键菜单集成而广受欢迎。它提供了一个直观的图形用户界面...
综上所述,这个压缩包提供了在Windows环境下搭建和使用SVN环境的全套工具,无论是服务器端的管理和维护,还是客户端的日常开发,都能得到很好的支持。使用这些工具,开发者可以高效地进行团队协作,确保代码的安全和...
2. **ASP.NET**:ASP.NET是由微软开发的服务器端Web应用程序框架,用于构建动态网站、Web应用和Web服务。它支持多种编程语言,如C#、VB.NET等,并提供了丰富的控件、自动状态管理、事件驱动模型等功能,简化了Web...