2012-08-13 102 views
12

我想应用补丁,但我得到一个空白的错误消息(没有文字或任何东西)。我有最新版本的TortoiseSVN。TortoiseSVN应用补丁错误

+0

欢迎来到SO Michael!你的问题没有太多可以继续。你能提供任何额外的细节吗?如果不是,最好去[乌龟的](http://tortoisesvn.net/support.html)网站并在那里询问。 – AlG 2012-08-13 18:30:04

回答

9

我有同样的问题,如果你已经创建了从修订的补丁,使用“查看修改为统一差异”,请检查你的补丁文件的路径,这是正确的:

文件夹/文件名。 CS

但是这一次(绝对路径)会导致一些问题:

C:/Folder/FileName.cs

只是转换绝对为相对路径。

+1

来自Trac 0.11的Udiff文件具有绝对路径,并在TortoiseSVN-> apply patch中导致此空白错误对话框。类似的修复(使路径相对于工作目录的根目录)适用。 – Magicianeer 2013-02-28 16:35:48

+0

我已经修复了@Magicianeer的建议。打开文件并用/替换所有的c:/实例,并且diff文件应该正常工作。 – CodingBarfield 2013-07-24 09:18:52

+0

谢谢@Ivan Jovovic的正确答案。你为我节省了很多时间:) – 2014-05-29 18:32:17

5

Having a look here,似乎是3个可能的根本原因,这空的错误的svn补丁问题:

  • 补丁文件是空的(或无效,因此补丁数据显示为空)

  • 补丁没有应用到正确的目录(自动DIR-搜索主干现在工作)

  • 补丁文件使用绝对路径,而不是相对那些(树干已经自动剥离这样的路径)

第一可能不是你的,最有可能你应该使用相对路径,而不是绝对的

3

我得到这个消息,所有的时间。这通常是因为我在Windows资源管理器中右键单击以获取到乌龟日志。当您在此上下文中使用“显示差异作为统一差异”时,生成的修补程序将包含相对于您的计算机的绝对位置,例如“c:\ source \”。如果您尝试将此修补程序应用于其他目录,则此操作将失败。

解决方案是使用来自乌龟的资源库浏览器,然后使用此上下文中的“显示日志”菜单。生成的补丁将具有相对位置,并且您将能够在相对路径匹配的任何位置应用这些补丁。

0

我也遇到了这个问题,并通过修改补丁文件中的路径来修复它。在我的情况下,我只需要修补一个文件。发生这个问题是因为在我的情况下,我从评论板创建了补丁文件,该文件创建具有完整链接路径的文件。 INDEX /home/pushpendra/...something/file.c(修订some_rev)

所以我替换这一行:

INDEX file.c(修订some_rev),然后用鼠标右键单击该文件,然后应用补丁。