Skip to content

Add function to add repos as submodules without clone the whole repo but only the default branch #6

Description

@bicschneider

The idea is handle the clone pre to the git submodule add

submodule_path=<dir>
submodule_clone_url=<url>
submodule_relative_url=<rel_path>
git clone --depth 1 --separate-git-dir=./.git/modules/${submodule_path} ${submodule_remote_url} ${submodule_path}
git submodule add ${submodule_relative_url} ${submodule_path}

The diff looks like this afterwards

cschneider@CPHAPF22MBP6:~/airoha/sdk_airoha(master)$ git diff --cached
diff --git a/.gitmodules b/.gitmodules
index 9ff939daf..83fc68eb6 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -24,3 +24,6 @@
+[submodule "${submodule_path} "]
+       path = ${submodule_path} 
+       url = ${submodule_relative_url}
diff --git a/${submodule_path}  b/s${submodule_path} 
new file mode 160000
index 000000000..ce9bfc428
--- /dev/null
+++ b/${submodule_path} 
@@ -0,0 +1 @@
+Subproject commit ce9bfc4285653eb04188b30fb67c60eab84a3ed6

You can now go to the submodule and find the artifact to add ..
git artifact fetch-co-latest -r <pattern>

The actual commit/tag/artifact can then be added/downloaded and committed.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions