-C option with pull doesn't seem to be respected in aliases in git 2.6.4.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I have git project checked out at ~/llvm.  Inside of there, inside of a “tools” directory, I have another project checked out as “lldb”:

~/llvm/tools/lldb

I wrote an alias which would help me update all my projects:

	all = !find . -type d -name .git | sed 's:/.git::' | xargs -I{} -t git -C {} $1 && :

This would allow me to be inside of ~/llvm and type "git all pull" and get all my projects updated.

It seems that at some point this broke.  If try to use this alias under git 2.6.4, it only updates the llvm project.

The interesting thing is that if I pass fetch, instead of pull: "git all fetch", then it seems to work correctly.

Here’s the GIT_TRACE output for “git all pull” when in ~/llvm:

[llvm (master)]$ GIT_TRACE=1 git all pull
17:28:43.938363 git.c:558               trace: exec: 'git-all' 'pull'
17:28:43.938813 run-command.c:335       trace: run_command: 'git-all' 'pull'
17:28:43.940167 run-command.c:335       trace: run_command: 'find . -type d -name .git | sed '\''s:/.git::'\'' | xargs -I{} -t git -C {} $1 && :' 'pull'
17:28:43.940665 run-command.c:195       trace: exec: '/bin/sh' '-c' 'find . -type d -name .git | sed '\''s:/.git::'\'' | xargs -I{} -t git -C {} $1 && : "$@"' 'find . -type d -name .git | sed '\''s:/.git::'\'' | xargs -I{} -t git -C {} $1 && :' 'pull'
git -C . pull
17:28:44.191670 git.c:558               trace: exec: 'git-pull'
17:28:44.192253 run-command.c:335       trace: run_command: 'git-pull'
17:28:44.197094 git.c:348               trace: built-in: git 'rev-parse' '--parseopt' '--stuck-long' '--'
17:28:44.203237 git.c:348               trace: built-in: git 'rev-parse' '--git-dir'
17:28:44.207297 git.c:348               trace: built-in: git 'rev-parse' '--git-path' 'objects'
17:28:44.210819 git.c:348               trace: built-in: git 'rev-parse' '--is-bare-repository'
17:28:44.213666 git.c:348               trace: built-in: git 'rev-parse' '--show-toplevel'
17:28:44.216954 git.c:348               trace: built-in: git 'ls-files' '-u'
17:28:44.227604 git.c:348               trace: built-in: git 'symbolic-ref' '-q' 'HEAD'
17:28:44.233503 git.c:348               trace: built-in: git 'config' 'branch.master.rebase'
17:28:44.244334 git.c:348               trace: built-in: git 'config' 'pull.ff'
17:28:44.247510 git.c:348               trace: built-in: git 'rev-parse' '-q' '--verify' 'HEAD'
17:28:44.250365 git.c:348               trace: built-in: git 'rev-parse' '--verify' 'HEAD'
17:28:44.253328 git.c:348               trace: built-in: git 'update-index' '-q' '--ignore-submodules' '--refresh'
17:28:44.282912 git.c:348               trace: built-in: git 'diff-files' '--quiet' '--ignore-submodules'
17:28:44.317433 git.c:348               trace: built-in: git 'diff-index' '--cached' '--quiet' '--ignore-submodules' 'HEAD' '--'
17:28:44.332900 git.c:348               trace: built-in: git 'rev-parse' '-q' '--git-dir'
17:28:44.366055 git.c:348               trace: built-in: git 'rev-parse' '-q' '--verify' 'HEAD'
17:28:44.369245 git.c:348               trace: built-in: git 'fetch' '--update-head-ok'
17:28:44.380626 run-command.c:335       trace: run_command: 'git-remote-http' 'origin' 'http://llvm.org/git/llvm.git'
17:28:44.575908 run-command.c:335       trace: run_command: 'rev-list' '--objects' '--stdin' '--not' '--all' '--quiet'
17:28:44.583303 run-command.c:335       trace: run_command: 'rev-list' '--objects' '--stdin' '--not' '--all'
17:28:44.583756 exec_cmd.c:178          trace: exec: 'git' 'rev-list' '--objects' '--stdin' '--not' '--all'
17:28:44.585457 git.c:348               trace: built-in: git 'rev-list' '--objects' '--stdin' '--not' '--all'
17:28:44.591116 run-command.c:335       trace: run_command: 'gc' '--auto'
17:28:44.591576 exec_cmd.c:178          trace: exec: 'git' 'gc' '--auto'
17:28:44.593252 git.c:348               trace: built-in: git 'gc' '--auto'
17:28:44.597284 git.c:348               trace: built-in: git 'rev-parse' '-q' '--verify' 'HEAD'
17:28:44.604021 git.c:348               trace: built-in: git 'show-branch' '--merge-base' 'refs/heads/master' 'ce00641ac5f4ca2a073b732a75169037a2d9bef0' 'ce00641ac5f4ca2a073b732a75169037a2d9bef0'
17:28:44.610870 git.c:348               trace: built-in: git 'rev-parse' '--parseopt' '--stuck-long' '--' '--onto' 'ce00641ac5f4ca2a073b732a75169037a2d9bef0' 'ce00641ac5f4ca2a073b732a75169037a2d9bef0'
17:28:44.617283 git.c:348               trace: built-in: git 'rev-parse' '--git-dir'
17:28:44.621510 git.c:348               trace: built-in: git 'rev-parse' '--git-path' 'objects'
17:28:44.626588 git.c:348               trace: built-in: git 'rev-parse' '--is-bare-repository'
17:28:44.629515 git.c:348               trace: built-in: git 'rev-parse' '--show-toplevel'
17:28:44.633673 git.c:348               trace: built-in: git 'config' '--bool' 'rebase.stat'
17:28:44.636888 git.c:348               trace: built-in: git 'config' '--bool' 'rebase.autostash'
17:28:44.640171 git.c:348               trace: built-in: git 'config' '--bool' 'rebase.autosquash'
17:28:44.644466 git.c:348               trace: built-in: git 'rev-parse' '--verify' 'ce00641ac5f4ca2a073b732a75169037a2d9bef0^0'
17:28:44.649511 git.c:348               trace: built-in: git 'rev-parse' '--verify' 'ce00641ac5f4ca2a073b732a75169037a2d9bef0^0'
17:28:44.653787 git.c:348               trace: built-in: git 'symbolic-ref' '-q' 'HEAD'
17:28:44.659338 git.c:348               trace: built-in: git 'rev-parse' '--verify' 'HEAD'
17:28:44.662978 git.c:348               trace: built-in: git 'rev-parse' '--verify' 'HEAD'
17:28:44.666002 git.c:348               trace: built-in: git 'update-index' '-q' '--ignore-submodules' '--refresh'
17:28:44.698982 git.c:348               trace: built-in: git 'diff-files' '--quiet' '--ignore-submodules'
17:28:44.735732 git.c:348               trace: built-in: git 'diff-index' '--cached' '--quiet' '--ignore-submodules' 'HEAD' '--'
17:28:44.752604 git.c:348               trace: built-in: git 'merge-base' 'ce00641ac5f4ca2a073b732a75169037a2d9bef0' 'ce00641ac5f4ca2a073b732a75169037a2d9bef0'
17:28:44.758075 git.c:348               trace: built-in: git 'rev-list' '--parents' 'ce00641ac5f4ca2a073b732a75169037a2d9bef0..ce00641ac5f4ca2a073b732a75169037a2d9bef0'
17:28:44.765516 git.c:558               trace: exec: 'git-sh-i18n--envsubst' '--variables' 'Current branch $branch_name is up to date.'
17:28:44.766008 run-command.c:335       trace: run_command: 'git-sh-i18n--envsubst' '--variables' 'Current branch $branch_name is up to date.'
17:28:44.770269 git.c:558               trace: exec: 'git-sh-i18n--envsubst' 'Current branch $branch_name is up to date.'
17:28:44.770702 run-command.c:335       trace: run_command: 'git-sh-i18n--envsubst' 'Current branch $branch_name is up to date.'
Current branch master is up to date.
17:28:44.775429 git.c:348               trace: built-in: git 'gc' '--auto'
git -C ./tools/lldb pull
17:28:48.377109 git.c:558               trace: exec: 'git-pull'
17:28:48.377647 run-command.c:335       trace: run_command: 'git-pull'
17:28:48.384848 git.c:348               trace: built-in: git 'rev-parse' '--parseopt' '--stuck-long' '--'
17:28:48.391621 git.c:348               trace: built-in: git 'rev-parse' '--git-dir'
17:28:48.396502 git.c:348               trace: built-in: git 'rev-parse' '--git-path' 'objects'
17:28:48.400801 git.c:348               trace: built-in: git 'rev-parse' '--is-bare-repository'
17:28:48.403695 git.c:348               trace: built-in: git 'rev-parse' '--show-toplevel'
17:28:48.407029 git.c:348               trace: built-in: git 'ls-files' '-u'
17:28:48.418794 git.c:348               trace: built-in: git 'symbolic-ref' '-q' 'HEAD'
17:28:48.426330 git.c:348               trace: built-in: git 'config' 'branch.master.rebase'
17:28:48.437204 git.c:348               trace: built-in: git 'config' 'pull.ff'
17:28:48.440558 git.c:348               trace: built-in: git 'rev-parse' '-q' '--verify' 'HEAD'
17:28:48.444038 git.c:348               trace: built-in: git 'rev-parse' '--verify' 'HEAD'
17:28:48.448308 git.c:348               trace: built-in: git 'update-index' '-q' '--ignore-submodules' '--refresh'
17:28:48.484990 git.c:348               trace: built-in: git 'diff-files' '--quiet' '--ignore-submodules'
17:28:48.514798 git.c:348               trace: built-in: git 'diff-index' '--cached' '--quiet' '--ignore-submodules' 'HEAD' '--'
17:28:48.526355 git.c:348               trace: built-in: git 'rev-parse' '-q' '--git-dir'
17:28:48.560625 git.c:348               trace: built-in: git 'rev-parse' '-q' '--verify' 'HEAD'
17:28:48.565375 git.c:348               trace: built-in: git 'fetch' '--update-head-ok'
17:28:48.579800 run-command.c:335       trace: run_command: 'git-remote-http' 'origin' 'http://llvm.org/git/llvm.git'
17:28:48.829976 run-command.c:335       trace: run_command: 'rev-list' '--objects' '--stdin' '--not' '--all' '--quiet'
17:28:48.837240 run-command.c:335       trace: run_command: 'rev-list' '--objects' '--stdin' '--not' '--all'
17:28:48.837793 exec_cmd.c:178          trace: exec: 'git' 'rev-list' '--objects' '--stdin' '--not' '--all'
17:28:48.839494 git.c:348               trace: built-in: git 'rev-list' '--objects' '--stdin' '--not' '--all'
17:28:48.844913 run-command.c:335       trace: run_command: 'gc' '--auto'
17:28:48.845464 exec_cmd.c:178          trace: exec: 'git' 'gc' '--auto'
17:28:48.847145 git.c:348               trace: built-in: git 'gc' '--auto'
17:28:48.851173 git.c:348               trace: built-in: git 'rev-parse' '-q' '--verify' 'HEAD'
17:28:48.857550 git.c:348               trace: built-in: git 'show-branch' '--merge-base' 'refs/heads/master' 'ce00641ac5f4ca2a073b732a75169037a2d9bef0' 'ce00641ac5f4ca2a073b732a75169037a2d9bef0'
17:28:48.864262 git.c:348               trace: built-in: git 'rev-parse' '--parseopt' '--stuck-long' '--' '--onto' 'ce00641ac5f4ca2a073b732a75169037a2d9bef0' 'ce00641ac5f4ca2a073b732a75169037a2d9bef0'
17:28:48.870801 git.c:348               trace: built-in: git 'rev-parse' '--git-dir'
17:28:48.875849 git.c:348               trace: built-in: git 'rev-parse' '--git-path' 'objects'
17:28:48.880555 git.c:348               trace: built-in: git 'rev-parse' '--is-bare-repository'
17:28:48.883537 git.c:348               trace: built-in: git 'rev-parse' '--show-toplevel'
17:28:48.887435 git.c:348               trace: built-in: git 'config' '--bool' 'rebase.stat'
17:28:48.890846 git.c:348               trace: built-in: git 'config' '--bool' 'rebase.autostash'
17:28:48.894187 git.c:348               trace: built-in: git 'config' '--bool' 'rebase.autosquash'
17:28:48.899616 git.c:348               trace: built-in: git 'rev-parse' '--verify' 'ce00641ac5f4ca2a073b732a75169037a2d9bef0^0'
17:28:48.905231 git.c:348               trace: built-in: git 'rev-parse' '--verify' 'ce00641ac5f4ca2a073b732a75169037a2d9bef0^0'
17:28:48.909854 git.c:348               trace: built-in: git 'symbolic-ref' '-q' 'HEAD'
17:28:48.914188 git.c:348               trace: built-in: git 'rev-parse' '--verify' 'HEAD'
17:28:48.918339 git.c:348               trace: built-in: git 'rev-parse' '--verify' 'HEAD'
17:28:48.923372 git.c:348               trace: built-in: git 'update-index' '-q' '--ignore-submodules' '--refresh'
17:28:48.957439 git.c:348               trace: built-in: git 'diff-files' '--quiet' '--ignore-submodules'
17:28:48.988790 git.c:348               trace: built-in: git 'diff-index' '--cached' '--quiet' '--ignore-submodules' 'HEAD' '--'
17:28:49.000859 git.c:348               trace: built-in: git 'merge-base' 'ce00641ac5f4ca2a073b732a75169037a2d9bef0' 'ce00641ac5f4ca2a073b732a75169037a2d9bef0'
17:28:49.005472 git.c:348               trace: built-in: git 'rev-list' '--parents' 'ce00641ac5f4ca2a073b732a75169037a2d9bef0..ce00641ac5f4ca2a073b732a75169037a2d9bef0'
17:28:49.011492 git.c:558               trace: exec: 'git-sh-i18n--envsubst' '--variables' 'Current branch $branch_name is up to date.'
17:28:49.011931 run-command.c:335       trace: run_command: 'git-sh-i18n--envsubst' '--variables' 'Current branch $branch_name is up to date.'
17:28:49.016616 git.c:558               trace: exec: 'git-sh-i18n--envsubst' 'Current branch $branch_name is up to date.'
17:28:49.017127 run-command.c:335       trace: run_command: 'git-sh-i18n--envsubst' 'Current branch $branch_name is up to date.'
Current branch master is up to date.
17:28:49.023390 git.c:348               trace: built-in: git 'gc' '—auto'

