将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

(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/

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

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

复制代码
vim ./.gitignore
#*.patch
#tags
#core
#*.log

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

相关推荐
误入运维泥潭3 天前
Ceph分布式存储全解析:从了解到使用
ceph·rgw·rbd·mds
mixboot15 天前
Ceph OSD 硬盘重连导致设备名变化
ceph
qq_3129201119 天前
K8s存储类(StorageClass)设计与Ceph集成实战
ceph·容器·kubernetes
1990_super1 个月前
虚拟机环境部署Ceph集群的详细指南
ceph
1990_super1 个月前
Ceph对象池详解
ceph
1990_super1 个月前
使用ceph-deploy安装和配置RADOS Gateway (RGW)并使用S3访问集群
ceph·gateway
野生技术架构师1 个月前
分布式存储 Ceph 的演进经验 · SOSP 2019
分布式·ceph
mixboot1 个月前
ceph 14.2.22 nautilus Balancer 数据平衡
ceph·balancer·数据平衡
斯普信专业组1 个月前
k8s云原生rook-ceph pvc快照与恢复(下)
ceph·云原生·kubernetes
斯普信专业组1 个月前
k8s云原生rook-ceph pvc快照与恢复(上)
ceph·云原生·kubernetes