@@ -25,6 +25,15 @@ UI, Workflows & Features
2525
2626Performance, Internal Implementation, etc.
2727
28+ * The API to manipulate the "refs" is currently undergoing a revamp
29+ to make it more transactional, with the eventual goal to allow
30+ all-or-none atomic updates and migrating the storage to something
31+ other than the traditional filesystem based one (e.g. databases).
32+
33+ * We no longer attempt to keep track of individual dependencies to
34+ the header files in the build procedure, relying on automated
35+ dependency generation support from modern compilers.
36+
2837 * In tests, we have been using NOT_{MINGW,CYGWIN} test prerequisites
2938 long before negated prerequisites e.g. !MINGW were invented.
3039 The former has been converted to the latter to avoid confusion.
@@ -37,12 +46,25 @@ Performance, Internal Implementation, etc.
3746 to update the file again while still holding the lock, but the
3847 lockfile API lacked support for such an access pattern.
3948
49+ * The API to allocate the structure to keep track of commit
50+ decoration has been updated to make it less cumbersome to use.
51+
4052 * An in-core caching layer to let us avoid reading the same
41- configuration files number of times has been added.
53+ configuration files number of times has been added. A few commands
54+ have been converted to use this subsystem.
4255
4356 * Various code paths have been cleaned up and simplified by using
4457 "strbuf", "starts_with()", and "skip_prefix()" APIs more.
4558
59+ * A few codepaths that died when large blobs that would not fit in
60+ core are involved in their operation have been taught to punt
61+ instead, by e.g. marking too large a blob as not to be diffed.
62+
63+ * A few more code paths in "commit" and "checkout" have been taught
64+ to repopulate the cache-tree in the index, to help speed up later
65+ "write-tree" (used in "commit") and "diff-index --cached" (used in
66+ "status").
67+
4668
4769Also contains various documentation updates and code clean-ups.
4870
@@ -89,3 +111,22 @@ notes for details).
89111
90112 * Pack-protocol documentation had a minor typo.
91113 (merge 5d146f7 sp/pack-protocol-doc-on-shallow later to maint).
114+
115+ * "git checkout -m" did not switch to another branch while carrying
116+ the local changes forward when a path was deleted from the index.
117+ (merge 6a143aa jn/unpack-trees-checkout-m-carry-deletion later to maint).
118+
119+ * With sufficiently long refnames, "git fast-import" could have
120+ overflown an on-stack buffer.
121+ (merge c252785 jk/fast-import-fixes later to maint).
122+
123+ * After "pack-refs --prune" packed refs at the top-level, it failed
124+ to prune them.
125+ (merge afd11d3 jk/prune-top-level-refs-after-packing later to maint).
126+
127+ * Progress output from "git gc --auto" was visible in "git fetch -q".
128+ (merge 6fceed3 nd/fetch-pass-quiet-to-gc-child-process later to maint).
129+
130+ * We used to pass -1000 to poll(2), expecting it to also mean "no
131+ timeout", which should be spelled as -1.
132+ (merge 6c71f8b et/spell-poll-infinite-with-minus-one-only later to maint).
0 commit comments