为什么 git-imap-send 似乎将 HTTP 发送到 IMAP 连接?
Why does git-imap-send seem to be sending HTTP to an IMAP connection?
我希望我没有在这里犯一些明显的错误,但是当尝试在命令 git format-patch --signoff --stdout --attach --root HEAD | git imap-send -v
中使用 git imap-send
时,我得到了这个(每个补丁重复一次错误) :
$ git format-patch --signoff --stdout --attach --root HEAD | git imap-
send -v
sending 21 messages
* Trying 192.168.1.22...
* Connected to mail.tdstoragebay.com (192.168.1.22) port 143 (#0)
* Server auth using Basic with user 'user'
> PUT /INBOX HTTP/1.1
Host: mail.tdstoragebay.com:143
Authorization: Basic auth-token
Accept: */*
Content-Length: 3233
Expect: 100-continue
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE
IDLE STARTTLS AUTH=PLAIN AUTH=LOGIN] TD-StorageBay Dovecot ready.
PUT BAD Error in IMAP command received by server.
Host: BAD Error in IMAP command received by server.
* BYE Too many invalid IMAP commands.
* Connection #0 to host mail.tdstoragebay.com left intact
* Found bundle for host mail.tdstoragebay.com: 0x1f59250 [serially]
* Connection 0 seems to be dead!
* Closing connection 0
在我看来,git imap-send
正试图将 HTTP 数据发送到我的 IMAP 服务器。我读过的所有文档似乎都没有 说明此行为,imap-send
使用普通 IMAP。如果是这样,这是怎么回事,更重要的是,如何解决?
Git版本:2.7.4
OS: Linux 薄荷 18.3
Git配置:
imap.host=imap://mail.tdstoragebay.com (internal server)
imap.port=143
imap.folder=INBOX
升级到 Git 2.18 后,错误似乎已自行解决。虽然我仍然很好奇为什么它首先存在。
自 Git 2.7.4
以来,已有一些与 imap 发送相关的修复
值得注意的是:
- commit d2d07ab “
imap-send
:告诉 cURL 使用 imap://
或 imaps://
” (Git 2.10.2)
- commit 690307f “
imap-send
:如果需要,添加包装器以获取服务器凭据” (Git 2.15.0)
这些修复中的任何一个都可能对您的情况产生影响。
"git imap-send
"(man) 用于忽略 core.askpass 等配置变量;此问题已在 Git 2.30(2021 年第一季度)、
中得到纠正
参见 commit 5021236 (01 Dec 2020) by Nicolas Morey-Chaisemartin (nmorey
)。
(由 Junio C Hamano -- gitster
-- in commit 18da626 合并,2020 年 12 月 8 日)
imap-send
: parse default git config
Reported-by: Philippe Blain
Signed-off-by: Nicolas Morey-Chaisemartin
git imap-send git config
(man) does not parse the default settings and thus ignore core.askpass
value.
Rewrite config parsing to support core
settings.
我希望我没有在这里犯一些明显的错误,但是当尝试在命令 git format-patch --signoff --stdout --attach --root HEAD | git imap-send -v
中使用 git imap-send
时,我得到了这个(每个补丁重复一次错误) :
$ git format-patch --signoff --stdout --attach --root HEAD | git imap-
send -v
sending 21 messages
* Trying 192.168.1.22...
* Connected to mail.tdstoragebay.com (192.168.1.22) port 143 (#0)
* Server auth using Basic with user 'user'
> PUT /INBOX HTTP/1.1
Host: mail.tdstoragebay.com:143
Authorization: Basic auth-token
Accept: */*
Content-Length: 3233
Expect: 100-continue
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE
IDLE STARTTLS AUTH=PLAIN AUTH=LOGIN] TD-StorageBay Dovecot ready.
PUT BAD Error in IMAP command received by server.
Host: BAD Error in IMAP command received by server.
* BYE Too many invalid IMAP commands.
* Connection #0 to host mail.tdstoragebay.com left intact
* Found bundle for host mail.tdstoragebay.com: 0x1f59250 [serially]
* Connection 0 seems to be dead!
* Closing connection 0
在我看来,git imap-send
正试图将 HTTP 数据发送到我的 IMAP 服务器。我读过的所有文档似乎都没有 说明此行为,imap-send
使用普通 IMAP。如果是这样,这是怎么回事,更重要的是,如何解决?
Git版本:2.7.4
OS: Linux 薄荷 18.3
Git配置:
imap.host=imap://mail.tdstoragebay.com (internal server)
imap.port=143
imap.folder=INBOX
升级到 Git 2.18 后,错误似乎已自行解决。虽然我仍然很好奇为什么它首先存在。
自 Git 2.7.4
以来,已有一些与 imap 发送相关的修复值得注意的是:
- commit d2d07ab “
imap-send
:告诉 cURL 使用imap://
或imaps://
” (Git 2.10.2) - commit 690307f “
imap-send
:如果需要,添加包装器以获取服务器凭据” (Git 2.15.0)
这些修复中的任何一个都可能对您的情况产生影响。
"git imap-send
"(man) 用于忽略 core.askpass 等配置变量;此问题已在 Git 2.30(2021 年第一季度)、
参见 commit 5021236 (01 Dec 2020) by Nicolas Morey-Chaisemartin (nmorey
)。
(由 Junio C Hamano -- gitster
-- in commit 18da626 合并,2020 年 12 月 8 日)
imap-send
: parse default git configReported-by: Philippe Blain
Signed-off-by: Nicolas Morey-Chaisemartin
git imap-send git config
(man) does not parse the default settings and thus ignorecore.askpass
value.Rewrite config parsing to support
core
settings.