美文网首页
repo日常使用技巧

repo日常使用技巧

作者: DD_Dog | 来源:发表于2019-08-05 17:12 被阅读0次

在添加repo源码仓库的时候,由于仓库非常多,如果手动去添加,一天就过去了。这里记录下使用的几个小脚本,节省一些时间。

一、首先创建manifest.xml文件

这一步因各种项目而异,一般需要手动去写,没办法省力

二、git服务器创建仓库

manifest.xml创建好后,repo仓库要先提交。
之后需要在gitolite服务器上建立所有的仓库,步骤如下:

  1. 使用如下命令生成src.txt
    cat manifest.xml | cut -d '"' -f 2 > src.txt

  2. 批量写入仓库配置
    gitolite-admin/conf目录下运行命令cat src.txt | ./con-tools.sh
    con-tools.sh如下:

#/bin/bash

set -x #追踪代码执行情况
set -e #当脚本执行出现意料之外的情况时,立即退出,避免错误被忽略,导致最终结果不正确

work_dir=$1 #传入的第一个参数

pwd=${PWD}
echo $pwd start create gitrepo...
while read line; do
        echo repo $line >> gitolite.conf  #仓库名称
        echo     RW+     =   @user >> gitolite.conf  #权限配置
done

之后提交即可。

  1. 服务器端上传源码
    拷贝manifest.xml和init.sh到源码目录下,运行./init.sh manifest.xml即可
    init.sh文件如下:
#/bin/bash

set -x #追踪代码执行情况
set -e #当脚本执行出现意料之外的情况时,立即退出,避免错误被忽略,导致最终结果不正确

work_dir=$1 #传入的第一个参数
param_xml=$1 #传入的第一个参数

cat $param_xml |while read line;do
        if [[ ${line:1:7} = "project" ]]  #判断是否为project标签,if与[一定要有空格
        then
            echo $line | cut -d '"' -f 4 >> pro-name.txt
        else
            continue
        fi
done

pwd=${PWD}
cat pro-name.txt | while read line; do
    echo readline
    line1=${line%%/*}
    if [ -z "$line" ]; then
        echo $work_dir not exist !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1>&2
        continue
    fi
    if [ $(ls -A $pwd/$line | wc -l) -eq 0 ]; then
        echo $work_dir empty !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1>&2
        continue
    fi
    workdir=$pwd/$line
    echo ==== $workdir
    cd $workdir
        rm -rf .git
        git init .  1>&2
        git add . -f 1>&2
        git commit -m "Initial commit" 1>&2
        //gitolite@192.168.1.104:/android/platform/9820e/根据实际路径来修改
        git push --set-upstream gitolite@192.168.1.104:/android/platform/9820e/$line.git master --force
#        fi
    cd -
done

rm pro-name.txt

安静得等待吧,哈哈!!

相关文章

  • repo日常使用技巧

    在添加repo源码仓库的时候,由于仓库非常多,如果手动去添加,一天就过去了。这里记录下使用的几个小脚本,节省一些时...

  • git使用技巧汇总

    git 使用技巧总结说明: 本地repo已经有啦,对应的远程repo 为tiger, 本地分支为master。 问...

  • 常用 Git 命令清单

    每天使用git,日常使用六个命令 图中专用名词Workspace:工作区Index / Stage:暂存区Repo...

  • repo 使用

    当依赖库多的时候,使用 repo 好比散兵有了将军 ,用处非常大 . 为方便理解,对应 git 来阐述 repo...

  • repo使用

    一.使用git命令 1.回滚整个项目到当前最新版本 repo forall -c git reset --hard...

  • Repo使用

    Repo 是一款工具,可让您在 Android 环境中更轻松地使用 Git。 安装Repo 要安装 Repo,请执...

  • 使用CocoaPods创建私有仓库Spec Repo

    目标:使用CocoaPods创建私有Spec Repo管理者【1】,来管理通用组件【2】。 前提:日常开发中,不同...

  • Maven导入本地包

    使用scope 使用本地repo

  • 使用CocoaPods创建私有Spec Repo管理项目公共组件

    使用CocoaPods创建私有Spec Repo管理项目公共组件 使用CocoaPods创建私有Spec Repo...

  • repo/gerrit总结

    楔子 新接手一个项目,要用到repo和gerrit,总结下repo使用过程。 repo/gerrit概述 repo...

网友评论

      本文标题:repo日常使用技巧

      本文链接:https://www.haomeiwen.com/subject/enomdctx.html