我有一个包含多个文件差异的差异文件。我希望它适用于当前分支。到目前为止,我已经尝试使用git apply changes.diff
,其中fatal: Unrecognized input
失败。差异文件如下所示。git diff:失败致命:无法识别的输入
#*#*#*DIFFS FOR FILE ./reporting/report/sso_usage_dd_report.rptdesign #*#*#*
74c74
< <property name="odaURL">jdbc:mysql://db.mysql.domain:3306/sso_user_data</property>
---
> <property name="odaURL">jdbc:mysql://localhost:3306/sso_user_data</property>
#*#*#*DIFFS FOR FILE ./reporting/report/sso_usage_monthly_dd_report.rptdesign #*#*#*
67c67
< <property name="odaURL">jdbc:mysql://db.mysql.domain:3306/sso_user_data</property>
---
> <property name="odaURL">jdbc:mysql://localhost:3306/sso_user_data</property>
#*#*#*DIFFS FOR FILE ./reporting/report/system_wise_access_information_report.rptdesign #*#*#*
94c94
< <property name="odaURL">jdbc:mysql://db.mysql.domain:3306/sso_user_data</property>
---
> <property name="odaURL">jdbc:mysql://localhost:3306/sso_user_data</property>
请注意,我无法在当前情况下重新创建diff文件。
研究
经研究我所遇到this answer这表明它与--color=never
在补丁文件的创建时间被不设置有问题。我猜想相同的应该与我的差异文件工作,并试图通过使用perl -pe 's/\x1b.*?[mGKH]//g' changes.diff > changes_nocolor.diff
,这是行不通的颜色字符。
问题是,我在右边的大道?我究竟做错了什么?我怎样才能解决这个问题?或者我可以解决这个问题吗?
嗯..是否有可能将普通差异转换为上下文差异?就像你已经指出安全的方式更好一样... –
不,不可能安全地做到这一点:你需要的环境根本就不存在。你可以将它转换为上下文差异(没有上下文)的*表单*,但没有任何收益,除了可能使用'git apply'而不是'patch'。 (但'patch'应该被广泛使用。) – torek
谢谢。我会更深入地使用'patch'命令来应用这个。 :) –