| Git v1.7.4 Release Notes (draft) |
| ================================ |
| |
| Updates since v1.7.3 |
| -------------------- |
| |
| * The documentation Makefile now assumes by default asciidoc 8 and |
| docbook-xsl >= 1.73. If you have older versions, you can set |
| ASCIIDOC7 and ASCIIDOC_ROFF, respectively. |
| |
| * The option parsers of various commands that create new branch (or |
| rename existing ones to a new name) were too loose and users were |
| allowed to call a branch with a name that begins with a dash by |
| creative abuse of their command line options, which only lead to |
| burn themselves. The name of a branch cannot begin with a dash |
| now. |
| |
| * System-wide fallback default attributes can be stored in |
| /etc/gitattributes; core.attributesfile configuration variable can |
| be used to customize the path to this file. |
| |
| * The thread structure generated by "git send-email" has changed |
| slightly. Setting the cover letter of the latest series as a reply |
| to the cover letter of the previous series with --in-reply-to used |
| to make the new cover letter and all the patches replies to the |
| cover letter of the previous series; this has been changed to make |
| the patches in the new series replies to the new cover letter. |
| |
| * Bash completion script in contrib/ has been adjusted to be also |
| usable by zsh. |
| |
| * Different pagers can be chosen depending on which subcommand is |
| being run under the pager, using "pager.<subcommand>" variable. |
| |
| * The hardcoded tab-width of 8 used in whitespace breakage checks is now |
| configurable via the attributes mechanism. |
| |
| * Support of case insensitive filesystems (i.e. "core.ignorecase") has |
| been improved. For example, the gitignore mechanism didn't pay attention |
| to the case insensitivity. |
| |
| * The <tree>:<path> syntax to name a blob in a tree, and :<path> |
| syntax to name a blob in the index (e.g. "master:Makefile", |
| ":hello.c") have been extended. You can start <path> with "./" to |
| implicitly have the (sub)directory you are in prefixed to the |
| lookup. Similarly, ":../Makefile" from a subdirectory would mean |
| "the Makefile of the parent directory in the index". |
| |
| * "git blame" learned --show-email option to display the e-mail |
| addresses instead of the names of authors. |
| |
| * "git commit" learned --fixup and --squash options to help later invocation |
| of the interactive rebase. |
| |
| * "git daemon" can be built in MinGW environment. |
| |
| * "git daemon" can take more than one --listen option to listen to |
| multiple addresses. |
| |
| * "git describe --exact-match" was optimized not to read commit |
| objects unnecessarily. |
| |
| * "git diff" and "git grep" learned how functions and subroutines |
| in Fortran look like. |
| |
| * "git fetch" learned "--recurse-submodules" option. |
| |
| * "git mergetool" tells vim/gvim to show three-way diff by default |
| (use vimdiff2/gvimdiff2 as the tool name for old behaviour). |
| |
| * "git log -G<pattern>" limits the output to commits whose change has |
| added or deleted lines that match the given pattern. |
| |
| * "git read-tree" with no argument as a way to empty the index is |
| deprecated; we might want to remove it in the future. Users can |
| use the new --empty option to be more explicit instead. |
| |
| * "git repack -f" does not spend cycles to recompress objects in the |
| non-delta representation anymore (use -F if you really mean it when |
| e.g. you changed the compression level). |
| |
| * "git merge --log" used to limit the resulting merge log to 20 |
| entries; this is now customizable by giving e.g. "--log=47". |
| |
| * "git merge" may work better when all files were moved out of a |
| directory in one branch while a new file is created in place of that |
| directory in the other branch. |
| |
| * "git rebase --autosquash" can use SHA-1 object names to name which |
| commit to fix up (e.g. "fixup! e83c5163"). |
| |
| * The default "recursive" merge strategy learned --rename-threshold |
| option to influence the rename detection, similar to the -M option |
| of "git diff". E.g. "git merge -Xrename-threshold=50% ..." to use |
| this. |
| |
| * The "recursive" strategy also learned to ignore various whitespace |
| changes; the most notable is -Xignore-space-at-eol. |
| |
| * "git send-email" learned "--to-cmd", similar to "--cc-cmd", to read |
| recipient list from a command output. |
| |
| * "git send-email" learned to read and use "To:" from its input files. |
| |
| * you can extend "git shell", which is often used on boxes that allow |
| git-only login over ssh as login shell, with custom set of |
| commands. |
| |
| * The current branch name in "git status" output can be colored differently |
| from the generic header color by setting "color.status.branch" variable. |
| |
| * "git submodule sync" updates metainformation for all submodules, |
| not just the ones that have been checked out. |
| |
| * gitweb can use custom 'highlight' command with its configuration file. |
| |
| * other gitweb updates. |
| |
| |
| Also contains various documentation updates. |
| |
| |
| Fixes since v1.7.3 |
| ------------------ |
| |
| All of the fixes in v1.7.3.X maintenance series are included in this |
| release, unless otherwise noted. |
| |
| * "git log --author=me --author=her" did not find commits written by |
| me or by her; instead it looked for commits written by me and by |
| her, which is impossible. |
| |
| * "git merge" into an unborn branch removed an untracked file "foo" |
| from the working tree when merged branch had "foo" (2caf20c..172b642). |
| |
| * "git push --progress" shows progress indicators now. |
| |
| * "git repack" places its temporary packs under $GIT_OBJECT_DIRECTORY/pack |
| instead of $GIT_OBJECT_DIRECTORY/ to avoid cross directory renames. |
| |
| * "git submodule update --recursive --other-flags" passes flags down |
| to its subinvocations. |
| |
| --- |
| exec >/var/tmp/1 |
| O=v1.7.3.4-567-g38a5932 |
| echo O=$(git describe master) |
| git shortlog --no-merges ^maint ^$O master |