2013-01-18 112 views
2

显示作曲家版本,例如:作曲家版本号是否明确?

$ composer.phar -V 
Composer version e33aebc 

显示了一些字符串我想的是缩短git的SHA-1散列。

该版本号/字符串现在和未来是否明确?

+0

参考文献:[composer.phar /.lock with build revision information](https://github.com/composer/composer/issues/1502) – hakre

回答

1

现在是。在dev phars的版本信息中使用完全散列,修复#1502。

0

版本ID有Git版本ID,所以是(几乎)明确的。您提到的ID涉及此更改后的修订:https://github.com/composer/composer/commit/e33aebc

那么,为什么我说“几乎”? - 好吧,git使用的缩短的SHA-1是合理的,所以理论上它可能发生在两个修订版共享sha键的一小部分,但这是不太可能发生的。

+0

好吧,一个说不太可能,然后它发生。我不担心完全散列BTW的真正冲突,因为无论如何你需要首先解决存储库中的那个问题;) - 但是这只有七位十六进制数。我想知道为什么。如果需要,它可能会自动扩展? – hakre

+0

7个十六进制数字仍然给出了268435455个不同的值,sha-1的分布是平均的,考虑到未来几年的预期数量,冲突风险仍然很低。 – johannes

+0

以前7位数字也是一种常见的做法。当我开始使用git时,我发现一些网站的概率数学,现在找不到它..只有引用称它是一种常见的做法,即https://wiki.archlinux.org/index.php/Git#A_word_on_commits – johannes