我们如何检查文件是否已提交到SVN存储库?

时间:2010-08-17 15:53:24

标签: java svn eclipse-plugin

我正在开发一个基于java的eclipse插件来监控文件活动。我需要找出用户是否将给定文件签入SVN。

修改

有两个文件。本地文件和存储库。我必须跟踪本地文件,并确保用户每次在本地保存时都将其提交到存储库。

2 个答案:

答案 0 :(得分:2)

您可以通过从文件路径上的shell运行svn status /path/to/my/file来让svn为您完成工作。如果未签入,则会返回? /path/to/my/file(以问号开头)。如果签入并且未经修改,您将无法从svn状态获得响应,否则该行将以描述文件状态的字符开头(例如,A,M,D)。

请记住,如果文件不在svn存储库中,则svn status将发出警告svn: warning: '/path/to/my/file' is not a working copy

[edit] 看过您的说明后,您需要检查所有状态标志(添加,修改,删除等)并提醒您的用户在适当的时候提交。 svn help status包含(详尽的)完整列表。

如果从项目中运行svn status而不提供路径,它将为您提供存储库中所有文件的状态。如果未修改,则不会产生任何结果,否则任何更改都将打印到stdout。您可能希望这样做,而不是遍历每个文件以检查其状态。

答案 1 :(得分:0)

如果它与我们在工作中使用的SVN类似,则不能。唯一存在的是“最新版本”,这是它最后一次提交。您是否在询问何时将文件添加到存储库?