﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-liangcmwn-文章分类-svn</title><link>http://www.blogjava.net/liangcmwn/category/48990.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 12 Aug 2011 08:16:19 GMT</lastBuildDate><pubDate>Fri, 12 Aug 2011 08:16:19 GMT</pubDate><ttl>60</ttl><item><title>删除所有.svn目录</title><link>http://www.blogjava.net/liangcmwn/articles/356289.html</link><dc:creator>liangcmwn</dc:creator><author>liangcmwn</author><pubDate>Thu, 11 Aug 2011 01:23:00 GMT</pubDate><guid>http://www.blogjava.net/liangcmwn/articles/356289.html</guid><wfw:comment>http://www.blogjava.net/liangcmwn/comments/356289.html</wfw:comment><comments>http://www.blogjava.net/liangcmwn/articles/356289.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liangcmwn/comments/commentRss/356289.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liangcmwn/services/trackbacks/356289.html</trackback:ping><description><![CDATA[<div> 	<div id="cnblogs_post_body"><div style="font-family: Arial;"> <p>当使用了svn版本控制系统后每个目录下都会有一个.svn目录存在，开发完当交付产品或者上传到服务器时一般要把这些目录删除，这里总结了一下在linux和win下的办法。</p> <p><strong>一、在linux下</strong></p> <p>删除这些目录是很简单的，命令如下    find . -type d -name ".svn"|xargs rm -rf</p> <p>或者</p> <p>find&nbsp;.&nbsp;-type&nbsp;d&nbsp;-iname&nbsp;".svn"&nbsp;-exec&nbsp;rm&nbsp;-rf&nbsp;{}&nbsp;";&nbsp;&nbsp;</p> <p>全部搞定。(http://tech.techweb.com.cn/redirect.php?fid=26&amp;tid=205673&amp;goto=nextnewset)</p> <p>&nbsp;</p> <p><strong>二、在windows下用以下法子：</strong></p> <div>1、在项目平级的目录，执行dos命令：   xcopy project_dir project_dir_1 /s /i</div> <p>&nbsp;</p> <div>2、或者在项目根目录执行以下dos命令   for /r . %%a in (.) do @if exist "%%a".svn" rd /s /q "%%a".svn"</div> <p>其实第二种方法可以用来干很多事的，比如把代码中的.svn替换为任意其他文件名并在硬盘根目录下执行，就可以从硬盘上删除所有的这个文件啦。</p> <p>3、加注册表</p> <p><a href="http://weblogs.asp.net/jgalloway/default.aspx">Jon Galloway</a>提供了一段注册表代码，可以将&#8221;Delete SVN Folders&#8221;命名增加到资源管理器的右键上，这样，鼠标点两下就能把选中目录下的所有.svn目录干掉了。Works just great!</p> <p>代码为：</p> <pre>Windows Registry Editor Version 5.00<br />[HKEY_LOCAL_MACHINE"SOFTWARE"Classes"Folder"shell"DeleteSVN]@=&#8221;<span style="color: #8b0000;">Delete SVN Folders</span>&#8220;<br />[HKEY_LOCAL_MACHINE"SOFTWARE"Classes"Folder"shell"DeleteSVN"command]@=&#8221;<span style="color: #8b0000;">cmd.exe /c "&#8221;TITLE Removing SVN Folders in %1 &amp;&amp; COLOR 9A &amp;&amp; FOR /r "&#8221;%1"&#8221; %%f IN (.svn) DO RD /s /q "&#8221;%%f"&#8221; "&#8221;</span>&#8220;</pre> <p>将这段代码保存为一个.reg文件，双击确认导入注册表即可。</p> </div></div></div><img src ="http://www.blogjava.net/liangcmwn/aggbug/356289.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liangcmwn/" target="_blank">liangcmwn</a> 2011-08-11 09:23 <a href="http://www.blogjava.net/liangcmwn/articles/356289.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux下svn命令大全</title><link>http://www.blogjava.net/liangcmwn/articles/353461.html</link><dc:creator>liangcmwn</dc:creator><author>liangcmwn</author><pubDate>Thu, 30 Jun 2011 11:38:00 GMT</pubDate><guid>http://www.blogjava.net/liangcmwn/articles/353461.html</guid><wfw:comment>http://www.blogjava.net/liangcmwn/comments/353461.html</wfw:comment><comments>http://www.blogjava.net/liangcmwn/articles/353461.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liangcmwn/comments/commentRss/353461.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liangcmwn/services/trackbacks/353461.html</trackback:ping><description><![CDATA[<div><p><strong>1、</strong>将文件checkout到本地目录</p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #000000;"><strong>svn checkout</strong> path（path是服务器上的目录）<br /> 例如：svn checkout svn:</span><span style="color: #808080;">//</span><span style="font-weight: bold; color: #800000;">192.168</span><span style="color: #000000;">.</span><span style="font-weight: bold; color: #800000;">1.1</span><span style="color: #808080;">/</span><span style="color: #000000;">pro</span><span style="color: #808080;">/</span><span style="color: #000000;">domain<br /> 简写：svn co</span></div> <p><strong>2、</strong>往版本库中添加新的文件</p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #000000;"> <strong>svn </strong></span><span style="color: #0000ff;"><strong>add</strong></span> <span style="color: #0000ff;">file</span><span style="color: #000000;"><br /> 例如：svn </span><span style="color: #0000ff;">add</span><span style="color: #000000;"> test.php(添加test.php)<br /> svn </span><span style="color: #0000ff;">add</span> <span style="color: #808080;">*</span><span style="color: #000000;">.php(添加当前目录下所有的php文件)</span></div> <p><strong>3、</strong>将改动的文件提交到版本库</p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"> <p><span style="color: #000000;"> <strong>svn commit</strong> -m </span><span style="color: #000000;">&#8220;</span><span style="color: #000000;">LogMessage</span><span style="color: #000000;">&#8220;</span> <span style="font-weight: bold; color: #800000;">[</span><span style="color: #800000;">-N</span><span style="font-weight: bold; color: #800000;">]</span> <span style="font-weight: bold; color: #800000;">[</span><span style="color: #800000;">--no-unlock</span><span style="font-weight: bold; color: #800000;">]</span><span style="color: #000000;"> PATH<img src="../../Images/dot.gif" alt="" />(如果选择了保持锁，就使用&#8211;no-unlock开关)<br /> 例如：svn commit -m </span><span style="color: #000000;">&#8220;</span><span style="color: #000000;">add test file for my test</span><span style="color: #000000;">&#8220;</span><span style="color: #000000;"> test.php<br /> 简写：svn ci</span></p></div> <p><strong>4、</strong>加锁/解锁</p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #000000;"> <strong>svn lock</strong> -m </span><span style="color: #000000;">&#8220;</span><span style="color: #000000;">LockMessage</span><span style="color: #000000;">&#8220;</span> <span style="font-weight: bold; color: #800000;">[</span><span style="color: #800000;">--force</span><span style="font-weight: bold; color: #800000;">]</span><span style="color: #000000;"> PATH<img src="../../Images/dot.gif" alt="" /><br /> 例如：svn lock -m </span><span style="color: #000000;">&#8220;</span><span style="color: #000000;">lock test  file</span><span style="color: #000000;">&#8220;</span><span style="color: #000000;"> test.php<br /> <strong>svn unlock</strong> PATH</span></div> <p><strong>5、</strong>更新到某个版本</p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #000000;"> <strong>svn update -r </strong>m path<br /> 例如：<br /> svn update如果后面没有目录，默认将当前目录以及子目录下的所有文件都更新到最新版本。<br /> svn update  -r </span><span style="color: #000000;">200</span><span style="color: #000000;"> test.php(将版本库中的文件test.php还原到版本200)<br /> svn update  test.php(更新，于版本库同步。如果在提交的时候提示过期的话，是因为<strong>冲突，需要先update，修改文件</strong>，然后清除<strong>svn  resolved</strong>，最后再提交commit)<br /> 简写：svn up</span></div> <p><strong>6、</strong>查看文件或者目录状态</p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"> <span style="color: #000000;">1</span><span style="color: #000000;">）<strong>svn status</strong> path<img src="../../Images/dot.gif" alt="" />（目录下的文件和子目录的状态，正常状态不显示）<br /> 【?：不在svn的控制中；M：内容被修改；C：发生冲突；A：预定加入到版本库；K：被锁定】<br /> </span><span style="color: #000000;">2</span><span style="color: #000000;">）<strong>svn  status -v</strong> path<img src="../../Images/dot.gif" alt="" />(显示文件和子目录状态)<br /> 第一列保持相同，第二列显示工作版本号，第三和第四列显示最后一次修改的版本号和修改人。<br /> 注：svn status、svn diff和 svn  revert这三条命令在没有网络的情况下也可以执行的，原因是svn在本地的.svn中保留了本地版本的原始拷贝。<br /> 简写：svn  st</span></div> <p><strong>7、</strong>删除文件</p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #000000;"> <strong>svn delete</strong> path -m </span><span style="color: #000000;">&#8220;</span><span style="color: #000000;">delete test  fle</span><span style="color: #000000;">&#8220;</span><span style="color: #000000;"><br /> 例如：svn delete svn://</span><span style="color: #000000;">192.168.1.1</span><span style="color: #000000;">/pro/domain/test.php -m </span><span style="color: #000000;">&#8220;</span><span style="color: #000000;">delete test  file</span><span style="color: #000000;">&#8221;<br /> 或者直接svn delete test.php  然后再svn ci -m &#8216;delete test file&#8216;，推荐使用这种<br /> 简写：svn (del, remove, rm)</span></div> <p><strong>8、</strong>查看日志</p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #000000;"> <strong>svn log</strong> path<br /> 例如：svn log  test.php 显示这个文件的所有修改记录，及其版本号的变化</span></div> <p><strong>9、</strong>查看文件详细信息</p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #000000;"> <strong>svn info</strong> path<br /> 例如：svn info  test.php</span></div> <p><strong>10、</strong>比较差异</p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #000000;"> <strong>svn diff</strong> path(将修改的文件与基础版本比较)<br /> 例如：svn diff test.php<br /> <strong>svn diff</strong> -r m:n  path(对版本m和版本n比较差异)<br /> 例如：svn diff -r 200:201 test.php<br /> 简写：svn  di</span></div> <p><strong>11、</strong>将两个版本之间的差异合并到当前文件</p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #000000;"> <strong>svn merge -r</strong> m:n path<br /> 例如：svn  merge -r </span><span style="color: #000000;">200</span><span style="color: #000000;">:</span><span style="color: #000000;">205</span><span style="color: #000000;"> test.php（将版本200与205之间的差异合并到当前文件，但是一般都会产生冲突，需要处理一下）</span></div> <p><strong>12、</strong>SVN 帮助</p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #000000;"> <strong>svn help<br /> svn help  ci</strong></span></div> <p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p> <p>以上是常用命令，下面写几个不经常用的</p> <p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p> <p><strong>13、</strong>版本库下的文件和目录列表</p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #000000;"> <strong>svn list </strong>path<br /> 显示path目录下的所有属于版本库的文件和目录<br /> 简写：svn ls</span></div> <p><strong>14、</strong>创建纳入版本控制下的新目录</p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #000000;"><strong>svn mkdir</strong>: 创建纳入版本控制下的新目录。<br /> 用法: 1、mkdir PATH&#8230;<br /> 2、mkdir URL&#8230;<br /> 创建版本控制的目录。<br /> 1、每一个以工作副本 PATH 指定的目录，都会创建在本地端，并且加入新增<br /> 调度，以待下一次的提交。<br /> 2、每个以URL指定的目录，都会透过立即提交于仓库中创建。<br /> 在这两个情况下，所有的中间目录都必须事先存在。 </span></div> <p><strong>15、</strong>恢复本地修改</p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #000000;"><strong>svn revert</strong>: 恢复原始未改变的工作副本文件 (恢复大部份的本地修改)。revert:<br /> 用法:  revert PATH&#8230;<br /> 注意: 本子命令不会存取网络，并且会解除冲突的状况。但是它不会恢复<br /> 被删除的目录 </span></div> <p><strong>16、</strong>代码库URL变更</p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #000000;"><strong>svn switch (sw):</strong> 更新工作副本至不同的URL。<br /> 用法: 1、switch URL  [PATH]<br /> 2、switch &#8211;relocate FROM TO [PATH...] <p>1、更新你的工作副本，映射到一个新的URL，其行为跟&#8220;svn update&#8221;很像，也会将<br /> 服务器上文件与本地文件合并。这是将工作副本对应到同一仓库中某个分支或者标记的<br /> 方法。<br /> 2、改写工作副本的URL元数据，以反映单纯的URL上的改变。当仓库的根URL变动<br /> (比如方案名或是主机名称变动)，但是工作副本仍旧对映到同一仓库的同一目录时使用<br /> 这个命令更新工作副本与仓库的对应关系。</p> </span></div> <p><strong>17、</strong>解决冲突</p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #000000;"><strong>svn resolved:</strong> 移除工作副本的目录或文件的&#8220;冲突&#8221;状态。<br /> 用法: resolved  PATH&#8230;<br /> 注意: 本子命令不会依语法来解决冲突或是移除冲突标记；它只是移除冲突的<br /> 相关文件，然后让 PATH  可以再次提交。 </span></div> <p><strong>18、</strong>输出指定文件或URL的内容。</p> <span style="color: #000000;"><strong>svn </strong><strong>cat</strong> 目标[@版本]&#8230;如果指定了版本，将从指定的版本开始查找。<br /> svn cat -r PREV filename &gt; filename (PREV  是上一版本,也可以写具体版本号,这样输出结果是可以提交的) </span></div><img src ="http://www.blogjava.net/liangcmwn/aggbug/353461.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liangcmwn/" target="_blank">liangcmwn</a> 2011-06-30 19:38 <a href="http://www.blogjava.net/liangcmwn/articles/353461.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>