<?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命令行 ]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Thu, 19 Aug 2010 08:01:31 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	<br/><br/>svn命令 通常都有帮助,可通过如下方式查询：<br/><br/>$ svn help<br/><br/>知道了子命令，但是不知道子命令的用法，还可以查询：<br/><br/>$ svn help add<br/><br/>开发人员常用命令<br/><br/>(1) 导入项目<br/><br/>$ cd ~/project<br/>$ mkdir -p svntest/&#123;trunk,branches,tags&#125;<br/>$ svn import svntest https://localhost/test/svntest --message &quot;Start project&quot;<br/>...<br/>$ rm -rf svntest<br/><br/>我们新建一个项目svntest，在该项目下新建三个子目录：trunk，开发主干；branches，开发分支；tags，开发阶段性标签。然后导入到版本库test下，然后把svntest拿掉。<br/><br/>(2) 导出项目<br/><br/>$ svn checkout https://localhost/test/svntest/trunk<br/><br/>修订版本号的指定方式是每个开发人员必须了解的，以下是几个参考例子，说明可参考svn推荐书。<br/><br/>$ svn diff --revision PREV:COMMITTED foo.c<br/># shows the last change committed to foo.c<br/><br/>$ svn log --revision HEAD<br/># shows log message for the latest repository commit<br/><br/>$ svn diff --revision HEAD<br/># compares your working file (with local changes) to the latest version<br/># in the repository<br/><br/>$ svn diff --revision BASE:HEAD foo.c<br/># compares your “pristine” foo.c (no local changes) with the<br/># latest version in the repository<br/><br/>$ svn log --revision BASE:HEAD<br/># shows all commit logs since you last updated<br/><br/>$ svn update --revision PREV foo.c<br/># rewinds the last change on foo.c<br/># (foo.c&#039;s working revision is decreased)<br/><br/>$ svn checkout --revision 3<br/># specified with revision number<br/><br/>$ svn checkout --revision &#123;2002-02-17&#125;<br/>$ svn checkout --revision &#123;15:30&#125;<br/>$ svn checkout --revision &#123;15:30:00.200000&#125;<br/>$ svn checkout --revision &#123;&quot;2002-02-17 15:30&quot;&#125;<br/>$ svn checkout --revision &#123;&quot;2002-02-17 15:30 +0230&quot;&#125;<br/>$ svn checkout --revision &#123;2002-02-17T15:30&#125;<br/>$ svn checkout --revision &#123;2002-02-17T15:30Z&#125;<br/>$ svn checkout --revision &#123;2002-02-17T15:30-04:00&#125;<br/>$ svn checkout --revision &#123;20020217T1530&#125;<br/>$ svn checkout --revision &#123;20020217T1530Z&#125;<br/>$ svn checkout --revision &#123;20020217T1530-0500&#125;<br/><br/>(3) 日常指令<br/><br/>$ svn update<br/><br/>$ svn add foo.file<br/>$ svn add foo1.dir<br/>$ svn add foo2.dir --non-recursive<br/>$ svn delete README<br/>$ svn copy foo bar<br/>$ svn move foo1 bar1<br/><br/>$ svn status<br/>$ svn status --verbose<br/>$ svn status --verbose --show-updates<br/>$ svn status stuff/fox.c<br/><br/>$ svn diff<br/>$ svn diff &gt; patchfile<br/><br/>$ svn revert README<br/>$ svn revert<br/><br/>修改冲突发生时，会生成三个文件：.mine, .rOLDREV, .rNEWREV。比如：<br/><br/>$ ls -l<br/>sandwich.txt<br/>sandwich.txt.mine<br/>sandwich.txt.r1<br/>sandwich.txt.r2<br/><br/>解决修改冲突方式之一：修改冲突的文件sandwich.txt，然后运行命令：<br/><br/>$ svn resolved sandwich.txt<br/><br/>方式之二：用库里的新版本覆盖你的修改：<br/><br/>$ cp sandwich.txt.r2 sandwich.txt<br/>$ svn resolved sandwich.txt<br/><br/>方式之三：撤销你的修改，这种方式不需要运行resolved子命令:<br/><br/>$ svn revert sandwich.txt<br/>Reverted &#039;sandwich.txt&#039;<br/>$ ls sandwich.*<br/>sandwich.txt<br/><br/>确保没问题后，就可以提交了。<br/><br/>$ svn commit --message &quot;Correct some fatal problems&quot;<br/>$ svn commit --file logmsg<br/>$ svn commit<br/><br/>(4) 检验版本历史<br/><br/>$ svn log<br/>$ svn log --revision 5:19<br/>$ svn log foo.c<br/>$ svn log -r 8 -v<br/><br/>$ svn diff<br/>$ svn diff --revision 3 rules.txt<br/>$ svn diff --revision 2:3 rules.txt<br/>$ svn diff --revision 4:5 http://svn.red-bean.com/repos/example/trunk/text/rules.txt<br/><br/>$ svn cat --revision 2 rules.txt<br/>$ svn cat --revision 2 rules.txt &gt; rules.txt.v2<br/><br/>$ svn list http://svn.collab.net/repos/svn<br/>$ svn list --verbose http://svn.collab.net/repos/svn<br/><br/>$ svn checkout --revision 1729 # Checks out a new working copy at r1729<br/>…<br/>$ svn update --revision 1729 # Updates an existing working copy to r1729<br/>…<br/><br/>(5) 其他有用的命令<br/><br/>svn cleanup<br/><br/>为失败的事务清场。<br/><br/>(6) 分支和合并<br/><br/>建立分支方法一：先checkout然后做拷贝，最后提交拷贝。<br/><br/>$ svn checkout http://svn.example.com/repos/calc bigwc<br/>A bigwc/trunk/<br/>A bigwc/trunk/Makefile<br/>A bigwc/trunk/integer.c<br/>A bigwc/trunk/button.c<br/>A bigwc/branches/<br/>Checked out revision 340.<br/><br/>$ cd bigwc<br/>$ svn copy trunk branches/my-calc-branch<br/>$ svn status<br/>A + branches/my-calc-branch<br/><br/>$ svn commit -m &quot;Creating a private branch of /calc/trunk.&quot;<br/>Adding branches/my-calc-branch<br/>Committed revision 341.<br/><br/>建立分支方法二：直接远程拷贝。<br/><br/>$ svn copy http://svn.example.com/repos/calc/trunk &#92;<br/>http://svn.example.com/repos/calc/branches/my-calc-branch &#92;<br/>-m &quot;Creating a private branch of /calc/trunk.&quot;<br/><br/>Committed revision 341.<br/><br/>建立分支后，你可以把分支checkout并继续你的开发。<br/><br/>$ svn checkout http://svn.example.com/repos/calc/branches/my-calc-branch<br/><br/>假设你已经checkout了主干，现在想切换到某个分支开发，可做如下的操作：<br/><br/>$ cd calc<br/>$ svn info &#124; grep URL<br/>URL: http://svn.example.com/repos/calc/trunk<br/>$ svn switch http://svn.example.com/repos/calc/branches/my-calc-branch<br/>U integer.c<br/>U button.c<br/>U Makefile<br/>Updated to revision 341.<br/>$ svn info &#124; grep URL<br/>URL: http://svn.example.com/repos/calc/branches/my-calc-branch<br/><br/>合并文件的命令参考：<br/><br/>$ svn diff -r 343:344 http://svn.example.com/repos/calc/trunk<br/>$ svn merge -r 343:344 http://svn.example.com/repos/calc/trunk<br/>$ svn commit -m &quot;integer.c: ported r344 (spelling fixes) from trunk.&quot;<br/>$ svn merge -r 343:344 http://svn.example.com/repos/calc/trunk my-calc-branch<br/>$ svn merge http://svn.example.com/repos/branch1@150 &#92;<br/>http://svn.example.com/repos/branch2@212 &#92;<br/>my-working-copy<br/>$ svn merge -r 100:200 http://svn.example.com/repos/trunk my-working-copy<br/>$ svn merge -r 100:200 http://svn.example.com/repos/trunk<br/>$ svn merge --dry-run -r 343:344 http://svn.example.com/repos/calc/trunk<br/><br/>最后一条命令仅仅做合并测试，并不执行合并操作。<br/><br/>建立标签和建立分支没什么区别，不过是拷贝到不同的目录而已。<br/><br/>$ svn copy http://svn.example.com/repos/calc/trunk &#92;<br/>http://svn.example.com/repos/calc/tags/release-1.0 &#92;<br/>-m &quot;Tagging the 1.0 release of the &#039;calc&#039; project.&quot;<br/><br/>$ ls<br/>my-working-copy/<br/>$ svn copy my-working-copy http://svn.example.com/repos/calc/tags/mytag<br/>Committed revision 352.<br/><br/>后一种方式直接把本地的工作拷贝复制为标签。<br/><br/>此外，你还可以删除某个分支。<br/><br/>$ svn delete http://svn.example.com/repos/calc/branches/my-calc-branch &#92;<br/>-m &quot;Removing obsolete branch of calc project.&quot;<br/><br/>管理人员常用命令<br/><br/>(7) 版本库管理<br/><br/>$ svnadmin help<br/>...<br/>$ svnadmin help create<br/>...<br/>$ svnadmin create --fs-type bdb /usr/local/repository/svn/test<br/>$ chown -R svn.svn /usr/local/repository/svn/test<br/><br/>建立版本库，库类型为bdb（使用Berkeley DB做仓库），库名称为test。<br/>svn版本库有两种存储方式：基于Berkeley DB(bdb)或者基于文件系统(fsfs)，通过 –fs-type可指定存储方式。<br/><br/>(8) 查询版本库信息<br/><br/>$ svnlook help<br/>...<br/>$ svnlook help tree<br/>...<br/>$ svnlook tree /usr/local/repository/svn/test --show-ids<br/><br/>bash&gt; svn help<br/>用法：svn &lt;subcommand&gt; [options] [args]<br/>Subversion 命令行客户端，版本 1.2.0。<br/>请使用 “svn help &lt;subcommand&gt;” 显示子命令的辅助说明。<br/>大多数的子命令可接受文件或目录参数，对目录进行递回存取。<br/>如无指定参数给命令，默认将会自当前的目录 (包含) 进<br/>行递归存取。<br/><br/>可用的子命令：(括号内是子命令的简写)<br/>&nbsp;&nbsp; add<br/>&nbsp;&nbsp; blame (praise, annotate, ann)<br/>&nbsp;&nbsp; cat<br/>&nbsp;&nbsp; checkout (co) //从源码库取出一个工作版本的拷贝<br/>&nbsp;&nbsp; cleanup //<br/>&nbsp;&nbsp; commit (ci) //提交当前工作拷贝的更改。这个地方是有可能出现代码冲突的。<br/>&nbsp;&nbsp; copy (cp) //做一个工作拷贝的拷贝。<br/>&nbsp;&nbsp; delete (del, remove, rm) //删除本地或者svn server response上的文件或者目录。<br/>&nbsp;&nbsp; diff (di) //比较某个文件与库中的对应文件的不同，类似于系统的diff命令。参数：文件名。<br/>&nbsp;&nbsp; export //导出一个无版本控制的目录树拷贝。一般用于导出发行，或者投入运行的版本。<br/>&nbsp;&nbsp; help (?, h)<br/>&nbsp;&nbsp; import //将本地当前目录下的文件导入到svn response 中。<br/>&nbsp;&nbsp; info //当前目录下工作拷贝中某文件(文件夹)的信息，如URL，版本，修改日期等。参数：要看的文件(文件夹)<br/>&nbsp;&nbsp; list (ls) //列出当前工作拷贝下的文件 ，相当于系统的ls命令，不过只能在工作拷贝目录下使用。<br/>&nbsp;&nbsp; lock<br/>&nbsp;&nbsp; log<br/>&nbsp;&nbsp; merge //将两个来源之间的差异应用至工作拷贝路径。<br/>&nbsp;&nbsp; mkdir //在本地或者svn respon上新建一个文件夹.参数：URL或者路径<br/>&nbsp;&nbsp; move (mv, rename, ren)<br/>&nbsp;&nbsp; propdel (pdel, pd)<br/>&nbsp;&nbsp; propedit (pedit, pe)<br/>&nbsp;&nbsp; propget (pget, pg)<br/>&nbsp;&nbsp; proplist (plist, pl)<br/>&nbsp;&nbsp; propset (pset, ps)<br/>&nbsp;&nbsp; resolved<br/>&nbsp;&nbsp; revert<br/>&nbsp;&nbsp; status (stat, st) //svn工作拷贝当前状态，与svn server上的源码比较的结果。<br/>&nbsp;&nbsp; switch (sw)<br/>&nbsp;&nbsp; unlock<br/>&nbsp;&nbsp; update (up) //将svn server端文件同步到本地<br/><br/>Subversion 是个版本控制系统的工具。<br/>欲取得详细资料，请参考 http://subversion.tigris.org/<br/><br/><br/><br/>&gt;svn co<br/>checkout (co): Check out a working copy from a repository.<br/>usage: checkout URL[@REV]... [PATH]<br/><br/>&nbsp;&nbsp; If specified, REV determines in which revision the URL is first<br/>&nbsp;&nbsp; looked up.<br/><br/>&nbsp;&nbsp; If PATH is omitted, the basename of the URL will be used as<br/>&nbsp;&nbsp; the destination. If multiple URLs are given each will be checked<br/>&nbsp;&nbsp; out into a sub-directory of PATH, with the name of the sub-directory<br/>&nbsp;&nbsp; being the basename of the URL.<br/><br/>有效选项：<br/>&nbsp;&nbsp; -r [--revision] arg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : ARG (一些命令需要 ARG1:ARG2 )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 修订版参数可以是：<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 数字&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 修订版号<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;&#123;&quot; 日期 &quot;&#125;&quot; 在指定时间以后的修订版date<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;HEAD&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最近的档案库<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;BASE&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 基线，基于修订版的工作条目<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;COMMITTED&quot;&nbsp;&nbsp; 最后提交或基线之前<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;PREV&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 修订版提交之前<br/>&nbsp;&nbsp; -q [--quiet]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 打印尽可能少<br/>&nbsp;&nbsp; -N [--non-recursive]&nbsp;&nbsp;&nbsp;&nbsp; : 只在单个目录操作<br/>&nbsp;&nbsp; --username arg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 指定用户 ARG<br/>&nbsp;&nbsp; --password arg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 指定密码 ARG<br/>&nbsp;&nbsp; --no-auth-cache&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 不要缓冲用户验证<br/>&nbsp;&nbsp; --non-interactive&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 不要交互提示<br/>&nbsp;&nbsp; --config-dir arg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 从目录 ARG 读取用户配置文件<br/>&nbsp;&nbsp; --ignore-externals&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : ignore externals definitions<br/>&nbsp;&nbsp;<br/>sh&gt; svn add<br/>add: 把文件和目录放入版本控制中，<br/>通过调度加到档案库。它们会在下一次提交时加入。<br/>用法：add 路径...<br/><br/>有效选项：<br/>&nbsp;&nbsp; --targets arg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 传递文件 ARG 内容为附件参数<br/>&nbsp;&nbsp; -N [--non-recursive]&nbsp;&nbsp;&nbsp;&nbsp; : 只在单个目录操作<br/>&nbsp;&nbsp; -q [--quiet]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 打印尽可能少<br/>&nbsp;&nbsp; --config-dir arg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 从目录 ARG 读取用户配置文件<br/>&nbsp;&nbsp; --force&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 强制操作运行<br/>&nbsp;&nbsp; --auto-props&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 使自动属性有效<br/>&nbsp;&nbsp; --no-auto-props&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 使自动属性无效&nbsp;&nbsp;<br/>&nbsp;&nbsp;<br/>&nbsp;&nbsp; eg.(下面的命令必须在工作拷贝目录下运行)<br/>&nbsp;&nbsp; sh&gt; svn add test.c //加一个文件<br/>&nbsp;&nbsp; sh&gt; svn add test //加一个目录，目录下有任意结构的文件夹<br/>&nbsp;&nbsp;<br/>sh&gt; svn import http://localhost/svn/hehehehehhe -m=sdfsdf&nbsp;&nbsp; //可在任何目录下，将当前文件夹下的所以文件递归导入到svn response 的hehehhhe目录下。<br/><br/>sh&gt;svn export<br/>export: 产生一个无版本控制的目录树拷贝。<br/>用法：1、export [-r REV] URL[@PEGREV] [PATH]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2、export [-r REV] PATH1[@PEGREV] [PATH2]<br/><br/>&nbsp;&nbsp; 1、从 URL 指定的档案库，导出一个干净的目录树到 PATH。如果有指定<br/>&nbsp;&nbsp;&nbsp;&nbsp; REV 的话，内容即为该修订版的，否则就是 HEAD 修订版。如果 PATH<br/>&nbsp;&nbsp;&nbsp;&nbsp; 被省略的话，地址(URL)的最后部份会被用来当成本地的目录名称。<br/><br/>&nbsp;&nbsp; 2、在工作拷贝中，从指定的 PATH1 导出一个干净的目录树到 PATH2。如果<br/>&nbsp;&nbsp;&nbsp;&nbsp; 有指定 REV 的话，会从指定的修订版导出，否则从 WORKING 导出。如果<br/>&nbsp;&nbsp;&nbsp;&nbsp; PATH2 被省略的话，PATH1 的最后部份会被用来当成本地的目录名称。<br/>&nbsp;&nbsp;&nbsp;&nbsp; 如果没有指定 REV 的话，所有的本地修改都还会保持著，但是未纳入<br/>&nbsp;&nbsp;&nbsp;&nbsp; 版本控制的文件不会被复制。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp; 如果指定了 PEGREV ，将从指定的修订版本开始查找。<br/><br/><br/>有效选项：<br/>&nbsp;&nbsp; -r [--revision] arg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : ARG (一些命令需要 ARG1:ARG2 )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 修订版参数可以是：<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 数字&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 修订版号<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;&#123;&quot; 日期 &quot;&#125;&quot; 在指定时间以后的修订版date<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;HEAD&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最近的档案库<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;BASE&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 基线，基于修订版的工作条目<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;COMMITTED&quot;&nbsp;&nbsp; 最后提交或基线之前<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;PREV&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 修订版提交之前<br/>&nbsp;&nbsp; -q [--quiet]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 打印尽可能少<br/>&nbsp;&nbsp; -N [--non-recursive]&nbsp;&nbsp;&nbsp;&nbsp; : 只在单个目录操作<br/>&nbsp;&nbsp; --force&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 强制操作运行<br/>&nbsp;&nbsp; --username arg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 指定用户 ARG<br/>&nbsp;&nbsp; --password arg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 指定密码 ARG<br/>&nbsp;&nbsp; --no-auth-cache&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 不要缓冲用户验证<br/>&nbsp;&nbsp; --non-interactive&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 不要交互提示<br/>&nbsp;&nbsp; --config-dir arg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 从目录 ARG 读取用户配置文件<br/>&nbsp;&nbsp; --native-eol arg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 使用一个与标准不同的 EOL 标记<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 文件的系统标记是一个本地的 svn:eol-style 属性。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ARG 可能是一下之一 &#039;LF&#039;，&#039;CR&#039;，&#039;CRLF&#039;<br/>&nbsp;&nbsp; --ignore-externals&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : ignore externals definitions<br/>&nbsp;&nbsp;<br/>&nbsp;&nbsp; eg.<br/>&nbsp;&nbsp; sh&gt; svn export http://localhost/svn/hehehehehhhe<br/>&nbsp;&nbsp;<br/>sh&gt; svn merge&nbsp;&nbsp;<br/>merge: 将两个来源之间的差异应用至工作拷贝路径。<br/>用法：1、merge sourceURL1[@N] sourceURL2[@M] [WCPATH]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2、merge sourceWCPATH1@N sourceWCPATH2@M [WCPATH]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3、merge -r N:M SOURCE[@REV] [WCPATH]<br/><br/>&nbsp;&nbsp; 1、第一种形式中，来源 URL 各被指定到修订版 N 与 M。这两个就是作为<br/>&nbsp;&nbsp;&nbsp;&nbsp; 比较的来源。如果没有指定修订版的话，默认为 HEAD。<br/><br/>&nbsp;&nbsp; 2、在第二种形式中，对应到两个来源的工作拷贝路径的 URL 定义出用以<br/>&nbsp;&nbsp;&nbsp;&nbsp; 进行比较的来源。这里必须指定修订版。<br/><br/>&nbsp;&nbsp; 3、第三种形式中，SOURCE 可为 URL 或工作拷贝项目，后者会使用对应的<br/>&nbsp;&nbsp;&nbsp;&nbsp; 地址(URL)。在修订版 REV 的 地址(URL) 会以它存在于修订版 N 与 M 的路径来作<br/>&nbsp;&nbsp;&nbsp;&nbsp; 比较。如果未指定 REV，就会假设为 HEAD。<br/><br/>&nbsp;&nbsp; WCPATH 是接受改变的工作拷贝路径。如果省略 WCPATH 的话，默认值为<br/>&nbsp;&nbsp; &#039;.&#039;，除非来源的主要名字符合 &#039;.&#039; 里的某个文件；在这种情况下，文件<br/>&nbsp;&nbsp; 差异将会直接应用至该文件去。<br/><br/>有效选项：<br/>&nbsp;&nbsp; -r [--revision] arg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : ARG (一些命令需要 ARG1:ARG2 )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 修订版参数可以是：<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 数字&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 修订版号<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;&#123;&quot; 日期 &quot;&#125;&quot; 在指定时间以后的修订版date<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;HEAD&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最近的档案库<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;BASE&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 基线，基于修订版的工作条目<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;COMMITTED&quot;&nbsp;&nbsp; 最后提交或基线之前<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;PREV&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 修订版提交之前<br/>&nbsp;&nbsp; -N [--non-recursive]&nbsp;&nbsp;&nbsp;&nbsp; : 只在单个目录操作<br/>&nbsp;&nbsp; -q [--quiet]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 打印尽可能少<br/>&nbsp;&nbsp; --force&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 强制操作运行<br/>&nbsp;&nbsp; --dry-run&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 尝试操作但不修改<br/>&nbsp;&nbsp; --diff3-cmd arg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 使用 ARG 作为合并命令<br/>&nbsp;&nbsp; --ignore-ancestry&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 合并时忽略原始信息<br/>&nbsp;&nbsp; --username arg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 指定用户 ARG<br/>&nbsp;&nbsp; --password arg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 指定密码 ARG<br/>&nbsp;&nbsp; --no-auth-cache&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 不要缓冲用户验证<br/>&nbsp;&nbsp; --non-interactive&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 不要交互提示<br/>&nbsp;&nbsp; --config-dir arg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 从目录 ARG 读取用户配置文件&nbsp;&nbsp;<br/><br/>来自: http://hi.baidu.com/li32768/blog/item/a74dbf0042d640027aec2cf8.html 
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] SVN命令行 ]]></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>