<?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://panweizeng.com/archives/tag/svn/feed" rel="self" type="application/rss+xml" />
	<link>http://panweizeng.com</link>
	<description>活在回忆里,细数时间下过的蛋.</description>
	<lastBuildDate>Sun, 29 Aug 2010 17:03:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1-alpha</generator>
		<item>
		<title>SVN分支和合并的简单例子</title>
		<link>http://panweizeng.com/archives/547</link>
		<comments>http://panweizeng.com/archives/547#comments</comments>
		<pubDate>Sat, 07 Mar 2009 15:38:14 +0000</pubDate>
		<dc:creator>Pan</dc:creator>
				<category><![CDATA[学习]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://panweizeng.com/?p=547</guid>
		<description><![CDATA[尽管svn没有作强制要求，但是一般svn版本库目录建议创建trunk、branches和tags三个目录。 在实际操作时，trunk主干版本要时刻保持干净，即随时可以基于这个版本进行修改并将应用部署上线。branches是分支目录，存放并行开发的项目代码，因为分支是主干的廉价拷贝（相当只是提交了一次主干版本，增加了一个版本号，并没有取出版本库作镜像拷贝），所以你可以放心建立很多分支版本。不过Subversion不支持跨版本库的拷贝，当使用svn copy时你只能在同一个版本库内操作。tags目录存放trunk某个的快照，比如说release-1.0即trunk处于1.0版本时的快照。 使用svn来作团队的代码管理，那么分支和合并将是非常常用的操作。下面是一个简单的示例。 1. 创建分支。这里假设你要负责一个叫theme的项目，分支号1.7.2。 #这里的localhost是svn服务器地址 svn copy -m &#34;1.7.2 - theme&#34; svn://localhost/www/trunk svn://localhost/www/branches/branch1.7.2-theme svn co svn://localhost/www/branches/branch1.7.2-theme 2. 从trunk中merge到分支。忙了一个星期终于开发完了，但是开发期间trunk版本有过改动，部署上线前你需要合并trunk的代码。 #branch1.7.2-theme是分支目录，注意不可以进到分支子目录 cd branch1.7.2-theme #前面的12972是开分支之前trunk的版本号，后面的12991是merge时trunk的版本号 svn merge -r 12972:12991 svn://localhost/www/trunk 如果有冲突选择p(postpone)，merge完了之后使用svn st&#124;grep ^C查看冲突文件，然后比对修改冲突文件。解决冲突后再check in ，信息写上执行的merge操作。 svn ci -m 'svn merge -r 12972:12991 svn://localhost/www/trunk' 3. 从分支merge到trunk。上线测试完毕，你很幸运，一切都如预期正常，这时就要将分支回归trunk，将trunk更新到最新。 #先从trunk checkout一份新鲜的代码，然后cd到该版本目录下 svn co svn://localhost/www/trunk cd trunk #12973是分支开始的版本号，13006是分支结束的版本号 svn merge -r [...]]]></description>
			<content:encoded><![CDATA[<p>尽管svn没有作强制要求，但是一般svn版本库目录建议创建trunk、branches和tags三个目录。 在实际操作时，trunk主干版本要时刻保持干净，即随时可以基于这个版本进行修改并将应用部署上线。branches是分支目录，存放并行开发的项目代码，因为分支是主干的廉价拷贝（相当只是提交了一次主干版本，增加了一个版本号，并没有取出版本库作镜像拷贝），所以你可以放心建立很多分支版本。不过Subversion不支持跨版本库的拷贝，当使用svn copy时你只能在同一个版本库内操作。tags目录存放trunk某个的快照，比如说release-1.0即trunk处于1.0版本时的快照。</p>
<p>使用svn来作团队的代码管理，那么分支和合并将是非常常用的操作。下面是一个简单的示例。</p>
<p>1. 创建分支。这里假设你要负责一个叫theme的项目，分支号1.7.2。</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline">#这里的localhost是svn服务器地址</li>
<li>svn copy -m &quot;1.7.2 - theme&quot; svn://localhost/www/trunk svn://localhost/www/branches/branch1.7.2-theme</li>
<li>svn co svn://localhost/www/branches/branch1.7.2-theme</li></ol></div>
<p>2. 从trunk中merge到分支。忙了一个星期终于开发完了，但是开发期间trunk版本有过改动，部署上线前你需要合并trunk的代码。</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline">#branch1.7.2-theme是分支目录，注意不可以进到分支子目录</li>
<li>cd branch1.7.2-theme</li>
<li>#前面的12972是开分支之前trunk的版本号，后面的12991是merge时trunk的版本号</li>
<li>svn merge -r 12972:12991 svn://localhost/www/trunk</li></ol></div>
<p>如果有冲突选择p(postpone)，merge完了之后使用svn st|grep ^C查看冲突文件，然后比对修改冲突文件。解决冲突后再check in ，信息写上执行的merge操作。</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline">svn ci -m 'svn merge -r 12972:12991 svn://localhost/www/trunk'</li></ol></div>
<p>3. 从分支merge到trunk。上线测试完毕，你很幸运，一切都如预期正常，这时就要将分支回归trunk，将trunk更新到最新。</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline">#先从trunk checkout一份新鲜的代码，然后cd到该版本目录下</li>
<li>svn co svn://localhost/www/trunk</li>
<li>cd trunk</li>
<li>#12973是分支开始的版本号，13006是分支结束的版本号</li>
<li>svn merge -r 12973:13006 svn://localhost/www/branches/branch1.7.2-theme</li></ol></div>
<p>如步骤2一样解决冲突，解决冲突后再check in，信息写上执行的merge操作。</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline">svn ci -m &quot;svn merge -r 12973:13006 svn://localhost/www/branches/branch1.7.2-theme&quot;</li></ol></div>
<p>相关的手册可以参阅svn文档，电子版可以<a href="http://panweizeng.com/archives/49">到这里下载</a>。</p>
]]></content:encoded>
			<wfw:commentRss>http://panweizeng.com/archives/547/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>使用Subversion进行版本控制</title>
		<link>http://panweizeng.com/archives/49</link>
		<comments>http://panweizeng.com/archives/49#comments</comments>
		<pubDate>Sat, 02 Sep 2006 05:58:04 +0000</pubDate>
		<dc:creator>Pan</dc:creator>
				<category><![CDATA[学习]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://www.panweizeng.com/archives/49</guid>
		<description><![CDATA[这两天抽空做了一个subversion的电子书。文件用webdup从www.iusesvn.com抓取，去掉了广告代码，调整了上下table的宽度，还有把目录页的声明移到了下面，这样更好阅读一些。文件都是gb2312编码，虽然网页文件声明是utf-8编码，这样刚开始编译成chm文件的时候网页标题都是乱码。这样下了一个文件编码批量转换助手（EncodeConvert0.2.exe，作者Abyss7i@gmail.com）先进行编码转换。尝试了QuickCHM，PowerCHM，VisulCHM，FreeCHM，CHMMaker，CHMFactory，Html help Workshop这几种软件都不怎么好用。QuickCHM 2.6在winxp sp2和win2003中会发生一个“接口不可用”的错误（winxp sp1和win2000没有这种错误），最后用老版本QuickCHM 1.6将就着用，把电子书做出来了。谢谢原计算机系的明白同学和istef同学帮我做测试。点击下载《使用Subversion进行版本控制》，网页浏览地址：http://panweizeng.com/others/subversion/index.html。 更新: 此电子档手册由Rock Sun 组织翻译，他创建的Subversion中文站已经重新开张，Subversion中文站有更全的Subversion相关文档。如果你对Subversion的中文化推广感兴趣，可以联系他。]]></description>
			<content:encoded><![CDATA[<p>这两天抽空做了一个<a href="http://subversion.tigris.org/">subversion</a>的电子书。文件用<a href="http://www.webdup.com/gb/index.html">webdup</a>从<a href="http://www.iusesvn.com/subversion/svnbook/1.1/index.html">www.iusesvn.com</a>抓取，去掉了广告代码，调整了上下table的宽度，还有把目录页的声明移到了下面，这样更好阅读一些。文件都是gb2312编码，虽然网页文件声明是utf-8编码，这样刚开始编译成chm文件的时候网页标题都是乱码。这样下了一个文件编码批量转换助手（EncodeConvert0.2.exe，作者Abyss7i@gmail.com）先进行编码转换。尝试了QuickCHM，PowerCHM，VisulCHM，FreeCHM，CHMMaker，CHMFactory，Html help Workshop这几种软件都不怎么好用。QuickCHM 2.6在winxp sp2和win2003中会发生一个“接口不可用”的错误（winxp sp1和win2000没有这种错误），最后用老版本QuickCHM 1.6将就着用，把电子书做出来了。谢谢原计算机系的明白同学和<a href="http://blog.istef.info/">istef</a>同学帮我做测试。点击下载<a href="http://panweizeng.com/download/subversion.chm">《使用Subversion进行版本控制》</a>，网页浏览地址：<a href="http://panweizeng.com/others/subversion/index.html">http://panweizeng.com/others/subversion/index.html</a>。</p>
<p>更新: 	此电子档手册由<a href="http://rocksun.cn/">Rock Sun</a> 组织翻译，他创建的<a href="http://www.subversion.org.cn/">Subversion中文站</a>已经重新开张，<a href="http://www.subversion.org.cn">Subversion中文站</a>有更全的<a href="http://svnbook.subversion.org.cn/">Subversion相关文档</a>。如果你对Subversion的中文化推广感兴趣，可以联系<a href="http://rocksun.cn/">他</a>。</p>
]]></content:encoded>
			<wfw:commentRss>http://panweizeng.com/archives/49/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
