tree 3998e636ee40500ead2e4108fd89461f71e0bd3d
parent c0584abbe0973239272029b4c27217cf0a7d2cbe
author Michael Spang <spang@google.com> 1593810094 -0400
committer GitHub <noreply@github.com> 1593810094 -0400
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJe/5yuCRBK7hj4Ov3rIwAAdHIIAG2x/CVU7UhTST7q7ISIG0EL
 WOGfRmRJdvcg6DGL/tboLSIVqhi0gIgulVZtd5hrIhM01Acahy14O0AM+3K3EETQ
 se3U5i703MyooSNDZzZ7Wg7fkRS5FUTiqsU1q2k19HrMlTbqGHntyi4KZy+ZixgQ
 Ql6U6fSGpTfSz/WyIbD/pb1OmHlaNzO0UHO23PquaaDP8Q1Rl79JzMYgq7MJ7g4d
 SEWDWoXixxKdUP6EMUlZyWKT/DClqndBI0unuR1vUAaM/nH3wkjS/Zkh0wmQ87r1
 /A0DttmxxRy8CKWwEWlM0RUuXEywqvV8KOINkrfspPf85NFO1+XB/Q2BlmBY26g=
 =ICvn
 -----END PGP SIGNATURE-----
 

Add scripts to update submodules & repos.conf (#1432)

* Fix naming discrepancies between repos.conf & .gitmodules

The .gitmodules was unintentionally set up with different names as this
is the default for "git submodule add". Rename submodulse to use the
names chosen in repos.conf.

* Merge repos.conf with .gitmodules

These duplicate the same information. Merge them.

* Add commits to .gitmodules

This avoids having a dirty tree after running

	make -f Makefile-bootstrap repos

which was happening because repos.conf doesn't track versions.

* Add a transition script to rename submodules.

After fixing .gitmodules to use the same names as repos.conf, we need a
way to transition checkouts to the new names.

Add a sript to do this and run it from bootstrap.

* Add script to pull submodules

This automates updating the submodules.

* Pull submodules

Via scripts/helpers/pull_submodules.sh

Updates:
    git -C examples/common/m5stack-tft/repo log 3a841fa..35be976
    git -C third_party/openthread/repo log 9e291e62..5f0e36ee
    git -C third_party/pigweed log 16bde6b..023f35b

* Restyle