我在 64 位 Windows 7 Professional 上使用 64 位 TortoiseSVN。每隔一段时间,检出或更新就会失败,并显示如下错误消息。
Error: Can't move
Error: '[...]\\.svn\tmp\entries'
Error: to
Error: '[...]\\.svn\entries':
Error: The file or directory is corrupted and unreadable.
Run Code Online (Sandbox Code Playgroud)
然后重启后运行CHKDSK,这让我很紧张。
为什么会发生这种情况或我如何避免它?
我们偶尔会遇到 TortoiseSVN 的问题(我假设它是 Tortoise 而不是我们的 SVN 存储库),其中文件将被签入存储库(执行存储库浏览器,您可以在那里看到文件),并且将为该人存在谁提交了它们,但是当另一个人进行更新时,这些文件将不会添加到工作副本中。如果我然后从存储库浏览器中选择“复制到工作副本...”并尝试提交,这些文件对我来说被视为新文件,我的客户尝试添加它们,并给出错误。更新也会导致一些错误(我不知道如何重现这个,所以我不知道具体是什么导致了这个,我不记得确切的错误)。然后我必须从存储库中删除文件,并将文件提交为新文件。在这之后,
存储库通过 svn:// 协议访问到运行版本 1.4.6 的服务器。它托管在作为 Windows 服务运行的 Windows Server 2003 机器上。
存储库布局如下:
[存储库]/代码/[项目] [repository]/Code/[Website]/*这里的一些页面* [存储库]/数据/[杂项数据文件] [存储库]/References/[dlls/references]
这几乎只发生在 .aspx/.aspx.cs/.aspx.designer.cs 中,并且通常一次全部 3 个。好像整个“页面”不会添加到我的文件夹中。这发生在打开 Visual Studio 并运行解决方案的情况下,也没有打开 Visual Studio。
有没有人以前见过这个,你知道原因/解决方案吗?
我正在尝试备份我的 SVN 存储库。
我的问题:我忘记了将存储库放在硬盘上的哪个位置。
我怎样才能找到这个?
仅供参考:如果有帮助,我正在使用 TortoiseSVN。
当使用 TortoiseSVN 之类的东西时,你可以使用它的 repo-browser 来浏览存储库并做一些事情。您可以做的一件事是在存储库中创建目录。通常,您必须检出 repo,然后创建并添加目录,最后提交它们以完成此操作。但是您可以通过一个命令在 repo-browser 中完成它。
是否可以从命令行执行类似的操作?
这是在 Win2k3sp2 上,使用 TortoiseSVN 1.6.5 和 SlikSVN 1.6.3。
我在一个 repo 中有一个文件夹,称之为 /a/b,我想在同一个 repo 中成为 /a/c/d。我试过只是移动文件夹并重命名它,然后提交,显然它会感到困惑,因为 .svn 文件夹认为它仍然在旧名称下,如果它确实有效,它是一个两次提交的事情 /a/ b 被删除,/a/c/d 是全新的,这是不好的,因为那样我就会丢失每个文件所附的历史记录。
我开始四处寻找并找到“relocate”,它带有一个巨大的警告并说服我不要使用它。然后是“切换”,虽然我认为“重新定位”是描述我想做的事情的更直观的方式,但似乎是合适的选择。所以我这样做了,虽然 /a/b 中只有几个文件(比如可能有 8 个文件夹,每个文件夹包含一两个文件),但花了很长时间,现在:
我的问题分为两部分:
我想知道是否有人可以帮助我。我们最近将 Subversion 存储库从 Windows 上的 VisualSVN 服务器迁移到 CentOS 上的 subversion 服务器。
迁移成功,但是我们收到以下错误消息
Error REPORT of svn'/svn/MangoRepository/!svn/vcc/default': Could not read chunk size:
Error connection was closed by server (http://servername)
Run Code Online (Sandbox Code Playgroud)
现在解决这个问题的方法是简单地对 repo 执行更新,它会继续在停止的地方。
我只是想知道是否有人对此进行了永久性修复,因为向 60-70 名开发人员重复我的自我可能会非常令人沮丧。
我所做的:
我已经在 Windows 2008 服务器上成功安装并配置了支持 LDAP 的 Subversion Edge 3.1.2。我已经配置了 LDAP 用户并且能够使用 LDAP 凭据来处理存储库就好了。没有任何问题。效果很好!
我想做的事:
我已经搜索了几个小时,希望能找到一些关于如何配置 Subversion Edge 服务器以要求客户端证书对 LDAP 环境进行用户身份验证的信息。我还没有找到任何让我知道如何去做的东西。我知道有些 SVN 客户端能够提示输入 CAC 证书,但我不知道如何设置我的服务器以要求它。
注意:CAC 身份验证已在 Windows 环境中设置并运行。我有启用了 CAC 支持的 TortoiseSVN 客户端。
期望的结果:
当运行需要对我的 Subversion 边缘服务器进行身份验证的 svn 命令时,我希望它提示我输入我的 CAC 证书,而不是我的 Active Directory 用户名和密码。
如果有人对此有任何信息,我将不胜感激。
编辑:我仍在挖掘,所以如果我发现任何东西,我会用我发现的东西更新这个问题。我已经取得了一些进展,我相信我一直在寻找错误的信息。这显然是一个 Apache 配置问题。我将我在示例 Apache 配置中看到的 SSLVerifyClient require 添加到我的 httpd.conf 中,现在我的 SVN 客户端提示我输入证书文件而不是用户名和密码。
2012 年 9 月 14 日更新
好的,我已经开始工作了。这不是一个颠覆问题,而是一个 Apache 配置问题。我已经走上了使用 SSPI 模块的道路,并且大部分时间都按照我想要的方式工作。Internet Explorer 在浏览受 SSL 保护的站点以浏览 svn 存储库时仍然存在一些问题。它会提示我输入 CAC 证书就好了,然后我得到一个页面,说 Internet Explorer …
好的,首先,我已经在谷歌上搜索了很多关于这个问题的信息,但没有找到任何解决方案......我在这里和 ServerFault 上搜索过,但没有找到任何东西,所以我最终发布了这个问题在这里(不确定它是在这里还是在 ServerFault 中,抱歉)。
所以这就是交易:我们有一台运行没有问题的 Windows 2003 服务器。我们一直在使用Visual SVN Server作为我们的 Subversion 服务器,并且到目前为止它运行良好。我们有几个星期的假期,所以我们根本没有使用 SVN。今天,当我尝试提交一些东西时,我得到了:
服务器发送意外返回值 (403 Forbidden) 以响应 [repository url] 的 OPTIONS 请求
我们使用 TortoiseSVN 作为我们的 svn 客户端,但问题似乎出在服务器上。我们尝试创建一个新的存储库并导入新文件,同样的错误。我们尝试通过 RDC 从服务器本身访问 SVN 服务器,并尝试通过控制台(svn checkout)和其他命令检出某些东西......一切都会导致该错误。
有些人说这是 URL 上区分大小写的问题......但那不是我们的情况......我已经仔细检查了 URL,它们很好......(无论如何它们存储在 Tortoise 历史记录中,所以那没有改变)。
需要特别说明的一点是,有些人没有使用 Visual SVN(这实际上只是一种通过 2 次点击设置 Subversion 服务器的简单方法,它与任何 Subversion 服务器没有什么不同),但也有同样的问题。所以我不知道问题是否真的是 Visual SVN 本身。
我们迷路了......任何有用的信息将不胜感激。
编辑/解决方案:我在 authz 文件中有一个错误的条目。它试图授予已删除组的权限(我认为 VisualSVN 没有删除 authz 上的条目,但它确实删除了该组),所以我删除了该条目,现在它正在工作。
谢谢
我们将使用 Subversion 1.6 从 CVS 迁移到 SVN。但是我们还有另一个使用 Subversion 1.2 的 SVN-Server(没有机会更新)。所以我们计划使用较新的 TortoiseSVN 1.6.x
仅使用新的 TortoiseSVN 时是否可以使用两个不同的服务器?
另一种解决方案可能是使用针对 Subversion 1.2 编译的旧 TortoiseSVN。这可能吗?
使用两个 TortoiseSVN(1.2.x 和 1.6.x)怎么样?
Zend Framework 的 SVN 服务器昨天宕机了,现在又回来了 我仍然从我的外部“Zend”目录中收到错误消息。每当我尝试更新或切换到另一个分支时,我都会收到此错误。
Error Repository UUID 'XXXX...' doesn't match expected
Error UUID 'XXXX...'
Run Code Online (Sandbox Code Playgroud)
UUID 彼此不同。
我正在使用 tortoiseSVN 客户端,但我相信这是一个 SVN 错误。
我目前正在使用带有 ActiveDirectory 身份验证的 Apache 和 SVN。用户正在使用 TortoiseSVN 客户端。
我应该指出,我有 2 个具有相同名称和不同映射的存储库,但重定向到相同的“用户 url”,因为两个存储库的权限相同。
例如“ http://mysrvr/svn/foo/bar/corge ”和“ http://mysrvr/svn/foo/corge ”
或 ' http://mysrvr/svn/foo/bar/corge和 ' http://mysrvr/svn/foo/grault/corge '
这 2 个 repos 的东西用 8 个“repo pair”复制,剩下的 7 个工作得很好。
这是我的错误:
提交失败(详情如下):
禁止访问“/svn/myDir/MYREPO/!svn/act/65bf494c-a66a-4f45-870e-d988f691a45d”
完成的!
这不是权限,因为用户 foobar 具有 rw 访问权限并且他已成功签出存储库。提交时发生此错误。
有助于定位精确解决的事情:
其他回购对做得很好。而且权限是一样的。我的 svn 管理员用户可以在与提交问题的用户相同的本地 PC 上执行操作。大写/小写 URL 不是问题,我已经检查过 NTLM 和 Active Directory 也不是问题,因为他可以访问具有相同权限文件的另一个存储库。同一个 repo 的其他用户正在试验同样的问题。虽然我仍然可以在他们的本地 PC 上进行提交。(就像他们没有写权限一样)这是 Apache 日志:
Apache 错误日志
[dd mm 12:38:02 2011] [error] [client 10.xxx] 拒绝访问:'foobar' MKACTIVITY MYREPO:
[dd mm 12:39:40 2011] [error] [client …
这里的问题很简单:如何在 Citrix XenApp 上安装 TortoiseSVN,以便只有特定的人才能看到/使用该程序,而第二组人甚至看不到该程序的存在?
在 Citrix 的旧 MetaframeXP 产品下,可以选择按用户安装应用程序。通常,从应用程序控制面板使用系统的“安装程序”功能会导致 Citrix 服务器进入特定模式,为所有用户注册已安装的程序。如果您不使用此模式,程序将只为执行安装的用户帐户安装。这允许管理员设置只能由特定用户使用的程序;其他用户不会看到该程序,也不会拥有相应的注册表项。是的,您可以看到已安装的文件,但它对其他用户几乎不起作用。
在 XenApp 环境中,这应该不再是一种选择。正如负责我们 Citrix 安装的系统维护的管理员向我解释的那样,安装在 XenAppDesktop 中并用作已发布桌面(非已发布应用程序)的程序将对服务器上的每个人都可见。这就是问题所在:TortoiseSVN 安装了一个 shell 扩展,因此,所有用户都可以看到该扩展,而不仅仅是需要访问它的开发人员或管理员。当我们的非技术最终用户开始打电话说“当我点击查看文件时出现了一些奇怪的事情”时,他们只会发疯。
我们在 WS2003R2/64 上运行 XenApp。
在回答“这就是如何用你所拥有的东西来做”以外的其他问题之前,请同时考虑以下几点:
是的,这是一个商业安装,这意味着许可证等。
不,此时关闭 Subversion 不是一个答案。是的,我完全意识到 Git/Mercuriual/${Insert-Favorite-DVCS-Here} 的流行,以及它们如何都好无数倍,将使我的洗衣物更白,拯救小猫和小狗等。这是无关紧要的;为了解决这个问题而迁移到不同的系统所付出的努力比仅仅解决这个问题要高出数倍。所以,不,切换后端不是一个可接受的答案。
不,为开发人员添加另一个(昂贵的)Citrix 服务器也是不可能的。我不设定预算,也无法确定钱花在哪里。告诉我“只需添加另一台服务器”类似于我去某个国家的饥饿人口并说“只需多吃点食物”。可用资源是固定的,因此它不是一种选择。
是的,有另一种廉价/免费的远程访问解决方案,它提供了一个Windows桌面作为托管服务可能会被考虑。然而,我找到的最便宜的解决方案仍然在四位数范围内,这不是我可以与管理层讨论批准的。简短版本:如果为 7 个开发人员设置辅助远程 Windows 桌面的成本超过 25 美元/席位,那么它是不可行的(当然不包括 Windows 的许可费......)它必须是一个真正引人注目的管理解决方案考虑一下,但如果它看起来不错,我会尝试为它做一个案例。
我有 Putty 能够在我的 Windows 7 x64 客户端上使用 gssapi 来对抗 SSH 的 kerberos 登录。即它转发您登录到 Windows 时获得的票证。我不知道如何让 tortiseSVN 做同样的事情。通过在配置文件中从霓虹灯更改为农奴,我可以让它在每次我做任何事情并且它们工作时提示我输入凭据。但是我需要它来使用票,所以我不必不断输入我的用户名和密码。
如果 Tortise 不能做到这一点,有没有人知道 Windows 的 svn 客户端可以做到这一点?
tortoisesvn ×13
svn ×11
windows-7 ×2
apache-2.2 ×1
backup ×1
centos6 ×1
citrix ×1
gssapi ×1
kerberos ×1
repository ×1
windows ×1
xenapp ×1
xendesktop ×1