@@ -25,6 +25,15 @@ UI, Workflows & Features
25
25
26
26
Performance, Internal Implementation, etc.
27
27
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
+
28
37
* In tests, we have been using NOT_{MINGW,CYGWIN} test prerequisites
29
38
long before negated prerequisites e.g. !MINGW were invented.
30
39
The former has been converted to the latter to avoid confusion.
@@ -37,12 +46,25 @@ Performance, Internal Implementation, etc.
37
46
to update the file again while still holding the lock, but the
38
47
lockfile API lacked support for such an access pattern.
39
48
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
+
40
52
* 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.
42
55
43
56
* Various code paths have been cleaned up and simplified by using
44
57
"strbuf", "starts_with()", and "skip_prefix()" APIs more.
45
58
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
+
46
68
47
69
Also contains various documentation updates and code clean-ups.
48
70
@@ -89,3 +111,22 @@ notes for details).
89
111
90
112
* Pack-protocol documentation had a minor typo.
91
113
(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