當 android 進版時, 我們想要知道新版的android 跟上一版的差異在哪,並了解 Google 修改了那些
code, 這時候有 changelog 就比較好了解了。而目前最新release的版本為 android-4.2.1_r1(可以
從[1]知道),所以上一版為 android-4.2_r1,先來看一下android-4.2_r1 to android-4.2.1_r1的
從changelog中就很清楚的知道,這次進版Google修改了些什麼,所以如何產生版本之間的
changelog,並透過網頁方式呈現,這裡提供script來去gen:
#!/bin/bash export NEW_ANDROID='android-4.2.1_r1' export LAST_ANDROID='android-4.2_r1' export diff_root=`pwd` TMP='change.log' HOST='Jiunway' HOST_WEBSITE='http://jiunway.blogspot.tw/' repo forall -c ' changelog=$(git log --oneline --no-merges $LAST_ANDROID..$NEW_ANDROID) >/dev/null 2>&1 if [ ! -z "$changelog" ]; then diff_root_len=`expr ${#diff_root} + 2` prj_path=`pwd` prj=`pwd|cut -c $diff_root_len-${#prj_path}` echo "Project: platform/"$prj git log --oneline --no-merges $LAST_ANDROID..$NEW_ANDROID echo "" fi ' | cat > $TMP
在這段shell script裡,主要透過git將changelog(short hash+commit)抓回來,再透過project分類存
在change.log中,最後根據change.log裡的資料寫成html的格式,就會如上連結所顯示的樣子了
使用方法:
1) 將changelog.sh下載後放置Android的目錄下(可以參考[3]去下載Anroid Source)
2) 打開changelog.sh,填上你要比對的兩個android version (可參考 [1] 查詢version tag),此範例為比較 android-4.2.1_r1 和 android-4.2_r1 ,下圖所示,在NEW_ANDROID中填上較新的tag,而LAST_ANDROID 則填上一版的tag,而HOST和HOST_WEBSITE則在網頁上告知是誰製作的和製作人的網址
3) 執行changelog.sh 並導向 changelog.html 中,其中 changelog.html 和 changelog.log 就是結果嚕
最後,程式上有疑問還是有問題,請告知,謝謝
[3] http://source.android.com/source/downloading.html
沒有留言:
張貼留言