blob: d5bca731b589dde2b8a1edad2977e9376e0ec433 [file] [log] [blame]
Junio C Hamano7ed863a2011-01-30 11:53:13 -08001Git v1.7.4 Release Notes
2========================
Junio C Hamano9855b082010-09-29 14:07:59 -07003
4Updates since v1.7.3
5--------------------
6
Jeff King79c461d2010-11-19 12:54:24 -05007 * 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
Ralf Wildenhues469bfc92011-01-03 20:03:34 +010011 * The option parsers of various commands that create new branches (or
Junio C Hamano9855b082010-09-29 14:07:59 -070012 rename existing ones to a new name) were too loose and users were
Ralf Wildenhues469bfc92011-01-03 20:03:34 +010013 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.
Junio C Hamano9855b082010-09-29 14:07:59 -070016
17 * System-wide fallback default attributes can be stored in
Michael J Gruber3e70e372011-01-13 10:35:34 +010018 /etc/gitattributes; the core.attributesfile configuration variable can
Junio C Hamano9855b082010-09-29 14:07:59 -070019 be used to customize the path to this file.
20
Junio C Hamano1c2ab432010-12-02 14:33:26 -080021 * 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
Michael J Gruber3e70e372011-01-13 10:35:34 +010028 * The 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
Junio C Hamano01b97a42010-12-28 13:52:52 -080030 usable with zsh.
Junio C Hamanod313c1c2010-11-17 16:43:05 -080031
Junio C Hamano1b974342010-12-16 21:43:08 -080032 * Different pagers can be chosen depending on which subcommand is
Michael J Gruber3e70e372011-01-13 10:35:34 +010033 being run under the pager, using the "pager.<subcommand>" variable.
Junio C Hamano1b974342010-12-16 21:43:08 -080034
Michael J Gruber3e70e372011-01-13 10:35:34 +010035 * The hardcoded tab-width of 8 that is used in whitespace breakage checks is now
Junio C Hamano1b974342010-12-16 21:43:08 -080036 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
Michael J Gruber3e70e372011-01-13 10:35:34 +010040 to case insensitivity.
Junio C Hamano1b974342010-12-16 21:43:08 -080041
Michael J Gruber3e70e372011-01-13 10:35:34 +010042 * The <tree>:<path> syntax for naming a blob in a tree, and the :<path>
43 syntax for naming a blob in the index (e.g. "master:Makefile",
Junio C Hamano1b974342010-12-16 21:43:08 -080044 ":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
Michael J Gruber3e70e372011-01-13 10:35:34 +010049 * "git blame" learned the --show-email option to display the e-mail
Junio C Hamano1c2ab432010-12-02 14:33:26 -080050 addresses instead of the names of authors.
51
Michael J Gruber3e70e372011-01-13 10:35:34 +010052 * "git commit" learned the --fixup and --squash options to help later invocation
53 of interactive rebase.
Junio C Hamano1b974342010-12-16 21:43:08 -080054
Junio C Hamano685e9d92011-01-05 14:46:07 -080055 * 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
Michael J Gruber3e70e372011-01-13 10:35:34 +010060 * "git daemon" can be built in the MinGW environment.
Junio C Hamano1c2ab432010-12-02 14:33:26 -080061
Junio C Hamanod313c1c2010-11-17 16:43:05 -080062 * "git daemon" can take more than one --listen option to listen to
63 multiple addresses.
64
Junio C Hamano1b974342010-12-16 21:43:08 -080065 * "git describe --exact-match" was optimized not to read commit
66 objects unnecessarily.
67
Michael J Gruber3e70e372011-01-13 10:35:34 +010068 * "git diff" and "git grep" learned what functions and subroutines
Junio C Hamano630fc782011-01-24 11:00:00 -080069 in Fortran, Pascal and Perl look like.
Junio C Hamano9855b082010-09-29 14:07:59 -070070
Michael J Gruber3e70e372011-01-13 10:35:34 +010071 * "git fetch" learned the "--recurse-submodules" option.
Junio C Hamano1b974342010-12-16 21:43:08 -080072
Michael J Gruber3e70e372011-01-13 10:35:34 +010073 * "git mergetool" tells vim/gvim to show a three-way diff by default
74 (use vimdiff2/gvimdiff2 as the tool name for old behavior).
Junio C Hamanod313c1c2010-11-17 16:43:05 -080075
Junio C Hamano9855b082010-09-29 14:07:59 -070076 * "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
Junio C Hamanod313c1c2010-11-17 16:43:05 -080083 * "git repack -f" does not spend cycles to recompress objects in the
Junio C Hamano01b97a42010-12-28 13:52:52 -080084 non-delta representation anymore (use -F if you really mean it
85 e.g. after you changed the core.compression variable setting).
Junio C Hamanod313c1c2010-11-17 16:43:05 -080086
Junio C Hamano9855b082010-09-29 14:07:59 -070087 * "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
Junio C Hamano1c2ab432010-12-02 14:33:26 -080090 * "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
Junio C Hamanoadf872e2011-01-13 11:42:01 -080094 * "git merge" learned the "--abort" option, synonymous to
95 "git reset --merge" when a merge is in progress.
96
97 * "git notes" learned the "merge" subcommand to merge notes refs.
98 In addition to the default manual conflict resolution, there are
99 also several notes merge strategies for automatically resolving
100 notes merge conflicts.
101
Michael J Gruber3e70e372011-01-13 10:35:34 +0100102 * "git rebase --autosquash" can use SHA-1 object names to name the
103 commit which is to be fixed up (e.g. "fixup! e83c5163").
Junio C Hamano1c2ab432010-12-02 14:33:26 -0800104
Michael J Gruber3e70e372011-01-13 10:35:34 +0100105 * The default "recursive" merge strategy learned the --rename-threshold
Junio C Hamanod313c1c2010-11-17 16:43:05 -0800106 option to influence the rename detection, similar to the -M option
Michael J Gruber3e70e372011-01-13 10:35:34 +0100107 of "git diff". From the "git merge" frontend, the "-X<strategy option>"
Junio C Hamano01b97a42010-12-28 13:52:52 -0800108 interface, e.g. "git merge -Xrename-threshold=50% ...", can be used
109 to trigger this.
Junio C Hamanod313c1c2010-11-17 16:43:05 -0800110
111 * The "recursive" strategy also learned to ignore various whitespace
112 changes; the most notable is -Xignore-space-at-eol.
113
114 * "git send-email" learned "--to-cmd", similar to "--cc-cmd", to read
Michael J Gruber3e70e372011-01-13 10:35:34 +0100115 the recipient list from a command output.
Junio C Hamanod313c1c2010-11-17 16:43:05 -0800116
117 * "git send-email" learned to read and use "To:" from its input files.
118
Junio C Hamano9855b082010-09-29 14:07:59 -0700119 * you can extend "git shell", which is often used on boxes that allow
Michael J Gruber3e70e372011-01-13 10:35:34 +0100120 git-only login over ssh as login shell, with a custom set of
Junio C Hamano9855b082010-09-29 14:07:59 -0700121 commands.
122
Junio C Hamano1b974342010-12-16 21:43:08 -0800123 * The current branch name in "git status" output can be colored differently
Michael J Gruber3e70e372011-01-13 10:35:34 +0100124 from the generic header color by setting the "color.status.branch" variable.
Junio C Hamano1b974342010-12-16 21:43:08 -0800125
Junio C Hamanod313c1c2010-11-17 16:43:05 -0800126 * "git submodule sync" updates metainformation for all submodules,
127 not just the ones that have been checked out.
128
Michael J Gruber3e70e372011-01-13 10:35:34 +0100129 * gitweb can use a custom 'highlight' command with its configuration file.
Junio C Hamanod313c1c2010-11-17 16:43:05 -0800130
Junio C Hamano1b974342010-12-16 21:43:08 -0800131 * other gitweb updates.
132
Junio C Hamanod313c1c2010-11-17 16:43:05 -0800133
Junio C Hamano9855b082010-09-29 14:07:59 -0700134Also contains various documentation updates.
135
136
137Fixes since v1.7.3
138------------------
139
Michael J Gruber3e70e372011-01-13 10:35:34 +0100140All of the fixes in the v1.7.3.X maintenance series are included in this
Junio C Hamano9855b082010-09-29 14:07:59 -0700141release, unless otherwise noted.
142
143 * "git log --author=me --author=her" did not find commits written by
144 me or by her; instead it looked for commits written by me and by
145 her, which is impossible.
146
Junio C Hamanod313c1c2010-11-17 16:43:05 -0800147 * "git push --progress" shows progress indicators now.
148
Junio C Hamano7ed863a2011-01-30 11:53:13 -0800149 * "git rebase -i" showed a confusing error message when given a
150 branch name that does not exist.
151
Junio C Hamanod313c1c2010-11-17 16:43:05 -0800152 * "git repack" places its temporary packs under $GIT_OBJECT_DIRECTORY/pack
153 instead of $GIT_OBJECT_DIRECTORY/ to avoid cross directory renames.
154
Junio C Hamanod313c1c2010-11-17 16:43:05 -0800155 * "git submodule update --recursive --other-flags" passes flags down
156 to its subinvocations.