美文网首页
Repo仓库搭建

Repo仓库搭建

作者: 大大世界 | 来源:发表于2015-08-28 17:32 被阅读3737次

1:创建远程Manifest仓库

ssh -p 29418 gerrit2 gerrit create-project -n mtk/manifest

2:初始化本地仓库Manifest仓库

git clone ssh://gank@192.168.1.74:29418/mtk/manifest
创建default.xml并提交到服务器

3:从服务器初始化工程

repo init -u ssh://gerrit2/mtk/manifest --repo-url=git://codeaurora.org/tools/repo.git --repo-branch=caf-stable

4:修改Repo, 适配空项目

.repo/repo/command.py

command.py的GetProjects会检测本地是否有该项目,如果么有不添加项目到结果集中,所以我们要把这段逻辑注释

      all_projects_list.extend(derived_projects.values())
      for project in all_projects_list:
        #if ((missing_ok or project.Exists) and
        #    project.MatchesGroups(groups)):
          result.append(project)

.repo/repo/subcmds/forall.py

该文件也会读取本地仓库的,如果没有则会直接报错退出

      p = subprocess.Popen(cmd,
                           #cwd = cwd,
                           shell = shell,
                           env = env,
                           stdin = stdin,
                           stdout = stdout,
                           stderr = stderr)
      #if not os.path.exists(cwd):
      #  if (opt.project_header and opt.verbose) \
      #  or not opt.project_header:
      #    print('skipping %s/' % project.relpath, file=sys.stderr)
      #  continue
      setenv('REPO_PROJECT', project.name)
      setenv('REPO_PATH', project.relpath)
      setenv('REPO_REMOTE', project.remote.name)
      #setenv('REPO_LREV', project.GetRevisionId())
      setenv('REPO_RREV', project.revisionExpr)
      setenv('REPO_I', str(cnt + 1))

5:建立本地仓库,提交本地仓库

init-commit.sh

#!/bin/bash
#set -e
#0: init
git init ${REPO_PATH}
GERRIT=mtk
ROOT_PATH=`pwd`
cd ${REPO_PATH}

#1: Commit Local
LOCAL_PATH=`pwd`
TMP_PATH=${ROOT_PATH}/tmp/${REPO_PATH}
count=0
for i in `find . -name  .gitignore`
do
  count=$(($count+1))
  TMP=${i}
  SOURCE=${LOCAL_PATH}${TMP:1}
  DEST=${TMP_PATH}${TMP:1}
  DEST_PATH=`dirname ${DEST}`
  echo mkdir -p $DEST_PATH
  mkdir -p $DEST_PATH
  echo cp ${SOURCE} $DEST
  cp ${SOURCE} $DEST
  rm -f $i
done

if [ ${count} != 0 ]; then
  echo Inner git add
  git add .
  cp ${TMP_PATH}/.gitignore ./
  cp ${TMP_PATH}/\* ./
fi

echo Outter git add
git add .
git commit -m "Init"

echo git commit
#2: Process Local None Project
git log
if [ $? != 0 ]; then
  echo empty so git commit
  git commit --allow-empty -m "init"
fi

#3: Create Remote Project
ssh gerrit2 gerrit create-project --name ${GERRIT}/${REPO_PROJECT}

#4: Push Remote
git remote add orgin ssh://gerrit2/${GERRIT}/${REPO_PROJECT}.git
git push orgin master:master
cd -

repo forall -c ./init-project.sh

PS: 特别注意.gitnore,对整个工程的影响

思路先放到一个地方, 然后再添加回来

#!/bin/bash
for i in `find . -name  .gitignore`
do
    echo $i
    rm -f $i
done

7:

8:

相关文章

  • Repo仓库搭建

    1:创建远程Manifest仓库 ssh -p 29418 gerrit2 gerrit create-proje...

  • 使用pod实现组件化开发

    Pods的搭建组件步骤如下: 第一:本地私有repo 1 本地创建私有的 repo 仓库(需要与远程 git 托管...

  • 私有 Pod 仓库

    添加私有 Pod 仓库 通过 pod repo add 命令添加 xxx 私有 pod 仓库 $ pod repo...

  • cocoapods常用指令

    查看三方框架仓库源:pod repo 移除仓库源pod repo remove master 添加仓库源pod r...

  • rpm、yum的使用以及yum源的搭建

    yum源的搭建 搭建本地镜像源(repo)、网络源(repo) yum常用命...

  • CocoaPods命令

    不更新repo仓库pod install --verbose --no-repo-updatepod update...

  • 基于CocoaPods组件化实践

    1.在github创建远程私有仓库 2.关联本地repo和远程仓库 pod repo add xxx https:...

  • 创建gitlab私有库

    1、创建2个远程仓库 2、创建spec Repo pod repo add (仓库地址) 3、创建pod的所需的项...

  • repo forall -c

    repo forall可以遍历每个repo仓库并执行同样的命令

  • repo 搭建

    服务端 本地搭建repo服务器的方法: 首先得确保本地的git能够正常使用,并下载一个repo可以正常运行 目录结...

网友评论

      本文标题:Repo仓库搭建

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