写入stderr而不是stdout

写入stderr而不是stdout

本文介绍了为什么“git submodule add ...”写入stderr而不是stdout?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

消息

 克隆到'sub-mod'... 
完成。

git submodule add ...之后... 命令被写入 stderr 。我预计这封邮件会被写入 stdout ,因为我不认为这说明命令出了问题。



我可以重现这个使用以下命令序列:

  rm -rf / tmp / repo / tmp / module 
mkdir / tmp / repo / tmp / module

cd / tmp / module

git init> / dev / null
echofoo> FOO;
git add foo> / dev / null
git commit。 -m+ foo> / dev / null


cd / tmp / repo

git init> / dev / null
git submodule add / tmp / module / sub-mod 1> / dev / null

如果我将上一个命令中的重定向更改为。 2> / dev / null ,不会打印任何内容。

解决方案

这不仅限于子模块, a href =http://git.661346.n2.nabble.com/RFC-PATCH-0-5-WAS-Submodule-Groups-Labels-and-submodule-autoInitialize-tt7646332.html#a7646333 =nofollow >在这里指出:
$ b

您也可以在:
$ b


The message

Cloning into 'sub-mod'...
done.

after a git submodule add... command is written to stderr. I expected the message to be written to stdout since I don't think it indicates something went wrong with the command.

I can reproduce this with the following sequence of commands:

rm   -rf /tmp/repo /tmp/module
mkdir    /tmp/repo /tmp/module

cd /tmp/module

git init  > /dev/null
echo "foo" > foo;
git add foo > /dev/null
git commit . -m "+ foo" > /dev/null


cd /tmp/repo

git init > /dev/null
git submodule add /tmp/module/ sub-mod 1> /dev/null

If I change the redirection in the last command to ... 2> /dev/null, nothing is printed.

解决方案

This is not limited to submodules, as noted here:

You can see it also in this recent patch:

这篇关于为什么“git submodule add ...”写入stderr而不是stdout?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-24 12:15