<?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>IDEAL Garden &#187; SVN</title>
	<atom:link href="http://www.zhangkf.com/tag/svn/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.zhangkf.com</link>
	<description></description>
	<lastBuildDate>Mon, 16 Jan 2012 14:02:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>本地搭建SVN服务</title>
		<link>http://www.zhangkf.com/2011/12/play-with-svn/</link>
		<comments>http://www.zhangkf.com/2011/12/play-with-svn/#comments</comments>
		<pubDate>Tue, 06 Dec 2011 14:09:31 +0000</pubDate>
		<dc:creator>zhangkf</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[SVN]]></category>

		<guid isPermaLink="false">http://www.zhangkf.com/?p=1105</guid>
		<description><![CDATA[别看用起SVN很熟，每天commit、revert很欢，真要自己在Mac上搭起来个SVN server，本地可以checkout，创建branch，merge，就没那么熟悉了。 查了查资料，过程如下： 1. 创建本地repo localhost:~ twer$ cd localhost:~ twer$ svnadmin create SVNRepo 2. 修改两个conf文件，打开访问权限，并添加授权用户 localhost:~ twer$ cd SVNRepo/ localhost:SVNRepo twer$ edit conf/svnserve.conf localhost:SVNRepo twer$ edit conf/passwd 3. 创建trunk目录 localhost:SVNRepo twer$ svn mkdir file:///Users/twer/SVNRepo/trunk -m "create trunk" 4. 创建测试文件，并import到trunk localhost:SVNRepo &#8230; <a href="http://www.zhangkf.com/2011/12/play-with-svn/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>别看用起SVN很熟，每天commit、revert很欢，真要自己在Mac上搭起来个SVN server，本地可以checkout，创建branch，merge，就没那么熟悉了。</p>
<p>查了查资料，过程如下：</p>
<p>1. 创建本地repo</p>
<pre>localhost:~ twer$ cd
localhost:~ twer$ svnadmin create SVNRepo</pre>
<p>2. 修改两个conf文件，打开访问权限，并添加授权用户</p>
<pre>localhost:~ twer$ cd SVNRepo/
localhost:SVNRepo twer$ edit conf/svnserve.conf
localhost:SVNRepo twer$ edit conf/passwd</pre>
<p>3. 创建trunk目录</p>
<pre>localhost:SVNRepo twer$ svn mkdir file:///Users/twer/SVNRepo/trunk -m "create trunk"</pre>
<p>4. 创建测试文件，并import到trunk</p>
<pre>localhost:SVNRepo twer$ touch test.file
localhost:SVNRepo twer$ edit test.file
localhost:~ twer$ svn import test.file file:///Users/twer/SVNRepo/trunk/test.file -m"import file"</pre>
<p>5. 启动svn server</p>
<pre>localhost:~ twer$ cd SVNRepo
localhost:SVNRepo twer$ svnserve -d</pre>
<p>6. 转移到working directory，checkout trunk</p>
<pre>localhost:working_dir twer$ svn checkout svn://localhost/Users/twer/SVNRepo/trunk trunk</pre>
<p>7. 新建branch</p>
<pre>localhost:SVNRepo twer$ svn copy svn://localhost/Users/twer/SVNRepo/trunk svn://localhost/Users/twer/SVNRepo/branch -m"create branch"</pre>
<p>8. checkout branch到新的branch目录</p>
<pre>localhost:working_dir twer$ svn checkout svn://localhost/Users/twer/SVNRepo/branch branch</pre>
<p>9. 修改test文件，提交</p>
<pre>localhost:branch twer$ edit test.file
localhost:branch twer$ svn ci -m"change test.file"</pre>
<p>10. 回到trunk目录，merge branch的变化</p>
<pre>localhost:trunk twer$ svn merge svn://localhost/Users/twer/SVNRepo/branch</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.zhangkf.com/2011/12/play-with-svn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>利用tortoiseSVN在两个版本库间merge code</title>
		<link>http://www.zhangkf.com/2010/09/%e5%88%a9%e7%94%a8tortoisesvn%e5%9c%a8%e4%b8%a4%e4%b8%aa%e7%89%88%e6%9c%ac%e5%ba%93%e9%97%b4merge-code/</link>
		<comments>http://www.zhangkf.com/2010/09/%e5%88%a9%e7%94%a8tortoisesvn%e5%9c%a8%e4%b8%a4%e4%b8%aa%e7%89%88%e6%9c%ac%e5%ba%93%e9%97%b4merge-code/#comments</comments>
		<pubDate>Tue, 21 Sep 2010 05:50:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[SVN]]></category>
		<category><![CDATA[TortoiseSVN]]></category>

		<guid isPermaLink="false">http://www.zhangkf.com/?p=879</guid>
		<description><![CDATA[需求总是奇怪的，但好在有这么一个还算顺手的工具。 我有一份code base的两个不同版本库，这两个版本库所在的server是不一样的，然后对应本地有两个不同的Working Copy。我需要把一个版本库里面做的部分变化，merge到另外一个版本库。一开始想过用SVN命令行diff，但似乎那是服务于同一个版本库的不同branch的，也就是要host在一个server上的。 幸好在小乌龟里面发现了Merge revisions to&#8230;这个功能，具体做法是： show log版本库A 选择需要提取出change的revisions，可以多选 然后右键，选择merge revisions to&#8230; 选择版本库B所在的WC 小乌龟开始替你干活，能自动Merge的会自动Merge，不能的会提示conflict 小乌龟干活有两个问题： 提示你有conflict时，你可以看到变化的对比，但有时并不真有conflict，这时可以选择使用全部覆盖或者忽略覆盖。 如果真的有conflict，注意了，即使在edit conflict时resolve conflict，目标文件也还是有问题，并未真的把conflict resolve掉，一试便知。这应该是小乌龟的bug，我用的是1.6.10。这时正确的做法是，发现的确有红色的conflict，选择resolve later，待这一轮Merge之后，逐个选择文件把conflict resolve掉。]]></description>
			<content:encoded><![CDATA[<p>需求总是奇怪的，但好在有这么一个还算顺手的工具。</p>
<p>我有一份code base的两个不同版本库，这两个版本库所在的server是不一样的，然后对应本地有两个不同的Working Copy。我需要把一个版本库里面做的部分变化，merge到另外一个版本库。一开始想过用SVN命令行diff，但似乎那是服务于同一个版本库的不同branch的，也就是要host在一个server上的。</p>
<p>幸好在小乌龟里面发现了Merge revisions to&#8230;这个功能，具体做法是：</p>
<ol>
<li>show log版本库A</li>
<li>选择需要提取出change的revisions，可以多选</li>
<li>然后右键，选择merge revisions to&#8230;</li>
<li>选择版本库B所在的WC</li>
<li>小乌龟开始替你干活，能自动Merge的会自动Merge，不能的会提示conflict</li>
</ol>
<p>小乌龟干活有两个问题：</p>
<ol>
<li>提示你有conflict时，你可以看到变化的对比，但有时并不真有conflict，这时可以选择使用全部覆盖或者忽略覆盖。</li>
<li>如果真的有conflict，注意了，即使在edit conflict时resolve conflict，目标文件也还是有问题，并未真的把conflict resolve掉，一试便知。这应该是小乌龟的bug，我用的是1.6.10。这时正确的做法是，发现的确有红色的conflict，选择resolve later，待这一轮Merge之后，逐个选择文件把conflict resolve掉。</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.zhangkf.com/2010/09/%e5%88%a9%e7%94%a8tortoisesvn%e5%9c%a8%e4%b8%a4%e4%b8%aa%e7%89%88%e6%9c%ac%e5%ba%93%e9%97%b4merge-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

