]> git.ipfire.org Git - thirdparty/git.git/blob - Documentation/RelNotes/1.7.8.txt
invalidate_ref_cache(): expose this function in the refs API
[thirdparty/git.git] / Documentation / RelNotes / 1.7.8.txt
1 Git v1.7.8 Release Notes (draft)
2 ================================
3
4 Updates since v1.7.7
5 --------------------
6
7 * The build procedure has been taught to take advantage of computed
8 dependency automatically when the complier supports it.
9
10 * The date parser now accepts timezone designators that lack minutes
11 part and also has a colon between "hh:mm".
12
13 * "git am" learned how to read from patches generated by Hg.
14
15 * "git branch" learned an explicit --list option to ask for branches
16 listed, optionally with a glob matching pattern to limit its output.
17
18 * "git check-attr" learned "--cached" option to look at .gitattributes
19 files from the index, not from the working tree.
20
21 * Variants of "git cherry-pick" and "git revert" that take multiple
22 commits learned to "--continue".
23
24 * "git fetch" learned to honor transfer.fsckobjects configuration to
25 validate the objects that were received from the other end, just like
26 "git receive-pack" (the receiving end of "git push") does.
27
28 * "git fetch" makes sure that the set of objects it received from the
29 other end actually completes the history before updating the refs.
30 "git receive-pack" (the receiving end of "git push") learned to do the
31 same.
32
33 * "git for-each-ref" learned "%(contents:subject)", "%(contents:body)"
34 and "%(contents:signature)". The last one is useful for signed tags.
35
36 * "git ls-remote" learned to respond to "-h"(elp) requests.
37
38 * "git send-email" learned to respond to "-h"(elp) requests.
39
40 * "git stash" learned "--include-untracked" option to stash away
41 untracked/ignored cruft from the working tree.
42
43 * "git submodule update" learned to honor "none" as the value for
44 submodule.<name>.update to specify that the named submodule should
45 not be checked out by default.
46
47 * When populating a new submodule directory with "git submodule init",
48 the $GIT_DIR metainformation directory for submodules is created inside
49 $GIT_DIR/modules/<name>/ directory of the superproject and referenced
50 via the gitfile mechanism. This is to make it possible to switch
51 between commits in the superproject that has and does not have the
52 submodule in the tree without re-cloning.
53
54 * "mediawiki" remote helper can interact with (surprise!) MediaWiki
55 with "git fetch" & "git push".
56
57 * "gitweb" leaked unescaped control characters from syntax hiliter
58 outputs.
59
60
61 Also contains other documentation updates and minor code cleanups.
62
63
64 Fixes since v1.7.7
65 ------------------
66
67 Unless otherwise noted, all fixes in the 1.7.7.X maintenance track are
68 included in this release.
69
70 * We used to drop error messages from libcurl on certain kinds of
71 errors.
72 (merge be22d92eac8 jn/maint-http-error-message later to maint).
73
74 * Adding many refs to the local repository in one go (e.g. "git fetch"
75 that fetches many tags) and looking up a ref by name in a repository
76 with too many refs were unnecessarily slow.
77 (merge 17d68a54d jp/get-ref-dir-unsorted later to maint).
78
79 * "git remote rename $a $b" were not careful to match the remote name
80 against $a (i.e. source side of the remote nickname).
81 (merge b52d00aed mz/remote-rename later to maint).
82
83 * "git diff $tree $path" used to apply the pathspec at the output stage,
84 reading the whole tree, wasting resources.
85 (merge 2f88c1970 jc/diff-index-unpack later to maint).
86
87 * "git diff --[num]stat" used to use the number of lines of context
88 different from the default, potentially giving different results from
89 "git diff | diffstat" and confusing the users.
90 (merge f01cae918 jc/maint-diffstat-numstat-context later to maint).
91
92 * The code to check for updated submodules during a "git fetch" of the
93 superproject had an unnecessary quadratic loop.
94 (merge 6859de45 jk/maint-fetch-submodule-check-fix later to maint).
95
96 * "git fetch" from a large bundle did not enable the progress output.
97 (merge be042aff jc/maint-bundle-too-quiet later to maint).
98
99 * When "git fsck --lost-and-found" found that an empty blob object in the
100 object store is unreachable, it incorrectly reported an error after
101 writing the lost blob out successfully.
102 (merge eb726f2d jc/maint-fsck-fwrite-size-check later to maint).
103
104 * "git filter-branch" did not refresh the index before checking that the
105 working tree was clean.
106 (merge 5347a50f jk/filter-branch-require-clean-work-tree later to maint).
107
108 * "git grep $tree" when run with multiple threads had an unsafe access to
109 the object database that should have been protected with mutex.
110 (merge 8cb5775b2 nm/grep-object-sha1-lock later to maint).
111
112 * The "--ancestry-path" option to "git log" and friends misbehaved in a
113 history with complex criss-cross merges and showed an uninteresting
114 side history as well.
115 (merge c05b988a6 bk/ancestry-path later to maint).
116
117 * "git merge" did not understand ":/<pattern>" as a way to name a commit.
118
119 * "git mergetool" learned to use its arguments as pathspec, not a path to
120 the file that may not even have any conflict.
121 (merge 6d9990a jm/mergetool-pathspec later to maint).
122
123 * Tests with --valgrind failed to find "mergetool" scriptlets.
124 (merge ee0d7bf92 tr/mergetool-valgrind later to maint).
125
126 * "git patch-id" miscomputed the patch-id in a patch that has a line longer
127 than 1kB.
128 (merge b9ab810b ms/patch-id-with-overlong-line later to maint).
129
130 * When an "exec" insn failed after modifying the index and/or the working
131 tree during "rebase -i", we now check and warn that the changes need to
132 be cleaned up.
133 (merge 1686519a mm/rebase-i-exec-edit later to maint).
134
135 * "gitweb" used to produce a non-working link while showing the contents
136 of a blob, when JavaScript actions are enabled.
137 (merge 2b07ff3ff ps/gitweb-js-with-lineno later to maint).
138
139 ---
140 exec >/var/tmp/1
141 O=v1.7.7-212-g4909bbe
142 echo O=$(git describe --always master)
143 git log --first-parent --oneline --reverse ^$O master
144 echo
145 git shortlog --no-merges ^$O master