<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>精東·博客 &#187; svn</title>
	<atom:link href="http://www.wemvc.com/tag/svn/feed" rel="self" type="application/rss+xml" />
	<link>http://www.wemvc.com</link>
	<description>男人的胸怀是委屈撑大的。</description>
	<lastBuildDate>Tue, 10 Jan 2012 04:26:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>使用SVNSYNC来同步SVN仓库</title>
		<link>http://www.wemvc.com/1496.html</link>
		<comments>http://www.wemvc.com/1496.html#comments</comments>
		<pubDate>Tue, 14 Dec 2010 12:52:02 +0000</pubDate>
		<dc:creator>精东</dc:creator>
				<category><![CDATA[实用工具]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://www.wemvc.com/?p=1496</guid>
		<description><![CDATA[明天公司停电, SVN仓库用不成了.所以趁没停电前把仓库移动到公网.
PS我现在在家里.
第一步,在公网服务器中创建一个新的仓库:

svnadmin create rep

第二步,创建空的文件,该文件是允许修订版本属性的修改用的

vi rep/hooks/pre-revprop-change
:wq
echo "#!/bin/sh" > rep/hooks/pre-revprop-change
chmod 755 rep/hooks/pre-revprop-change

第三步,初始化公网的新仓库

svnsync initialize file:///app/rep svn://svn.xxx.com/aaa

第四部,开始同步版本库

svnsync sync file:///app/rep

你可以看到有输出内容:
Committed revision 1.
Copied properties for revision 1.
&#8230;&#8230;..
好了,先去吃饭去,回来看结果.库比较大,让服务器自己搬砖头去吧&#8230;
吃过饭后看
发现同步好慢哦。。。
最终还是停电了，没同步完。。。。
不过使用SVNSYNC来做SVN仓库的备份也不错。
来电后再次使用SVNSYNC，报错：

[root@sys app]# svnsync sync file:///app/rep
Failed to get lock on destination repos, currently held by 'sys.xxx.cn:b4
Failed to get lock on destination repos, currently held by 'sys.xxx.cn:b4
svnsync: Couldn't get lock on destination repos after 10 attempts

在网上查了下，是属性被锁住了，使用如下命令解锁。

svn propdel [...]]]></description>
		<wfw:commentRss>http://www.wemvc.com/1496.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SVN的安装和配置</title>
		<link>http://www.wemvc.com/280.html</link>
		<comments>http://www.wemvc.com/280.html#comments</comments>
		<pubDate>Wed, 27 Aug 2008 06:10:45 +0000</pubDate>
		<dc:creator>精东</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://www.wemvc.com/?p=280</guid>
		<description><![CDATA[工具： 
 1. Windows 2003 sp1
 2. svn-1.3.0-setup.exe   SVN服务端软件
 3. SVNService.exe   添加到Windows服务需要的工具
 4. TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi SVN客户端软件
 5. LanguagePack-1.4.0.7501-win32-zh_CN.exe  SVN客户端软件的中文语言包

相关下载： 
 1．Subversion
 http://subversion.tigris.org
 2．客户端软件TortoiseSVN
 http://tortoisesvn.tigris.org
  Eclipse 下使用的插件,需要在线更新
  更新地址: http://subclipse.tigris.org/update_1.0.x
  安装指南: http://subclipse.tigris.org/install.html
 
安装SVN服务器 
 1. 安装服务器软件
 2. 将SVN添加到Windows服务
  1. 新建一个文件夹用来存放库文件 c:\SVN
  2. 运行命令:SVNService -install -d -r c:\svn 安装 Windows [...]]]></description>
		<wfw:commentRss>http://www.wemvc.com/280.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apache和Subversion集成安装与配置</title>
		<link>http://www.wemvc.com/278.html</link>
		<comments>http://www.wemvc.com/278.html#comments</comments>
		<pubDate>Wed, 27 Aug 2008 06:09:58 +0000</pubDate>
		<dc:creator>精东</dc:creator>
				<category><![CDATA[服务器]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://www.wemvc.com/?p=278</guid>
		<description><![CDATA[因为工作需要,要架设一个Subversion和Apache一起工作的源码管理器.以便协同工作.于是网上找了一些资料,在找资料的过程中,也走了一些弯路,于是自己整理了一下安装的过程和一些注意的事项,希望能对大家有些帮助.
我这里用的IDE是netbeans6.0,其实用什么IDE都无所谓,只是netbeans一直是我喜欢的IDE,所以顺便向大家推荐一下.呵呵.
好了,言归正传吧,要准备的东西如下:
1,apache_2.0.63-win32-x86-no_ssl.msi
下载:http://apache.mirror.phpchina.com/httpd/binaries/win32/apache_2.0.63-win32-x86-no_ssl.msi
2,svn-1.4.5-setup.exe
下载地址:http://subversion.tigris.org/files/documents/15/39559/svn-1.4.5-setup.exe
当然,你也可以选择安装TortoiseSVN.但是我没有装,因为我的源码管理都是用netbeans完成的.
好了,准备的两个软件都下载下来以后,就可以开始安装了.
首先安装apache,一般来说直接点下一步就可以了,在设置domain以及host的时候,设置为localhost就可以了,Email你可以填你 自己的Email,也可以随便填一个.安装apache要注意的是,你的电脑上80端口不能被占用,否则你的http服务是启动不起来的,我就遇到过这 事,因为我用了skype,它在本机上打开了80和443端口来监听,搞得我一开始装不好,总是启动不起来,后来才发现是skype占用了80端口,于是 把skype的设置改了以后,重装apache才成功.装好apache以后,这个时候,它已经在运行了,你可以在浏览器的地址栏输入 http://localhost看看,是否安装成功,如果安装成功的话,这个时候浏览器里面应该是可以看到一个页面的.
然后,再安装svn-1.4.5-setup.exe,也很简单,一步一步点下步就可以了,在安装的过程中,它会默认选中一些选项,其中就有一个是是否对 apache的HTTP服务器提供支持的选项,这个默认是勾上的,不要去反选它,其它的你可以反选掉.然后svn就宣布安装成功了.你可以到CMD下面去 试一下svn这个命令,如果有输出,则说明安装成功了,如果提示svn 不是内部或外部命令，也不是可运行的程序或批处理文件。那就说明没有装好.或者没有把这个命令加入到path中,所以最好的办法是到svn的安装目录下的 bin里面去看一下.
两者都装好了以后,就开始配置,当然,配置也是最重要的.
首先要建立一个数据仓库,我们假设建在E盘,数据仓库最好不要建在C盘,因为C盘重装系统以后就格了.我们先在E盘下面建立一个目录叫svnroot,然 后在svnroot下面再建立一个我们专门放我们工程的目录,比如叫MyProject.于是我们在E盘下面就有了这个一个文件夹:E:\svnroot\MyProject,然后我们用svnadmin的命令,使这个文件夹变成我们的数据仓库,命令如下:
svnadmin create E:\svnroot\MyProject
如果运行成功的话,什么也没有输出,这个时候,我们再来到MyProject文件夹下面,我们会发现多了几个文件夹和文件,我们打开conf文件夹,然后再打开svnserve.conf文 件,找到如下行# password-db = passwd,然后把它前面的#去掉,表示MyProject是需要密码验证的.但是我们密码设在哪里呢,这个时候我们再打开conf文件夹下面的 passwd文件,用文本编辑器打开,在[users]下面加上我们需要启动的人员的用户和密码,比如
[users]
hadeslee=hadeslee1234
tom=123456
这个的话,我们就启动了两个用户,一个叫hadeslee,密码是hadeslee1234,一个叫tom,密码是123456.然后我们保存passwd文件.然后,我们再建一个文件,叫access.auth,这个文件是设置访问权限的,里面内容如下:
[MyProject:/]
hadeslee = rw
[MyProject:/module1]
tom=rw
hadeslee=rw
这表示,MyProject下面的所有子目录hadeslee都是有权限读写的,但是tom只有权限读写此项目下面的module1目录,这个各自的访问 权限就分的更细致了.有关于MyProject文件夹下面的设置,我们就告一段落了,我们现在开始设置apache,使它能和subvertion一起工 作.
首先来到Subersion的安装目录,进入它的bin目录,我们会发现如下两个文件:
mod_authz_svn.so
mod_dav_svn.so
我们把这两个文件复制一下,粘帖到apache的安装目录下的modules文件中,然后我们再打开apache安装目录下的conf文件夹,打开httpd.conf文件.增加如下两行：
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
注意，由于dav_svn需要dav_module的支持，所以要确保下面这一行没有被注释，并且保证在dav_svn之前加载：
LoadModule dav_module modules/mod_dav.so
然后模块的设置就完成了,下面我们要设置SVN的目录,以使我们的apache能知道访问不同的URL的时候,它去哪里寻找这个URL所对应的SVN目录.
在httpd.conf文件中,增加如下内容:
&#60;Location /svn/MyProject&#62;
DAV svn
SVNPath E:/svnroot/MyProject
AuthzSVNAccessFile E:/svnroot/MyProject/conf/access.auth
Satisfy Any
Require valid-user
AuthType Basic
AuthName &#8220;Subversion repositories&#8221;
AuthUserFile  E:/svnroot/MyProject/conf/users.auth
Require valid-user
&#60;/Location&#62;
添加完上面这些,我们会发现access.auth是我们刚才新建的,可是users.auth我们并没有新建啊.怎么就把它加进去了.不要急,现在我们就来生成users.auth文件.
进入apache的安装目录的bin文件夹,输入如下命令:
D:\Program Files\Apache Group\Apache2\bin&#62;htpasswd -cb users.auth hadeslee hadeslee1234
Automatically using MD5 format.
Adding password for user hadeslee
D:\Program Files\Apache Group\Apache2\bin&#62;
我们就会发现在bin目录生成了users.auth,我们可以看到,hadeslee用户名已经被添加进去了,密码是用MD5加密过的.然后我们还要增加用户呢,可以用如下方法:
D:\Program Files\Apache Group\Apache2\bin&#62;htpasswd [...]]]></description>
		<wfw:commentRss>http://www.wemvc.com/278.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>SVN常用命令</title>
		<link>http://www.wemvc.com/90.html</link>
		<comments>http://www.wemvc.com/90.html#comments</comments>
		<pubDate>Wed, 13 Aug 2008 03:46:14 +0000</pubDate>
		<dc:creator>精东</dc:creator>
				<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://www.wemvc.com/?p=90</guid>
		<description><![CDATA[下面代码来自于我的MacBook:
joshuas-macbook:~ Joshua$ svn --help
usage: svn &#60;subcommand&#62; [options] [args]
Subversion command-line client, version 1.4.4.
Type 'svn help &#60;subcommand&#62;' for help on a specific subcommand.
Type 'svn --version' to see the program version and RA modules
  or 'svn --version --quiet' to see just the version number.
Most subcommands take file and/or directory arguments, recursing
on the directories.  If no arguments [...]]]></description>
		<wfw:commentRss>http://www.wemvc.com/90.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

