平台

Ubuntu 18.04
GitLab Community Edition 11.11.0
 

参考

 

概述

    gitlab提供了一个可以运行在本地的免费的代码托管平台,就像一个本地的github,可以将自己的平时写的或者一些经典的开源程序下载下来,然后mirror到本地gitlab进行托管,比如Android。我们知道Android工程是有几百个大大小小的git工程组成,为了管理这些git工程,Android提供了repo。关于repo的用法,请参考:
 
 
 
    那么如何将Android的代码仓库mirror到本地的gitlab上呢? 下面以一个Android代码仓库中的一个git工程说明一下,清楚了一个怎么搞,其他的也不在话下,可以用脚本批量处理。
 

正文

一、搭建gitlab服务

 
 
 

二、下载Android代码

参考:
 
 
为了方便以后下载,先按照官网的推荐,建立的一个Android代码仓库的本地mirror,下载完成后,内容如下:
 
 
然后利用这个mirror,本地clone出一份Android代码,比如:
 
 
对应的manifest.xml文件如下(当然也可以只clone一份aosp_mirror/platform/manifest.git,然后切到tags为android-7.1.2_r36的分支):
 
 

三、上传到gitlab

1、首先需要往本地gitlab上传一个repo工程
 
在上面下载的aosp_mirror目录下有一个git-repo.git工程,这里需要将其上传到gitlab上,首先在gitlab上创建一个空的git-repo工程:
 
 
2、上传git-repo.git
 
进入git-repo.git目录下,执行如下命令:
 
 
 
执行完毕后,可以看到gitlab里的git-repo里已经有东西了:
 
 
 
3、上传一个git工程
 
 
以上面的manifest.xml中的build/soong为例,熟悉manifest.xml语法的话应该清楚,path表示将来会在本地创建build/soong目录,而name表示的是远程服务器中的路径。
 
为了简单起见,首先在gitlab上创建一个名为build_soong的空的git工程:
 
 
然后在aosp_mirror的platform下找到soong.git工程,进行上传:
 
 
此时gitlab上的build_soong工程里已经有内容了:
 
 
 
4、创建一个manifest工程,用于存放manifest.xml文件
 
 
 

四、下载测试

 
repo init:
 
 
 
repo sync:
 
 
查看:
 
 
 
完。
 
 
 
 

如何将Android的AOSP仓库放置到自己的gitlab服务器上?的更多相关文章

  1. github仓库迁移到gitlab以及gitlab仓库迁移到另一个gitlab服务器

    一. github仓库迁移到gitlab 先进入 new project: 选择 Import project, 选择下面的github: 进入后,这里需要github的 personal acces ...

  2. Git系列②之部署企业级开源仓库gitlab服务器

    Git系列②之部署企业级开源仓库gitlab服务器 上一篇我们介绍了github的常见使用方法,下面开始部署本地开源仓库gitlab GitLab 是一个用于仓库管理系统的开源项目. 1.安装配置gi ...

  3. 如何搭建android源代码repo仓库

    如何搭建android源代码repo仓库 目录 如何搭建android源代码repo仓库 1 repo是如何管理仓库的? 1.1 repo如何工作的? 1.2 搭建repo服务需要做哪些事情? 2 部 ...

  4. android studio maven 仓库的使用

    转自:http://www.cnblogs.com/sihaixuan/p/4852974.html 原文:How to distribute your own Android library thr ...

  5. Android studio Maven仓库使用

    原文:How to distribute your own Android library through jCenter and Maven Central from Android Studio ...

  6. 免Root停用“Android键盘(AOSP)”

    一.效果:隐藏手机状态栏输入法选择图标: 二.手段:使用ADB免root 停用系统默认Android键盘(AOSP),这里参考了大神的方法,在此表示感谢: 三.实现过程: 上图 下面就是按照大神的方法 ...

  7. Android开发艺术探索——第二章:IPC机制(上)

    Android开发艺术探索--第二章:IPC机制(上) 本章主要讲解Android的IPC机制,首先介绍Android中的多进程概念以及多进程开发模式中常见的注意事项,接着介绍Android中的序列化 ...

  8. Android必知必会-使用okhttp的PUT方式上传文件

    注:如果移动端排版有问题,请看 简书版 (<-点击左边),希望CSDN能更好的支持移动端. 背景 公司的文件上传接口使用PUT协议,之前一直用的都是老项目中的上传类,现在项目中使用了okhttp ...

  9. Android BLE与终端通信(四)——实现服务器与客户端即时通讯功能

    Android BLE与终端通信(四)--实现服务器与客户端即时通讯功能 前面几篇一直在讲一些基础,其实说实话,蓝牙主要为多的还是一些概念性的东西,当你把概念都熟悉了之后,你会很简单的就可以实现一些逻 ...

随机推荐

  1. About Her

    突然想给黑寡妇写点儿东西......(也许很多都不是我写的,但是能表达我的心意) 1. 众人进量子领域前最后一句话是她笑着说"一分钟后见." 而最终没有回来的,只有她自己一个 2. ...

  2. python3 ini文件读写

    import configparser config = configparser.ConfigParser() file = 'config.ini' config.read(file) confi ...

  3. 未能加载文件或程序集“***”或它的某一个依赖项,拒绝访问 <解决方法>

    报错信息如下: 注:为了部分隐私安全需要,已将有问题文件名替换为filename,系统win2008R2,Microsoft .NET Framework 版本:4.0.30319; ASP.NET ...

  4. DAVID 进行 GO/KEGG 功能富集分析

    何为功能富集分析? 功能富集分析是将基因或者蛋白列表分成多个部分,即将一堆基因进行分类,而这里的分类标准往往是按照基因的功能来限定的.换句话说,就是把一个基因列表中,具有相似功能的基因放到一起,并和生 ...

  5. valgrind memcheck使用方法及效果(转)

    https://windmissing.github.io/linux/2016-02/valgrind-memcheck.html 一.valgrind 1. Valgrind是什么 Valgrin ...

  6. Redis与Mysql双写一致性方案解析

    一 前言 首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用.在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作 但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存 ...

  7. 模型区分度衡量指标-KS值

    1.KS值--学习器将正例和反例分开的能力,确定最好的“截断点” KS曲线和ROC曲线都用到了TPR,FPR.KS曲线是把TPR和FPR都作为纵坐标,而样本数作为横坐标.但是AUC只评价了模型的整体训 ...

  8. java 获取类路径

    package com.jason.test; import java.io.File; import java.io.IOException; import java.net.URL; public ...

  9. Spring+Spring+Hibernate环境搭建

    源码地址:https://gitee.com/kszsa/ssht.git 一.引入lib包 pom.xml,引入需要的jar包 <?xml version="1.0" en ...

  10. java8新特性七-Date Time API

    Java 8通过发布新的Date-Time API (JSR 310)来进一步加强对日期与时间的处理. 在旧版的 Java 中,日期时间 API 存在诸多问题,其中有: 非线程安全 − java.ut ...