将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 就可以看到复制的修改,可以提交到内部仓库了。

相关推荐
Mr.王83512 天前
Kubernetes宿主机本地盘池化管理
ceph·云原生·容器·kubernetes
一个行走的民17 天前
CEPH OSD心跳机制
ceph
一个行走的民17 天前
Ceph PG 状态详解与线上故障处理
网络·ceph
一个行走的民17 天前
Ceph MDS 状态机与 Monitor 中的状态流转分析
ceph
Virtual_human080621 天前
在VMware workstation上,部署3节点ceph测试,及加入openstack
ceph·云计算·openstack·osd·ceph集群
Brandon汐1 个月前
从0开始搭建一主两节点k8s集群对接Ceph集群
ceph·容器·kubernetes
泡沫·1 个月前
CEPH的基本认识
ceph
2301_767902641 个月前
ceph分布式存储(三)
分布式·ceph
2301_767902641 个月前
ceph分布式存储(一)
分布式·ceph
2301_767902641 个月前
ceph分布式存储(二)
分布式·ceph