Ok, this is my second try. - Incorporated Sven's suggestion to give an example of problematic situation on submodule after "git-checkout" at the supermodule level; - Describe semantic clean-up of specifying GIT_DIR that is not strictly needed (because it is situated at the normal place relative to the working tree). --- diff --git a/Documentation/RelNotes-1.5.3.txt b/Documentation/RelNotes-1.5.3.txt index 21bb1fc..bf7a341 100644 --- a/Documentation/RelNotes-1.5.3.txt +++ b/Documentation/RelNotes-1.5.3.txt @@ -9,6 +9,40 @@ Updates since v1.5.2 * The submodule support has Porcelain layer. + Note that the current submodule support is minimal and this is + deliberately so. A design decision we made is that operations + at the supermodule level do not recurse into submodules by + default. The expectation is that later we would add a + mechanism to tell git which submodules the user is interested + in, and this information might be used to determine the + recursive behaviour of certain commands (e.g. "git checkout" + and "git diff"), but currently we haven't agreed on what that + mechanism should look like. In particular, if you have any + submodules checked out, running a "git checkout" at the + supermodule level will not update these submodules. They will + therefore appear to be modified (to the state prior to the + checkout) to any subsequent git command, until they have been + updated explicitly using "git submodule update". + +* You can have a work tree not at the parent directory of .git + which is the repository. This is done with GIT_WORK_TREE + environment, or --work-tree option. + + This support slightly changes the semantics of having GIT_DIR + environment variable. The rule used to be that when it is + given, you are supposed to be at the top level of the working + tree. However, if it names a .git directory at the top of the + working tree, you can be in a subdirectory of that directory + and git notices you are in the subdirectory. E.g. in t/ + subdirectory of git.git project, + + $ cd t + $ GIT_DIR=../.git/ git ls-files -s + + will list the files in t/ (i.e. your current directory). It + used not to notice that you are in a subdirectory and listed + the files from the top-level of the working tree. + * There are a handful pack-objects changes to help you cope better with repositories with pathologically large blobs in them. - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html