Repo代码仓库搭建

使用rockchip sdk二次开发,代码十几个G,都放在一个git仓库的话,每次git status要等好久,决定拆分一下,官方是用repo做代码管理的,我打算也搭建个类似开发环境。

1.首先在git服务器上创建一个manifest仓库,按照官方manifest规范配置自己用到的项目仓库。这里我创建了3个配置,一个是常用来编译发布镜像的;一个是编译调试内核和uboot的;还有一个是下载完整SDK的,这个基本上用不上,只是给SDK做了个备份。

2.把SDK每个子目录建成一个单独仓库上传到git服务器。有些仓库我做了分支,比如prebuilts里面的工具链我只用到了aarch64版本,没有必要全部同步到本地。有些仓库只是子目录的一部分,比如buildroot/support。我的项目用的是自己做好的ubuntu20,不需要buildroot全部代码,但是编译镜像的时候依赖他们。

3.使用repo命令同步自己仓库。编译的时候发现还是有问题,recovery.img、oem.img和userdat.img生成还是需要编译buildroot。自己动手改了一下device/rockchip/common/script目录下的编译脚本,删除这部分依赖。

4.repo命令每次init的时候总是去google下载最新版本,没有代理容易卡死报错,我自己封装了一层附上脚本代码:

#!/bin/bash

ROOT_DIR=`pwd`
MENIFEST_FILE="default.xml"
REPO_FILE=$HOME/.repo/repo

function usage()
{
    echo " "
    echo "usage: repo fpad [menifest.xml] [fpad_dir]"
    echo " "
    echo "******************* or *******************"
    echo " "
    which repo > /dev/null 2>&1
    if [ $? -eq 0 ]; then
        repo --help
    fi
}

function download_repo()
{
    
    if [ -e $REPO_FILE ]; then
        rm $REPO_FILE
    fi
    
    if [ ! -e $HOME/.repo ]; then
        mkdir $HOME/.repo
    fi

    curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o $REPO_FILE
    sed -i "s/\#\!\/usr\/bin\/env python$/\#\!\/usr\/bin\/env python3/g" $REPO_FILE
    chmod +x $REPO_FILE
}

function replace_repo()
{
    local NEW_REPO=$1
    
    if [ -e $REPO_FILE ]; then
        rm $REPO_FILE
    fi
    
    echo "release repo from $NEW_REPO"
    cp $NEW_REPO $REPO_FILE
    sed -i "s/\#\!\/usr\/bin\/env python$/\#\!\/usr\/bin\/env python3/g" $REPO_FILE
    chmod +x $REPO_FILE
}

function download_project()
{
    local DOWNLOAD_DIR=$1
    if [ -e $DOWNLOAD_DIR -a $ROOT_DIR != $DOWNLOAD_DIR ]; then
        echo "remove old project repo: $DOWNLOAD_DIR"
        rm -rf $DOWNLOAD_DIR
    fi
    
    if [ ! -e $DOWNLOAD_DIR ]; then
        mkdir -p $DOWNLOAD_DIR
        cd $DOWNLOAD_DIR
    fi
    
    echo "start to sync repo to $DOWNLOAD_DIR ... ..."
    repo init -u ssh://git@gitee.com/rk3588/manifest.git -m $MENIFEST_FILE
    replace_repo $DOWNLOAD_DIR/.repo/repo/repo
    repo sync -c
    repo start main --all 
}

if [ $# -lt 1 ]; then
    echo "too few args."
    usage
    exit 1;
fi

if [ ! -e $REPO_FILE ]; then
    echo "downlaod repo command file."
    download_repo
fi

export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'
export PATH=$HOME/.repo/:$PATH

if [ $1 == "project" ]; then
    case $# in
    1)
        download_project $ROOT_DIR
    ;;
    2)
        MENIFEST_FILE="$2.xml"
        echo "manifest file: $MENIFEST_FILE"
        download_project $ROOT_DIR
    ;;
    3)
        MENIFEST_FILE="$2.xml"
        download_project $3
    ;;
    *)
        echo "too many args."
        usage
        exit 1;
    ;;
    esac
else
    repo $@
    if [ $1 == "init" -a -e .repo/repo/repo ];then
        replace_repo .repo/repo/repo
    fi
fi

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/223926.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

建立海外SD-WAN专线网络的成本分析

高速、稳定的网络连接是企业成功拓宽海外市场和开展海外业务的关键因素之一。作为一种提供更高质量和性能的连接的网络解决方案,海外SD-WAN专线被越来越多的企业选择。以下将详细介绍建立海外SD-WAN专线网络的成本组成,以协助企业更全面地了解和规划对网…

java项目dependences下面报错,红色波浪线

