使用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
答案 0 :(得分:4)
首先,提供输出和日志总是一个好主意,以避免猜测那些试图理解你的问题的人。
那就是说,有三种可能性:
(1)您已更改文件夹SVN属性(例如,在合并期间)。在这种情况下,您会在第二个列中看到M
(不是第一个用于常规更改)。
(2)已更改的文件已经过版本化(已存在于存储库中)。您无法忽略版本化文件(仅限未版本化的文件)。未版本控制的文件将标有?
,如果不存在?
,则会对文件进行版本控制。
(3)svn status
的默认行为是显示未版本控制的文件。要禁用 - 使用-q
选项(即svn status -q
)运行它。
更新:根据提供的日志,很明显情况(1) - 文件夹上的SVN属性已更改。在列表中显示的每个目录上运行svn diff --depth=empty
以查看哪些属性已更改(简单svn diff
也将执行此操作,但过滤掉您实际需要的信息将更难。)
答案 1 :(得分:4)
您使用的是哪个客户?
如果使用tortoiseSVN,并添加一个文件以忽略列表 - 则必须对文件夹进行评估(它的属性已更改)。