我是SVN的新手,我一直在寻找答案,但我还没有找到答案,所以这里有:
使用TortoiseSVN,我打开REPO浏览器并导航到存储库的根目录,我可以在其中查看所有项目。
有没有办法导航到给定的项目,然后询问该项目的某处是否存在任何工作副本?
属性似乎没有显示此信息。
我知道我可以查看一个新的工作副本位置,但问题是:如何确定项目是否已经检出(即某人的工作副本位置)?
感谢。
编辑 - 澄清:
简而言之,是否有任何软件(Subversion命令,TortoiseSVN等)可以检查存储库中的项目,以查看是否存在与该项目关联的任何“工作副本”文件夹。如果存在任何工作副本文件夹,则可以确定工作副本中是否存在任何未提交的更改(在决定在其他位置签出项目之前)。也就是说,如果程序员X被解雇,那么X工作站上某处可能正在进行工作。所有经理都知道存储库包含X在裁员时正在处理的项目版本。经理想将项目分配给程序员Y.
答案 0 :(得分:2)
Subversion不会跟踪这样的信息 - check out是纯粹的只读操作。然而,根据您的喜好多次检查项目是安全的,您将失去的是任何未提交的修改。
我能想到的唯一解决方案是subversion hooks - 您可以添加一个帖子提交挂钩来检查修改后的工作副本文件是否仍然存在并以某种方式记录。但是,如果有人修改了文件但从未实际提交过,或者对项目进行了重大修改,并且未提交甚至单个文件,则不会覆盖您。但是根据你的需要,它可能比没有更好
答案 1 :(得分:2)
答案是否定的 - 没有任何命令可以告诉您关于来自存储库的结帐的任何信息。
答案 2 :(得分:0)
编写一个脚本,在X工作站的每个文件夹上运行svn info。您的脚本将解析(grep)" URL:"的svn信息输出。打印出找到的每个URL的文件夹名称和URL值。这将告诉您哪些文件夹正在工作副本以及它们引用的存储库分支。