我们正在尝试创建一个包,包含过去几天对仓库中所有分支的所有更改。这个命令似乎可以做到这一点,但会生成一堆我们不希望在自动化流程中看到的输出:
% git bundle create /tmp/some_bundle --branches --since=2.days.ago
warning: ref '4.28' is excluded by the rev-list options
warning: ref '4.30' is excluded by the rev-list options
warning: ref '4.36' is excluded by the rev-list options
warning: ref 'run_lcov_refactor' is excluded by the rev-list options
Counting objects: 4745, done.
Delta compression using up to 48 threads.
Compressing objects: 100% (1296/1296), done.
Writing objects: 100% (3536/3536), 1.00 MiB, done.
Total 3536 (delta 3019), reused 2655 (delta 2224)
我认为警告告诉我的是,命名的分支在过去两天没有变化,这是我所期望的。
bundle命令似乎没有任何选项来静音或抑制此输出。在bundle失败之前添加--quiet,就像在bundle和create之间添加它一样。在bundle名称之后添加它会将其传递给rev-parse,而rev-parse则不会输出任何引用,因此没有任何东西被捆绑。
我可以将stderr重定向到一个文件,以便以后处理,但如果可能的话,我宁愿将其隐藏,这样就不会丢失任何真实的的错误。有什么办法可以做到这一点吗?
马克·汉密尔顿
后续:
这个问题又出现了,当我搜索时,我发现我很久以前就问过这个问题(显然忘记了。)IAE,因为我们终于把git升级到了2。32(我们已经在RHEL 7上停留了一段时间)我想我会再检查一次。
我可能误解了什么,但如果修复Vonc提到的是应该修复我提到的问题,它似乎没有这样做。
% git bundle create test.bundle --all --since=2.days.ago --quiet
warning: ref 'refs/heads/5.4' is excluded by the rev-list options
warning: ref 'refs/heads/install_sierra_scn_tarfile' is excluded by the rev-list options
% git bundle create --quiet test.bundle --all --since=2.days.ago
warning: ref 'refs/heads/5.4' is excluded by the rev-list options
warning: ref 'refs/heads/install_sierra_scn_tarfile' is excluded by the rev-list options
2条答案
按热度按时间4smxwvx51#
这个命令看起来是这样做的,但是会生成一堆我们不希望在自动化流程中看到的输出
从Git 2开始25(Q1 2020),你不会。
“
git bundle
”已被教导使用解析选项API。“
git bundle verify
”学习了“--quiet
”和“git bundle create
”学习了控制进度输出的选项。参见commit e0eba64,commit 79862b6,commit 73c3253(2019年11月10日)by Robin H. Johnson (
robbat2
)。(由Junio C Hamano --
gitster
--合并至commit ca5c8aa,2019年12月1日)bundle-verify
:添加--quiet
将
--quiet
添加到git bundle
,验证为proposed on the mailing list。xqkwcwgp2#
git bundle
似乎没有任何选择。一个潜在的解决方案是使用grep
过滤掉您希望忽略的行。grep
的-v
选项将颠倒匹配的含义。