无法将 Visual Studio 项目中的多个文件提交到 subversion

2024-05-07

几周以来,我在使用 Subversion 时遇到了一些问题。当我尝试从 Visual Studio 2017 项目提交文件时,有些文件无法提交到我的 Visual SVN 服务器。准确地说,项目文件夹中的所有文件,如 *.cs、*.config、*.csproj、*.resx、...

我的设置:
客户端:Windows 10 上的 TortoiseSVN 1.9.7
服务器:Windows Server 2012r2 上运行的 IIS-ReverseProxy 后面的 VisualSVN

当我尝试提交例如 *.cs 文件时出现的错误:

Commit
D:\Test\branches\ScaraControl\ScaraControl\Form1.cs
D:\Test\branches\ScaraControl\ScaraControl\Form1.cs
Commit failed (details follow):
File 'D:\Test\branches\ScaraControl\ScaraControl\Form1.cs' is out of date
'/svn/Test/!svn/txr/5-9/branches/ScaraControl/ScaraControl/Form1.cs' path not found
You have to update your working copy first.

更新工作副本已成功完成,但未解决问题。

您可以在下图中看到我的项目。为了进行测试,我创建了一个全新的空存储库。正如您所看到的,.vs、bin 和 obj 文件夹及其内部的所有文件都将被忽略,所有其他文件夹都将提交到服务器(不包含其中的文件)。在第二张图片中,您可以看到我可以提交 *.sln 文件,但项目文件夹中没有其他文件。

为了进行测试,我创建了一个空文本文件并将其重命名为 text.cs。即使这个空文件也无法提交到服务器,并出现相同的错误消息。

由于所有客户端都会发生这种情况,我猜这更有可能是服务器端的问题,但我不知道是什么可能导致此错误。不幸的是,VisualSVN 服务器没有错误日志记录,或者至少没有我正在使用的免费版本。

如果我能得到任何解决这个恼人问题的提示,我将非常感激。

Edit1:问题是由 IIS 反向代理引起的

通过端口 8443 直接连接到 VisualSVN 服务器(绕过反向代理)后,一切都恢复正常。所以肯定是URL Rewrite模块的配置有问题。老实说,我花了很长时间才让它正常工作,因为我对所有设置的了解非常有限。

这是我的 Web.config,其中包含 URL 重写模块的设置。也许有些东西没有按应有的方式配置。如果您需要更多信息,请询问。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <outboundRules>
                <rule name="ReverseProxyOutboundRule1" preCondition="ResponseIsHtml1" enabled="true">
                    <match filterByTags="A, Form, Img" pattern="^http(s)?://svn.example.org:8443/(.*)" />
                    <action type="Rewrite" value="http{R:1}://svn.example.org/{R:2}" />
                </rule>
                <preConditions>
                    <preCondition name="ResponseIsHtml1">
                        <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
                    </preCondition>
                </preConditions>
            </outboundRules>
            <rules>
                <rule name="ReverseProxyInboundRule1" enabled="true" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions>
                        <add input="{CACHE_URL}" pattern="^(https?)://" />
                    </conditions>
                    <action type="Rewrite" url="{C:1}://svn.example.org:8443/{R:1}" />
                </rule>
            </rules>
        </rewrite>
        <security>
            <authorization>
                <remove users="*" roles="" verbs="" />
                <add accessType="Allow" users="" roles="Users" />
                <add accessType="Allow" users="*" />
                <add accessType="Allow" users="?" />
            </authorization>
        </security>
        <urlCompression doStaticCompression="false" doDynamicCompression="false" />
        <httpRedirect enabled="false" destination="https://svn.example.org" exactDestination="true" childOnly="true" />
        <directoryBrowse enabled="false" />
    </system.webServer>
</configuration>

我遇到过同样的问题。 失败是因为 IIS 禁止 URL 后缀,例如.cs and .config

您可以通过将其添加到 IIS 代理的 web.config 来解决此问题

<system.webServer>
  <security>
    <requestFiltering>
      <fileExtensions allowUnlisted="true" applyToWebDAV="true">
        <clear />
      </fileExtensions>
      <verbs allowUnlisted="true" applyToWebDAV="true" />
      <hiddenSegments applyToWebDAV="true">
        <clear />
      </hiddenSegments>
    </requestFiltering>
  </security>
