SVN说文件夹已被修改

时间:2012-05-09 08:16:31

标签: svn tortoisesvn

使用SVN,当我提交或“检查修改”(或命令行的svn状态)时,我得到一个列表几个文件夹。
为什么我看到其中没有任何更改文件的文件夹? (有些文件的更改设置为忽略)
反正有改变这种行为吗?

编辑:
svn状态输出:

>svn status
 M      .
 M      src\com\proj\server
M       src\com\proj\server\DataAccessManager.java
M       src\com\proj\server\hibernate.cfg.xml
 M      war
 M      war\WEB-INF

并查看war文件夹的差异

>svn diff war
Index: war
===================================================================
--- war (revision 171)
+++ war (working copy)

Property changes on: war
___________________________________________________________________
Added: svn:ignore
## -0,0 +1 ##
+mycrm
Index: war/WEB-INF
===================================================================
--- war/WEB-INF (revision 171)
+++ war/WEB-INF (working copy)

Property changes on: war/WEB-INF
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,2 ##
+classes
+deploy

2 个答案:

答案 0 :(得分:4)

首先,提供输出和日志总是一个好主意,以避免猜测那些试图理解你的问题的人。

那就是说,有三种可能性:

(1)您已更改文件夹SVN属性(例如,在合并期间)。在这种情况下,您会在第二个列中看到M(不是第一个用于常规更改)。

(2)已更改的文件已经过版本化(已存在于存储库中)。您无法忽略版本化文件(仅限未版本化的文件)。未版本控制的文件将标有?,如果不存在?,则会对文件进行版本控制。

(3)svn status的默认行为是显示未版本控制的文件。要禁用 - 使用-q选项(即svn status -q)运行它。

更新:根据提供的日志,很明显情况(1) - 文件夹上的SVN属性已更改。在列表中显示的每个目录上运行svn diff --depth=empty以查看哪些属性已更改(简单svn diff也将执行此操作,但过滤掉您实际需要的信息将更难。)

答案 1 :(得分:4)

您使用的是哪个客户?

如果使用tortoiseSVN,并添加一个文件以忽略列表 - 则必须对文件夹进行评估(它的属性已更改)。