git cherry-pick gerritID shell脚本解析
来源:互联网 发布:js把对象转成字符串 编辑:程序博客网 时间:2024/05/16 15:12
#!/bin/bash
while read line //读取导入文件的每行到变量$line直到文件结尾
do
Name=`echo $line |awk '{print $2}'` //awk 输出$line对应那行的第二列
ChangeID=`echo $line |awk '{print $1}'` //awk 输出$line对应那行的第一列
pwd=$PWD
URL=`cat .repo/manifest.xml |grep ${Name}\" | cut -d '"' -f 4 ` //找到manifestxml中包含$Name的用/分割后的第四部分,例如1/2/3/4 输出 4 ;/1/2/3/4 则为3
#echo $URL $ChangeID
echo "$Name $ChangeID $URL"
pushd $URL > /dev/null //pushd 本身会输出LOG,“> /dev/null“会使LOG不输出,即相当于传到一个空文件中
Merge=`git log --grep="Change-Id: $ChangeID" --oneline |awk '{print $2}'|head -1` //找到包含Change-Id: $ChangeID的第二列的第一个
if [ "$Merge" = "Merge" ];then
commitID=`git log --grep=$ChangeID --oneline |awk '{print $1}'|head -2 |tail -1 ` //tail -1最后一行,其他同上
if [ ${#commitID} = 0 ];then
echo "this is the merge summit, No need to cherry pick "
fi
else
commitID=`git log --grep="Change-Id: $ChangeID" --oneline |awk '{print $1}'| head -1 ` //同上
fi
if [ ${#commitID} = 0 ] ; then
mChangeID=`echo $ChangeID | cut -c 2- `
changeID=`git log $mChangeID -1|grep Change-Id:|awk -F: '{print $2}'`
if [ ! ${#changeID} = 0 ] ; then
commitID=`git log --grep="$changeID" --oneline | awk '{ print $1}'|head -1`
fi
fi
echo "$Name $ChangeID $URL $commitID"
echo "----------------------"
echo "$commitID $URL changeID $ChangeID" >> $pwd/cherry-pick.list-work
git cherry-pick -x $commitID //cherry pick 对应的git 提交
#echo "-------------- $URL $ChangeID---------------"
popd > /dev/null //popd 本身会输出LOG,“> /dev/null“会使LOG不输出,即相当于传到一个空文件中
done < $1 //导入文件对应while read line 每行分别传到变量$line直到文件结尾
- git cherry-pick gerritID shell脚本解析
- git cherry-pick 小结
- git cherry-pick简介
- git cherry-pick 小结
- git cherry-pick
- Use git cherry-pick
- git cherry-pick
- git cherry-pick 小结 .
- git cherry-pick command
- git cherry-pick
- git cherry-pick
- git cherry-pick简介
- git:cherry-pick
- git cherry-pick简介
- git cherry-pick
- git cherry-pick简介
- git cherry-pick
- git cherry pick
- 索引与优化like查询
- put_user
- 鼠标点击控制角色移动
- CSS 定位
- Android资源管理框架(Asset Manager)简要介绍和学习计划
- git cherry-pick gerritID shell脚本解析
- java动态缓存技术:WEB缓存应用
- 学习链接
- github for Windows使用介绍
- 嵌入式软件架构设计
- 写了一个内存地址特征码搜索工具
- Spring 3.x jar 包详解 与 依赖关系
- 数据库的并发性及带来的问题
- PHP Error 和 Logging 函数