Merge branch 'feature/tools_script_to_switch_submodules' into 'master'
tools: Fix up relative submodule URLs for forks See merge request espressif/esp-idf!5421
This commit is contained in:
commit
f79813ff86
23
.gitmodules
vendored
23
.gitmodules
vendored
|
@ -1,14 +1,15 @@
|
||||||
#
|
#
|
||||||
# All the relative URL paths are intended to be GitHub ones
|
# All the relative URL paths are intended to be GitHub ones
|
||||||
|
# For Espressif's public projects please use '../../espressif/proj', not a '../proj'
|
||||||
#
|
#
|
||||||
|
|
||||||
[submodule "components/esptool_py/esptool"]
|
[submodule "components/esptool_py/esptool"]
|
||||||
path = components/esptool_py/esptool
|
path = components/esptool_py/esptool
|
||||||
url = ../esptool.git
|
url = ../../espressif/esptool.git
|
||||||
|
|
||||||
[submodule "components/bt/controller/lib"]
|
[submodule "components/bt/controller/lib"]
|
||||||
path = components/bt/controller/lib
|
path = components/bt/controller/lib
|
||||||
url = ../esp32-bt-lib.git
|
url = ../../espressif/esp32-bt-lib.git
|
||||||
|
|
||||||
[submodule "components/bootloader/subproject/components/micro-ecc/micro-ecc"]
|
[submodule "components/bootloader/subproject/components/micro-ecc/micro-ecc"]
|
||||||
path = components/bootloader/subproject/components/micro-ecc/micro-ecc
|
path = components/bootloader/subproject/components/micro-ecc/micro-ecc
|
||||||
|
@ -36,11 +37,11 @@
|
||||||
|
|
||||||
[submodule "components/mbedtls/mbedtls"]
|
[submodule "components/mbedtls/mbedtls"]
|
||||||
path = components/mbedtls/mbedtls
|
path = components/mbedtls/mbedtls
|
||||||
url = ../mbedtls.git
|
url = ../../espressif/mbedtls.git
|
||||||
|
|
||||||
[submodule "components/asio/asio"]
|
[submodule "components/asio/asio"]
|
||||||
path = components/asio/asio
|
path = components/asio/asio
|
||||||
url = ../asio.git
|
url = ../../espressif/asio.git
|
||||||
|
|
||||||
[submodule "components/expat/expat"]
|
[submodule "components/expat/expat"]
|
||||||
path = components/expat/expat
|
path = components/expat/expat
|
||||||
|
@ -48,28 +49,28 @@
|
||||||
|
|
||||||
[submodule "components/lwip/lwip"]
|
[submodule "components/lwip/lwip"]
|
||||||
path = components/lwip/lwip
|
path = components/lwip/lwip
|
||||||
url = ../esp-lwip.git
|
url = ../../espressif/esp-lwip.git
|
||||||
|
|
||||||
[submodule "components/mqtt/esp-mqtt"]
|
[submodule "components/mqtt/esp-mqtt"]
|
||||||
path = components/mqtt/esp-mqtt
|
path = components/mqtt/esp-mqtt
|
||||||
url = ../esp-mqtt.git
|
url = ../../espressif/esp-mqtt.git
|
||||||
|
|
||||||
[submodule "components/protobuf-c/protobuf-c"]
|
[submodule "components/protobuf-c/protobuf-c"]
|
||||||
path = components/protobuf-c/protobuf-c
|
path = components/protobuf-c/protobuf-c
|
||||||
url = ../../protobuf-c/protobuf-c
|
url = ../../protobuf-c/protobuf-c.git
|
||||||
|
|
||||||
[submodule "components/unity/unity"]
|
[submodule "components/unity/unity"]
|
||||||
path = components/unity/unity
|
path = components/unity/unity
|
||||||
url = ../../ThrowTheSwitch/Unity
|
url = ../../ThrowTheSwitch/Unity.git
|
||||||
|
|
||||||
[submodule "examples/build_system/cmake/import_lib/main/lib/tinyxml2"]
|
[submodule "examples/build_system/cmake/import_lib/main/lib/tinyxml2"]
|
||||||
path = examples/build_system/cmake/import_lib/main/lib/tinyxml2
|
path = examples/build_system/cmake/import_lib/main/lib/tinyxml2
|
||||||
url = ../../leethomason/tinyxml2
|
url = ../../leethomason/tinyxml2.git
|
||||||
|
|
||||||
[submodule "components/esp_wifi/lib_esp32"]
|
[submodule "components/esp_wifi/lib_esp32"]
|
||||||
path = components/esp_wifi/lib_esp32
|
path = components/esp_wifi/lib_esp32
|
||||||
url = ../esp32-wifi-lib.git
|
url = ../../espressif/esp32-wifi-lib.git
|
||||||
|
|
||||||
[submodule "components/bt/host/nimble/nimble"]
|
[submodule "components/bt/host/nimble/nimble"]
|
||||||
path = components/bt/host/nimble/nimble
|
path = components/bt/host/nimble/nimble
|
||||||
url = ../esp-nimble.git
|
url = ../../espressif/esp-nimble.git
|
||||||
|
|
|
@ -13,6 +13,14 @@ See setup guides for detailed instructions to set up the ESP-IDF:
|
||||||
* [Getting Started Guide for the stable ESP-IDF version](https://docs.espressif.com/projects/esp-idf/en/stable/get-started/)
|
* [Getting Started Guide for the stable ESP-IDF version](https://docs.espressif.com/projects/esp-idf/en/stable/get-started/)
|
||||||
* [Getting Started Guide for the latest (master branch) ESP-IDF version](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/)
|
* [Getting Started Guide for the latest (master branch) ESP-IDF version](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/)
|
||||||
|
|
||||||
|
### Non-GitHub forks
|
||||||
|
|
||||||
|
ESP-IDF uses relative locations as its submodules URLs ([.gitmodules](.gitmodules)). So they link to GitHub.
|
||||||
|
If ESP-IDF is forked to a Git repository which is not on GitHub, you will need to run the script
|
||||||
|
[tools/set-submodules-to-github.sh](tools/set-submodules-to-github.sh) after git clone.
|
||||||
|
The script sets absolute URLs for all submodules, allowing `git submodule update --init --recursive` to complete.
|
||||||
|
If cloning ESP-IDF from GitHub, this step is not needed.
|
||||||
|
|
||||||
## Finding a Project
|
## Finding a Project
|
||||||
|
|
||||||
As well as the [esp-idf-template](https://github.com/espressif/esp-idf-template) project mentioned in Getting Started, ESP-IDF comes with some example projects in the [examples](examples) directory.
|
As well as the [esp-idf-template](https://github.com/espressif/esp-idf-template) project mentioned in Getting Started, ESP-IDF comes with some example projects in the [examples](examples) directory.
|
||||||
|
|
|
@ -70,6 +70,7 @@ tools/ldgen/ldgen.py
|
||||||
tools/ldgen/test/test_fragments.py
|
tools/ldgen/test/test_fragments.py
|
||||||
tools/ldgen/test/test_generation.py
|
tools/ldgen/test/test_generation.py
|
||||||
tools/mass_mfg/mfg_gen.py
|
tools/mass_mfg/mfg_gen.py
|
||||||
|
tools/set-submodules-to-github.sh
|
||||||
tools/test_check_kconfigs.py
|
tools/test_check_kconfigs.py
|
||||||
tools/test_idf_monitor/run_test_idf_monitor.py
|
tools/test_idf_monitor/run_test_idf_monitor.py
|
||||||
tools/test_idf_size/test.sh
|
tools/test_idf_size/test.sh
|
||||||
|
|
41
tools/set-submodules-to-github.sh
Executable file
41
tools/set-submodules-to-github.sh
Executable file
|
@ -0,0 +1,41 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# Explicitly switches the relative submodules locations on GitHub to the original public URLs
|
||||||
|
#
|
||||||
|
# '../../group/repo.git' to 'https://github.com/group/repo.git'
|
||||||
|
#
|
||||||
|
# This can be useful for non-GitHub forks to automate getting of right submodules sources.
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# It makes sense to do
|
||||||
|
#
|
||||||
|
# git submodule deinit --force .
|
||||||
|
# git submodule init
|
||||||
|
#
|
||||||
|
# before running this, and
|
||||||
|
#
|
||||||
|
# git submodule update --recursive
|
||||||
|
#
|
||||||
|
# after that. These were not included over this script deliberately, to use the script flexibly
|
||||||
|
#
|
||||||
|
|
||||||
|
set -o errexit
|
||||||
|
set -o pipefail
|
||||||
|
set -o nounset
|
||||||
|
|
||||||
|
DEBUG_SHELL=${DEBUG_SHELL:-"0"}
|
||||||
|
[ "${DEBUG_SHELL}" = "1" ] && set -x
|
||||||
|
|
||||||
|
### '../../' relative locations
|
||||||
|
|
||||||
|
for LINE in $(git config -f .gitmodules --list | grep "\.url=../../[^.]")
|
||||||
|
do
|
||||||
|
SUBPATH=$(echo "${LINE}" | sed "s|^submodule\.\([^.]*\)\.url.*$|\1|")
|
||||||
|
LOCATION=$(echo "${LINE}" | sed 's|.*\.url=\.\./\.\./\(.*\)$|\1|')
|
||||||
|
SUBURL="https://github.com/$LOCATION"
|
||||||
|
|
||||||
|
git config submodule."${SUBPATH}".url "${SUBURL}"
|
||||||
|
done
|
||||||
|
|
||||||
|
git config --get-regexp '^submodule\..*\.url$'
|
Loading…
Reference in a new issue