附加到Outlook电子邮件的Git补丁文件被它修改

ds97pgxw  于 2023-01-07  发布在  Git
关注(0)|答案(3)|浏览(176)

我想通过Outlook发送由git format-patch命令生成的. patch文件(我必须在工作的地方使用Outlook,不需要其他建议)。目标只是在将我的更改推送到主存储库之前让同事检查我的代码。当我将补丁文件作为附件发送时,会在补丁文件的开头插入一个**〉**字符。
例如:

>From 7ff70407d24338e928fafcd89115f9844c21691b Mon Sep 17 00:00:00 2001
From: user <user@company.com>
Date: Wed, 21 Mar 2012 09:55:17 -0400
Subject: [PATCH] Blahblah...

这使得git am无法在我的同事系统上应用补丁。
我不知道(也不知道如何解决)如何验证修改是发生在发送端还是接收端。
有人知道这是什么原因吗?Outlook中是否有一些设置我应该修改,以避免这种情况?
先谢了

2jcobegt

2jcobegt1#

这与名为mbox的旧Unix邮箱文件格式相关:

  • mboxo* 和 mboxrd 通过扫描通常在电子邮件标头中找到的 From 行来查找邮件开头。如果“From“字符串出现在邮件标头或正文的行首,(对于正确格式化的消息,前者不太可能,但对于后者可能),必须先修改电子邮件,然后才能将其存储到mbox邮箱文件中,否则该行将被视为邮件边界。这通常是通过预先添加大于号来完成的:
>From my point of view...

在您的情况下,(对我们来说)不可能判断邮件系统的哪个组件可能会预先放置>
在使用Git时,您可以删除>,也可以删除整行(因为邮件标题与Git无关)。

pkwftd7m

pkwftd7m2#

当我将补丁文件作为附件发送时,会在补丁文件的开头插入一个>字符。
这些'>From'行现在可以在Git 2.40(Q1 2023)中转义了:"git format-patch"(man)已学会遵守**format.mboxrd,即使在将修补程序发送到标准输出流时也是如此。
我在"Why is mail command adding extra character (" > ") to the email?"中呈现了
mboxrd**
参见Eric Wong ( ele828 )commit 4810946(2022年12月22日)。
(由Junio C Hamano -- gitster --合并至commit e83d57e,2023年1月2日)

format-patch:使用--stdout支持format.mboxrd

签署人:黄家祥
--stdout一起使用时,mboxrd是更稳定的输出格式,需要更多曝光。
通过引入这个配置旋钮,用户可以为所有--stdout用途选择更健壮的格式。
依赖--pretty=mboxrd并在git format-patchman)文档中包含所有pretty-formats.txt可能会让用户感到困惑。
此外,此设置在多个调用之间非常有用。
所以引入format.mboxrd' as a boolean configuration knob that changes the default--漂亮=电子邮件format to--漂亮= mboxrd when (and only when)--标准输出'正在使用。
git config现在在其手册页中包括:

format.mboxrd

一个布尔值,当使用--stdout来转义"^>+From"行时,该值启用可靠的"mboxrd"格式。
示例:

git -c format.mboxrd format-patch --stdout -1 $C~1..$C >patch
olqngx59

olqngx593#

或者你可以尝试跳出你的smtp服务器?
第一个月
这样行吗?
或者,您可以查看http://alblue.bandlem.com/2011/12/git-tip-of-week-patches-by-email.html并尝试使用git bundle命令。
您是否一般只使用github和windows,或者您至少可以使用Cygwin作为这些命令行选项?

相关问题