Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Svn 乌龟:是什么导致了灰色复选标记?_Svn_Tortoisesvn - Fatal编程技术网

Svn 乌龟:是什么导致了灰色复选标记?

Svn 乌龟:是什么导致了灰色复选标记?,svn,tortoisesvn,Svn,Tortoisesvn,让我首先解释一下我们的设置: 我和一些承包商一起工作。他们正在使用Visual Source Safe进行源代码控制,我们公司正在使用Subversion。每隔几天,他们通过执行以下步骤来签入我们的存储库: 从我们的存储库中签出(他们是唯一处理它的人,所以这实际上没有任何作用) 将所有应用程序文件复制到目录中 交还 这是一个可怕的过程,我们计划在下一次迭代中解决它,但它是有效的。 只是有时候不是。有时,在执行提交操作后,一些文件会有一个灰色的复选标记覆盖 我不知道这意味着什么。谷歌搜索意味着它可

让我首先解释一下我们的设置:

我和一些承包商一起工作。他们正在使用Visual Source Safe进行源代码控制,我们公司正在使用Subversion。每隔几天,他们通过执行以下步骤来签入我们的存储库:

  • 从我们的存储库中签出(他们是唯一处理它的人,所以这实际上没有任何作用)
  • 将所有应用程序文件复制到目录中
  • 交还
  • 这是一个可怕的过程,我们计划在下一次迭代中解决它,但它是有效的。 只是有时候不是。有时,在执行提交操作后,一些文件会有一个灰色的复选标记覆盖

    我不知道这意味着什么。谷歌搜索意味着它可能与锁定有关,但没有人明确锁定任何东西!这些文件似乎已提交,但在我签出时它们丢失了。我肯定我错过了什么


    有人能解释一下什么问题以及如何解决吗?

    这些文件设置了svn:needs lock属性。要编辑这些文件,首先必须锁定它们

    以下是Ottoisesvn帮助文件中的解释:

    如果已设置svn:需要锁定 属性,Subversion会生成 该文件是只读的,直到您获得 锁定那个文件。这样的文件已经存在 此覆盖表示您已经 先弄把锁,然后才能 编辑那个文件

    这通常用于二进制文件(图像、word文档等),当由多人编辑时,这些文件不容易合并。锁定可防止文件一次可由多人编辑

    如果要删除svn:needs lock属性,请右键单击该文件,选择Otteroisesvn->Properties并删除该属性

    更新:什么会导致文件具有svn:needs lock属性:

    • 要么是有人明确设定的
    • 或者在subversion配置文件中有一些规则(TortoiseSVN->设置->编辑subversion配置文件)。检查该文件的[auto props]部分。例如,我们通过将相应的文件扩展名添加到subversion配置文件的[auto props]部分,自动在所有MS Office文件上设置“需要锁定”属性
    来自:

    如果已对文件设置svn:needs lock属性,Subversion将使该文件成为只读文件,直到获得该文件的锁为止。只读文件具有此覆盖,表示在编辑该文件之前必须先获得锁定

    我们这里不使用需要锁的东西,所以我无法解释更多。不过这只是个开始


    编辑:由于文件使用VSS,因此在未签出文件时将设置只读属性。Ottoisesvn可能将此解释为设置了需求锁。

    我在谷歌上搜索了它,显然文件被锁定了

    那些是二进制文件吗?如果是这样,这意味着文件在服务器上是锁独占的,因此没有人可以同时签出它们。

    这可能会有帮助吗

    已设置只读属性

    他们可能需要从自己的角度纠正这一点


    而且一定要强迫他们使用你的版本控制系统如果你要继续这个糟糕的计划,我可以建议你调查一下脚本吗?它用于将非版本目录层次结构中的更改应用于SVN repo。在这种情况下,您的非版本化文件实际上来自VSS,但出于此目的,这不算作版本化文件。基本上,它注意到了添加的内容和删除的内容,让您有机会告诉它一些添加/删除实际上是重命名/移动,然后将更改应用到您的回购协议中。这比仅仅将文件粘贴到工作副本要好得多,因为后一种方法无法正确处理添加/删除的文件或目录


    要回答原始问题,灰色复选标记表示该文件为只读。这通常只在文件需要锁定以便写入时才会遇到,但我很确定它会用灰色复选标记标记任何只读文件,而不仅仅是那些设置了svn:needs lock的文件。至于为什么文件在您签出时不会显示,这几乎可以肯定,因为它们从未签入。。。如果它们在服务器中,当您更新/签出时,它们将显示在您的工作副本中(或者它会给您一条关于阻碍它们的明确错误消息)。

    要向您显示文件和文件夹图标重叠,TurtoiseSVN必须在每次您在资源管理器中打开此类文件夹时获取状态。这通常需要几分之一秒的时间,但如果硬盘速度较慢或目录非常大,则可能需要更长的时间。 以下是一些需要注意的事项: 网络驱动器的响应速度可能非常慢,因此您可能必须关闭此类驱动器的图标覆盖。然而,缓存方案通常使其可行。 每当一个文件的最后修改时间发生变化时,OrtoiseSVN需要对该文件进行完整的区分(!)以确定它是否发生了变化。如果您经常更改文件,请撤消更改并再次保存该文件,您将遇到浏览速度减慢的问题。您可以通过清理工作副本文件夹来修复该情况。 有几种病毒扫描器可以干扰乌龟。大多数情况下,它们会将文件锁定在.svn Status目录中,这可能会导致TortoiseSVN挂起或变得非常慢。有时,您甚至可能会遇到访问被拒绝的错误。 尝试配置病毒扫描程序,使其忽略.svn目录。 如果您使用的是Windows XP,那么还可以禁用zipfolders。这也将提高浏览速度。 1.从“开始”菜单中选择“运行” 2.在提示符处键入regsvr32/u%windir%\system32\zipfldr.dll,然后单击“确定” 3.更改将立即生效,但您可能必须重新启动Windows以查看内置ZIP su的所有痕迹