Updated Home (textile)
[git-submod-enhancements.wiki.git] / Home.textile
1 *Welcome to the git-submod-enhancements wiki!*
2
3 As Dscho put it, submodules are the "neglected ugly duckling" of git. Time to change that ...
4
5 *Issues still to be tackled in this repo:*
6
7 * Let checkout, checkout-index, read-tree & reset work recursively on submodules (in progress)
8 * Teach grep the --recursive option (in progress thanks to Chris Packham)
9 * Add means to specify which submodules shall be populated on clone
10 * Move the submodules git directories into the superproject's .git so that submodules can be created and deleted
11 * Check before a push in the superproject that all submodules HEADs are pushed
12 * Showing that a submodule has a HEAD not on any branch in "git status"
13 * gitk: Add popup menu for submodules to see the detailed history of changes
14 * Let stash work recursively on submodules
15 * Teach "git prune" the "--recurse-submodules" option (and maybe honour the same default and options "git fetch" uses)
16 * Better support for displaying merge conflicts of submodules
17 * git gui: Add submodule menu for adding and fetching submodules
18 * Add an "always-tip" mode
19 * Other commands that could benefit from a "--recurse-submodules" option: archive, branch, clean, commit, revert, tag.
20
21 *Submodule related bugs to fix*
22
23 * Cherry picking across submodule creation fails even if the cherry pick doesn't touch any file in the submodules path
24
25 *Issues already solved and merged into Junio's Repo:*
26
27 * Since git 1.6.6:
28 ** New --submodule option to "git diff" (many thanks to Dscho for writing the core part!)
29 ** Display of submodule summaries instead of plain hashes in git gui and gitk
30 * Since git 1.7.0:
31 ** "git status" and "git diff*" show submodules with untracked or modified files in their work tree as "dirty"
32 ** git gui: New popup menu for submodule diffs
33 * Since git 1.7.1:
34 ** Show the reason why working directories of submodules are dirty (untracked content and/or modified content) in superproject
35 * Since git 1.7.2:
36 ** Add parameters to the "--ignore-submodules" option for "git diff" and "git status" to control when a submodule is considered dirty
37 * Since git 1.7.3:
38 ** Add the "ignore" config option for the default behaviour of "git diff" and "git status". Both .git/config and .gitmodules are parsed for this option, the value set in .git/config. will override that from .gitmodules
39 ** Add a global config option to control when a submodule is considered dirty (written by Dscho)
40 ** Better support for merging of submodules (thanks to Heiko Voigt for writing that)
41 * Since git 1.7.4:
42 ** Recursive fetching of submodules can be enabled via command line option or configuration.
43 * Expected in git 1.7.5:
44 ** fetch runs recursively on submodules by default when new commits have been recorded for them in the superproject