Parallel Foreach Submodule (PFS) is a tool for "git submodule foreach" execution in parallel.
The origin of the tool is the following question in Stack Overflow:
👀 Execute “git submodule foreach” in parallel
- Execute git submodule foreach in parallel
- Use it from terminal when it is installed
- Multiplatform execution (it is developed in Python)
You can install or upgrade PFS with:
$ pip install pfs --upgrade
Or you can install from source with:
$ git clone https://github.com/stt-systems/parallel_foreach_submodule.git --recursive
$ cd parallel_foreach_submodule
$ pip install .$ pfs -p "D:\project" -c "git pull origin" -j 8The example executes command git pull origin for each submdoule in D:\project using 8 threads.
For commands that include quoted text, such as the message in git commit, you must escape the inner quotation marks:
$ pfs -p "D:\project" -c "git commit -m \"Your commit message\"" -j 8List of shortcuts or aliases to write faster some usual operations
pfs --pull~pfs -c "git pull origin"pfs --status~pfs -c "git status"pfs --pending~pfs -c "git log <since origin/current>..<until current>"pfs --in-branch [branch_name]~pfs -c "IF (git rev-parse --abbrev-ref HEAD) == branch"pfs --not-in-branch [branch_name]~pfs -c "IF (git rev-parse --abbrev-ref HEAD) != branch"
--verbose for full log
Run the following command to see all options available:
pfs --help or pfs -h