当前位置:   article > 正文

将ceph中的submodule转化为正常文件提交到内部仓库中

将ceph中的submodule转化为正常文件提交到内部仓库中

将ceph中的submodule转化为正常文件提交到内部仓库中

1、问题

ceph 的submodule经常下载不下来导致编译打包都困难,如果有一个方法将submodule下载下来然后直接放到仓库中,以免每次都需要重新clone了。这时发现另外一个问题,submodule没有被ceph仓库管理,修改内容也无法提交。

2、 解决方法

(1)清理submodule

使用git submodule deinit命令来删除子模块的引用:
git submodule deinit src/spawn
使用git rm命令从主仓库中删除子模块的跟踪:
git rm --cached src/spawn
  • 1
  • 2
  • 3
  • 4

(2)下载社区已经做好的对应版本包,地址如下:ceph社区源码包,把其中的对应submodule替换掉再提交到仓库。

src/spawn,src/rocksdb,src/dmclock,src/googletest,src/zstd,src/xxHash,src/erasure-code,src/civetweb,src/seastar,src/isa-l,src/rapidjson,src/crypto/isa-l/isa-l_crypto,src/boost/
  • 1

3、 关闭编译时初始化submodule

# git diff do_cmake.sh
diff --git a/do_cmake.sh b/do_cmake.sh
index ac60a5e881a..c79c8bc2094 100755
--- a/do_cmake.sh
+++ b/do_cmake.sh
@@ -1,6 +1,6 @@
 #!/usr/bin/env bash
 set -x
-git submodule update --init --recursive
+# git submodule update --init --recursive
 if test -e build; then
     echo 'build dir already exists; rm -rf build and re-run'
     exit 1

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

4、注释.gitignore中的部分忽略项

vim ./.gitignore
#*.patch
#tags
#core
#*.log
  • 1
  • 2
  • 3
  • 4
  • 5

之后git status 就可以看到复制的修改,可以提交到内部仓库了。

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号