﻿<?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>C++博客-股票数据格式转换软件 http://alantop.5166.info 公布股票数据格式文档 稳定盈利的外汇交易系统黑牛外汇交易系统 MT4编程-随笔分类-一些设置</title><link>http://www.cppblog.com/alantop/category/5102.html</link><description>股票数据格式转换软件 http://alantop.5166.info 公布股票数据格式文档 稳定盈利的外汇交易系统黑牛外汇交易系统 MT4编程</description><language>zh-cn</language><lastBuildDate>Mon, 19 May 2008 19:23:26 GMT</lastBuildDate><pubDate>Mon, 19 May 2008 19:23:26 GMT</pubDate><ttl>60</ttl><item><title>关于阻止迅雷上传,带慢计算机的工具</title><link>http://www.cppblog.com/alantop/archive/2008/02/26/43242.html</link><dc:creator>AlanTop</dc:creator><author>AlanTop</author><pubDate>Tue, 26 Feb 2008 02:29:00 GMT</pubDate><guid>http://www.cppblog.com/alantop/archive/2008/02/26/43242.html</guid><wfw:comment>http://www.cppblog.com/alantop/comments/43242.html</wfw:comment><comments>http://www.cppblog.com/alantop/archive/2008/02/26/43242.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.cppblog.com/alantop/comments/commentRss/43242.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/alantop/services/trackbacks/43242.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 关于阻止迅雷上传,带慢计算机的工具&nbsp;&nbsp;<a href='http://www.cppblog.com/alantop/archive/2008/02/26/43242.html'>阅读全文</a><img src ="http://www.cppblog.com/alantop/aggbug/43242.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/alantop/" target="_blank">AlanTop</a> 2008-02-26 10:29 <a href="http://www.cppblog.com/alantop/archive/2008/02/26/43242.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>访问不了blogspot的解决方法</title><link>http://www.cppblog.com/alantop/archive/2007/12/06/37893.html</link><dc:creator>AlanTop</dc:creator><author>AlanTop</author><pubDate>Thu, 06 Dec 2007 01:37:00 GMT</pubDate><guid>http://www.cppblog.com/alantop/archive/2007/12/06/37893.html</guid><wfw:comment>http://www.cppblog.com/alantop/comments/37893.html</wfw:comment><comments>http://www.cppblog.com/alantop/archive/2007/12/06/37893.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/alantop/comments/commentRss/37893.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/alantop/services/trackbacks/37893.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 访问不了blogspot的解决方法&nbsp;&nbsp;<a href='http://www.cppblog.com/alantop/archive/2007/12/06/37893.html'>阅读全文</a><img src ="http://www.cppblog.com/alantop/aggbug/37893.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/alantop/" target="_blank">AlanTop</a> 2007-12-06 09:37 <a href="http://www.cppblog.com/alantop/archive/2007/12/06/37893.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>subversion冲突解决和winmerge使用手册</title><link>http://www.cppblog.com/alantop/archive/2007/09/09/31871.html</link><dc:creator>AlanTop</dc:creator><author>AlanTop</author><pubDate>Sun, 09 Sep 2007 01:32:00 GMT</pubDate><guid>http://www.cppblog.com/alantop/archive/2007/09/09/31871.html</guid><wfw:comment>http://www.cppblog.com/alantop/comments/31871.html</wfw:comment><comments>http://www.cppblog.com/alantop/archive/2007/09/09/31871.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/alantop/comments/commentRss/31871.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/alantop/services/trackbacks/31871.html</trackback:ping><description><![CDATA[winmerge使用手册 <br><a href="http://winmerge.org/2.6/manual/index.html">http://winmerge.org/2.6/manual/index.html</a><br><br>
<p><font size=2><span>解决版本冲突的命令。在冲突解决之后，需要使用</span><span><font face="Times New Roman">svn resolved</font></span><span>来告诉</span><span><font face="Times New Roman">subversion</font></span><span>冲突解决，这样才能提交更新。冲突发生时，</span><span><font face="Times New Roman">subversion</font></span><span>会在</span><span><font face="Times New Roman">Work Copy</font></span><span>中保存所有的目标文件版本（上次更新版本、当前获取的版本，即别人提交的版本、自己更新的版本、目标文件。假设文件名是</span><span><font face="Times New Roman">sandwich.txt</font></span><span>，对应的文件名分别是：</span><span><font face="Times New Roman">sandwich.txt.r1</font></span><span>、</span><span><font face="Times New Roman">sandwich.txt.r2</font></span><span>、</span><span><font face="Times New Roman">sandwich.txt.mine</font></span><span>、</span><span><font face="Times New Roman">sandwich.txt</font></span><span>）。同时在目标文件中标记来自不同用户的更改。</span></font></p>
<p><span><font size=2>解决冲突的办法：</font></span></p>
<p><font size=2><span><span><font face="Times New Roman">-<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></span></span><span>手动解决：冲突发生时，通过和其他用户沟通之后，手动更新目标文件。然后执行</span><span><font face="Times New Roman">svn resolved filename</font></span><span>来解除冲突，最后提交。</span></font></p>
<p><font size=2><span><span><font face="Times New Roman">-<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></span></span><span>放弃自己的更新，使用别人的更新。使用最新获取的版本覆盖目标文件，执行</span><span><font face="Times New Roman">svn resolved filename</font></span><span>并提交。</span></font></p>
<p><font size=2><span><span><font face="Times New Roman">-<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></span></span><span>放弃自己的更新，使用</span><span><font face="Times New Roman">svn revert</font></span><span>，然后提交。在这种方式下不需要使用</span><span><font face="Times New Roman">svn resolved</font></span><span>。</span></font></p>
<p><font size=2><strong><span>对于</span><span><font face="Times New Roman">svn resolved</font></span></strong><strong><span>命令需要非常小心，必须是非常确定冲突已经解决才能使用。否则，会导致</span><span><font face="Times New Roman">Subversion</font></span></strong><strong><span>以为冲突解决，而使代码库不正确。</span><span> <br>
<p><br>解决冲突详细文档: <a href="http://svnbook.subversion.org.cn/1.2/svn.tour.cycle.html#svn.tour.cycle.resolve">http://svnbook.subversion.org.cn/1.2/svn.tour.cycle.html#svn.tour.cycle.resolve</a><br><br></p>
<div>
<div>
<h3 class=title><a id=svn.tour.cycle.resolve>解决冲突（合并别人的修改）</h3>
</div>
</div>
<div></div>
<p>我们可以使用<span><strong class=command>svn status -u</strong></span>来预测冲突，当你运行<span><strong class=command>svn update</strong></span>一些有趣的事情发生了：</p>
<pre class=screen>$ svn update
U  INSTALL
G  README
C  bar.c
Updated to revision 46.
</pre>
<p><code class=computeroutput>U</code>和<code class=computeroutput>G</code>没必要关心，文件干净的接受了版本库的变化，文件标示为<code class=computeroutput>U</code>表明本地没有修改，文件已经根据版本库更新。<code class=computeroutput>G</code>标示合并，标示本地已经修改过，与版本库没有重迭的地方，已经合并。</p>
<p>但是<code class=computeroutput>C</code>表示冲突，说明服务器上的改动同你的改动冲突了，你需要自己手工去解决。</p>
<p>当冲突发生了，有三件事可以帮助你注意到这种情况和解决问题：</p>
<div class=itemizedlist>
<ul type=disc>
    <li>
    <p>Subversion打印<code class=computeroutput>C</code>标记，并且标记这个文件已冲突。</p>
    <li>
    <p>如果Subversion认为这个文件是可合并的，它会置入<em class=firstterm>冲突标记</em>—特殊的横线分开冲突的&#8220;<span class=quote>两面</span>&#8221;—在文件里可视化的描述重叠的部分（Subversion使用<code class=literal>svn:mime-type</code>属性来决定一个文件是否可以使用上下文的，以行为基础合并，更多信息可以看<a title=svn:mime-type href="http://svnbook.subversion.org.cn/1.2/svn.advanced.props.html#svn.advanced.props.special.mime-type"><u><font color=#0000ff>&#8220;<code class=literal>svn:mime-type</code>&#8221;一节</font></u></a>）。</p>
    <li>
    <p>对于每一个冲突的文件，Subversion放置三个额外的未版本化文件到你的工作拷贝：</p>
    <div class=variablelist>
    <dl>
    <dt><span class=term><code class=filename>filename.mine</code></span>
    <dd>
    <p>你更新前的文件，没有冲突标志，只是你最新更改的内容。（如果Subversion认为这个文件不可以合并，<code class=filename>.mine</code>文件不会创建，因为它和工作文件相同。）</p>
    <dt><span class=term><code class=filename>filename.rOLDREV</code></span>
    <dd>
    <p>这是你的做更新操作以前的<code class=literal>BASE</code>版本文件，就是你在上次更新之后未作更改的版本。</p>
    <dt><span class=term><code class=filename>filename.rNEWREV</code></span>
    <dd>
    <p>这是你的Subversion客户端从服务器刚刚收到的版本，这个文件对应版本库的<code class=literal>HEAD</code>版本。</p>
    </dd></dl></div>
    <p>这里<code class=literal>OLDREV</code>是你的<code class=filename>.svn</code>目录中的修订版本号，<code class=literal>NEWREV</code>是版本库中<code class=literal>HEAD</code>的版本号。</p>
    </li>