</system.webServer>

归功于这篇文章IIS7 和 ARR 作为 Subversion 的反向代理 https://stackoverflow.com/questions/1483531/iis7-and-arr-as-reverse-proxy-for-subversion

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法将 Visual Studio 项目中的多个文件提交到 subversion 的相关文章

  • Ubuntu + SVN:无法打开请求的 SVN 文件系统

    我知道这个问题已经被问过很多次了 我相信我明白答案 但我仍然没有运气 我都尝试过one repo and multiple repos配置 两者都有相同的问题 因此 对于我感兴趣的配置
  • 将 svn 存储库添加到现有的 git 存储库中?

    我知道你可以使用 git svn init 来跟踪 svn 存储库 但这是为了你想创建一个全新的存储库 我的情况是 我目前已经有一个现有的 git 存储库 并且希望通过将 svn 存储库设为我当前 git 存储库中的远程分支来跟踪 svn
  • Nuget - 包管理器控制台的编写工具(自定义 cmdlet)

    我已经安装了 nuget 包管理器 并且我真的很喜欢 mvc scaffold 扩展 我想为我的项目编写类似的工具 有没有我可以学习的 nuget 的 API 参考或文档 TIA 寻求任何建议 编辑 问题已经得到 解答 再次感谢 以下是一些
  • 当我结束调试时,如何防止 Visual Studio 2013 关闭我的 IIS Express 应用程序?

    此前在 2012 年 如果我在 Chrome 中进行调试 例如 然后停止调试器 网站将继续在 IIS Express 中运行 2013年 情况似乎不再如此 这是我需要做出的新改变吗 即使停止调试器后如何保持网站实例运行 谢谢 关闭新的 启用
  • 使用 F5 时,finally 似乎没有在 C# 控制台应用程序中执行

    int i 0 try int j 10 i catch IOException e finally Console WriteLine In finally Console ReadLine 在VS2008中按F5时 finally块似乎
  • 用于验证 IIS 设置的 Powershell 脚本

    是否可以使用 Power Shell 脚本获取 IIS 设置 我希望使用脚本获取 检查以下信息 检查 Windows 身份验证提供程序是否正确列出 协商 NTLM 检查是否启用了 Windows 身份验证 Windows 身份验证高级设置
  • 重新整合工作流程

    各位专家您好 我这个 Tortoise SVN 的老新手 问一个简单的问题 我正在一个分支上工作 现在想将分支中的更改 提交后 合并到主干 但是我不确定正确的工作流程 在解决所有可能的冲突后 我是否应该首先将主干合并到我的工作副本 然后将我
  • 如何在 Visual Studio 中更改 Azure 数据库表的列顺序

    我整个下午都在寻找在 MS Visual Studio 2022 中重新排序 Azure 数据库表列的方法 没有运气 在其他应用程序中 可以通过拖动或剪切和粘贴轻松重新排列列 这里无能为力 此时 我什至不确定可以在 VS 中移动列 我只对
  • 如何从 Visual Studio 将视图导航到其控制器?

    问题是解决方案资源管理器上有 29 个项目 而且项目同时具有 ASP NET MVC 和 ASP NET Web 表单结构 在MVC部分中 Controller文件夹中有大约100个子文件夹 每个文件夹至少有3 4个控制器 视图完全位于不同
  • 如何最好地处理不应该提交的 SVN 和本地更改?

    我已经从 SVN 存储库中查看了一些项目 为了构建这些项目 我必须调整一些配置 例如类路径和属性文件 以适应本地环境 现在我不想将这些更改提交到存储库 因此设置 svn ignore 可能会有所帮助 但是 如果我想从存储库获取更新而不提交这
  • 缺少添加控制器/视图的上下文菜单

    我已将 ASP NET MVC 4 集成到现有的 asp net 网站中 两者都工作正常 但我没有看到任何菜单 快捷方式来在 Visual Studio IDE 中创建控制器 视图 这些仅适用于 ASP NET MVC 模板吗 这些仅适用于
  • Node Sass 没有绑定您当前的环境

    我在 SO 上看到过很多这样的问题 但似乎没有一个能解决或匹配问题 Node Sass 找不到适合您当前环境的绑定 带有 Node js 6 x 的 Windows 64 位 奇怪的是 我没有安装 Node js 6 x 从命令行 node
  • 使用 NuGet 下载 WebActivator 时出错

    我刚刚在公司计算机上更新了 NuGet 包管理器 自从更新后 我无法添加任何包 例如 我尝试安装 WebActivator 并收到以下错误 PM gt Install Package WebActivator Install Package
  • Visual Studio:同时调试多个项目?

    是否可以在 Visual Studio 中同时调试多个项目 我知道您可以从解决方案属性中选择多个启动项目 但是断点是如何处理的 如果两个项目使用同一个类 它的两个不同实例 并且我因其中的断点而停止 那么它只会阻止一个程序还是同时阻止两个程序
  • 部署架构问题

    我也已将应用程序名称和命名空间从 FooXXX 更改为 FooYYY VS 将更改应用于所有文件 我已经检查了所有命名空间 名称等 项目编译 但是当我想将其部署到模拟器或设备时 它会立即崩溃 没有战争 没有消息 没有例外 仅显示启动屏幕 然
  • Visual Studio 中的项目不可信?

    打开最近下载的项目时 Visual Studio 2013 会简短警告您仅打开来自可靠来源的项目 开设项目有哪些风险 项目在编译之前会对您的系统造成任何损害吗 可能会造成什么损害 在实际从 不可信 来源打开项目之前 您应该注意哪些指标 不是
  • Blazor WebAssembly 项目无法引用 NETCore 类库

    我尝试从 Blazor WebAssembly 项目引用类库 但收到一条错误 指出 Blazor WebAssembly 项目无法引用 ASP NET Core 共享框架项目 我尝试将类库目标更改为 Net Framework 但这会破坏它
  • SVN 提交后挂钩在提交后不会运行

    我的服务器上设置了 SVN 存储库 并且遇到提交后问题 我在 iMac 上使用 SmartSVN 作为客户端 我通过 SmartSVN 的 ssh svn 连接 我能够成功连接到 SVN 并对其进行更改 但从 SVN 客户端提交后 我的提交
  • 生成Excel文件错误

    我在经典 ASP 中使用以下代码生成 Excel 文件 代码很简单并且有效 我在 Windows Vista x86 上的 IIS 7 0 下运行代码 两个问题 有一个奇怪的警告框 这是屏幕快照 http i27 tinypic com 2
  • 我的机器密钥是自动生成的还是隔离的?

    我正在尝试分享 ASPXAUTHASP NET MVC 4 应用程序 在 IIS 7 5 中 和使用的服务之间的 cookieHttpListener在同一主机上 浏览器正确地向两者呈现 cookie 但我的服务收到System Web H