1,问题:java项目dependences下面波浪线 方法一:重新加载maven依赖(未解决) 报错: [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ----------------…

01.前言

前言 1.什么是前端开发 前端开发是创建 Web 页面或 app 等前端界面呈现给用户的过程核心技术:HTML,CSS,JavaScript 以及衍生出的各种技术,框架等 2.前端开发应用场景 3.前端职业路线 4.什么是CS架构与BS架构 介绍 应用软件&a…

ubuntu下搜索文件的几种方法

一、whereis命令: whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。 whereis的命令格式: whereis [-bmsu] [BMS 目录名 -f ] 文…

博士毕业需要发表几篇cssci论文

大家好,今天来聊聊博士毕业需要发表几篇cssci论文,希望能给大家提供一点参考。 以下是针对论文重复率高的情况,提供一些修改建议和技巧: 博士毕业需要发表几篇CSSCI论文 背景介绍 CSSCI即“中文社会科学引文索引”,被…

纯生信轻松拿下5+分文。铜死亡+免疫浸润+预后模型,快学起来吧

今天给同学们分享一篇生信文章“A novel defined risk signature of cuproptosis-related long non-coding RNA for predicting prognosis, immune infiltration, and immunotherapy response in lung adenocarcinoma”,这篇文章发表在Front Pharmacol期刊上&#x…

利用vue指令解决权限控制问题

使用场景:在我们的系统中,有的用户有创建权限,有的用户没有创建权限。 分析:后端一般会在登录完成后将该用户的权限资源列表一次性返回给前端,因此,可以先把权限资源列表保存在vuex(pinia&…

宝塔面板快速搭建本地网站结合内网穿透实现远程访问【无需公网IP】

文章目录 前言1. 环境安装2. 安装cpolar内网穿透3. 内网穿透4. 固定http地址5. 配置二级子域名6. 创建一个测试页面 前言 宝塔面板作为简单好用的服务器运维管理面板,它支持Linux/Windows系统,我们可用它来一键配置LAMP/LNMP环境、网站、数据库、FTP等&…

稀有气体行业分析:预计2029年将达到492亿元

稀有气体或惰性气体是指元素周期表上的18族元素(IUPAC新规定,即原来的0族)。在常温常压下,它们都是无色无味的单原子气体,很难进行化学反应。天然存在的稀有气体有六种,即氦(He)、氖(Ne)、氩(Ar)、氪(Kr)、氙(Xe)和具放射性的氡(R…

【深度学习目标检测】三、基于深度学习的人物摔倒检测(python,yolov8)

深度学习目标检测方法则是利用深度神经网络模型进行目标检测,主要有以下几种: R-CNN系列:包括R-CNN、Fast R-CNN、Faster R-CNN等,通过候选区域法生成候选目标区域,然后使用卷积神经网络提取特征,并通过分类…

基于ssm点餐平台系统论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本点餐平台系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息&am…

解决App Store上架提示您必须上传 12.9 英寸 iPad Pro(第 2 代)显示屏的截屏

出错场景 在App Store Connect中,上架App时,出现以下错误提示. 要开始审核流程,必须提供以下项目:您必须上传 12.9 英寸 iPad Pro(第 2 代)显示屏的截屏。(2048,2732)您…

LiteClient工具箱:降低成本,减少监管风险

​​发表时间:2023年9月14日 BSV区块链协会的工程团队一直在为即将推出的LiteClient而努力工作,这是一套模块化的组件,可使简易支付验证(SPV)变得更加便利。 借助LiteClient工具箱,交易所可以通过区块头中…

OpenCvSharp从入门到实践-(07)绘制图形

目录 1、线段的绘制 1.1实例1-绘制线段拼成一个"王"字 2、矩形的绘制 2.1实例2-绘制一个矩形边框 2.2实例3-绘制一个实心矩形 3、圆的绘制 3.1实例4-绘制"交通灯" 4、多边形绘制 4.1实例5-绘制等腰梯形 5、文字的绘制 5.1实例6-绘制文字OpenCvS…

数据分析为何要学统计学(7)——什么问题适合使用t检验?

t检验&#xff08;Students t test&#xff09;&#xff0c;用于通过小样本&#xff08;样本容量n < 30&#xff09;对总体均值水平进行无差异推断。 t检验要求样本不能超过两组&#xff0c;且每组样本总体服从正态分布&#xff08;对于三组以上样本的&#xff0c;要用方差…

基于飞书的webhook功能实现对gitlab的事件通知并@具体成员(二)

在上一篇 基于飞书群智能助手从gitlab中获取信息并具体成员&#xff08;一&#xff09;详细讲解了基于飞书群智能助手私信成员的姿势&#xff0c;那接下来为大家介绍通过webhook也可以作为私信成员。 文章目录 1. 基于飞书的webhook功能1.1 创建工作流1.2 gitlab中创建webhook1…

速学数据结构 | 树 森林 二叉树 的概念详讲篇

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏:《速学数据结构》 《C语言进阶篇》 ⛺️生活的理想&#xff0c;就是为了理想的生活! &#x1f4cb; 前言 &#x1f308;hello&#xff01; 各位宝子们大家好啊&#xff0c;关于线性表我们已经在前面更新完了…

学生管理系统 数据库版

1.写SQL语句 创建school_java数据库 创建student数据表包含 id、name姓名、tel电话、sex性别字段 往student表中加10条数据 2.写Java代码&#xff08;要求只用PreparedStatement对象&#xff0c;变化的值都用?代替&#xff09; 查询student表中所有学生信息 student表中新增三…

EasyExcel处理表头的缓存设置

在学习EasyExcel 时会发现针对使用类模型配置表头相关属性时&#xff0c;EasyExcel 会使用到缓存技术以提升表头的解析速度如下代码&#xff1a; 这些参数再何时设置的哪&#xff1f; 在easyExcel 基础参数设置中会有这个参数filedCacheLocation 。默认采用的使用线程级别的…

前端登录界面网站设计模板--HTML+CSS

🎀登录表单 💖效果展示 💖HTML代码展示 <!DOCTYPE html> <html lang="en" > <head></