gpt4 book ai didi

linux - 总是无法在远程 Linux 机器上应用 SVN 补丁

转载 作者:IT王子 更新时间:2023-10-29 00:59:30 26 4
gpt4 key购买 nike

我的典型工作流程是这样的:

  1. 检查从后备箱到我的 windows work 机器的代码
  2. 做一些修复(但不提交 SVN)并使用 Tortoise SVN 的“创建补丁”创建这些修改的补丁。
  3. 通过 SSH 登录远程 Linux 服务器,并上传补丁。 Linux 服务器也检查了主干 HEAD。
  4. 像这样在 Linux 服务器上应用补丁:
[work@remoteLinuxBox:~/work] patch -p0 -i ~/work/fix.patch(Stripping trailing CRs from patch.)patching file src/java/main/myApp/view/action/test/launch/GetPeekAction.javaHunk #1 FAILED at 385.1 out of 1 hunk FAILED -- saving rejects to file src/java/main/myApp/view/action/test/launch/GetPeekAction.java.rej(Stripping trailing CRs from patch.)patching file src/java/main/myApp/view/action/test/GetAllCustomerAction.javaHunk #1 FAILED at 76.1 out of 1 hunk FAILED -- saving rejects to file src/java/main/myApp/view/action/test/GetAllCustomerAction.java.rej(Stripping trailing CRs from patch.)

但我总是遇到这样的错误。我以为是windows和linux的行尾不一样的原因,所以我用dos2unix转换补丁,(Stripping trailing CRs from patch)之类的警告消失了,但是还是打补丁失败。

有一个奇怪的行为,如果对文件的修改只发生在现有行上,应用补丁将起作用。但是如果添加了新行,补丁就会失败。

有人知道如何解决这个问题吗?非常感谢

最佳答案

使用 cygwin svn diff 来避免头痛,将确保每个 hunk 的标题只有 LF 作为行尾而不是 CR+LF。Linux 补丁命令不能很好地处理具有 CR+LF 行结尾的大头。对我来说,TortoiseSVN/create patch 被破坏了,因为它创建的补丁不是跨平台的。

关于linux - 总是无法在远程 Linux 机器上应用 SVN 补丁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3741469/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com