Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- for dir in a b c d; do
- git init $dir
- pushd $dir
- touch test
- echo $dir > bob
- git add -A
- git commit -m "Init"
- popd
- done
- pushd b;
- git submodule add ../c
- git commit -m "Subbed"
- popd
- git-sfed () { git submodule foreach "git submodule foreach '$*' && $*"; }
- pushd a;
- git submodule add ../b
- git submodule add ../d
- git submodule update --init --recursive
- # Three different methods for iteration
- echo
- git-sfed 'echo $path; git status'
- echo
- git submodule foreach --recursive | tac | sed 's/Entering//' | xargs -I% bash -c 'cd %; echo %; git status'
- echo
- git submodule foreach --recursive | tac | sed 's/Entering //' | xargs -n 1 bash -c 'cd $1; echo $1; git status' _
- echo
- popd
- echo > /dev/null <<COMMENT
- Entering 'b'
- Entering 'c'
- c
- # Not currently on any branch.
- nothing to commit (working directory clean)
- b
- # On branch master
- nothing to commit (working directory clean)
- Entering 'd'
- d
- # On branch master
- nothing to commit (working directory clean)
- d
- # On branch master
- nothing to commit (working directory clean)
- b/c
- # Not currently on any branch.
- nothing to commit (working directory clean)
- b
- # On branch master
- nothing to commit (working directory clean)
- d
- # On branch master
- nothing to commit (working directory clean)
- b/c
- # Not currently on any branch.
- nothing to commit (working directory clean)
- b
- # On branch master
- nothing to commit (working directory clean)
- COMMENT
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement