1Git v1.7.4 Release Notes (draft) 2================================ 3 4Updates since v1.7.3 5-------------------- 6 7 * The documentation Makefile now assumes by default asciidoc 8 and 8 docbook-xsl >= 1.73. If you have older versions, you can set 9 ASCIIDOC7 and ASCIIDOC_ROFF, respectively. 10 11 * The option parsers of various commands that create new branches (or 12 rename existing ones to a new name) were too loose and users were 13 allowed to give a branch a name that begins with a dash by creative 14 abuse of their command line options, which only led to burning 15 themselves. The name of a branch cannot begin with a dash now. 16 17 * System-wide fallback default attributes can be stored in 18 /etc/gitattributes; core.attributesfile configuration variable can 19 be used to customize the path to this file. 20 21 * The thread structure generated by "git send-email" has changed 22 slightly. Setting the cover letter of the latest series as a reply 23 to the cover letter of the previous series with --in-reply-to used 24 to make the new cover letter and all the patches replies to the 25 cover letter of the previous series; this has been changed to make 26 the patches in the new series replies to the new cover letter. 27 28 * Bash completion script in contrib/ has been adjusted to be usable with 29 Bash 4 (options with '=value' didn't complete) It has been also made 30 usable with zsh. 31 32 * Different pagers can be chosen depending on which subcommand is 33 being run under the pager, using "pager.<subcommand>" variable. 34 35 * The hardcoded tab-width of 8 used in whitespace breakage checks is now 36 configurable via the attributes mechanism. 37 38 * Support of case insensitive filesystems (i.e. "core.ignorecase") has 39 been improved. For example, the gitignore mechanism didn't pay attention 40 to the case insensitivity. 41 42 * The <tree>:<path> syntax to name a blob in a tree, and :<path> 43 syntax to name a blob in the index (e.g. "master:Makefile", 44 ":hello.c") have been extended. You can start <path> with "./" to 45 implicitly have the (sub)directory you are in prefixed to the 46 lookup. Similarly, ":../Makefile" from a subdirectory would mean 47 "the Makefile of the parent directory in the index". 48 49 * "git blame" learned --show-email option to display the e-mail 50 addresses instead of the names of authors. 51 52 * "git commit" learned --fixup and --squash options to help later invocation 53 of the interactive rebase. 54 55 * Command line options to "git cvsimport" whose names are in capital 56 letters (-A, -M, -R and -S) can now be specified as the default in 57 the .git/config file by their longer names (cvsimport.authorsFile, 58 cvsimport.mergeRegex, cvsimport.trackRevisions, cvsimport.ignorePaths). 59 60 * "git daemon" can be built in MinGW environment. 61 62 * "git daemon" can take more than one --listen option to listen to 63 multiple addresses. 64 65 * "git describe --exact-match" was optimized not to read commit 66 objects unnecessarily. 67 68 * "git diff" and "git grep" learned how functions and subroutines 69 in Fortran look like. 70 71 * "git fetch" learned "--recurse-submodules" option. 72 73 * "git mergetool" tells vim/gvim to show three-way diff by default 74 (use vimdiff2/gvimdiff2 as the tool name for old behaviour). 75 76 * "git log -G<pattern>" limits the output to commits whose change has 77 added or deleted lines that match the given pattern. 78 79 * "git read-tree" with no argument as a way to empty the index is 80 deprecated; we might want to remove it in the future. Users can 81 use the new --empty option to be more explicit instead. 82 83 * "git repack -f" does not spend cycles to recompress objects in the 84 non-delta representation anymore (use -F if you really mean it 85 e.g. after you changed the core.compression variable setting). 86 87 * "git merge --log" used to limit the resulting merge log to 20 88 entries; this is now customizable by giving e.g. "--log=47". 89 90 * "git merge" may work better when all files were moved out of a 91 directory in one branch while a new file is created in place of that 92 directory in the other branch. 93 94 * "git rebase --autosquash" can use SHA-1 object names to name which 95 commit to fix up (e.g. "fixup! e83c5163"). 96 97 * The default "recursive" merge strategy learned --rename-threshold 98 option to influence the rename detection, similar to the -M option 99 of "git diff". From "git merge" frontend, "-X<strategy option>" 100 interface, e.g. "git merge -Xrename-threshold=50% ...", can be used 101 to trigger this. 102 103 * The "recursive" strategy also learned to ignore various whitespace 104 changes; the most notable is -Xignore-space-at-eol. 105 106 * "git send-email" learned "--to-cmd", similar to "--cc-cmd", to read 107 recipient list from a command output. 108 109 * "git send-email" learned to read and use "To:" from its input files. 110 111 * you can extend "git shell", which is often used on boxes that allow 112 git-only login over ssh as login shell, with custom set of 113 commands. 114 115 * The current branch name in "git status" output can be colored differently 116 from the generic header color by setting "color.status.branch" variable. 117 118 * "git submodule sync" updates metainformation for all submodules, 119 not just the ones that have been checked out. 120 121 * gitweb can use custom 'highlight' command with its configuration file. 122 123 * other gitweb updates. 124 125 126Also contains various documentation updates. 127 128 129Fixes since v1.7.3 130------------------ 131 132All of the fixes in v1.7.3.X maintenance series are included in this 133release, unless otherwise noted. 134 135 * "git log --author=me --author=her" did not find commits written by 136 me or by her; instead it looked for commits written by me and by 137 her, which is impossible. 138 139 * "git push --progress" shows progress indicators now. 140 141 * "git repack" places its temporary packs under $GIT_OBJECT_DIRECTORY/pack 142 instead of $GIT_OBJECT_DIRECTORY/ to avoid cross directory renames. 143 144 * "git submodule update --recursive --other-flags" passes flags down 145 to its subinvocations. 146 147--- 148exec >/var/tmp/1 149O=v1.7.4-rc1 150echo O=$(git describe master) 151git shortlog --no-merges ^maint ^$O master