问题: 在整个代码库上执行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
。执行存储库范围的差异分析提供一些结果。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的基础映射到其他目录(例如分支)?或者可能稍后的目录重命名导致了这个问题?