Commit | Line | Data |
---|---|---|
7ed863a8 JH |
1 | Git v1.7.4 Release Notes |
2 | ======================== | |
9855b08d JH |
3 | |
4 | Updates since v1.7.3 | |
5 | -------------------- | |
6 | ||
79c461d5 JK |
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 | ||
469bfc96 | 11 | * The option parsers of various commands that create new branches (or |
9855b08d | 12 | rename existing ones to a new name) were too loose and users were |
469bfc96 RW |
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. | |
9855b08d JH |
16 | |
17 | * System-wide fallback default attributes can be stored in | |
3e70e37e | 18 | /etc/gitattributes; the core.attributesfile configuration variable can |
9855b08d JH |
19 | be used to customize the path to this file. |
20 | ||
1c2ab430 JH |
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 | ||
3e70e37e MG |
28 | * 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 | |
01b97a4c | 30 | usable with zsh. |
d313c1cf | 31 | |
1b974346 | 32 | * Different pagers can be chosen depending on which subcommand is |
3e70e37e | 33 | being run under the pager, using the "pager.<subcommand>" variable. |
1b974346 | 34 | |
3e70e37e | 35 | * The hardcoded tab-width of 8 that is used in whitespace breakage checks is now |
1b974346 JH |
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 | |
3e70e37e | 40 | to case insensitivity. |
1b974346 | 41 | |
3e70e37e MG |
42 | * 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", | |
1b974346 JH |
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 | ||
3e70e37e | 49 | * "git blame" learned the --show-email option to display the e-mail |
1c2ab430 JH |
50 | addresses instead of the names of authors. |
51 | ||
3e70e37e MG |
52 | * "git commit" learned the --fixup and --squash options to help later invocation |
53 | of interactive rebase. | |
1b974346 | 54 | |
685e9d91 JH |
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 | ||
3e70e37e | 60 | * "git daemon" can be built in the MinGW environment. |
1c2ab430 | 61 | |
d313c1cf JH |
62 | * "git daemon" can take more than one --listen option to listen to |
63 | multiple addresses. | |
64 | ||
1b974346 JH |
65 | * "git describe --exact-match" was optimized not to read commit |
66 | objects unnecessarily. | |
67 | ||
3e70e37e | 68 | * "git diff" and "git grep" learned what functions and subroutines |
630fc787 | 69 | in Fortran, Pascal and Perl look like. |
9855b08d | 70 | |
3e70e37e | 71 | * "git fetch" learned the "--recurse-submodules" option. |
1b974346 | 72 | |
3e70e37e MG |
73 | * "git mergetool" tells vim/gvim to show a three-way diff by default |
74 | (use vimdiff2/gvimdiff2 as the tool name for old behavior). | |
d313c1cf | 75 | |
9855b08d JH |
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 | ||
d313c1cf | 83 | * "git repack -f" does not spend cycles to recompress objects in the |
01b97a4c JH |
84 | non-delta representation anymore (use -F if you really mean it |
85 | e.g. after you changed the core.compression variable setting). | |
d313c1cf | 86 | |
9855b08d JH |
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 | ||
1c2ab430 JH |
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 | ||
adf872e7 JH |
94 | * "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 | ||
3e70e37e MG |
102 | * "git rebase --autosquash" can use SHA-1 object names to name the |
103 | commit which is to be fixed up (e.g. "fixup! e83c5163"). | |
1c2ab430 | 104 | |
3e70e37e | 105 | * The default "recursive" merge strategy learned the --rename-threshold |
d313c1cf | 106 | option to influence the rename detection, similar to the -M option |
3e70e37e | 107 | of "git diff". From the "git merge" frontend, the "-X<strategy option>" |
01b97a4c JH |
108 | interface, e.g. "git merge -Xrename-threshold=50% ...", can be used |
109 | to trigger this. | |
d313c1cf JH |
110 | |
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 | |
3e70e37e | 115 | the recipient list from a command output. |
d313c1cf JH |
116 | |
117 | * "git send-email" learned to read and use "To:" from its input files. | |
118 | ||
9855b08d | 119 | * you can extend "git shell", which is often used on boxes that allow |
3e70e37e | 120 | git-only login over ssh as login shell, with a custom set of |
9855b08d JH |
121 | commands. |
122 | ||
1b974346 | 123 | * The current branch name in "git status" output can be colored differently |
3e70e37e | 124 | from the generic header color by setting the "color.status.branch" variable. |
1b974346 | 125 | |
d313c1cf JH |
126 | * "git submodule sync" updates metainformation for all submodules, |
127 | not just the ones that have been checked out. | |
128 | ||
3e70e37e | 129 | * gitweb can use a custom 'highlight' command with its configuration file. |
d313c1cf | 130 | |
1b974346 JH |
131 | * other gitweb updates. |
132 | ||
d313c1cf | 133 | |
9855b08d JH |
134 | Also contains various documentation updates. |
135 | ||
136 | ||
137 | Fixes since v1.7.3 | |
138 | ------------------ | |
139 | ||
3e70e37e | 140 | All of the fixes in the v1.7.3.X maintenance series are included in this |
9855b08d JH |
141 | release, 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 | ||
d313c1cf JH |
147 | * "git push --progress" shows progress indicators now. |
148 | ||
7ed863a8 JH |
149 | * "git rebase -i" showed a confusing error message when given a |
150 | branch name that does not exist. | |
151 | ||
d313c1cf JH |
152 | * "git repack" places its temporary packs under $GIT_OBJECT_DIRECTORY/pack |
153 | instead of $GIT_OBJECT_DIRECTORY/ to avoid cross directory renames. | |
154 | ||
d313c1cf JH |
155 | * "git submodule update --recursive --other-flags" passes flags down |
156 | to its subinvocations. |