2010-10-12 222 views
5

我在玩SVN,试图更好地感受它是如何工作的。我添加了一些文件到我的资源库中,并将它们检出到2个独立的工作目录中。对于工作目录1我正在使用我的SQL客户端软件(Aqua Data Studio)来修改文件和工作目录2我正在使用Windows资源管理器和TortoiseSVN。SVN显示已过时的工作目录中的文件

我的问题是,SVN或建立在它上面的客户端从不显示工作副本中的文件是否过期?如果我在工作目录1中进行更改,并提交,我期望看到工作目录2,通知我我的工作副本已过时与存储库。这是永恒的吗?有什么方法可以告诉我的工作目录中的哪些文件已过时,或者我是否需要小心以便在对文件进行更改之前始终进行更新?

回答

7

尝试svn status --show-updates

[编辑]我起先不注意到你正在使用Windows,但该命令应为他人在运行OSX或Linux工作

+0

或“svn st -u”在存储库中有修改的项目旁边会有一个*。 – 2010-10-12 19:12:53

+0

谢谢!为了增加这个,'svn status --show-updates | grep -v^\?'会显示除“不在版本控制之下”的所有文件(由?表示,因此被忽略)。可以下载cygwin for windows,并安装subversion;应该给你相同的能力。 – Benno 2011-11-03 00:01:25

4

使用TortoiseSVN,使用“检查修改”命令,然后点击“检查存储库”按钮。

+1

谢谢,好像TortoiseSVN提供了shiftycow和Mark提供的命令的图形前端。 – Jay 2010-10-12 19:22:35

1

不,你不会在本地看到工作文件夹是否存储库包含更新的版本。

SVN将在提交您的更改之前检查服务器版本是否更新。经常更新和提交是一种很好的做法。

由于您在Windows上,您可能需要尝试CommitMonitor,这是由TortoiseSVN的作者编写的一个工具,用于通知您关于提交SVN存储库的信息。

+0

谢谢,我从SO上读过其他SVN相关问题,听说过这个工具。我会看看。 – Jay 2010-10-12 19:21:00