【问题标题】:How to show any working copy folders in effect for a subversion project?如何显示对颠覆项目有效的任何工作副本文件夹?
【发布时间】:2009-10-13 21:57:58
【问题描述】:

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

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

有什么方法可以导航到给定项目,然后查询该项目的某处是否存在任何工作副本?

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

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

谢谢。

编辑澄清:

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

【问题讨论】:

  • subversion 服务器如何能够检测到工作副本已从脱机的 PC 中删除?显然这是不可能的。
  • @wcoenen - 我不是在询问诸如离线 PC 之类的情况,也不是在检测“工作副本是否被删除”。请参阅我上面的编辑,希望能澄清我的问题。

标签: svn tortoisesvn visualsvn-server working-copy


【解决方案1】:

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

【讨论】:

  • 感谢您的澄清。
【解决方案2】:

Subversion 不会像这样跟踪信息 - 签出是纯粹的只读操作。但是,您可以随意多次检查项目是安全的,您所失去的只是任何未提交的修改。

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

【讨论】:

  • @timmow - 是否有可能以其他方式? (请参阅我的编辑试图在上面澄清)。
【解决方案3】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-02
    • 2011-04-25
    相关资源
    最近更新 更多