2013-01-18 154 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