linux下发布内侧软件包时,往往需要各个仓库的代码节点,以便日后追溯。
可以利用shell来完成
get_git_code_info()
{
local GIT_CODE_NAME="$DIR_NAME"".xml"
local GIT_FILE=$OUTPUT_DIR/$GIT_CODE_NAMElocal DIR_ARRAY=("Base" "Include" "IPC" "Device" "Lib" "Product" "Record" "ThirdProtocol" "Web")
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" >> $GIT_FILE
echo "<TreeviewConfigure>" >> $GIT_FILEfor DIR in ${DIR_ARRAY[@]}
do
cd $CURRENT_DIR/../../$DIR
Branch=`git branch | grep "*" | awk '{print $2}'`
TagOrHash=`git log -n1 --format=format:"%H"`
echo " <COdeHouseNode CodeHouse=\"$DIR\" CheckState=\"true\" Branch=\"$Branch\" TagOrHash=\"$TagOrHash\" type=\"哈希节点\"/>" >> $GIT_FILE
done
echo "</TreeviewConfigure>" >> $GIT_FILE
cd $CURRENT_DIR
cat $GIT_FILE
}
输出结果: