Submodule-modes: Distinguish between update modes and update targets
[git-submod-enhancements.wiki.git] / history.textile
1 *Issues already solved and merged into Junio's Repo:*
2
3 * Since git 1.8.5:
4 ** Teach @git mv@ to not only move the gitlink and the work tree but also update core.worktree and the gitfile
5 * Since git 1.8.4:
6 ** Most subcommands of @git submodule@ now work from subdirectories of the work tree too
7 ** The user can specify a custom command in the @submodule.<name>.update@ setting by prepending a '!'
8 * Since git 1.8.3:
9 ** @git submodule deinit@ allows to get rid of submodules when the user doesn't need them to be populated anymore
10 * Since git 1.8.2:
11 ** Tracked floating submodules are supported in core git through the new @--remote@ option for @git submodule update@ and the new @--branch@ option for @git submodule add@
12 * Since git 1.8.1:
13 ** @git rm@ removes submodules from index and work tree (unless they contain a .git directory)
14 ** @git submodule add@ learned the @--name@ option so the user can choose the name for a submodule (e.g. when its name clashes with that of a submodule which was present at the same path earlier in history but was removed).
15 * Since git 1.7.11:
16 ** @git rebase --continue@ works if the commit only contains submodule changes.
17 ** @git push@ learned the --recurse-submodules=on-demand option
18 * Since git 1.7.8:
19 ** The @update@ option learned the value @none@, which disables @submodule init@ and @submodule update@
20 ** The git directory of a newly cloned submodule is stored in the .git directory of the superproject; the submodules work tree contains only a gitfile. This is the first step towards recursive checkout, as it enables us to remove a submodule directory (part of Frederik Gustafsson's 2011 GSoC project)
21 * Since git 1.7.7:
22 ** @git push@ learned the @--recurse-submodules=check@ option which errors out when trying to push a superproject commit where the submodule changes are not pushed (part of Frederik Gustafsson's 2011 GSoC project)
23 * Since git 1.7.5:
24 ** @fetch@ runs recursively on submodules by default when new commits have been recorded for them in the superproject
25 * Since git 1.7.4:
26 ** Recursive fetching of submodules can be enabled via command line option or configuration.
27 * Since git 1.7.3:
28 ** 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
29 ** Add a global config option to control when a submodule is considered dirty (written by Dscho)
30 ** Better support for merging of submodules (thanks to Heiko Voigt for writing that)
31 * Since git 1.7.2:
32 ** Add parameters to the @--ignore-submodules@ option for @git diff@ and @git status@ to control when a submodule is considered dirty
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.0:
36 ** @git status@ and @git diff*@ show submodules with untracked or modified files in their work tree as "dirty"
37 ** @git gui@: New popup menu for submodule diffs
38 * Since git 1.6.6:
39 ** New @--submodule@ option to @git diff@ (many thanks to Dscho for writing the core part!)
40 ** Display of submodule summaries instead of plain hashes in @git gui@ and @gitk@