*Welcome to the git-submod-enhancements wiki!* As Dscho put it, submodules are the "neglected ugly duckling" of git. Time to change that ... *Issues still to be tackled in this repo:* * Teach @git mv@ to not only move the gitlink and the work tree but also update core.worktree and the gitfile * Let @am@, @bisect@, @checkout@, @checkout-index@, @cherry-pick@, @merge@, @pull@, @read-tree@, @rebase@, @reset@ & @stash@ work recursively on submodules (in progress) * Add functionality to move the .git directory of a submodule into the .git/modules directory of the superproject (either by adding a new @git submodule@ command or by providing a script in contrib/) * Add an option to @git submodule add@ to move the .git directory of a local repository to be added as submodule into the .git/modules directory of the superproject * Teach @grep@ the @--recursive@ option * Add means to specify which submodules shall be populated on clone (which I'd like to implement by teaching @git fetch@ to create submodule repos in .git/modules, recursive checkout will then do the rest) * Showing that a submodule has a HEAD not on any branch in @git status@ * @gitk@: Add popup menu for submodules to see the detailed history of changes * Teach @git prune@ the @--recurse-submodules@ option (and maybe honour the same default and options @git fetch@ uses) * Better support for displaying merge conflicts of submodules * Make the @git submodule@ script run in non top-level directories too * @git gui@: Add submodule menu for adding and fetching submodules * @git status@ should call @git diff --submodule --ignore-submodules=dirty@ instead of @git submodule summary@ for providing a submodule summary when configured to do so. * Other commands that could benefit from a @--recurse-submodules@ option: @archive@, @branch@, @clean@, @commit@, @revert@, @tag@. * In the long run, git-submodule.sh should be converted to a rather simple wrapper script around core Git functionality, as more and more of that is implemented in the git core. *Submodule related bugs to fix* * @git fetch@ doesn't fetch referenced commits after a submodule rename * Cherry picking across submodule creation fails even if the cherry pick doesn't touch any file in the submodules path * @git submodule add@ doesn't record the URL in .git/config when the submodule path doesn't exist. *[[Issues already solved and merged into Junio's Repo|history]]*