{"thread":{"id":"37373","subject":"[BUG] Hang when I did something a bit weird with submodules","startedAt":"2014-08-19T04:33:22Z","lastAt":"2014-09-03T02:26:21Z","messageCount":3,"participants":["Chris Packham"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"247887","messageId":"CAFOYHZAHWu5Vd5-J7mmEXMmMKMwT_ahbR=wS7kif5wOzzUkc3g@mail.gmail.com","threadId":"37373","inReplyTo":null,"subject":"[BUG] Hang when I did something a bit weird with submodules","fromName":"Chris Packham","fromEmail":"judge.packham@gmail.com","sentAt":"2014-08-19T04:33:22Z","receivedAt":"2014-08-19T04:33:22Z","isPatch":false,"sender":{"key":"judge.packham@gmail.com","avatar":"https://avatars.githubusercontent.com/u/155667?v=4"},"body":"Hi,\n\nI was just setting up a new project using submodules and have run into\nwhat appears to be a hang when git status is invoked. I haven't tried\nto reproduce this but this is basically what I did (edited highlights\nfrom my bash_history).\n\n $ git --version\n git version 2.0.3\n $ mkdir proj\n $ cd proj\n $ git init\n $ git submodule add <internal-repo-with-build-scripts> build\n $ git submodule add --reference ~/src/linux/.git\ngit://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git linux\n # I'm not sure if the --reference is relevant but I was just wanting\nto cut down on my network transfer\n $ git submodule add <internal-repo-with-skeleton-fs> rootfs\n\nOops I really wanted linux-stable to get the same version my board\nvendor is using\n\n $ vim .gitmodules\n # change to linux-stable\n $ git submodule sync\n\nI'm not sure if this is a valid use-case but nothing complained that I\nwas changing the URL. In theory linux-stable should be a super-set of\nlinus' tree so the repositories are basically equivalent.\n\n $ cd linux/\n $ git remote show origin\n * remote origin\n   Fetch URL: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git\n # Seems to have done the trick\n $ git reset --hard v3.4.69\n\nI suspect this is where the problem starts. When I did the git\nsubmodule add it was pointing at the tip of linus' tree. Now I have\nrewound considerably.\n\n $ git status\n [hang]\n\nFor what it's worth here's the output when I run with GIT_TRACE=1 git status\n\ntrace: built-in: git 'status'\ntrace: run_command: 'status' '--porcelain'\ntrace: exec: 'git' 'status' '--porcelain'\ntrace: built-in: git 'status' '--porcelain'\ntrace: run_command: 'status' '--porcelain'\ntrace: exec: 'git' 'status' '--porcelain'\ntrace: built-in: git 'status' '--porcelain'\ntrace: run_command: 'status' '--porcelain'\ntrace: exec: 'git' 'status' '--porcelain'\ntrace: built-in: git 'status' '--porcelain'\nOn branch master\n\nInitial commit\n\nChanges to be committed:\n  (use \"git rm --cached <file>...\" to unstage)\n\n        new file:   .gitmodules\n        new file:   rootfs\n        new file:   build\n        new file:   linux\n\nChanges not staged for commit:\n  (use \"git add <file>...\" to update what will be committed)\n  (use \"git checkout -- <file>...\" to discard changes in working directory)\n\n        modified:   .gitmodules\n        modified:   linux (new commits)\n\ntrace: run_command: 'submodule' 'summary' '--cached' '--for-status'\n'--summary-limit' '-1' 'HEAD'\ntrace: exec: 'git' 'submodule' 'summary' '--cached' '--for-status'\n'--summary-limit' '-1' 'HEAD'\ntrace: exec: 'git-submodule' 'summary' '--cached' '--for-status'\n'--summary-limit' '-1' 'HEAD'\ntrace: run_command: 'git-submodule' 'summary' '--cached'\n'--for-status' '--summary-limit' '-1' 'HEAD'\ntrace: built-in: git 'rev-parse' '--git-dir'\ntrace: built-in: git 'rev-parse' '-q' '--git-dir'\ntrace: built-in: git 'rev-parse' '--show-prefix'\ntrace: built-in: git 'rev-parse' '--show-toplevel'\ntrace: built-in: git 'rev-parse' '-q' '--verify' '--default' 'HEAD' 'HEAD'\ntrace: built-in: git 'hash-object' '-w' '-t' 'tree' '--stdin'\ntrace: built-in: git 'rev-parse' '--show-toplevel'\ntrace: built-in: git 'rev-parse' '--sq' '--prefix' '' '--'\ntrace: built-in: git 'diff-index' '--cached'\n'--ignore-submodules=dirty' '--raw'\n'4b825dc642cb6eb9a060e54bf8d69288fbee4904' '--'\ntrace: built-in: git 'config' '-f' '.gitmodules' '--get-regexp'\n'^submodule\\..*\\.path$'\ntrace: built-in: git 'config' 'submodule.rootfs.ignore'\ntrace: built-in: git 'config' '-f' '.gitmodules' 'submodule.rootfs.ignore'\ntrace: built-in: git 'config' '-f' '.gitmodules' '--get-regexp'\n'^submodule\\..*\\.path$'\ntrace: built-in: git 'config' 'submodule.build.ignore'\ntrace: built-in: git 'config' '-f' '.gitmodules' 'submodule.build.ignore'\ntrace: built-in: git 'config' '-f' '.gitmodules' '--get-regexp'\n'^submodule\\..*\\.path$'\ntrace: built-in: git 'config' 'submodule.linux.ignore'\ntrace: built-in: git 'config' '-f' '.gitmodules' 'submodule.linux.ignore'\ntrace: built-in: git 'diff-index' '--cached'\n'--ignore-submodules=dirty' '--raw'\n'4b825dc642cb6eb9a060e54bf8d69288fbee4904' '--' 'rootfs' 'build'\n'linux'\ntrace: built-in: git 'rev-parse' '-q' '--verify'\n'e4bbdf3b45828a2e9ca37ef329b8e708e324dfb1^0'\ntrace: built-in: git 'rev-list' '--first-parent'\n'e4bbdf3b45828a2e9ca37ef329b8e708e324dfb1' '--'\ntrace: built-in: git 'log' '--pretty=format:  > %s' '-1'\n'e4bbdf3b45828a2e9ca37ef329b8e708e324dfb1'\ntrace: built-in: git 'rev-parse' '-q' '--verify'\n'9f2d1659df78ea51eaa9ad5e7af9271996ac2a4c^0'\ntrace: built-in: git 'rev-list' '--first-parent'\n'9f2d1659df78ea51eaa9ad5e7af9271996ac2a4c' '--'\ntrace: built-in: git 'log' '--pretty=format:  > %s' '-1'\n'9f2d1659df78ea51eaa9ad5e7af9271996ac2a4c'\ntrace: built-in: git 'rev-parse' '-q' '--verify'\n'7d1311b93e58ed55f3a31cc8f94c4b8fe988a2b9^0'\ntrace: built-in: git 'rev-list' '--first-parent'\n'7d1311b93e58ed55f3a31cc8f94c4b8fe988a2b9' '--'\ntrace: built-in: git 'log' '--pretty=format:  > %s' '-1'\n'7d1311b93e58ed55f3a31cc8f94c4b8fe988a2b9'\nSubmodule changes to be committed:\n\n* rootfs 0000000...e4bbdf3 (249):\n  > Merge remote-tracking branch 'tomahawk/delivery_545_icmp'\n\n* build 0000000...9f2d165 (771):\n  > Merge remote-tracking branch 'plusplus/3rdparty'\n\n* linux 0000000...7d1311b (46122):\n  > Linux 3.17-rc1\n\ntrace: run_command: 'submodule' 'summary' '--files' '--for-status'\n'--summary-limit' '-1'\ntrace: exec: 'git' 'submodule' 'summary' '--files' '--for-status'\n'--summary-limit' '-1'\ntrace: exec: 'git-submodule' 'summary' '--files' '--for-status'\n'--summary-limit' '-1'\ntrace: run_command: 'git-submodule' 'summary' '--files' '--for-status'\n'--summary-limit' '-1'\ntrace: built-in: git 'rev-parse' '--git-dir'\ntrace: built-in: git 'rev-parse' '-q' '--git-dir'\ntrace: built-in: git 'rev-parse' '--show-prefix'\ntrace: built-in: git 'rev-parse' '--show-toplevel'\ntrace: built-in: git 'rev-parse' '-q' '--verify' '--default' 'HEAD'\ntrace: built-in: git 'hash-object' '-w' '-t' 'tree' '--stdin'\ntrace: built-in: git 'rev-parse' '--show-toplevel'\ntrace: built-in: git 'rev-parse' '--sq' '--prefix' '' '--'\ntrace: built-in: git 'diff-files' '--ignore-submodules=dirty' '--raw' '--'\ntrace: built-in: git 'config' '-f' '.gitmodules' '--get-regexp'\n'^submodule\\..*\\.path$'\ntrace: built-in: git 'config' 'submodule.linux.ignore'\ntrace: built-in: git 'config' '-f' '.gitmodules' 'submodule.linux.ignore'\ntrace: built-in: git 'diff-files' '--ignore-submodules=dirty' '--raw'\n'--' 'linux'\ntrace: built-in: git 'rev-parse' 'HEAD'\ntrace: built-in: git 'rev-parse' '-q' '--verify'\n'7d1311b93e58ed55f3a31cc8f94c4b8fe988a2b9^0'\ntrace: built-in: git 'rev-parse' '-q' '--verify'\n'14aa272fcd1cdbe7173073250c767bc7a37278ce^0'\ntrace: built-in: git 'rev-list' '--first-parent'\n'7d1311b93e58ed55f3a31cc8f94c4b8fe988a2b9...14aa272fcd1cdbe7173073250c767bc7a37278ce'\n'--'\ntrace: built-in: git 'log' '--pretty=format:  %m %s' '--first-parent'\n'7d1311b93e58ed55f3a31cc8f94c4b8fe988a2b9...14aa272fcd1cdbe7173073250c767bc7a37278ce'\n^C\n"},{"id":"247888","messageId":"CAFOYHZCX5XDQLLP+YfLnFyELip1Df0uFTHkbmujV3W5NHO-XHw@mail.gmail.com","threadId":"37373","inReplyTo":"CAFOYHZAHWu5Vd5-J7mmEXMmMKMwT_ahbR=wS7kif5wOzzUkc3g@mail.gmail.com","subject":"Re: [BUG] Hang when I did something a bit weird with submodules","fromName":"Chris Packham","fromEmail":"judge.packham@gmail.com","sentAt":"2014-08-19T04:35:13Z","receivedAt":"2014-08-19T04:35:13Z","isPatch":false,"sender":{"key":"judge.packham@gmail.com","avatar":"https://avatars.githubusercontent.com/u/155667?v=4"},"body":"On Tue, Aug 19, 2014 at 4:33 PM, Chris Packham <judge.packham@gmail.com> wrote:\n> Hi,\n>\n> I was just setting up a new project using submodules and have run into\n> what appears to be a hang when git status is invoked. I haven't tried\n> to reproduce this but this is basically what I did (edited highlights\n> from my bash_history).\n>\n>  $ git --version\n>  git version 2.0.3\n>  $ mkdir proj\n>  $ cd proj\n>  $ git init\n>  $ git submodule add <internal-repo-with-build-scripts> build\n>  $ git submodule add --reference ~/src/linux/.git\n> git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git linux\n>  # I'm not sure if the --reference is relevant but I was just wanting\n> to cut down on my network transfer\n>  $ git submodule add <internal-repo-with-skeleton-fs> rootfs\n>\n> Oops I really wanted linux-stable to get the same version my board\n> vendor is using\n>\n>  $ vim .gitmodules\n>  # change to linux-stable\n>  $ git submodule sync\n>\n> I'm not sure if this is a valid use-case but nothing complained that I\n> was changing the URL. In theory linux-stable should be a super-set of\n> linus' tree so the repositories are basically equivalent.\n>\n>  $ cd linux/\n>  $ git remote show origin\n>  * remote origin\n>    Fetch URL: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git\n>  # Seems to have done the trick\n>  $ git reset --hard v3.4.69\n>\n> I suspect this is where the problem starts. When I did the git\n> submodule add it was pointing at the tip of linus' tree. Now I have\n> rewound considerably.\n>\n>  $ git status\n>  [hang]\n>\n> For what it's worth here's the output when I run with GIT_TRACE=1 git status\n>\n> trace: built-in: git 'status'\n> trace: run_command: 'status' '--porcelain'\n> trace: exec: 'git' 'status' '--porcelain'\n> trace: built-in: git 'status' '--porcelain'\n> trace: run_command: 'status' '--porcelain'\n> trace: exec: 'git' 'status' '--porcelain'\n> trace: built-in: git 'status' '--porcelain'\n> trace: run_command: 'status' '--porcelain'\n> trace: exec: 'git' 'status' '--porcelain'\n> trace: built-in: git 'status' '--porcelain'\n> On branch master\n>\n> Initial commit\n>\n> Changes to be committed:\n>   (use \"git rm --cached <file>...\" to unstage)\n>\n>         new file:   .gitmodules\n>         new file:   rootfs\n>         new file:   build\n>         new file:   linux\n>\n> Changes not staged for commit:\n>   (use \"git add <file>...\" to update what will be committed)\n>   (use \"git checkout -- <file>...\" to discard changes in working directory)\n>\n>         modified:   .gitmodules\n>         modified:   linux (new commits)\n>\n> trace: run_command: 'submodule' 'summary' '--cached' '--for-status'\n> '--summary-limit' '-1' 'HEAD'\n> trace: exec: 'git' 'submodule' 'summary' '--cached' '--for-status'\n> '--summary-limit' '-1' 'HEAD'\n> trace: exec: 'git-submodule' 'summary' '--cached' '--for-status'\n> '--summary-limit' '-1' 'HEAD'\n> trace: run_command: 'git-submodule' 'summary' '--cached'\n> '--for-status' '--summary-limit' '-1' 'HEAD'\n> trace: built-in: git 'rev-parse' '--git-dir'\n> trace: built-in: git 'rev-parse' '-q' '--git-dir'\n> trace: built-in: git 'rev-parse' '--show-prefix'\n> trace: built-in: git 'rev-parse' '--show-toplevel'\n> trace: built-in: git 'rev-parse' '-q' '--verify' '--default' 'HEAD' 'HEAD'\n> trace: built-in: git 'hash-object' '-w' '-t' 'tree' '--stdin'\n> trace: built-in: git 'rev-parse' '--show-toplevel'\n> trace: built-in: git 'rev-parse' '--sq' '--prefix' '' '--'\n> trace: built-in: git 'diff-index' '--cached'\n> '--ignore-submodules=dirty' '--raw'\n> '4b825dc642cb6eb9a060e54bf8d69288fbee4904' '--'\n> trace: built-in: git 'config' '-f' '.gitmodules' '--get-regexp'\n> '^submodule\\..*\\.path$'\n> trace: built-in: git 'config' 'submodule.rootfs.ignore'\n> trace: built-in: git 'config' '-f' '.gitmodules' 'submodule.rootfs.ignore'\n> trace: built-in: git 'config' '-f' '.gitmodules' '--get-regexp'\n> '^submodule\\..*\\.path$'\n> trace: built-in: git 'config' 'submodule.build.ignore'\n> trace: built-in: git 'config' '-f' '.gitmodules' 'submodule.build.ignore'\n> trace: built-in: git 'config' '-f' '.gitmodules' '--get-regexp'\n> '^submodule\\..*\\.path$'\n> trace: built-in: git 'config' 'submodule.linux.ignore'\n> trace: built-in: git 'config' '-f' '.gitmodules' 'submodule.linux.ignore'\n> trace: built-in: git 'diff-index' '--cached'\n> '--ignore-submodules=dirty' '--raw'\n> '4b825dc642cb6eb9a060e54bf8d69288fbee4904' '--' 'rootfs' 'build'\n> 'linux'\n> trace: built-in: git 'rev-parse' '-q' '--verify'\n> 'e4bbdf3b45828a2e9ca37ef329b8e708e324dfb1^0'\n> trace: built-in: git 'rev-list' '--first-parent'\n> 'e4bbdf3b45828a2e9ca37ef329b8e708e324dfb1' '--'\n> trace: built-in: git 'log' '--pretty=format:  > %s' '-1'\n> 'e4bbdf3b45828a2e9ca37ef329b8e708e324dfb1'\n> trace: built-in: git 'rev-parse' '-q' '--verify'\n> '9f2d1659df78ea51eaa9ad5e7af9271996ac2a4c^0'\n> trace: built-in: git 'rev-list' '--first-parent'\n> '9f2d1659df78ea51eaa9ad5e7af9271996ac2a4c' '--'\n> trace: built-in: git 'log' '--pretty=format:  > %s' '-1'\n> '9f2d1659df78ea51eaa9ad5e7af9271996ac2a4c'\n> trace: built-in: git 'rev-parse' '-q' '--verify'\n> '7d1311b93e58ed55f3a31cc8f94c4b8fe988a2b9^0'\n> trace: built-in: git 'rev-list' '--first-parent'\n> '7d1311b93e58ed55f3a31cc8f94c4b8fe988a2b9' '--'\n> trace: built-in: git 'log' '--pretty=format:  > %s' '-1'\n> '7d1311b93e58ed55f3a31cc8f94c4b8fe988a2b9'\n> Submodule changes to be committed:\n>\n> * rootfs 0000000...e4bbdf3 (249):\n>   > Merge remote-tracking branch 'tomahawk/delivery_545_icmp'\n>\n> * build 0000000...9f2d165 (771):\n>   > Merge remote-tracking branch 'plusplus/3rdparty'\n>\n> * linux 0000000...7d1311b (46122):\n>   > Linux 3.17-rc1\n>\n> trace: run_command: 'submodule' 'summary' '--files' '--for-status'\n> '--summary-limit' '-1'\n> trace: exec: 'git' 'submodule' 'summary' '--files' '--for-status'\n> '--summary-limit' '-1'\n> trace: exec: 'git-submodule' 'summary' '--files' '--for-status'\n> '--summary-limit' '-1'\n> trace: run_command: 'git-submodule' 'summary' '--files' '--for-status'\n> '--summary-limit' '-1'\n> trace: built-in: git 'rev-parse' '--git-dir'\n> trace: built-in: git 'rev-parse' '-q' '--git-dir'\n> trace: built-in: git 'rev-parse' '--show-prefix'\n> trace: built-in: git 'rev-parse' '--show-toplevel'\n> trace: built-in: git 'rev-parse' '-q' '--verify' '--default' 'HEAD'\n> trace: built-in: git 'hash-object' '-w' '-t' 'tree' '--stdin'\n> trace: built-in: git 'rev-parse' '--show-toplevel'\n> trace: built-in: git 'rev-parse' '--sq' '--prefix' '' '--'\n> trace: built-in: git 'diff-files' '--ignore-submodules=dirty' '--raw' '--'\n> trace: built-in: git 'config' '-f' '.gitmodules' '--get-regexp'\n> '^submodule\\..*\\.path$'\n> trace: built-in: git 'config' 'submodule.linux.ignore'\n> trace: built-in: git 'config' '-f' '.gitmodules' 'submodule.linux.ignore'\n> trace: built-in: git 'diff-files' '--ignore-submodules=dirty' '--raw'\n> '--' 'linux'\n> trace: built-in: git 'rev-parse' 'HEAD'\n> trace: built-in: git 'rev-parse' '-q' '--verify'\n> '7d1311b93e58ed55f3a31cc8f94c4b8fe988a2b9^0'\n> trace: built-in: git 'rev-parse' '-q' '--verify'\n> '14aa272fcd1cdbe7173073250c767bc7a37278ce^0'\n> trace: built-in: git 'rev-list' '--first-parent'\n> '7d1311b93e58ed55f3a31cc8f94c4b8fe988a2b9...14aa272fcd1cdbe7173073250c767bc7a37278ce'\n> '--'\n> trace: built-in: git 'log' '--pretty=format:  %m %s' '--first-parent'\n> '7d1311b93e58ed55f3a31cc8f94c4b8fe988a2b9...14aa272fcd1cdbe7173073250c767bc7a37278ce'\n> ^C\n\nUpdate: I've managed to restore normal operation with 'git add -u' in\nthe super project. Which gets me back to a working state.\n"},{"id":"248767","messageId":"CAFOYHZAAc1ajsqNa8QXwJ=6naB4q9kD86u1dzD420p3sijvtYQ@mail.gmail.com","threadId":"37373","inReplyTo":"CAFOYHZCX5XDQLLP+YfLnFyELip1Df0uFTHkbmujV3W5NHO-XHw@mail.gmail.com","subject":"Re: [BUG] Hang when I did something a bit weird with submodules","fromName":"Chris Packham","fromEmail":"judge.packham@gmail.com","sentAt":"2014-09-03T02:26:21Z","receivedAt":"2014-09-03T02:26:21Z","isPatch":false,"sender":{"key":"judge.packham@gmail.com","avatar":"https://avatars.githubusercontent.com/u/155667?v=4"},"body":"On Tue, Aug 19, 2014 at 4:35 PM, Chris Packham <judge.packham@gmail.com> wrote:\n> On Tue, Aug 19, 2014 at 4:33 PM, Chris Packham <judge.packham@gmail.com> wrote:\n>> Hi,\n>>\n>> I was just setting up a new project using submodules and have run into\n>> what appears to be a hang when git status is invoked. I haven't tried\n>> to reproduce this but this is basically what I did (edited highlights\n>> from my bash_history).\n>>\n>>  $ git --version\n>>  git version 2.0.3\n>>  $ mkdir proj\n>>  $ cd proj\n>>  $ git init\n>>  $ git submodule add <internal-repo-with-build-scripts> build\n>>  $ git submodule add --reference ~/src/linux/.git\n>> git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git linux\n>>  # I'm not sure if the --reference is relevant but I was just wanting\n>> to cut down on my network transfer\n>>  $ git submodule add <internal-repo-with-skeleton-fs> rootfs\n>>\n>> Oops I really wanted linux-stable to get the same version my board\n>> vendor is using\n>>\n>>  $ vim .gitmodules\n>>  # change to linux-stable\n>>  $ git submodule sync\n>>\n>> I'm not sure if this is a valid use-case but nothing complained that I\n>> was changing the URL. In theory linux-stable should be a super-set of\n>> linus' tree so the repositories are basically equivalent.\n>>\n>>  $ cd linux/\n>>  $ git remote show origin\n>>  * remote origin\n>>    Fetch URL: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git\n>>  # Seems to have done the trick\n>>  $ git reset --hard v3.4.69\n>>\n>> I suspect this is where the problem starts. When I did the git\n>> submodule add it was pointing at the tip of linus' tree. Now I have\n>> rewound considerably.\n>>\n>>  $ git status\n>>  [hang]\n>>\n>> For what it's worth here's the output when I run with GIT_TRACE=1 git status\n>>\n>> trace: built-in: git 'status'\n>> trace: run_command: 'status' '--porcelain'\n>> trace: exec: 'git' 'status' '--porcelain'\n>> trace: built-in: git 'status' '--porcelain'\n>> trace: run_command: 'status' '--porcelain'\n>> trace: exec: 'git' 'status' '--porcelain'\n>> trace: built-in: git 'status' '--porcelain'\n>> trace: run_command: 'status' '--porcelain'\n>> trace: exec: 'git' 'status' '--porcelain'\n>> trace: built-in: git 'status' '--porcelain'\n>> On branch master\n>>\n>> Initial commit\n>>\n>> Changes to be committed:\n>>   (use \"git rm --cached <file>...\" to unstage)\n>>\n>>         new file:   .gitmodules\n>>         new file:   rootfs\n>>         new file:   build\n>>         new file:   linux\n>>\n>> Changes not staged for commit:\n>>   (use \"git add <file>...\" to update what will be committed)\n>>   (use \"git checkout -- <file>...\" to discard changes in working directory)\n>>\n>>         modified:   .gitmodules\n>>         modified:   linux (new commits)\n>>\n>> trace: run_command: 'submodule' 'summary' '--cached' '--for-status'\n>> '--summary-limit' '-1' 'HEAD'\n>> trace: exec: 'git' 'submodule' 'summary' '--cached' '--for-status'\n>> '--summary-limit' '-1' 'HEAD'\n>> trace: exec: 'git-submodule' 'summary' '--cached' '--for-status'\n>> '--summary-limit' '-1' 'HEAD'\n>> trace: run_command: 'git-submodule' 'summary' '--cached'\n>> '--for-status' '--summary-limit' '-1' 'HEAD'\n>> trace: built-in: git 'rev-parse' '--git-dir'\n>> trace: built-in: git 'rev-parse' '-q' '--git-dir'\n>> trace: built-in: git 'rev-parse' '--show-prefix'\n>> trace: built-in: git 'rev-parse' '--show-toplevel'\n>> trace: built-in: git 'rev-parse' '-q' '--verify' '--default' 'HEAD' 'HEAD'\n>> trace: built-in: git 'hash-object' '-w' '-t' 'tree' '--stdin'\n>> trace: built-in: git 'rev-parse' '--show-toplevel'\n>> trace: built-in: git 'rev-parse' '--sq' '--prefix' '' '--'\n>> trace: built-in: git 'diff-index' '--cached'\n>> '--ignore-submodules=dirty' '--raw'\n>> '4b825dc642cb6eb9a060e54bf8d69288fbee4904' '--'\n>> trace: built-in: git 'config' '-f' '.gitmodules' '--get-regexp'\n>> '^submodule\\..*\\.path$'\n>> trace: built-in: git 'config' 'submodule.rootfs.ignore'\n>> trace: built-in: git 'config' '-f' '.gitmodules' 'submodule.rootfs.ignore'\n>> trace: built-in: git 'config' '-f' '.gitmodules' '--get-regexp'\n>> '^submodule\\..*\\.path$'\n>> trace: built-in: git 'config' 'submodule.build.ignore'\n>> trace: built-in: git 'config' '-f' '.gitmodules' 'submodule.build.ignore'\n>> trace: built-in: git 'config' '-f' '.gitmodules' '--get-regexp'\n>> '^submodule\\..*\\.path$'\n>> trace: built-in: git 'config' 'submodule.linux.ignore'\n>> trace: built-in: git 'config' '-f' '.gitmodules' 'submodule.linux.ignore'\n>> trace: built-in: git 'diff-index' '--cached'\n>> '--ignore-submodules=dirty' '--raw'\n>> '4b825dc642cb6eb9a060e54bf8d69288fbee4904' '--' 'rootfs' 'build'\n>> 'linux'\n>> trace: built-in: git 'rev-parse' '-q' '--verify'\n>> 'e4bbdf3b45828a2e9ca37ef329b8e708e324dfb1^0'\n>> trace: built-in: git 'rev-list' '--first-parent'\n>> 'e4bbdf3b45828a2e9ca37ef329b8e708e324dfb1' '--'\n>> trace: built-in: git 'log' '--pretty=format:  > %s' '-1'\n>> 'e4bbdf3b45828a2e9ca37ef329b8e708e324dfb1'\n>> trace: built-in: git 'rev-parse' '-q' '--verify'\n>> '9f2d1659df78ea51eaa9ad5e7af9271996ac2a4c^0'\n>> trace: built-in: git 'rev-list' '--first-parent'\n>> '9f2d1659df78ea51eaa9ad5e7af9271996ac2a4c' '--'\n>> trace: built-in: git 'log' '--pretty=format:  > %s' '-1'\n>> '9f2d1659df78ea51eaa9ad5e7af9271996ac2a4c'\n>> trace: built-in: git 'rev-parse' '-q' '--verify'\n>> '7d1311b93e58ed55f3a31cc8f94c4b8fe988a2b9^0'\n>> trace: built-in: git 'rev-list' '--first-parent'\n>> '7d1311b93e58ed55f3a31cc8f94c4b8fe988a2b9' '--'\n>> trace: built-in: git 'log' '--pretty=format:  > %s' '-1'\n>> '7d1311b93e58ed55f3a31cc8f94c4b8fe988a2b9'\n>> Submodule changes to be committed:\n>>\n>> * rootfs 0000000...e4bbdf3 (249):\n>>   > Merge remote-tracking branch 'tomahawk/delivery_545_icmp'\n>>\n>> * build 0000000...9f2d165 (771):\n>>   > Merge remote-tracking branch 'plusplus/3rdparty'\n>>\n>> * linux 0000000...7d1311b (46122):\n>>   > Linux 3.17-rc1\n>>\n>> trace: run_command: 'submodule' 'summary' '--files' '--for-status'\n>> '--summary-limit' '-1'\n>> trace: exec: 'git' 'submodule' 'summary' '--files' '--for-status'\n>> '--summary-limit' '-1'\n>> trace: exec: 'git-submodule' 'summary' '--files' '--for-status'\n>> '--summary-limit' '-1'\n>> trace: run_command: 'git-submodule' 'summary' '--files' '--for-status'\n>> '--summary-limit' '-1'\n>> trace: built-in: git 'rev-parse' '--git-dir'\n>> trace: built-in: git 'rev-parse' '-q' '--git-dir'\n>> trace: built-in: git 'rev-parse' '--show-prefix'\n>> trace: built-in: git 'rev-parse' '--show-toplevel'\n>> trace: built-in: git 'rev-parse' '-q' '--verify' '--default' 'HEAD'\n>> trace: built-in: git 'hash-object' '-w' '-t' 'tree' '--stdin'\n>> trace: built-in: git 'rev-parse' '--show-toplevel'\n>> trace: built-in: git 'rev-parse' '--sq' '--prefix' '' '--'\n>> trace: built-in: git 'diff-files' '--ignore-submodules=dirty' '--raw' '--'\n>> trace: built-in: git 'config' '-f' '.gitmodules' '--get-regexp'\n>> '^submodule\\..*\\.path$'\n>> trace: built-in: git 'config' 'submodule.linux.ignore'\n>> trace: built-in: git 'config' '-f' '.gitmodules' 'submodule.linux.ignore'\n>> trace: built-in: git 'diff-files' '--ignore-submodules=dirty' '--raw'\n>> '--' 'linux'\n>> trace: built-in: git 'rev-parse' 'HEAD'\n>> trace: built-in: git 'rev-parse' '-q' '--verify'\n>> '7d1311b93e58ed55f3a31cc8f94c4b8fe988a2b9^0'\n>> trace: built-in: git 'rev-parse' '-q' '--verify'\n>> '14aa272fcd1cdbe7173073250c767bc7a37278ce^0'\n>> trace: built-in: git 'rev-list' '--first-parent'\n>> '7d1311b93e58ed55f3a31cc8f94c4b8fe988a2b9...14aa272fcd1cdbe7173073250c767bc7a37278ce'\n>> '--'\n>> trace: built-in: git 'log' '--pretty=format:  %m %s' '--first-parent'\n>> '7d1311b93e58ed55f3a31cc8f94c4b8fe988a2b9...14aa272fcd1cdbe7173073250c767bc7a37278ce'\n>> ^C\n>\n> Update: I've managed to restore normal operation with 'git add -u' in\n> the super project. Which gets me back to a working state.\n\n\nOK I've got a (relatively) simple way of reproducing this.\n\n  git --version\n  git version 2.0.3\n\n  mkdir temp\n  cd temp/\n  git init\n  git submodule add git://git.denx.de/u-boot.git u-boot\n  cd u-boot/\n  git reset --hard v2013.01\n  cd ../\n  git status\n  <hang>\n\nIt seems to depend on how far I go back. I tried v2014.07 (~600\ncommits), v2014.01 (~2500 commits) and v2013.10 (~3600 commits). It\nwasn't until I went to v2013.07 (~4300 commits) that I struck the\nhang.\n\nDoing some further digging If I reset to commit\n25634210af785e36cf73a5e9a103c8cac5d84a26 there is no hang. But if I\nreset to commit 012a2c15d781d327c9de8734f2b2b3f793a58724 there is a\nhang. These 2 commits are adjacent and as far as I can tell there's\nnothing special about them (they're just normal commits, not merges).\n"}]}