]>
Commit | Line | Data |
---|---|---|
341e7e8e JH |
1 | Git v2.0.1 Release Notes |
2 | ======================== | |
3 | ||
4 | * We used to unconditionally disable the pager in the pager process | |
5 | we spawn to feed out output, but that prevented people who want to | |
6 | run "less" within "less" from doing so. | |
7 | ||
8 | * Tools that read diagnostic output in our standard error stream do | |
9 | not want to see terminal control sequence (e.g. erase-to-eol). | |
10 | Detect them by checking if the standard error stream is connected | |
11 | to a tty. | |
12 | * Reworded the error message given upon a failure to open an existing | |
13 | loose object file due to e.g. permission issues; it was reported as | |
14 | the object being corrupt, but that is not quite true. | |
15 | ||
16 | * "git log -2master" is a common typo that shows two commits starting | |
17 | from whichever random branch that is not 'master' that happens to | |
18 | be checked out currently. | |
19 | ||
20 | * The "%<(10,trunc)%s" pretty format specifier in the log family of | |
21 | commands is used to truncate the string to a given length (e.g. 10 | |
22 | in the example) with padding to column-align the output, but did | |
23 | not take into account that number of bytes and number of display | |
24 | columns are different. | |
25 | ||
26 | * The "mailmap.file" configuration option did not support the tilde | |
27 | expansion (i.e. ~user/path and ~/path). | |
28 | ||
29 | * The completion scripts (in contrib/) did not know about quite a few | |
30 | options that are common between "git merge" and "git pull", and a | |
31 | couple of options unique to "git merge". | |
32 | ||
33 | * "--ignore-space-change" option of "git apply" ignored the spaces | |
34 | at the beginning of line too aggressively, which is inconsistent | |
35 | with the option of the same name "diff" and "git diff" have. | |
36 | ||
37 | * "git blame" miscounted number of columns needed to show localized | |
38 | timestamps, resulting in jaggy left-side-edge of the source code | |
39 | lines in its output. | |
40 | ||
41 | * "git blame" assigned the blame to the copy in the working-tree if | |
42 | the repository is set to core.autocrlf=input and the file used CRLF | |
43 | line endings. | |
44 | ||
45 | * "git commit --allow-empty-message -C $commit" did not work when the | |
46 | commit did not have any log message. | |
47 | ||
48 | * "git diff --find-copies-harder" sometimes pretended as if the mode | |
49 | bits have changed for paths that are marked with assume-unchanged | |
50 | bit. | |
51 | ||
52 | * "git format-patch" did not enforce the rule that the "--follow" | |
53 | option from the log/diff family of commands must be used with | |
54 | exactly one pathspec. | |
55 | ||
56 | * "git gc --auto" was recently changed to run in the background to | |
57 | give control back early to the end-user sitting in front of the | |
58 | terminal, but it forgot that housekeeping involving reflogs should | |
59 | be done without other processes competing for accesses to the refs. | |
60 | ||
61 | * "git grep -O" to show the lines that hit in the pager did not work | |
62 | well with case insensitive search. We now spawn "less" with its | |
63 | "-I" option when it is used as the pager (which is the default). | |
64 | ||
65 | * We used to disable threaded "git index-pack" on platforms without | |
66 | thread-safe pread(); use a different workaround for such | |
67 | platforms to allow threaded "git index-pack". | |
68 | ||
69 | * The error reporting from "git index-pack" has been improved to | |
70 | distinguish missing objects from type errors. | |
71 | ||
72 | * "git mailinfo" used to read beyond the end of header string while | |
73 | parsing an incoming e-mail message to extract the patch. | |
74 | ||
75 | * On a case insensitive filesystem, merge-recursive incorrectly | |
76 | deleted the file that is to be renamed to a name that is the same | |
77 | except for case differences. | |
78 | ||
79 | * "git pack-objects" unnecessarily copied the previous contents when | |
80 | extending the hashtable, even though it will populate the table | |
81 | from scratch anyway. | |
82 | ||
83 | * "git rerere forget" did not work well when merge.conflictstyle | |
84 | was set to a non-default value. | |
85 | ||
86 | * "git remote rm" and "git remote prune" can involve removing many | |
87 | refs at once, which is not a very efficient thing to do when very | |
88 | many refs exist in the packed-refs file. | |
89 | ||
90 | * "git log --exclude=<glob> --all | git shortlog" worked as expected, | |
91 | but "git shortlog --exclude=<glob> --all", which is supposed to be | |
92 | identical to the above pipeline, was not accepted at the command | |
93 | line argument parser level. | |
94 | ||
95 | * The autostash mode of "git rebase -i" did not restore the dirty | |
96 | working tree state if the user aborted the interactive rebase by | |
97 | emptying the insn sheet. | |
98 | ||
99 | * "git show -s" (i.e. show log message only) used to incorrectly emit | |
100 | an extra blank line after a merge commit. | |
101 | ||
102 | * "git status", even though it is a read-only operation, tries to | |
103 | update the index with refreshed lstat(2) info to optimize future | |
104 | accesses to the working tree opportunistically, but this could | |
105 | race with a "read-write" operation that modify the index while it | |
106 | is running. Detect such a race and avoid overwriting the index. | |
107 | ||
108 | * "git status" (and "git commit") behaved as if changes in a modified | |
109 | submodule are not there if submodule.*.ignore configuration is set, | |
110 | which was misleading. The configuration is only to unclutter diff | |
111 | output during the course of development, and should not to hide | |
112 | changes in the "status" output to cause the users forget to commit | |
113 | them. | |
114 | ||
115 | * The mode to run tests with HTTP server tests disabled was broken. |