<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[SVN实现在更新本地版本库时忽略指定目录，TortoiseSVN 更新时忽略指定文件夹。]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Thu, 23 Jan 2014 02:33:29 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	背景：有时在更新测试服务器上的目录时，不需要更新如配置文件夹里的代码，如：data目录。<br/><textarea name="code" class="C" rows="15" cols="100">
[root@test mytv]# svn up set-depth=exclude&nbsp;&nbsp;data&nbsp;&nbsp; 
At revision 11.
At revision 11.
</textarea><br/><br/> 命令行可以这么来<br/>svn update –set-depth=exclude 文件夹<br/><br/>那么TortoiseSVN客户端呢?<br/>在文件夹右键中的”更新至版本(U)”<br/>更新深度选”排除”,确定,搞定<br/>下次更新就不会再更新此目录<br/>要恢复的话在上级目录做相同操作,只是更新深度选择”全递归”<br/><br/>很有步骤的实例解说：<br/>http://scmbob.org/exclude-dirs-when-svn-up.html<br/><br/>TortoiseSVN 1.6以上支持<br/>来自：http://blog.sina.com.cn/s/blog_61e2e42601019gx9.html<br/><br/><br/>张宴兄弟做得更体贴，给整成web的，思想和我一样：http://blog.s135.com/post/371/<br/>&nbsp;&nbsp; 引入忽略指定目录的原文内容如下：<br/>&nbsp;&nbsp;很多时候，你的svn repo(假定project)很大(这里指包括所有tags和branches)，但是其实你真正需要的却只有一两个(比如说trunk，以及和trunk平级的install目录，同时install目录和trunk目录有着这样活那样的联系)，这时你就希望在svn co的时候是co整个project并且忽略你不想要的目录。当然，你大可不必co整个project，而单独co你想要的目录就行了。但是，从SCM的角度出发，你不可以强行改变用户的使用习惯，不排除就有这么些人喜欢这样操作，尤其是对于那些喜欢用命令行的人而言。<br/><br/><br/>可能我这么说，大家没有什么概念，我给大家举个例子，大家应该就知道这是一种什么情况了：<br/><br/>大家都知道，在一个项目的SCM管理中，往往要求开发者通过打tag的方式来进行版本发布，tag存在于tags目录，tags目录往往与trunk/branches目录平级，这里还有一个install目录，如下：<br/><br/>project/&nbsp;&nbsp; <br/>&#124;-- branches&nbsp;&nbsp; <br/>&#124;&nbsp;&nbsp; &#124;-- branch1&nbsp;&nbsp; <br/>&#124;&nbsp;&nbsp; &#124;-- branch2&nbsp;&nbsp; <br/>&#124;&nbsp;&nbsp; `-- branch3&nbsp;&nbsp; <br/>&#124;-- install&nbsp;&nbsp; <br/>&#124;-- tags&nbsp;&nbsp; <br/>&#124;&nbsp;&nbsp; &#124;-- tag1&nbsp;&nbsp; <br/>&#124;&nbsp;&nbsp; &#124;-- tag2&nbsp;&nbsp; <br/>&#124;&nbsp;&nbsp; &#124;-- tag3&nbsp;&nbsp; <br/>&#124;&nbsp;&nbsp; &#124;-- tag4&nbsp;&nbsp; <br/>&#124;&nbsp;&nbsp; `-- tag5&nbsp;&nbsp; <br/>`-- trunk&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;`-- src&nbsp;&nbsp;<br/>tags目录虽然是一个标签副本，但在checkout的过程中，是会针对一份完整代码的，因此很多人都不希望在本地的working copy中保留这个tags目录。遗憾的是，svn co命令并没有这样一个选项去忽略这个目录。<br/><br/>事实上，我也遇到了这个问题，在我看了很多help之后，终于找到了办法。具体如下（分两种情况讨论）：<br/><br/> I. 本地保存有完整的Working Copy情况：<br/>换句话说就是，你已经将svn中完整的repos/directories checkout到本地了（本地已经有一份你在服务器端的完整Copy了）。这时，你只需要运行以下命令将tags以及branches目录排除在svn up列表:<br/><br/># svn update --set-depth=exclude tags branches<br/>D&nbsp;&nbsp;&nbsp;&nbsp;tags<br/>D&nbsp;&nbsp;&nbsp;&nbsp;branches <br/>选项后面可以跟多个目录，这样，就在你当前的working copy中成功的将tags和branches目录排除掉了，在你下一次的update中，就不会去理会这两个目录了，但同时有保证了你的project是在version control下的，因此不需要每次都逐个进入目录进行svn up了。<br/><br/> II. 进行一次全新的忽略目录Checkout操作：<br/>这种情况如果是在windows下，就显得非常简单，你只需要使用乌龟客户端的“Choose Item”按钮。<br/><br/>但是如果是在命令行的情况下，那就要稍微复杂一点了，请按照如下操作：<br/><br/>1. 首先将目录树checkout到本地：<br/><br/>[root]@[Fck_with_U]:[~/temp]-&gt;&gt;svn co http://svn_test_url.com/test_dir my_checkout --depth immediates&nbsp;&nbsp; <br/>A&nbsp;&nbsp;&nbsp;&nbsp;my_checkout/backup&nbsp;&nbsp; <br/>A&nbsp;&nbsp;&nbsp;&nbsp;my_checkout/doc&nbsp;&nbsp; <br/>A&nbsp;&nbsp;&nbsp;&nbsp;my_checkout/scripts&nbsp;&nbsp; <br/>A&nbsp;&nbsp;&nbsp;&nbsp;my_checkout/src&nbsp;&nbsp; <br/>A&nbsp;&nbsp;&nbsp;&nbsp;my_checkout/data&nbsp;&nbsp; <br/>A&nbsp;&nbsp;&nbsp;&nbsp;my_checkout/tool&nbsp;&nbsp; <br/>Checked out revision 736189.&nbsp;&nbsp;<br/>2. 将你不想co的目录排除在外（比如这里我想排除backup, data, doc, src, tool这五个目录，只想checkout scripts目录）：<br/><br/>[root]@[Fck_with_U]:[~/temp]-&gt;&gt;cd my_checkout/&nbsp;&nbsp; <br/>[root]@[Fck_with_U]:[~/temp/my_checkout]-&gt;&gt;ls&nbsp;&nbsp; <br/>backup&nbsp;&nbsp;data&nbsp;&nbsp;doc&nbsp;&nbsp;scripts&nbsp;&nbsp;src&nbsp;&nbsp;tool&nbsp;&nbsp; <br/>[root]@[Fck_with_U]:[~/temp/my_checkout]-&gt;&gt;svn up --set-depth=exclude backup data doc src tool&nbsp;&nbsp; <br/>D&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; backup&nbsp;&nbsp; <br/>D&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; data&nbsp;&nbsp; <br/>D&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; doc&nbsp;&nbsp; <br/>D&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; src&nbsp;&nbsp; <br/>D&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tool&nbsp;&nbsp;<br/>3. 更新你想要的scripts目录：<br/><br/>[root]@[Fck_with_U]:[~/temp/my_checkout]-&gt;&gt;svn update --set-depth infinity scripts/&nbsp;&nbsp; <br/>A&nbsp;&nbsp;&nbsp;&nbsp;scripts/trunk&nbsp;&nbsp; <br/>A&nbsp;&nbsp;&nbsp;&nbsp;scripts/trunk/test&nbsp;&nbsp; <br/>...........&nbsp;&nbsp;<br/>这样，目的就达到了！说烦也不烦！<br/><br/>转自：http://scmbob.org/exclude-dirs-when-svn-up.html
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] SVN实现在更新本地版本库时忽略指定目录，TortoiseSVN 更新时忽略指定文件夹。]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>