There is a solid little tool build specifically to handle this sort of thing called myrepos that not only handles the simple use case you outline more elegantly but allows for a lot more flexibility. Even if most repos cat be pulled the same way, you'll run into cases where one needs extra options, or one that you want to fetch but not pull by default, or whatever. While having sane defaults for operations like "pull" it allows you to override them on a per-repo basis (or even per host, or whatever) and even composes your own sequences. You can mix and match VCS systems too, not just git. Finally it handles parallel execution which can greatly speed up the task when updating a lot of repos because you don't want to wait on local processing before getting busy on the network fetch for the next one.
$ cd greatemployerinc
$ mr pull
This also makes "sets" of repositories portable. You can keep a configuration that has various groups and easily clone them all at once when you need them on a new machine.
There is a solid little tool build specifically to handle this sort of thing called myrepos that not only handles the simple use case you outline more elegantly but allows for a lot more flexibility. Even if most repos cat be pulled the same way, you'll run into cases where one needs extra options, or one that you want to fetch but not pull by default, or whatever. While having sane defaults for operations like "pull" it allows you to override them on a per-repo basis (or even per host, or whatever) and even composes your own sequences. You can mix and match VCS systems too, not just git. Finally it handles parallel execution which can greatly speed up the task when updating a lot of repos because you don't want to wait on local processing before getting busy on the network fetch for the next one.
This also makes "sets" of repositories portable. You can keep a configuration that has various groups and easily clone them all at once when you need them on a new machine.
Hi Caleb! Thank you for sharing this! I'll add it to the post as an alternative for more complex/specific scenarios :)