</ul>
</div>
<p>举一个例子，Sally修改了<code class=filename>sandwich.txt</code>，Harry刚刚改变了他的本地拷贝中的这个文件并且提交到服务器，Sally在提交之前更新它的工作拷贝得到了冲突：</p>
<pre class=screen>$ svn update
C  sandwich.txt
Updated to revision 2.
$ ls -1
sandwich.txt
sandwich.txt.mine
sandwich.txt.r1
sandwich.txt.r2
</pre>
<p>在这种情况下，Subversion<span class=emphasis><em>不</em></span>会允许你提交<code class=filename>sandwich.txt</code>，直到你的三个临时文件被删掉。</p>
<pre class=screen>$ svn commit --message "Add a few more things"
svn: Commit failed (details follow):
svn: Aborting commit: '/home/sally/svn-work/sandwich.txt' remains in conflict
</pre>
<p>如果你遇到冲突，三件事你可以选择：</p>
<div class=itemizedlist>
<ul type=disc>
    <li>
    <p>&#8220;<span class=quote>手动</span>&#8221;合并冲突文本（检查和修改文件中的冲突标志）。</p>
    <li>
    <p>用某一个临时文件覆盖你的工作文件。</p>
    <li>
    <p>运行<span><strong class=command>svn revert &lt;filename&gt;</strong></span>来放弃所有的修改。</p>
    </li>
