0

我是 SVN 的新手,我一直在四处寻找答案,但我还没有找到,所以这里是:

使用 TortoiseSVN,我打开了 REPO 浏览器并导航到存储库的根目录,我可以在其中查看所有项目。

有没有办法导航到给定的项目,然后询问该项目的某处是否存在任何工作副本?

属性似乎没有显示此信息。

我知道我可以签出到新的工作副本位置,但问题是:我如何才能确定项目是否已经签出(即到某人的工作副本位置)?

谢谢。

编辑澄清:

简而言之,是否有任何软件(Subversion 命令、TortoiseSVN 等)可以检查存储库中的项目以查看是否有与该项目关联的任何“工作副本”文件夹。如果存在任何工作副本文件夹,那么人们可能能够确定工作副本中是否有任何未提交的更改(在决定在其他地方签出项目之前)。也就是说,如果程序员 X 被解雇,那么 X 的工作站上的某处可能正在进行工作。经理所知道的是,存储库包含 X 被解雇时 X 正在处理的项目的一个版本。经理想将项目分配给程序员 Y。

4

3 回答 3

2

Subversion 不跟踪这样的信息——签出是一个纯粹的只读操作。但是,您可以根据需要多次检查项目是安全的,您所失去的只是任何未提交的修改。

我能想到的唯一解决方案将涉及颠覆挂钩- 您可以添加一个提交后挂钩来检查修改后的工作副本文件是否仍然存在并以某种方式记录下来。但是,如果有人修改了文件但从未实际提交,或者对项目进行了重大修改并且甚至没有提交单个文件,这将不会涵盖您。但是根据您的需要,它可能总比没有好

于 2009-10-13T22:03:26.347 回答
2

答案是否定的——没有任何命令可以告诉您有关从存储库中签出的任何信息。

于 2009-10-15T01:41:56.500 回答
0

编写一个脚本,在 X 的工作站中的每个文件夹上运行 svn info。您的脚本将解析(grep)“URL:”的 svn 信息输出。打印找到的每个 URL 的文件夹名称和 URL 值。这将告诉您哪些文件夹是工作副本以及它们引用的存储库分支。

于 2014-09-10T16:26:37.293 回答