ffmpeg.org 上的 ffmpeg-snapshot.tar.bz2 和 ffmpeg-snapshot-git.tar.bz2 有什么区别

ffmpeg.org 上的 ffmpeg-snapshot.tar.bz2 和 ffmpeg-snapshot-git.tar.bz2 有什么区别

ffmpeg.org当你进入“下载>下载源代码”时,它会给你ffmpeg-snapshot.tar.bz2

但是如果你点击“获取源代码”,它会ffmpeg-snapshot-git.tar.bz2 在 ffmpeg.org 上给你提供 git 快照。

有什么不同?

在此处输入图片描述

答案1

如果你深入观察,就会发现其中的区别ffmpeg-snapshot.tar在于仅有的最新的源代码,同时ffmpeg-snapshot-git.tar包含最新的源代码一个.git包含 Git 格式的整个提交历史记录的子目录(即,与使用 下载的数据相同git clone)。

$ tar -tf ffmpeg-snapshot.tar.bz2 > a
$ tar -tf ffmpeg-snapshot-git.tar.bz2 > b
$ diff -u a b
--- a   2022-10-02 21:16:03.931276283 +0300
+++ b   2022-10-02 21:16:24.891340188 +0300
@@ -1,4 +1,97 @@
 ffmpeg/
+ffmpeg/.git/
+ffmpeg/.git/FETCH_HEAD
+ffmpeg/.git/HEAD
+ffmpeg/.git/ORIG_HEAD
..
+ffmpeg/.git/objects/pack/pack-d90600a253862355b70c4f1d14e3e5de1a99c820.idx
+ffmpeg/.git/objects/pack/pack-d90600a253862355b70c4f1d14e3e5de1a99c820.pack
..

(发布 .git tarball 而不是的原因git clone在于前者是静态文件下载,可以在需要时中断和恢复,而后者 - 即使通过 HTTP 完成 - 也是由 Git 作为 CGI 服务器提供的动态下载,不支持恢复中断的克隆。

然而,一旦你执行了一次初始的大型“通过 tarball 克隆”,相同的动态 Git 协议将允许你高效地下载或git pull全部新的自上次更新以来的提交次数。因此,Git-tarball 只需要每月左右重新发布一次,具体取决于每日提交率。相比之下,普通的“源快照”tarball 需要每晚重新发布一次,否则就没有多大意义了。)

答案2

它说网站在下面git快照。

开发分支快照在 99% 的时间里都运行良好,因此人们并不害怕使用它们。

TL;DR:这是开发分支。

相关内容