为什么我在完全同步的目录中看到SVN未提交的更改装饰器?

时间:2011-02-22 19:28:07

标签: svn decorator subclipse

我正在使用Subclipse访问Subversion存储库。 MyEclipse的Package Explorer窗口中的一些文件夹显示未提交的更改装饰器:uncommited changes decorator on folder

通常,这意味着我机器上目录中的一个或多个文件具有本地未提交的更改。但是,现在,某些文件夹似乎不包含任何未提交更改的文件或子文件夹。 (即我没有看到任何这些:uncommitted changes decorator on file

团队同步模式支持此不一致。当我告诉Subclipse与其中一个受影响的目录的存储库同步时,我看到以下屏幕:

empty list under folder with outgoing decorator

在正常情况下,每个文件的文件夹下都会有一个与其存储库对应项不匹配的列表。但是,正如你所看到的那样,除了文件夹本身的“将被提交”装饰器之外什么也没有。 “SVN更新”和“替换为存储库版本”命令不执行任何操作,“与存储库版本进行比较”会显示“未找到更改”对话框。

简而言之,好像我的某些目录被标记为具有未提交的更改,即使它们没有。为什么会发生这种情况,我该如何解决?

(图标装饰者的名字和描述部分来自this answer我之前的一个问题。)

2 个答案:

答案 0 :(得分:2)

对于IDE和图形工具,我通常会从good ole命令行客户端执行完整性检查。如果可以,打开终端并运行“svn status”以查看Subversion认为工作副本的状态。至于可能发生这种情况的有效地方是版本化属性,不同步的项目/文件系统以及在MyEclipse之外进行的更改。

答案 1 :(得分:0)

我按照Jeremy Whitlock在回答中给出的建议,在受影响的目录上运行svn status。以下是对于将来遇到此问题的任何人的结果:

14:42 C:\snip\org.oasis_open.docs.ns.cmis> svn status
 M      .

14:43 C:\snip\org.oasis_open.docs.ns.cmis> svn diff

Property changes on: .
___________________________________________________________________
Added: svn:ignore
   + target



14:44 C:\snip\org.oasis_open.docs.ns.cmis>

其他受影响的目录也有同样的问题。至于如何解决它,我会问一个单独的问题然后用链接更新这个答案我已经问了一个单独的问题here