git意外挂断(但推送有效)
我遇到了一些奇怪的行为,所以我希望有人能帮我解释一下。当我进行git推送时,它以“致命:远程端意外挂起”结束,但检查git日志和远程回购似乎表明推送过程顺利进行。重新运行git推送返回“一切都是最新的” 所以有一点背景知识,我已经在PalmPre上安装了dropbear和git,并且正在尝试将更改提交给gitorious上的回购协议。由于dropbear有点古怪,我不得不创建一个shell脚本(称为sssh),它执行与git意外挂断(但推送有效),git,ssh,Git,Ssh,我遇到了一些奇怪的行为,所以我希望有人能帮我解释一下。当我进行git推送时,它以“致命:远程端意外挂起”结束,但检查git日志和远程回购似乎表明推送过程顺利进行。重新运行git推送返回“一切都是最新的” 所以有一点背景知识,我已经在PalmPre上安装了dropbear和git,并且正在尝试将更改提交给gitorious上的回购协议。由于dropbear有点古怪,我不得不创建一个shell脚本(称为sssh),它执行与 ssh -i ~/.ssh/id_rsa $* 因为dropbear不会自
ssh -i ~/.ssh/id_rsa $*
因为dropbear不会自动扫描公钥。此外,我还将GIT_SSH定义为/opt/bin/sssh
因此,在这一点上,一切似乎都起了作用,但我不知道为什么“致命”的信息不断出现。有什么想法吗
更新:编辑以显示.git/config中的内容
root@castle:/opt/src/modifications# cat .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[branch "master"]
remote = origin
merge = refs/heads/master
[remote "origin"]
url = git@gitorious.org:webos-internals/modifications.git
fetch = +refs/heads/*:refs/remotes/origin/*
[remote "all"]
url = git@gitorious.org:webos-internals/modifications.git
url = git@github.com:jauderho/webos-hacks.git
这只是一个猜测(您可能应该在或上询问这是否对开发人员邮件列表没有帮助)(git@vger.kernel.org))
我的猜测是,Dropbear本身或您的包装器脚本以这样一种方式存在,Git认为连接有问题。可能是Git试图对OpenSSH返回的某个字符串进行模式匹配,而该字符串在Dropbear上不是100%相同,或者是错误的退出代码,或者诸如此类的事情。这只是一个猜测(您可能应该在或上询问这是否对开发人员邮件列表没有帮助)(git@vger.kernel.org))
我的猜测是,Dropbear本身或您的包装器脚本以这样一种方式存在,Git认为连接有问题。可能是Git试图在OpenSSH返回的某个字符串上进行模式匹配,而该字符串在Dropbear上不是100%相同,或者是错误的退出代码,或者类似的事情。如果您使用另一个ssh客户端,您会遇到同样的错误吗 我认为dropbear的问题可能比Git的问题更严重
REF用于使用
git-push原始主机
而不是git-pushssh://server/path/to/git/repository master
如果您使用另一个ssh客户端,您会遇到相同的错误吗
我认为dropbear的问题可能比Git的问题更严重
REF用于使用
git-push原始主机
而不是git-pushssh://server/path/to/git/repository master
我发现Mercurial中的post-commit钩子出现错误,使事务看起来失败了,但仍然成功
可能是类似的。我在Mercurial中发现了提交后挂钩的错误,这使事务看起来失败了,但仍然成功
可能是类似的git@vger.kernel.org是git邮件列表,它不应该是“仅限开发人员”的邮件列表或任何东西。我只是尝试了strace git push origin master,并注意到出于某种原因。git/refs/remotes/origin/master丢失了。我在后面补充了这一点,但似乎没有什么不同。不过我会问邮件列表。git@vger.kernel.org是git邮件列表,它不应该是“仅限开发人员”的邮件列表或任何东西。我只是尝试了strace git push origin master,并注意到出于某种原因。git/refs/remotes/origin/master丢失了。我在后面补充了这一点,但似乎没有什么不同。不过,我会询问邮件列表。它应该可以与openssh配合使用。首先需要shell脚本的问题是,dropbear不会在默认位置查找密钥文件。我将用我在.git/configIt中的内容更新原始帖子,它应该可以与openssh一起工作。首先需要shell脚本的问题是,dropbear不会在默认位置查找密钥文件。我将用.git/config中的内容更新原始帖子。我刚刚在OpenWRT框中遇到这个问题。我已经收到一封电子邮件,我将在订阅后发送到dropbear邮件列表,详细说明这个问题。我并没有在dropbear开发者会看到的地方看到任何关于这个问题的引用。它也不会出现在他们的提交日志中。最后一个问题是post-receive钩子不能运行。所以,当引用和对象被推送时,钩子没有运行,这是一个问题。我刚刚在OpenWRT框中遇到了这个问题。我已经收到一封电子邮件,我将在订阅后发送到dropbear邮件列表,详细说明这个问题。我并没有在dropbear开发者会看到的地方看到任何关于这个问题的引用。它也不会出现在他们的提交日志中。最后一个问题是post-receive钩子不能运行。因此,当引用和对象被推送时,挂钩没有运行,这是一个问题。