As you can see, the URL for “git-remote-http” in both cases is the same.

Here’s the same output when I don’t use my alias, and just explicitly type “git -C ./tools/lldb pull”:

[llvm (master)]$ GIT_TRACE=1 git -C ./tools/lldb pull
17:33:32.719929 git.c:348               trace: built-in: git 'pull'
17:33:32.736277 run-command.c:343       trace: run_command: 'merge-base' '--fork-point' 'refs/remotes/origin/master' 'master'
17:33:32.746115 run-command.c:343       trace: run_command: 'fetch' '--update-head-ok'
17:33:32.746678 exec_cmd.c:128          trace: exec: 'git' 'fetch' '--update-head-ok'
17:33:32.749630 git.c:348               trace: built-in: git 'fetch' '--update-head-ok'
17:33:32.755626 run-command.c:343       trace: run_command: 'git-remote-http' 'origin' 'http://llvm.org/git/lldb.git'
17:33:32.907411 run-command.c:343       trace: run_command: 'rev-list' '--objects' '--stdin' '--not' '--all' '--quiet'
17:33:32.914960 run-command.c:343       trace: run_command: 'rev-list' '--objects' '--stdin' '--not' '--all'
17:33:32.915633 exec_cmd.c:128          trace: exec: 'git' 'rev-list' '--objects' '--stdin' '--not' '--all'
17:33:32.917963 git.c:348               trace: built-in: git 'rev-list' '--objects' '--stdin' '--not' '--all'
17:33:32.921940 run-command.c:343       trace: run_command: 'gc' '--auto'
17:33:32.922467 exec_cmd.c:128          trace: exec: 'git' 'gc' '--auto'
17:33:32.925462 git.c:348               trace: built-in: git 'gc' '--auto'
17:33:32.927842 run-command.c:343       trace: run_command: 'rebase' '--onto' '8c27fea58aad24c89280b97997e11b8bfdda919c' '8c27fea58aad24c89280b97997e11b8bfdda919c'
17:33:32.928329 exec_cmd.c:128          trace: exec: 'git' 'rebase' '--onto' '8c27fea58aad24c89280b97997e11b8bfdda919c' '8c27fea58aad24c89280b97997e11b8bfdda919c'
17:33:32.930466 git.c:560               trace: exec: 'git-rebase' '--onto' '8c27fea58aad24c89280b97997e11b8bfdda919c' '8c27fea58aad24c89280b97997e11b8bfdda919c'
17:33:32.930901 run-command.c:343       trace: run_command: 'git-rebase' '--onto' '8c27fea58aad24c89280b97997e11b8bfdda919c' '8c27fea58aad24c89280b97997e11b8bfdda919c'
17:33:32.937571 git.c:348               trace: built-in: git 'rev-parse' '--parseopt' '--stuck-long' '--' '--onto' '8c27fea58aad24c89280b97997e11b8bfdda919c' '8c27fea58aad24c89280b97997e11b8bfdda919c'
17:33:32.944701 git.c:348               trace: built-in: git 'rev-parse' '--git-dir'
17:33:32.949832 git.c:348               trace: built-in: git 'rev-parse' '--git-path' 'objects'
17:33:32.954805 git.c:348               trace: built-in: git 'rev-parse' '--is-bare-repository'
17:33:32.959788 git.c:348               trace: built-in: git 'rev-parse' '--show-toplevel'
17:33:32.964319 git.c:348               trace: built-in: git 'config' '--bool' 'rebase.stat'
17:33:32.968482 git.c:348               trace: built-in: git 'config' '--bool' 'rebase.autostash'
17:33:32.972293 git.c:348               trace: built-in: git 'config' '--bool' 'rebase.autosquash'
17:33:32.977557 git.c:348               trace: built-in: git 'rev-parse' '--verify' '8c27fea58aad24c89280b97997e11b8bfdda919c^0'
17:33:32.983348 git.c:348               trace: built-in: git 'rev-parse' '--verify' '8c27fea58aad24c89280b97997e11b8bfdda919c^0'
17:33:32.990145 git.c:348               trace: built-in: git 'symbolic-ref' '-q' 'HEAD'
17:33:32.995278 git.c:348               trace: built-in: git 'rev-parse' '--verify' 'HEAD'
17:33:32.999987 git.c:348               trace: built-in: git 'rev-parse' '--verify' 'HEAD'
17:33:33.004018 git.c:348               trace: built-in: git 'update-index' '-q' '--ignore-submodules' '--refresh'
17:33:33.016616 git.c:348               trace: built-in: git 'diff-files' '--quiet' '--ignore-submodules'
17:33:33.029256 git.c:348               trace: built-in: git 'diff-index' '--cached' '--quiet' '--ignore-submodules' 'HEAD' '--'
17:33:33.036863 git.c:348               trace: built-in: git 'merge-base' '8c27fea58aad24c89280b97997e11b8bfdda919c' '8c27fea58aad24c89280b97997e11b8bfdda919c'
17:33:33.043280 git.c:348               trace: built-in: git 'rev-list' '--parents' '8c27fea58aad24c89280b97997e11b8bfdda919c..8c27fea58aad24c89280b97997e11b8bfdda919c'
17:33:33.050406 git.c:560               trace: exec: 'git-sh-i18n--envsubst' '--variables' 'Current branch $branch_name is up to date.'
17:33:33.050965 run-command.c:343       trace: run_command: 'git-sh-i18n--envsubst' '--variables' 'Current branch $branch_name is up to date.'
17:33:33.058976 git.c:560               trace: exec: 'git-sh-i18n--envsubst' 'Current branch $branch_name is up to date.'
17:33:33.059502 run-command.c:343       trace: run_command: 'git-sh-i18n--envsubst' 'Current branch $branch_name is up to date.'
Current branch master is up to date.
17:33:33.066886 git.c:348               trace: built-in: git 'gc' '--auto'

Cameron Esfahani
dirty@xxxxxxxxx

"Americans are very skilled at creating a custom meaning from something that's mass-produced."

Ann Powers


--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]