</ul>
</div>
<p>一旦你解决了冲突，你需要通过命令<span><strong class=command>svn resolved</strong></span>让Subversion知道，这样就会删除三个临时文件，Subversion就不会认为这个文件是在冲突状态了。<sup>[<a id=N10CC6 href="http://svnbook.subversion.org.cn/1.2/svn.tour.cycle.html#ftn.N10CC6"><u><font color=#800080>5</font></u></a>]</sup></p>
<pre class=screen>$ svn resolved sandwich.txt
Resolved conflicted state of 'sandwich.txt'
</pre>
<div class=sect3 lang=zh-cn>
<div class=titlepage>
<div>
<div>
<h4 class=title><a id=svn.tour.cycle.resolve.byhand>手工合并冲突</h4>
</div>
</div>
<div></div>
<p>第一次尝试解决冲突让人感觉很害怕，但经过一点训练，它简单的像是骑着车子下坡。</p>
<p>这里一个简单的例子，由于不良的交流，你和同事Sally，同时编辑了<code class=filename>sandwich.txt</code>。Sally提交了修改，当你准备更新你的版本，冲突发生了，我们不得不去修改<code class=filename>sandwich.txt</code>来解决这个问题。首先，看一下这个文件：</p>
<pre class=screen>$ cat sandwich.txt
Top piece of bread
Mayonnaise
Lettuce
Tomato
Provolone
&lt;&lt;&lt;&lt;&lt;&lt;&lt; .mine
Salami
Mortadella
Prosciutto
=======
Sauerkraut
Grilled Chicken
&gt;&gt;&gt;&gt;&gt;&gt;&gt; .r2
Creole Mustard
Bottom piece of bread
</pre>
<p>小于号、等于号和大于号串是冲突标记，并不是冲突的数据，你一定要确定这些内容在下次提交之前得到删除，前两组标志中间的内容是你在冲突区所做的修改：</p>
<pre class=screen>&lt;&lt;&lt;&lt;&lt;&lt;&lt; .mine
Salami
Mortadella
Prosciutto
=======
</pre>
<p>后两组之间的是Sally提交的修改冲突：</p>
<pre class=screen>=======
Sauerkraut
Grilled Chicken
&gt;&gt;&gt;&gt;&gt;&gt;&gt; .r2
</pre>
<p>通常你并不希望只是删除冲突标志和Sally的修改—当她收到三明治时，会非常的吃惊。所以你应该走到她的办公室或是拿起电话告诉Sally，你没办法从从意大利熟食店得到想要的泡菜。<sup>[<a id=N10CE7 href="http://svnbook.subversion.org.cn/1.2/svn.tour.cycle.html#ftn.N10CE7"><u><font color=#800080>6</font></u></a>]</sup>一旦你们确认了提交内容后，修改文件并且删除冲突标志。</p>
<pre class=screen>Top piece of bread
Mayonnaise
Lettuce
Tomato
Provolone
Salami
Mortadella
Prosciutto
Creole Mustard
Bottom piece of bread
</pre>
<p>现在运行<span><strong class=command>svn resolved</strong></span>，你已经准备好提交了：</p>
<pre class=screen>$ svn resolved sandwich.txt
$ svn commit -m "Go ahead and use my sandwich, discarding Sally's edits."
</pre>
<p>记住，如果你修改冲突时感到混乱，你可以参考subversion生成的三个文件—包括你未作更新的文件。你也可以使用第三方的合并工具检验这三个文件。</p>
</div>
<div class=sect3 lang=zh-cn>
<div class=titlepage>
<div>
<div>
<h4 class=title><a id=svn.tour.cycle.resolve.copyover>拷贝覆盖你的工作文件</h4>
</div>
</div>
<div></div>
<p>如果你只是希望取消你的修改，你可以仅仅拷贝Subversion为你生成的文件替换你的工作拷贝：</p>
<pre class=screen>$ svn update
C  sandwich.txt
Updated to revision 2.
$ ls sandwich.*
sandwich.txt  sandwich.txt.mine  sandwich.txt.r2  sandwich.txt.r1
$ cp sandwich.txt.r2 sandwich.txt
$ svn resolved sandwich.txt
</pre>
</div>
<div class=sect3 lang=zh-cn>
<div class=titlepage>
<div>
<div>
<h4 class=title><a id=svn.tour.cycle.resolve.revert>下注：使用<span><strong class=command>svn revert</strong></span></h4>
</div>
</div>
<div></div>
<p>如果你得到冲突，经过检查你决定取消自己的修改并且重新编辑，你可以恢复你的修改：</p>
<pre class=screen>$ svn revert sandwich.txt
Reverted 'sandwich.txt'
$ ls sandwich.*
sandwich.txt
</pre>
<p>注意，当你恢复一个冲突的文件时，不需要再运行<span><strong class=command>svn resolved</strong></span>。</p>
</div>
<p>现在我们准备好提交修改了，注意<span><strong class=command>svn resolved</strong></span>不像我们本章学过的其他命令一样需要参数，在任何你认为解决了冲突的时候，只需要小心运行<span><strong class=command>svn resolved</strong></span>，—一旦删除了临时文件，Subversion会让你提交这文件，即使文件中还存在冲突标记。</p>
</div>
<div class=sect2 lang=zh-cn>
<div class=titlepage>
<div>
<div>
<h3 class=title><a id=svn.tour.cycle.commit>提交你得修改</h3>
</div>
</div>
<div></div>
<p>最后！你的修改结束了，你合并了服务器上所有的修改，你准备好提交修改到版本库。</p>
<p><span><strong class=command>svn commit</strong></span>命令发送所有的修改到版本库，当你提交修改时，你需要提供一些描述修改的<em class=firstterm>日志信息</em>，你的信息会附到这个修订版本上，如果信息很简短，你可以在命令行中使用<code class=option>--message</code>（<code class=option>-m</code>）选项：</p>
<pre class=screen>$ svn commit --message "Corrected number of cheese slices."
Sending        sandwich.txt
Transmitting file data .
Committed revision 3.
</pre>
<p>然而，如果你把写日志信息当作工作的一部分，你也许会希望通过告诉Subversion一个文件名得到日志信息，使用<code class=option>--file</code>选项：</p>
<pre class=screen>$ svn commit --file logmsg
Sending        sandwich.txt
Transmitting file data .
Committed revision 4.
</pre>
<p>如果你没有指定<code class=option>--message</code>或者<code class=option>--file</code>选项，Subversion会自动地启动你最喜欢的编辑器（见<a title=config href="http://svnbook.subversion.org.cn/1.2/svn.advanced.html#svn.advanced.confarea.opts.config"><u><font color=#0000ff>&#8220;config&#8221;一节</font></u></a>的<code class=literal>editor-cmd</code>部分）来编辑日志信息。</p>
<div class=tip style="MARGIN-LEFT: 0.5in; MARGIN-RIGHT: 0.5in">
<h3 class=title>提示</h3>
<p>如果你使用编辑器撰写日志信息时希望取消提交，你可以直接关掉编辑器，不要保存，如果你已经做过保存，只要简单的删掉所有的文本并再次保存。</p>
<pre class=screen>$ svn commit
Waiting for Emacs...Done
Log message unchanged or not specified
a)bort, c)ontinue, e)dit
a
$
</pre>
</div>
<p>版本库不知道也不关心你的修改作为一个整体是否有意义，它只检查是否有其他人修改了同一个文件，如果别人<span class=emphasis><em>已经</em></span>这样做了，你的整个提交会失败，并且提示你一个或多个文件已经过时了：</p>
<pre class=screen>$ svn commit --message "Add another rule"
Sending        rules.txt
svn: Commit failed (details follow):
svn: Out of date: 'rules.txt' in transaction 'g'
</pre>
<p>此刻，你需要运行<span><strong class=command>svn update</strong></span>来处理所有的合并和冲突，然后再尝试提交。</p>
<p>我们已经覆盖了Subversion基本的工作周期，还有许多其它特性可以管理你得版本库和工作拷贝，但是只使用前面介绍的命令你就可以很轻松的工作了。</p>
</div>
<div class=footnotes><br>
<hr align=left width=100>
<div class=footnote>
<p><sup>[<a id=ftn.N1095D href="http://svnbook.subversion.org.cn/1.2/svn.tour.cycle.html#N1095D"><u><font color=#800080>3</font></u></a>] </sup>当然没有任何东西是在版本库里被删除了—只是在版本库的<code class=literal>HEAD</code>里消失了，你可以通过检出（或者更新你的工作拷贝）你做出删除操作的前一个修订版本来找回所有的东西。</p>
</div>
<div class=footnote>
<p><sup>[<a id=ftn.N10B85 href="http://svnbook.subversion.org.cn/1.2/svn.tour.cycle.html#N10B85"><u><font color=#800080>4</font></u></a>] </sup>Subversion使用内置区别引擎，缺省情况下输出为统一区别格式。如果你期望不同的输出格式，你可以使用<code class=option>--diff-cmd</code>指定外置的区别程序，并且通过<code class=option>--extensions</code>传递其他参数，举个例子，察看本地文件<code class=filename>foo.c</code>的区别，同时忽略空格修改，你可以运行<span><strong class=command>svn diff --diff-cmd /usr/bin/diff --extensions '-bc' foo.c</strong></span>。</p>
</div>
<div class=footnote>
<p><sup>[<a id=ftn.N10CC6 href="http://svnbook.subversion.org.cn/1.2/svn.tour.cycle.html#N10CC6"><u><font color=#800080>5</font></u></a>] </sup>你也可以手工的删除这三个临时文件，但是当Subversion会给你做时你会自己去做吗？我们是这样想的。</p>
</div>
<div class=footnote>
<p><sup>[<a id=ftn.N10CE7 href="http://svnbook.subversion.org.cn/1.2/svn.tour.cycle.html#N10CE7"><u><font color=#800080>6</font></u></a>] </sup>如果你向他们询问，他们非常有理由把你带到城外的铁轨上。</p>
</div>
</div>
</div>
</div>
</div>
<p><br><br><br></p>
</span></strong></font>如何降低冲突解决的复杂度:<br>
<p><font size=2><span><span><font face="Times New Roman">-<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></span></span><span>当工作完成之后（即编写完程序，单元测试通过）尽快的提交，频繁的提交</span><span><font face="Times New Roman">/</font></span><span>更新可以降低在冲突发生的概率，以及发生时解决冲突的复杂度。</span></font></p>
<p><font size=2><span><span><font face="Times New Roman">-<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></span></span><span>如果冲突频繁发生，就有必要找出原因了。</span></font></p>
<p><font size=2><span><span><font face="Times New Roman">-<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></span></span><span>在提交时，书写明确的</span><span><font face="Times New Roman">message</font></span><span>。方便以后的查找更新的原因，毕竟随着时光流逝，记忆也会变得模糊。</span></font></p>
<br>
<img src ="http://www.cppblog.com/alantop/aggbug/31871.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/alantop/" target="_blank">AlanTop</a> 2007-09-09 09:32 <a href="http://www.cppblog.com/alantop/archive/2007/09/09/31871.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>subversion服务器的配置</title><link>http://www.cppblog.com/alantop/archive/2007/07/12/27891.html</link><dc:creator>AlanTop</dc:creator><author>AlanTop</author><pubDate>Thu, 12 Jul 2007 03:02:00 GMT</pubDate><guid>http://www.cppblog.com/alantop/archive/2007/07/12/27891.html</guid><wfw:comment>http://www.cppblog.com/alantop/comments/27891.html</wfw:comment><comments>http://www.cppblog.com/alantop/archive/2007/07/12/27891.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/alantop/comments/commentRss/27891.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/alantop/services/trackbacks/27891.html</trackback:ping><description><![CDATA[<p>服务器端下载：</p>
<p><a title=http://subversion.tigris.org/project_packages.html href="http://subversion.tigris.org/project_packages.html">http://subversion.tigris.org/project_packages.html</a></p>
<p>tortoisesvn客户端下载：</p>
<p><a title=http://tortoisesvn.net/downloads href="http://tortoisesvn.net/downloads">http://tortoisesvn.net/downloads</a></p>
<p><strong>第一步：将下载好的服务器端解压到c:\subversion目录。<br>第二步：安装客户端软件:tortoisesvn<br>第三步：在d盘建立一个目d:\repos</strong></p>
<p>如下图操作create repository</p>
<p>&nbsp;</p>
<p><a href="http://www.cppblog.com/images/cppblog_com/alantop/WindowsLiveWriter/subversion_9A65/createrepos.jpg" atomicselection="true"><img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=503 alt=createrepos src="http://www.cppblog.com/images/cppblog_com/alantop/WindowsLiveWriter/subversion_9A65/createrepos_thumb.jpg" width=740 border=0></a></p>
<p>&nbsp;</p>
<p><strong>第四步：在c:\subversion\bin下建立一个批处理installservice.bat</strong></p>
<p>内容如下：</p>
<p>&nbsp;</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">sc&nbsp;create&nbsp;svnserve&nbsp;binpath</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">c:\subversion\bin\svnserve.exe&nbsp;--service&nbsp;--root&nbsp;D:\repos</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;displayname</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Subversion</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;depend</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;tcpip&nbsp;start</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;auto<br></span></div>
<p>&nbsp;
<p>执行这个批处理后，就安装服务器端就安装完毕。
<p><strong>第五步：我们进行简单配置。</strong>
<p>配置登录的用户名和密码：
<p>打开文件d:\repos\conf\svnserve.conf
<p>把这行#password-db = passwd改为password-db = passwd
<p>带开文件d:\repos\conf\passwd
<p>里面内容全部删除，键入 <br>
<p>&nbsp;</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">[users]<br>user01&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">123</span></div>
<p>&nbsp;</p>
<p>服务器端到此配置完毕。</p>
<p><strong>如何删除subversion服务?</strong></p>
<p><font color=#0000ff><strong>删除服务的时候，务必先将服务停止后，再删除，否则会出错。</strong></font></p>
<p>在c:\subversion\bin目录下，键入以下命令行就可以了。<br></p>
<p>&nbsp;</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">sc&nbsp;delete&nbsp;svnserve<br></span></div>
<img src ="http://www.cppblog.com/alantop/aggbug/27891.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/alantop/" target="_blank">AlanTop</a> 2007-07-12 11:02 <a href="http://www.cppblog.com/alantop/archive/2007/07/12/27891.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用live writer发布c++博客</title><link>http://www.cppblog.com/alantop/archive/2007/07/09/27738.html</link><dc:creator>AlanTop</dc:creator><author>AlanTop</author><pubDate>Mon, 09 Jul 2007 06:40:00 GMT</pubDate><guid>http://www.cppblog.com/alantop/archive/2007/07/09/27738.html</guid><wfw:comment>http://www.cppblog.com/alantop/comments/27738.html</wfw:comment><comments>http://www.cppblog.com/alantop/archive/2007/07/09/27738.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/alantop/comments/commentRss/27738.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/alantop/services/trackbacks/27738.html</trackback:ping><description><![CDATA[<p>据说live writer 可以连图片发布上去。</p>
<p>这是如何设置的图片。发一个，我试试。</p>
<p>要是这个好用了，以后就用这个。不用在网页上post了。</p>
<p><strong>点击图片可以放大看设置。</strong></p>
<p><strong>博客主页URL（H）：</strong></p>
<p><strong><a href="http://www.cppblog.com/alantop">http://www.cppblog.com/alantop</a></strong></p>
<p><strong>博客的远程发布URL:</strong></p>
<p><strong><a href="http://www.cppblog.com/alantop/services/metaweblog.aspx">http://www.cppblog.com/alantop/services/metaweblog.aspx</a></strong></p>
<p><strong></strong>&nbsp;</p>
<p>&nbsp;</p>
<p><a href="http://www.cppblog.com/images/cppblog_com/alantop/WindowsLiveWriter/livewriterc_CD7F/01.jpg" atomicselection="true"><img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=407 alt=01 src="http://www.cppblog.com/images/cppblog_com/alantop/WindowsLiveWriter/livewriterc_CD7F/01_thumb.jpg" width=637 border=0></a> </p>
<p><a href="http://www.cppblog.com/images/cppblog_com/alantop/WindowsLiveWriter/livewriterc_CD7F/02.jpg" atomicselection="true"><img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=403 alt=02 src="http://www.cppblog.com/images/cppblog_com/alantop/WindowsLiveWriter/livewriterc_CD7F/02_thumb.jpg" width=644 border=0></a></p>
<img src ="http://www.cppblog.com/alantop/aggbug/27738.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/alantop/" target="_blank">AlanTop</a> 2007-07-09 14:40 <a href="http://www.cppblog.com/alantop/archive/2007/07/09/27738.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>