Update submodule script to properly gather submodule paths.
This commit is contained in:
parent
bfeae89ab5
commit
5e4097453b
3
.gitmodules
vendored
3
.gitmodules
vendored
|
@ -1,3 +1,6 @@
|
|||
[submodule "code/aoc-2020"]
|
||||
path = code/aoc-2020
|
||||
url = https://dev.danilafe.com/Advent-of-Code/AdventOfCode-2020.git
|
||||
[submodule "code/libabacus"]
|
||||
path = code/libabacus
|
||||
url = https://dev.danilafe.com/Experiments/libabacus
|
||||
|
|
1
code/libabacus
Submodule
1
code/libabacus
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit 06f17f491c4d1be1f4936e36cda81c4f1e13cf49
|
|
@ -1,19 +1,27 @@
|
|||
puts "[params]"
|
||||
puts " [params.submoduleLinks]"
|
||||
|
||||
`git submodule status --recursive`.lines do |line|
|
||||
hash, path = line[1..].split " "
|
||||
next unless path.start_with? "code/"
|
||||
code_path = path.delete_prefix "code/"
|
||||
url = `git config --file .gitmodules --get 'submodule.#{path}.url'`.chomp.delete_suffix(".git")
|
||||
safe_name = code_path.gsub(/\/|-|_/, "")
|
||||
def each_submodule(base_path)
|
||||
`cd #{base_path} && git submodule status`.lines do |line|
|
||||
hash, path = line[1..].split " "
|
||||
full_path = "#{base_path}/#{path}"
|
||||
url = `git config --file #{base_path}/.gitmodules --get 'submodule.#{path}.url'`.chomp.delete_suffix(".git")
|
||||
safe_name = full_path.gsub(/\/|-|_\./, "")
|
||||
|
||||
if url =~ /dev.danilafe.com/
|
||||
file_url = "#{url}/src/commit/#{hash}"
|
||||
else
|
||||
raise "Submodule URL not in a known format!"
|
||||
if url =~ /dev.danilafe.com/
|
||||
file_url = "#{url}/src/commit/#{hash}"
|
||||
else
|
||||
raise "Submodule URL #{url.dump} not in a known format!"
|
||||
end
|
||||
|
||||
yield ({ :path => full_path, :url => file_url, :name => safe_name })
|
||||
each_submodule(full_path) { |m| yield m }
|
||||
end
|
||||
puts " [params.submoduleLinks.#{safe_name}]"
|
||||
puts " path = #{code_path.dump}"
|
||||
puts " url = #{file_url.dump}"
|
||||
end
|
||||
|
||||
each_submodule(".") do |m|
|
||||
next unless m[:path].start_with? "./code/"
|
||||
puts " [params.submoduleLinks.#{m[:name].delete_prefix(".code")}]"
|
||||
puts " url = #{m[:url].dump}"
|
||||
puts " path = #{m[:path].delete_prefix("./code/").dump}"
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue
Block a user