問題:與單個文件上的執行相比,svn diff
命令在整個存儲庫上執行時似乎不一致。SVN diff命令的結果不一致
示例:考慮提供Apache Tomcat源代碼r542208。
svn log -v -r r542208 http://svn.apache.org/repos/asf/
結果:
------------------------------------------------------------------------
r542208 | fhanik | 2007-05-28 13:39:15 +0200 (H, 28 máj. 2007) | 2 lines
Changed paths:
M /tomcat/trunk/java/org/apache/catalina/connector/CometEventImpl.java
M /tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java
M /tomcat/trunk/java/org/apache/catalina/connector/Request.java
M /tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java
M /tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java
Implement setTimeout using an Action instead of an attribute
------------------------------------------------------------------------
現在讓我們考慮源文件/tomcat/trunk/java/org/apache/catalina/connector/Request.java
。執行一個版本庫diff diff會提供一些結果。
svn diff -r r542207:r542208 http://svn.apache.org/repos/asf/tomcat
結果的Request.java
相關部分如下:
===================================================================
--- trunk/java/org/apache/catalina/connector/Request.java (revision 542207)
+++ trunk/java/org/apache/catalina/connector/Request.java (revision 542208)
@@ -2259,6 +2259,9 @@
// ------------------------------------------------------ Protected Methods
+ protected void action(ActionCode actionCode, Object param) {
+ coyoteRequest.action(actionCode,param);
+ }
protected Session doGetSession(boolean create) {
(有結果的其他部分一樣)
但是,如果我們對執行diff命令只有文件,結果將是空的。
svn diff -r r542207:r542208 http://svn.apache.org/repos/asf/tomcat/trunk/java/org/apache/catalina/connector/Request.java
我希望得到與上面引用的相同的結果。
當列出源文件的版本時,上面指出的3條新行缺失,但上面和下面的行存在,這也很奇怪。
問題:什麼會引起這種奇怪的行爲?有什麼設置將SVN的基礎映射到其他目錄(例如分支)?或者也許以後的目錄重命名可能會導致此問題?
太好了,解決了這個問題!非常感謝! (由於名聲不多,我無法投票。) –