Gitrepo源码转储存

前言:

        此文档用于开发过程中源码来自外网下载速度缓慢,如多人多次下载会影响效率,故将外部源码使用git repo镜像方式存放于内网公共服务器,并提供下载方式增加下载速度。

一、下载外网代码到本地服务器

repo init -u ssh://git@xxxxcom/wm-s905x5m-coffey-u/platform/manifest.git -m wm-coffey-20240612.xml --repo-url=ssh://git@xxxx.com/tools/repo.git  --mirror(必填参数)

repo sync -f -d --force-sync -j8 //代码同步

解释一下上述命令:

        1、如果服务器中有对应版本repo,则可以直接使用repo init -u ssh://git@xxxx.com/wm-s905x5m-coffey-u/platform/manifest.git -m wm-coffey-20240612.xml

        2、repo版本和manifest提供的下载xml版本如果不一致,会出现未知问题比如:

        3、repo sync -f -d --force-sync -j8建议使用同款命令,如外部仓库过大传输过程中会有部分目录同步失败,完整执行一遍后可以再执行一次同步命令。

二、转储存操作

1、manifest

        场景一:查看下载后的代码仓库,如果存在manifest.git,则git remote -v直接获取路径

        场景二:查看下载后的代码仓库,如果不存在manifest.git,则执行以下操作创建manifest仓库

        到下载后仓库的上级目录

        git init --bare manifest.git

        cd manifest.git

        git remote add origin  ssh://user@10.10.xx.xx/home/xxx/xxx/sdk/manifest.git  (当前服务IP+初始话manifest.git路径)

        执行完毕后git remote -v 获取manifest仓库路径

2、将代码下载的xml上传到manifest仓库

还记得第一次检出代码时的manifest和wm-coffey-20240612.xml文件吗,随便找个临时目录下载外网的manifest仓库获取其中的wm-coffey-20240612.xml文件,并将其拷贝到刚创建的本地manifest仓库(git remote -v 获取到的仓库路径)

3、适配xml

        这里我解释一下原理:我们从外网下载代码的时候使用的是wm-coffey-20240612.xml来寻找外部源存放的各文件目录,当我们把代码镜像本地后代码目录结构基本是与外部保持一致的,所以我们只需要更改其中的外部引用路径为我们本地相对或绝对路径

改完之后git push提交

三、测试下载

       当以上转储步骤做完之后我们要在本地测试是否转储存成功

        需要信息:

                        新建的mainfest仓库路径

                        repo工具路径

                        xml文件名称

git clone http://10.10.61.201:9090/baseline/repo/wave/repo.git
repo/repo init -u ssh://user@10.10.xx.xx/home//amlogic_sdk/s/wave3/sdk/manifest.git -m wm-coffey-20240612
repo/repo sync -f -d --force-sync -j8

转储用到的场景不多,但是一旦遇到需要使用的场景那么相信此文档会给你带来一些帮助,有其他疑问可以留言,看到会回。

相关推荐

  1. QT图片PNG项目实战(含)

    2024-07-20 14:08:01       29 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-20 14:08:01       106 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-20 14:08:01       116 阅读
  3. 在Django里面运行非项目文件

    2024-07-20 14:08:01       95 阅读
  4. Python语言-面向对象

    2024-07-20 14:08:01       103 阅读

热门阅读

  1. LeetCode 221. 最大正方形

    2024-07-20 14:08:01       27 阅读
  2. Vue中Key的作用

    2024-07-20 14:08:01       21 阅读
  3. VMware 虚拟机 ping 不通原因排查

    2024-07-20 14:08:01       27 阅读
  4. 数据响应式(Object.defineProperty和Proxy)

    2024-07-20 14:08:01       23 阅读
  5. 云计算的三种服务模式

    2024-07-20 14:08:01       28 阅读
  6. wps的xls文件,如何过滤掉空白没有数据的行

    2024-07-20 14:08:01       27 阅读
  7. Provider(5) - AdjustChannelsBufferProvider

    2024-07-20 14:08:01       22 阅读
  8. lua 游戏架构 之 SceneLoad场景加载(一)

    2024-07-20 14:08:01       27 阅读
  9. Thread类的基本用法

    2024-07-20 14:08:01       26 阅读