随机推荐

  • 预注册 ATL 窗口类

    我在一个项目中使用了 ATL 和 WTL 的组合 并从中派生了我自己的类CWindowImpl 看起来像这样 class CMyControl public CWindowImpl
  • 浮点型、双精度型和十进制最大值与大小的关系[重复]

    这个问题在这里已经有答案了 我在 C 中遇到了这些数据类型的大小和最大值的令人困惑的模式 在使用 Marshal SizeOf 比较这些大小时 我发现了以下结果 Float 4 bytes Double 8 bytes Decimal 16
  • Symfony2 -> Twig -> 表单 -> 字段 -> 设置渲染 = true

    我有一个简单的问题 我有一个带有字段的表单 例如 builder gt add x gt add y gt add z 在我的树枝文件中 我使用了多个块 并且我想停止渲染字段 我查看了 b html twig 文件 a html twig
  • LibGDX dispose() 方法应该如何使用?

    我很不清楚如何dispose LibGDX 框架中的方法有效并且应该使用 据我所知 当你不需要某种资源后 你必须进行处置以确保你的程序运行最佳 我正在开发一个移动应用程序 并且我有一个AssetManager在启动时在特殊指定的加载屏幕中加
  • 消息:Hive 架构版本 1.2.0 与 Metastore 的架构版本 2.1.0 不匹配 Metastore 未升级或损坏

    环境 spark2 11 hive2 2 hadoop2 8 2 hive shell 运行成功 并且没有错误或警告 但是当运行application sh时 启动失败 usr local spark bin spark submit cl
  • Android 中如何获取帧

    实际上 我需要从视频中获取所有帧 但在使用 Mediametadataretriever 缩略图 时间戳获取帧时 我经常重复获取第一帧 然后获取特定时间帧 我通过更改所有 GetFrameAtTime options 尝试了很多修复 但仍然
  • 如何避免javascript中for循环内的for循环

    我已经编写了一段运行良好的代码 我想要一个新数组 其中包含 myArr 中的元素 按照 orderArr 中指定的顺序 但是 它在另一个 for 循环中使用 for 循环来匹配数组元素 var myArr a b c d e var ord
  • 从所有通讯组中删除所有前雇员

    因此 今天我被分配的任务是从所有 DL 中删除域中的所有前员工 他们在 AD 中拥有自己的文件夹 有没有什么方法可以快速做到这一点 或者至少比单独检查每个并转到 gt 的成员删除所有更快 Thanks 编辑以添加更多信息 有 822 个用户
  • API 错误 (500):清单未知:清单未知

    it failes to pull the image with SHA256 digest identifier 不幸的是 这是 DockerHub 消除 Docker 1 9 守护进程的向后兼容性的副作用 当使用 Docker 1 10
  • PHP 命名空间和 use 即使我已经使用 use 指定了类,也找不到致命错误类

    我在 PHP 中的名称空间方面遇到了麻烦 例如我有一个这样的文件 namespace App Models Abstracts abstract class Country 然后是另一个像这样的文件 namespace App Models
  • 是否可以使用 Kafka Streams 访问消息头?

    随着添加Headers http apache spinellicreations com kafka 0 11 0 0 javadoc org apache kafka common header Header html到记录 生产者记录
  • 如何使用户输入与变量相关?

    我不知道如何准确地表达这个问题 但这就是我想要实现的目标 我正在使用堆栈实现河内塔插图 这是里面的main 功能 System out println Type the source pole number and the destinat
  • 在Python中为什么ifrank:比ifrank!= 0更快:

    当我改变的时候 for i in range 0 100 rank ranks i if rank 0 pass to for i in range 0 100 rank ranks i if rank pass 我发现第二个代码效率更高
  • 使用 qTip2 确认工具提示对话框?

    因此 当用户单击删除按钮时 我尝试创建一个小型确认对话框 内联 工具提示 我想象它看起来有点像这样 但带有小文本和 确定 和 取消 按钮 但我不是来问如何设计它的 我更喜欢使用 qTip2 作为该工作的插件 但如果你有更好的选择 我也会选择
  • SQL Server 2008 中 CLR 中的线程

    我有一个CLR运行在下面的进程SQL Server2008 它构建了多个表数据的缓存以保存在静态类中以供其他调用稍后使用 我的问题是 我可以通过生成线程来加载缓存中的每个数据集 表来改进加载此缓存的过程吗 我过去一直回避这一点 因为各种帖子
  • AutoCompleteTextView sqlite填充异常

    我的第一篇文章只有不到一半的文字 因此是第二篇 完整的 文章 我正在开发一个测试应用程序 使用 sqlite 填充两个 AutoCompleteTextView 我正在使用汽车制造商和模型进行测试 自动完成的 使自动完成 模型自动完成 ma
  • Android 中无网络、断线的情况如何处理?

    我有一个应用程序需要连接到 Internet 才能执行某些操作 但当没有可用的 Internet 时 它会崩溃 我读到 如果没有互联网 我需要使用 try catch 括号 我尝试使用它 正如您在 AsyncTask 中看到的那样 但它不起
  • 使用 Task.Run() 写入控制台失败

    我的一位同事发现我们的代码存在问题 花了一段时间才弄清楚究竟发生了什么 但可以通过这个简单的示例来最好地证明这一点 Fails class Program static void Main string args Task Run gt C
  • Android 2.x 天城文 unicode 问题

    我正在尝试使用以下代码支持 android 2 x 的梵文字体 即使 android 2 x 无法渲染梵文字体 除了 raswa 和 dirga 存在一些问题之外 代码工作正常 是否有可能在 android 2 x 中获得正确的梵文表示形式
  • 无法将 Visual Studio 项目中的多个文件提交到 subversion

    几周以来 我在使用 Subversion 时遇到了一些问题 当我尝试从 Visual Studio 2017 项目提交文件时 有些文件无法提交到我的 Visual SVN 服务器 准确地说 项目文件夹中的所有文件 如 cs config c