<?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>apt-blog.net   无证程序员的PT桑 &#187; 删除</title> <atom:link href="http://apt-blog.net/tag/%e5%88%a0%e9%99%a4/feed" rel="self" type="application/rss+xml" /><link>http://apt-blog.net</link> <description>潜逃中。</description> <lastBuildDate>Sun, 05 Feb 2012 10:35:00 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>Google Code项目Wiki页在SVN仓库被复位后无法修改的Bug</title><link>http://apt-blog.net/google_code_wiki_page_cache_remains_after_repository_reset</link> <comments>http://apt-blog.net/google_code_wiki_page_cache_remains_after_repository_reset#comments</comments> <pubDate>Tue, 27 Oct 2009 03:10:59 +0000</pubDate> <dc:creator>BOYPT</dc:creator> <category><![CDATA[Programming]]></category> <category><![CDATA[Google]]></category> <category><![CDATA[Google Code]]></category> <category><![CDATA[svn]]></category> <category><![CDATA[wiki]]></category> <category><![CDATA[删除]]></category> <category><![CDATA[编辑]]></category> <guid
isPermaLink="false">http://apt-blog.net/google_code_wiki_page_cache_remains_after_repository_reset</guid> <description><![CDATA[update:2010.1.25这个问题的状态终于被改成Fixed。 Google Code的项目控制因为其简洁深受很多开源作者的喜欢，PT好几个项目都是存放在Google Code上，不过之前遇到了一个些少恼人的Bug： 当建立了Wiki页，因为某种原因重置了SVN仓库，那原来的Wiki页将无法修改、无法删除（返回500 Server Error）。 重置SVN一般属于特殊情况，比如要把另外一个服务器的SVN仓库搬到另外一个SVN，而只保留后来的版本数据，才需要重置SVN仓库。我当时的情况是，不小心把包含自己帐号密码的测试脚本提交了上去SVN；版本管理的特点是版本修改是无法被抹除的，情急之下只好放弃版本痕迹，备份了文件，请求了SVN重置；之后就发现原先的Wiki页无法修改了。 一番查找后，发现Google Code自身的Support里面早有人发现了这个问题，可以看到，这个Bug第一次在2007年11月就有人提出了，一直到现在都陆续有人确认Bug依然存在……所以当时我就没管那个有问题的Ghost Page了，任其放着；两年都没有修复的bug看了没什么好指望的了； 不过最近这个问题有人提出了个颇为纠结的解决办法：创建wiki/the_page文件（跟之前的wikipage同名），然后不断修改递交svn，当svn的revision版本号高于重置之前wiki page最后修改的版本号，就可以修改或者删除这个Ghost Page了…… 想到我那个项目现在的版本号早就超过了之前重置SVN仓库时候的版本号，直接跑去wikipage点Delete this page，哈，直接搞定了！ 从这个Bug可以透视到Google Code的Wiki页构建机制：Wiki页跟SVN仓库内相应文件是紧密互动的，在Web对Wiki页的修改就相对于直接提交了相应SVN内的文件，当直接修改SVN内的Wiki文件时候，Web上的Page自动根据SVN刷新WEB页的缓冲，并记录文件的修改版本号；而重置了SVN仓库将导致SVN的版本号从0重新开始，这样Wiki页的缓冲模块没法找到相应的版本号对应的wiki文件进行操作，所以报告500错误；只能当版本号重新达到原先的最后修改时，Wiki Web才能正常的和SVN交互。 另外有趣的是，Google的程序员似乎对修复这个Bug没什么兴趣；可能容易引起新的bug吧，呵呵。]]></description> <content:encoded><![CDATA[<p>update:<strong>2010.1.25这个问题的状态终于被改成Fixed。</strong></p><p>Google Code的项目控制因为其简洁深受很多开源作者的喜欢，PT好几个项目都是存放在Google Code上，不过之前遇到了一个些少恼人的Bug：<br
/><blockquote>当建立了Wiki页，因为某种原因重置了SVN仓库，那原来的Wiki页将无法修改、无法删除（返回500 Server Error）。</p></blockquote><p>重置SVN一般属于特殊情况，比如要把另外一个服务器的SVN仓库搬到另外一个SVN，而只保留后来的版本数据，才需要重置SVN仓库。我当时的情况是，不小心把包含自己帐号密码的测试脚本提交了上去SVN；版本管理的特点是版本修改是无法被抹除的，情急之下只好放弃版本痕迹，备份了文件，请求了SVN重置；之后就发现原先的Wiki页无法修改了。</p><p>一番查找后，发现Google Code自身的Support里面<a
target="_blank" href="http://code.google.com/p/support/issues/detail?id=582&amp;colspec=ID%20Type%20Status%20Milestone%20Priority%20Stars%20Owner%20Summary">早有人发现了这个问题</a>，可以看到，这个Bug第一次在2007年11月就有人提出了，一直到现在都陆续有人确认Bug依然存在……所以当时我就没管那个有问题的Ghost Page了，任其放着；两年都没有修复的bug看了没什么好指望的了；</p><p>不过最近这个问题有人提出了个颇为纠结的解决办法：创建wiki/the_page文件（跟之前的wikipage同名），然后不断修改递交svn，当svn的revision版本号高于重置之前wiki page最后修改的版本号，就可以修改或者删除这个Ghost Page了……</p><p>想到我那个项目现在的版本号早就超过了之前重置SVN仓库时候的版本号，直接跑去wikipage点Delete this page，哈，直接搞定了！</p><p>从这个Bug可以透视到Google Code的Wiki页构建机制：Wiki页跟SVN仓库内相应文件是紧密互动的，在Web对Wiki页的修改就相对于直接提交了相应SVN内的文件，当直接修改SVN内的Wiki文件时候，Web上的Page自动根据SVN刷新WEB页的缓冲，并记录文件的修改版本号；而重置了SVN仓库将导致SVN的版本号从0重新开始，这样Wiki页的缓冲模块没法找到相应的版本号对应的wiki文件进行操作，所以报告500错误；只能当版本号重新达到原先的最后修改时，Wiki Web才能正常的和SVN交互。</p><p>另外有趣的是，Google的程序员似乎对修复这个Bug没什么兴趣；可能容易引起新的bug吧，呵呵。</p> ]]></content:encoded> <wfw:commentRss>http://apt-blog.net/google_code_wiki_page_cache_remains_after_repository_reset/feed</wfw:commentRss> <slash:comments>2</slash:comments> </item> </channel> </rss>
