{"action":"closed","issue":{"url":"https://api.github.com/repos/magit/magit/issues/2705","repository_url":"https://api.github.com/repos/magit/magit","labels_url":"https://api.github.com/repos/magit/magit/issues/2705/labels{/name}","comments_url":"https://api.github.com/repos/magit/magit/issues/2705/comments","events_url":"https://api.github.com/repos/magit/magit/issues/2705/events","html_url":"https://github.com/magit/magit/issues/2705","id":161546872,"number":2705,"title":"Add more submodule information (git super status)","user":{"login":"dscole","id":9452449,"avatar_url":"https://avatars.githubusercontent.com/u/9452449?v=3","gravatar_id":"","url":"https://api.github.com/users/dscole","html_url":"https://github.com/dscole","followers_url":"https://api.github.com/users/dscole/followers","following_url":"https://api.github.com/users/dscole/following{/other_user}","gists_url":"https://api.github.com/users/dscole/gists{/gist_id}","starred_url":"https://api.github.com/users/dscole/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dscole/subscriptions","organizations_url":"https://api.github.com/users/dscole/orgs","repos_url":"https://api.github.com/users/dscole/repos","events_url":"https://api.github.com/users/dscole/events{/privacy}","received_events_url":"https://api.github.com/users/dscole/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/magit/magit/labels/feature%20request","name":"feature request","color":"079400"},{"url":"https://api.github.com/repos/magit/magit/labels/in%20branch","name":"in branch","color":"c2e0c6"}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2016-06-21T21:43:42Z","updated_at":"2016-08-05T16:32:29Z","closed_at":"2016-08-05T16:32:29Z","body":"I have a repository with many submodules and I'd like to be able to get an overview (git-status) of each of the submodules. Unfortunately `git submodule status` doesn't give me the overview I'd really like. So what I currently do is run this (sorry it's a bit dense, I use an alias for it):\r\n```\r\ngit submodule foreach --quiet 'printf \"%-20s\" $name; echo -n $(git status|head -2); echo -n $(git status| grep modified| head -1); echo' | sort -r -k 4 | sort -k 7\r\n```\r\nWhich prints an output like this:\r\n```\r\nsubrepo0  On branch master Your branch is ahead of 'origin/master' by 1 commit.\r\nsubrepo1  On branch new_flag_feature Your branch is ahead of 'origin/master' by 1 commit.\r\nsubrepo2  On branch new_flag_feature Your branch is ahead of 'origin/master' by 1 commit.\r\nsubrepo3  On branch master Your branch is ahead of 'origin/master' by 1 commit.\r\nsubrepo4  On branch master Your branch is ahead of 'origin/master' by 1 commit.\r\nsubrepo5  On branch master Your branch is behind 'origin/master' by 13 commits, and can be fast-forwarded.\r\nsubrepo6  On branch master Your branch is behind 'origin/master' by 1 commit, and can be fast-forwarded.\r\nsubrepo7  On branch master Your branch is behind 'origin/master' by 1 commit, and can be fast-forwarded.\r\nsubrepo8  On branch master Your branch is behind 'origin/master' by 1 commit, and can be fast-forwarded.\r\nsubrepo9  On branch master Your branch is behind 'origin/master' by 2 commits, and can be fast-forwarded.\r\nsubrepo10 On branch master Your branch is behind 'origin/master' by 2 commits, and can be fast-forwarded.\r\nsubrepo11 On branch master Your branch is behind 'origin/master' by 2 commits, and can be fast-forwarded.\r\nsubrepo12 On branch master Your branch is behind 'origin/master' by 2 commits, and can be fast-forwarded.\r\nsubrepo13 On branch master Your branch is behind 'origin/master' by 2 commits, and can be fast-forwarded.\r\nsubrepo14 On branch master Your branch is behind 'origin/master' by 2 commits, and can be fast-forwarded.\r\nsubrepo15 On branch master Your branch is behind 'origin/master' by 3 commits, and can be fast-forwarded.\r\nsubrepo16 On branch master Your branch is behind 'origin/master' by 4 commits, and can be fast-forwarded.\r\nsubrepo17 On branch master Your branch is behind 'origin/master' by 6 commits, and can be fast-forwarded.\r\nsubrepo18 On branch master Your branch is behind 'origin/master' by 6 commits, and can be fast-forwarded.\r\nsubrepo19 On branch master Your branch is behind 'origin/master' by 9 commits, and can be fast-forwarded.\r\nsubrepo20 On branch master Your branch is up-to-date with 'origin/master'.\r\nsubrepo21 On branch master Your branch is up-to-date with 'origin/master'.\r\nsubrepo22 On branch master Your branch is up-to-date with 'origin/master'.\r\nsubrepo23 On branch master Your branch is up-to-date with 'origin/master'.\r\nsubrepo24 On branch master Your branch is up-to-date with 'origin/master'.\r\nsubrepo25 On branch master Your branch is up-to-date with 'origin/master'.\r\nsubrepo26 On branch master Your branch is up-to-date with 'origin/master'.\r\nsubrepo27 On branch master Your branch is up-to-date with 'origin/master'.\r\nsubrepo28 On branch master Your branch is up-to-date with 'origin/master'.\r\nsubrepo29 On branch master Your branch is up-to-date with 'origin/master'.\r\nsubrepo30 On branch master Your branch is up-to-date with 'origin/master'.\r\nsubrepo31 On branch master Your branch is up-to-date with 'origin/master'.\r\nsubrepo32 On branch master Your branch is up-to-date with 'origin/master'.\r\nsubrepo33 On branch master Your branch is up-to-date with 'origin/master'.\r\nsubrepo34 On branch master Your branch is up-to-date with 'origin/master'.\r\nsubrepo35 On branch master Your branch is up-to-date with 'origin/master'.\r\nsubrepo36 On branch master Your branch is up-to-date with 'origin/master'.\r\nsubrepo37 On branch master Your branch is up-to-date with 'origin/master'.\r\nsubrepo38 On branch master Your branch is up-to-date with 'origin/master'.\r\nsubrepo39 On branch master Your branch is up-to-date with 'origin/master'.\r\nsubrepo40 On branch master Your branch is up-to-date with 'origin/master'.\r\nsubrepo41 On branch master Your branch is up-to-date with 'origin/master'.\r\nsubrepo42 On branch master Your branch is up-to-date with 'origin/master'\r\nsubrepo43 On branch meta/config Your branch is up-to-date with 'origin/meta/config'.\r\n```\r\nI think that for someone that has many submodules in which they constantly change branches, it's very useful to have such an overview. Also, in magit this can become even more powerful. When I run this on the shell I want this to be as concise as possible, so I print each submodule on a single line. In magit you could have the full status for each submodule, simply have it collapsed to a single line by default (so it looks like my output above). Then theoretically you could allow each subrepo to be a link, such that if you press on it, it takes you to that repo's magit-status.\r\n\r\nI call this output git super status."}}
{"actor":{"display_login":"tarsius"}}