我想使用git来跟踪媒体文件,只要关联的播放列表即可。跟踪播放列表很容易,因为它们是文本文件。关于二进制文件,我已经看过git-lfs和git-annex,但是想要探索以下方式:
Flac文件提供内部md5哈希。可以通过
访问此类哈希metaflac --show-md5sum filename.flac
考虑到性能,我想让git使用“ flac md5哈希”,而不是git内部哈希。
怎么可能做这样的事情?
我已经阅读了gitattributes文档,但没有找到答案。
PS:第一个目标是获得闪电般的性能。第二个目标是将忽略对文件的任何元数据更改。
无法使用自定义哈希函数来标识Git中的对象。正在进行切换到SHA-256的工作,但它不是替代您自己的哈希函数的通用框架。
Git中的CPU使用率不是由散列控制的;它以压缩为主。即使可能,使用其他哈希函数也不会产生明显的性能优势。 (我自己计算了数字,其他Git贡献者也是如此。)
另外,MD5非常弱(甚至比SHA-1还要弱),并且无论今天如何,都不应将其用于任何目的。如果需要快速散列,BLAKE2b比MD5快,实际上是安全的,并且可以调整为任意长度。