What's cooking (2016/06 #07)

Junio C Hamano committed Jun 20, 2016 at 16:10 UTC d6a57baca053aedeeedaf5813ea7cd2a85a7947e
1 file changed +287 -288
whats-cooking.txt
+287 -288
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Jun 2016, #06; Sun, 19)
4 -X-master-at: 05219a1276341e72d8082d76b7f5ed394b7437a4
5 -X-next-at: 3dc84b0c19932ec9947ca4936b6bfd6421ccb1b4
3 +Subject: What's cooking in git.git (Jun 2016, #07; Mon, 20)
4 +X-master-at: ab7797dbe95fff38d9265869ea367020046db118
5 +X-next-at: 4f205b8d7f8a436ff26120f4bf35d0ce5f463867
6
7 -What's cooking in git.git (Jun 2016, #06; Sun, 19)
7 +What's cooking in git.git (Jun 2016, #07; Mon, 20)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -12,15 +12,137 @@ Here are the topics that have been cooking. Commits prefixed with
12 '+' are in 'next'. The ones marked with '.' do not appear in any of
13 the integration branches, but I am still holding onto them.
14
15 -The tip of 'next' will be rewound and rebuilt, soon after the topics
16 -that have been cooking graduates to 'master', which in turn will
17 -happen RSN.
15 +The first batch for this cycle has been merged to 'master', the tip
16 +of 'next' has been rewound and rebuilt, while a few topics are
17 +temporarily ejected from 'next'.
18
19 You can find the changes described here in the integration branches
20 of the repositories listed at
21
22 http://git-blame.blogspot.com/p/git-public-repositories.html
23
24 +--------------------------------------------------
25 +[Graduated to "master"]
26 +
27 +* ah/no-verify-signature-with-pull-rebase (2016-05-20) 1 commit
28 + (merged to 'next' on 2016-05-31 at 30add83)
29 + + pull: warn on --verify-signatures with --rebase
30 +
31 + "git pull --rebase --verify-signature" learned to warn the user
32 + that "--verify-signature" is a no-op when rebasing.
33 +
34 +
35 +* aq/upload-pack-use-parse-options (2016-05-31) 1 commit
36 + (merged to 'next' on 2016-06-06 at 505f1ee)
37 + + upload-pack.c: use parse-options API
38 +
39 + "git upload-pack" command has been updated to use the parse-options
40 + API.
41 +
42 +
43 +* et/pretty-format-c-auto (2016-05-27) 1 commit
44 + (merged to 'next' on 2016-05-31 at 1e9c920)
45 + + format_commit_message: honor `color=auto` for `%C(auto)`
46 +
47 + The commands in `git log` family take %C(auto) in a custom format
48 + string. This unconditionally turned the color on, ignoring
49 + --no-color or with --color=auto when the output is not connected to
50 + a tty; this was corrected to make the format truly behave as
51 + "auto".
52 +
53 +
54 +* ew/daemon-socket-keepalive (2016-05-25) 1 commit
55 + (merged to 'next' on 2016-05-31 at c32acf1)
56 + + daemon: enable SO_KEEPALIVE for all sockets
57 +
58 + When "git daemon" is run without --[init-]timeout specified, a
59 + connection from a client that silently goes offline can hang around
60 + for a long time, wasting resources. The socket-level KEEPALIVE has
61 + been enabled to allow the OS to notice such failed connections.
62 +
63 +
64 +* ew/fast-import-unpack-limit (2016-05-29) 2 commits
65 + (merged to 'next' on 2016-05-29 at af32aba)
66 + + fast-import: invalidate pack_id references after loosening
67 + (merged to 'next' on 2016-05-11 at ffd4efb)
68 + + fast-import: implement unpack limit
69 +
70 + "git fast-import" learned the same performance trick to avoid
71 + creating too small a packfile as "git fetch" and "git push" have,
72 + using *.unpackLimit configuration.
73 +
74 +
75 +* jc/clear-pathspec (2016-06-02) 1 commit
76 + (merged to 'next' on 2016-06-06 at 9e7e291)
77 + + pathspec: rename free_pathspec() to clear_pathspec()
78 +
79 + We usually call a function that clears the contents a data
80 + structure X without freeing the structure itself clear_X(), and
81 + call a function that does clear_X() and also frees it free_X().
82 + free_pathspec() function has been renamed to clear_pathspec()
83 + to avoid confusion.
84 +
85 +
86 +* jg/dash-is-last-branch-in-worktree-add (2016-05-31) 1 commit
87 + (merged to 'next' on 2016-06-02 at 3959ef6)
88 + + worktree: allow "-" short-hand for @{-1} in add command
89 +
90 + "git worktree add" learned that '-' can be used as a short-hand for
91 + "@{-1}", the previous branch.
92 +
93 +
94 +* jk/rev-list-count-with-bitmap (2016-06-03) 2 commits
95 + (merged to 'next' on 2016-06-06 at dd9b30f)
96 + + rev-list: disable bitmaps when "-n" is used with listing objects
97 + + rev-list: "adjust" results of "--count --use-bitmap-index -n"
98 +
99 + "git rev-list --count" whose walk-length is limited with "-n"
100 + option did not work well with the counting optimized to look at the
101 + bitmap index.
102 +
103 +
104 +* rs/xdiff-hunk-with-func-line (2016-06-09) 9 commits
105 + (merged to 'next' on 2016-06-10 at 9ff9ba8)
106 + + xdiff: fix merging of appended hunk with -W
107 + (merged to 'next' on 2016-06-02 at 0c2e335)
108 + + grep: -W: don't extend context to trailing empty lines
109 + + t7810: add test for grep -W and trailing empty context lines
110 + + xdiff: don't trim common tail with -W
111 + + xdiff: -W: don't include common trailing empty lines in context
112 + + xdiff: ignore empty lines before added functions with -W
113 + + xdiff: handle appended chunks better with -W
114 + + xdiff: factor out match_func_rec()
115 + + t4051: rewrite, add more tests
116 +
117 + "git show -W" (extend hunks to cover the entire function, delimited
118 + by lines that match the "funcname" pattern) used to show the entire
119 + file when a change added an entire function at the end of the file,
120 + which has been fixed.
121 +
122 +
123 +* sb/submodule-misc-cleanups (2016-05-25) 1 commit
124 + (merged to 'next' on 2016-05-31 at 0d07b9c)
125 + + submodule update: make use of the existing fetch_in_submodule function
126 +
127 + Minor simplification.
128 +
129 +
130 +* sb/submodule-recommend-shallowness (2016-05-27) 2 commits
131 + (merged to 'next' on 2016-05-31 at 1ee161c)
132 + + submodule update: learn `--[no-]recommend-shallow` option
133 + + submodule-config: keep shallow recommendation around
134 + (this branch is used by sb/submodule-clone-retry.)
135 +
136 + An upstream project can make a recommendation to shallowly clone
137 + some submodules in the .gitmodules file it ships.
138 +
139 +
140 +* wd/userdiff-css (2016-06-03) 1 commit
141 + (merged to 'next' on 2016-06-06 at 536102f)
142 + + userdiff: add built-in pattern for CSS
143 +
144 + Update the funcname definition to support css files.
145 +
146 --------------------------------------------------
147 [New Topics]
148
@@ -42,6 +164,8 @@ of the repositories listed at
164 Formats of the various data (and how to validate them) where we use
165 GPG signature have been documented.
166
167 + Will merge to 'next'.
168 +
169
170 * jk/string-list-static-init (2016-06-13) 2 commits
171 - use string_list initializer consistently
@@ -56,12 +180,12 @@ of the repositories listed at
180 Will merge to 'next'.
181
182
59 -* mh/ref-store (2016-06-07) 38 commits
183 +* mh/ref-store (2016-06-20) 38 commits
184 - refs: implement iteration over only per-worktree refs
185 - refs: make lock generic
186 - refs: add method to rename refs
187 - refs: add methods to init refs db
64 - - refs: add method for delete_refs
188 + - refs: make delete_refs() virtual
189 - refs: add method for initial ref transaction commit
190 - refs: add methods for reflog
191 - refs: add method iterator_begin
@@ -97,11 +221,13 @@ of the repositories listed at
221 - resolve_gitlink_ref(): eliminate temporary variable
222 (this branch uses mh/ref-iterators and mh/split-under-lock; is tangled with mh/update-ref-errors.)
223
100 - As mh/split-under-lock will be replaced, this needs to be rebuilt
101 - on top.
224 + The ref-store abstraction was introduced to the refs API so that we
225 + can plug in different backends to store references.
226
227 + Rebased on top of mh/split-under-lock.
228
104 -* mh/update-ref-errors (2016-06-10) 6 commits
229 +
230 +* mh/update-ref-errors (2016-06-20) 6 commits
231 - lock_ref_for_update(): avoid a symref resolution
232 - lock_ref_for_update(): make error handling more uniform
233 - t1404: add more tests of update-ref error handling
@@ -110,8 +236,10 @@ of the repositories listed at
236 - t1404: rename file to t1404-update-ref-errors.sh
237 (this branch uses mh/split-under-lock; is tangled with mh/ref-iterators and mh/ref-store.)
238
113 - As mh/split-under-lock will be replaced, this needs to be rebuilt
114 - on top.
239 + Error handling in the codepaths that updates refs has been
240 + improved.
241 +
242 + Rebased on top of mh/split-under-lock.
243
244
245 * jh/clean-smudge-annex (2016-06-17) 5 commits
@@ -140,7 +268,7 @@ of the repositories listed at
268 Will merge to 'next'.
269
270
143 -* sb/clone-shallow-passthru (2016-06-19) 1 commit
271 +* sb/clone-shallow-passthru (2016-06-20) 1 commit
272 - clone: do not let --depth imply --shallow-submodules
273
274 Fix an unintended regression in v2.9 that breaks "clone --depth"
@@ -148,6 +276,66 @@ of the repositories listed at
276 be cloned shallowly, which many server instances that host upstream
277 of the submodules are not prepared for.
278
279 + Will merge to 'next'.
280 +
281 +
282 +* js/find-commit-subject-ignore-leading-blanks (2016-06-20) 1 commit
283 + - commit: make find_commit_subject() more robust
284 +
285 +
286 +* js/log-diff-to-non-stdout (2016-06-20) 8 commits
287 + - SQUASH???
288 + - format-patch: use stdout directly
289 + - format-patch: avoid freopen()
290 + - format-patch: explicitly switch off color when writing to files
291 + - shortlog: support outputting to streams other than stdout
292 + - graph: respect the diffopt.file setting
293 + - line-log: respect diffopt's configured output file stream
294 + - log-tree: respect diffopt's configured output file stream
295 +
296 + The commands in the "log/diff" family had an optional FILE* pointer
297 + in the data structure they pass around for a long time, but some
298 + codepaths used to always write to the standard output. As a
299 + preparatory step to make "git format-patch" available to the
300 + internal callers, these codepaths have been updated to consistently
301 + write into that FILE* instead.
302 +
303 +
304 +* js/mingw-parameter-less-c-functions (2016-06-20) 1 commit
305 + - mingw: let the build succeed with DEVELOPER=1
306 +
307 + Some platform-specific code had non-ANSI strict declarations of C
308 + functions that do not take any parameters, which has been
309 + corrected.
310 +
311 + Will merge to 'next'.
312 +
313 +
314 +* bc/cocci (2016-06-20) 8 commits
315 + - merge-recursive: convert merge_recursive_generic to object_id
316 + - merge-recursive: convert leaf functions to use struct object_id
317 + - merge-recursive: convert struct merge_file_info to object_id
318 + - merge-recursive: convert struct stage_data to use object_id
319 + - diff: rename struct diff_filespec's sha1_valid member
320 + - diff: convert struct diff_filespec to struct object_id
321 + - coccinelle: apply object_id Coccinelle transformations
322 + - contrib/coccinelle: add basic Coccinelle transforms
323 +
324 + Conversion from unsigned char sha1[20] to struct object_id
325 + continues.
326 +
327 +
328 +* jk/tzoffset-fix (2016-06-20) 3 commits
329 + - local_tzoffset: detect errors from tm_to_time_t
330 + - t0006: test various date formats
331 + - t0006: rename test-date's "show" to "relative"
332 +
333 + The internal code used to show local timezone offset is not
334 + prepared to handle timestamps beyond year 2100, and gave a
335 + bogus offset value to the caller. Use a more benign looking
336 + +0000 instead and let "git log" going in such a case, instead
337 + of aborting.
338 +
339 --------------------------------------------------
340 [Stalled]
341
@@ -443,7 +631,6 @@ of the repositories listed at
631 * sb/submodule-clone-retry (2016-06-13) 2 commits
632 - submodule update: continue when a clone fails
633 - submodule--helper: initial clone learns retry logic
446 - (this branch uses sb/submodule-recommend-shallowness.)
634
635 "git submodule update" that drives many "git clone" could
636 eventually hit flaky servers/network conditions on one of the
@@ -563,17 +750,6 @@ of the repositories listed at
750 Will merge to 'next'.
751
752
566 -* wd/userdiff-css (2016-06-03) 1 commit
567 - (merged to 'next' on 2016-06-06 at 536102f)
568 - + userdiff: add built-in pattern for CSS
569 -
570 - Originally merged to 'next' on 2016-06-06
571 -
572 - Update the funcname definition to support css files.
573 -
574 - Will merge to 'master'.
575 -
576 -
753 * jc/attr-more (2016-06-09) 8 commits
754 - attr.c: outline the future plans by heavily commenting
755 - attr.c: always pass check[] to collect_some_attrs()
@@ -591,46 +767,26 @@ of the repositories listed at
767 Needs to be redone.
768
769
594 -* jk/rev-list-count-with-bitmap (2016-06-03) 2 commits
595 - (merged to 'next' on 2016-06-06 at dd9b30f)
596 - + rev-list: disable bitmaps when "-n" is used with listing objects
597 - + rev-list: "adjust" results of "--count --use-bitmap-index -n"
598 -
599 - Originally merged to 'next' on 2016-06-06
600 -
601 - "git rev-list --count" whose walk-length is limited with "-n"
602 - option did not work well with the counting optimized to look at the
603 - bitmap index.
604 -
605 - Will merge to 'master'.
606 -
607 -
608 -* mh/ref-iterators (2016-06-03) 13 commits
609 - (merged to 'next' on 2016-06-06 at c8e79dc)
610 - + for_each_reflog(): reimplement using iterators
611 - + dir_iterator: new API for iterating over a directory tree
612 - + for_each_reflog(): don't abort for bad references
613 - + do_for_each_ref(): reimplement using reference iteration
614 - + refs: introduce an iterator interface
615 - + ref_resolves_to_object(): new function
616 - + entry_resolves_to_object(): rename function from ref_resolves_to_object()
617 - + get_ref_cache(): only create an instance if there is a submodule
618 - + remote rm: handle symbolic refs correctly
619 - + delete_refs(): add a flags argument
620 - + refs: use name "prefix" consistently
621 - + do_for_each_ref(): move docstring to the header file
622 - + refs: remove unnecessary "extern" keywords
770 +* mh/ref-iterators (2016-06-20) 13 commits
771 + - for_each_reflog(): reimplement using iterators
772 + - dir_iterator: new API for iterating over a directory tree
773 + - for_each_reflog(): don't abort for bad references
774 + - do_for_each_ref(): reimplement using reference iteration
775 + - refs: introduce an iterator interface
776 + - ref_resolves_to_object(): new function
777 + - entry_resolves_to_object(): rename function from ref_resolves_to_object()
778 + - get_ref_cache(): only create an instance if there is a submodule
779 + - remote rm: handle symbolic refs correctly
780 + - delete_refs(): add a flags argument
781 + - refs: use name "prefix" consistently
782 + - do_for_each_ref(): move docstring to the header file
783 + - refs: remove unnecessary "extern" keywords
784 (this branch is used by mh/ref-store; uses mh/split-under-lock; is tangled with mh/update-ref-errors.)
785
625 - Originally merged to 'next' on 2016-06-06
626 -
786 The API to iterate over all the refs (i.e. for_each_ref(), etc.)
787 has been revamped.
788
630 - As mh/split-under-lock will be replaced, this needs to be rebuilt
631 - on top.
632 -
633 - Will eject from 'next'.
789 + Rebased on top of mh/split-under-lock.
790
791
792 * ew/mboxrd-format-am (2016-06-06) 3 commits
@@ -744,47 +900,6 @@ of the repositories listed at
900 Will merge to 'next'???
901
902
747 -* aq/upload-pack-use-parse-options (2016-05-31) 1 commit
748 - (merged to 'next' on 2016-06-06 at 505f1ee)
749 - + upload-pack.c: use parse-options API
750 -
751 - Originally merged to 'next' on 2016-06-06
752 -
753 - "git upload-pack" command has been updated to use the parse-options
754 - API.
755 -
756 - Will merge to 'master'.
757 -
758 -
759 -* jc/clear-pathspec (2016-06-02) 1 commit
760 - (merged to 'next' on 2016-06-06 at 9e7e291)
761 - + pathspec: rename free_pathspec() to clear_pathspec()
762 -
763 - Originally merged to 'next' on 2016-06-06
764 -
765 - We usually call a function that clears the contents a data
766 - structure X without freeing the structure itself clear_X(), and
767 - call a function that does clear_X() and also frees it free_X().
768 - free_pathspec() function has been renamed to clear_pathspec()
769 - to avoid confusion.
770 -
771 - Will merge to 'master'.
772 -
773 -
774 -* sb/submodule-recommend-shallowness (2016-05-27) 2 commits
775 - (merged to 'next' on 2016-05-31 at 1ee161c)
776 - + submodule update: learn `--[no-]recommend-shallow` option
777 - + submodule-config: keep shallow recommendation around
778 - (this branch is used by sb/submodule-clone-retry.)
779 -
780 - Originally merged to 'next' on 2016-05-31
781 -
782 - An upstream project can make a recommendation to make only a
783 - shallow clone for some submodules in the .gitmodules file it ship.
784 -
785 - Will merge to 'master'.
786 -
787 -
903 * tb/convert-peek-in-index (2016-06-07) 3 commits
904 - correct ce_compare_data() in a middle of a merge
905 - read-cache: factor out get_sha1_from_index() helper
@@ -842,18 +957,6 @@ of the repositories listed at
957 Will merge to 'next'.
958
959
845 -* jg/dash-is-last-branch-in-worktree-add (2016-05-31) 1 commit
846 - (merged to 'next' on 2016-06-02 at 3959ef6)
847 - + worktree: allow "-" short-hand for @{-1} in add command
848 -
849 - Originally merged to 'next' on 2016-06-02
850 -
851 - "git worktree add" learned that '-' can be used as a short-hand for
852 - "@{-1}", the previous branch.
853 -
854 - Will merge to 'master'.
855 -
856 -
960 * dk/blame-move-no-reason-for-1-line-context (2016-05-29) 1 commit
961 - blame: require 0 context lines while finding moved lines with -M
962
@@ -880,34 +983,6 @@ of the repositories listed at
983 If so, will merge to 'next'.
984
985
883 -* et/pretty-format-c-auto (2016-05-27) 1 commit
884 - (merged to 'next' on 2016-05-31 at 1e9c920)
885 - + format_commit_message: honor `color=auto` for `%C(auto)`
886 -
887 - Originally merged to 'next' on 2016-05-31
888 -
889 - %C(auto) in a custom format string that commands in `git log`
890 - family takes unconditionally turned the color on, ignoring
891 - --no-color or --color=auto with output not connected to a tty;
892 - this was corrected to make the format truly behave as "auto".
893 -
894 - Will merge to 'master'.
895 -
896 -
897 -* ew/daemon-socket-keepalive (2016-05-25) 1 commit
898 - (merged to 'next' on 2016-05-31 at c32acf1)
899 - + daemon: enable SO_KEEPALIVE for all sockets
900 -
901 - Originally merged to 'next' on 2016-05-31
902 -
903 - When "git daemon" is run without --[init-]timeout specified, a
904 - connection from a client that silently goes offline can hang around
905 - for a long time, wasting resources. The socket-level KEEPALIVE has
906 - been enabled to allow the OS to notice such failed connections.
907 -
908 - Will merge to 'master'.
909 -
910 -
986 * jk/upload-pack-hook (2016-06-02) 7 commits
987 - upload-pack: provide a hook for running pack-objects
988 - t1308: do not get fooled by symbolic links to the source tree
@@ -923,65 +998,16 @@ of the repositories listed at
998 Will merge to 'next'.
999
1000
926 -* rs/xdiff-hunk-with-func-line (2016-06-09) 9 commits
927 - (merged to 'next' on 2016-06-10 at 9ff9ba8)
928 - + xdiff: fix merging of appended hunk with -W
929 - (merged to 'next' on 2016-06-02 at 0c2e335)
930 - + grep: -W: don't extend context to trailing empty lines
931 - + t7810: add test for grep -W and trailing empty context lines
932 - + xdiff: don't trim common tail with -W
933 - + xdiff: -W: don't include common trailing empty lines in context
934 - + xdiff: ignore empty lines before added functions with -W
935 - + xdiff: handle appended chunks better with -W
936 - + xdiff: factor out match_func_rec()
937 - + t4051: rewrite, add more tests
938 -
939 - Originally merged to 'next' on 2016-06-10
940 -
941 - "git show -W" (extend hunks to cover the entire function, delimited
942 - by lines that match the "funcname" pattern) used to show the entire
943 - file when a change added an entire function at the end of the file,
944 - which has been fixed.
945 -
946 - Will merge to 'master'.
947 -
948 -
949 -* sb/submodule-misc-cleanups (2016-05-25) 1 commit
950 - (merged to 'next' on 2016-05-31 at 0d07b9c)
951 - + submodule update: make use of the existing fetch_in_submodule function
952 -
953 - Originally merged to 'next' on 2016-05-31
954 -
955 - Minor simplification.
956 -
957 - Will merge to 'master'.
958 -
959 -
960 -* sb/submodule-default-paths (2016-06-14) 8 commits
1001 +* sb/submodule-default-paths (2016-06-20) 5 commits
1002 - completion: clone can recurse into submodules
1003 - clone: add --init-submodule=<pathspec> switch
1004 - submodule update: add `--init-default-path` switch
1005 - Merge branch 'sb/pathspec-label' into sb/submodule-default-paths
1006 - Merge branch 'jc/attr' into sb/submodule-default-paths
966 - - Merge branch 'sb/clone-shallow-passthru' into sb/submodule-default-paths
967 - - Merge branch 'sb/submodule-deinit-all' into sb/submodule-default-paths
968 - - Merge branch 'sb/submodule-parallel-update' into sb/submodule-default-paths
1007 (this branch uses jc/attr and sb/pathspec-label; is tangled with jc/attr-more.)
1008
971 - Will hold.
972 - The jc/attr topic that this depends on needs to be redone.
973 -
974 -
975 -* ah/no-verify-signature-with-pull-rebase (2016-05-20) 1 commit
976 - (merged to 'next' on 2016-05-31 at 30add83)
977 - + pull: warn on --verify-signatures with --rebase
978 -
979 - Originally merged to 'next' on 2016-05-31
980 -
981 - "git pull --rebase --verify-signature" learned to warn the user
982 - that "--verify-signature" is a no-op.
983 -
984 - Will merge to 'master'.
1009 + Allow specifying the set of submodules the user is interested in on
1010 + the command line of "git clone" that clones the superproject.
1011
1012
1013 * ep/http-curl-trace (2016-05-24) 2 commits
@@ -995,40 +1021,39 @@ of the repositories listed at
1021
1022
1023 * jc/attr (2016-05-25) 18 commits
998 - (merged to 'next' on 2016-05-31 at 5b2f08b)
999 - + attr: support quoting pathname patterns in C style
1000 - + attr: expose validity check for attribute names
1001 - + attr: add counted string version of git_attr()
1002 - + attr: add counted string version of git_check_attr()
1003 - + attr: retire git_check_attrs() API
1004 - + attr: convert git_check_attrs() callers to use the new API
1005 - + attr: convert git_all_attrs() to use "struct git_attr_check"
1006 - + attr: (re)introduce git_check_attr() and struct git_attr_check
1007 - + attr: rename function and struct related to checking attributes
1008 - + attr.c: plug small leak in parse_attr_line()
1009 - + attr.c: tighten constness around "git_attr" structure
1010 - + attr.c: simplify macroexpand_one()
1011 - + attr.c: mark where #if DEBUG ends more clearly
1012 - + attr.c: complete a sentence in a comment
1013 - + attr.c: explain the lack of attr-name syntax check in parse_attr()
1014 - + attr.c: update a stale comment on "struct match_attr"
1015 - + attr.c: use strchrnul() to scan for one line
1016 - + commit.c: use strchrnul() to scan for one line
1024 + - attr: support quoting pathname patterns in C style
1025 + - attr: expose validity check for attribute names
1026 + - attr: add counted string version of git_attr()
1027 + - attr: add counted string version of git_check_attr()
1028 + - attr: retire git_check_attrs() API
1029 + - attr: convert git_check_attrs() callers to use the new API
1030 + - attr: convert git_all_attrs() to use "struct git_attr_check"
1031 + - attr: (re)introduce git_check_attr() and struct git_attr_check
1032 + - attr: rename function and struct related to checking attributes
1033 + - attr.c: plug small leak in parse_attr_line()
1034 + - attr.c: tighten constness around "git_attr" structure
1035 + - attr.c: simplify macroexpand_one()
1036 + - attr.c: mark where #if DEBUG ends more clearly
1037 + - attr.c: complete a sentence in a comment
1038 + - attr.c: explain the lack of attr-name syntax check in parse_attr()
1039 + - attr.c: update a stale comment on "struct match_attr"
1040 + - attr.c: use strchrnul() to scan for one line
1041 + - commit.c: use strchrnul() to scan for one line
1042 (this branch is used by jc/attr-more, sb/pathspec-label and sb/submodule-default-paths.)
1043
1019 - Originally merged to 'next' on 2016-05-31
1020 -
1044 The attributes API has been updated so that it can later be
1045 optimized using the knowledge of which attributes are queried.
1046
1024 - Will eject from 'next'.
1025 - The updated API needs further rethinking.
1047 + I wanted to polish this topic further to make the attribute
1048 + subsystem thread-ready, but because other topics depend on this
1049 + topic and they do not (yet) need it to be thread-ready, let's merge
1050 + this early part together with the dependent topics to 'next', and
1051 + back-burner the threading enhancement to another day.
1052
1053
1054 * cc/apply-introduce-state (2016-06-06) 50 commits
1029 - (merged to 'next' on 2016-06-06 at 9f6bdcb)
1055 + (merged to 'next' on 2016-06-20 at 4f205b8)
1056 + builtin/apply: remove misleading comment on lock_file field
1031 - (merged to 'next' on 2016-06-03 at 1ab0cf9)
1057 + builtin/apply: move 'newfd' global into 'struct apply_state'
1058 + builtin/apply: add 'lock_file' pointer into 'struct apply_state'
1059 + builtin/apply: move applying patches into apply_all_patches()
@@ -1092,7 +1117,7 @@ of the repositories listed at
1117 review the above first and give the remainder of the series a solid
1118 base to build on.
1119
1095 - Will hold.
1120 + Will merge to 'master'.
1121
1122
1123 * pb/bisect (2016-05-24) 3 commits
@@ -1108,27 +1133,20 @@ of the repositories listed at
1133
1134
1135 * sb/pathspec-label (2016-06-03) 6 commits
1111 - (merged to 'next' on 2016-06-03 at 362f097)
1112 - + pathspec: disable preload-index when attribute pathspec magic is in use
1113 - + pathspec: allow escaped query values
1114 - (merged to 'next' on 2016-05-31 at e72b604)
1115 - + pathspec: allow querying for attributes
1116 - + pathspec: move prefix check out of the inner loop
1117 - + pathspec: move long magic parsing out of prefix_pathspec
1118 - + Documentation: fix a typo
1136 + - pathspec: disable preload-index when attribute pathspec magic is in use
1137 + - pathspec: allow escaped query values
1138 + - pathspec: allow querying for attributes
1139 + - pathspec: move prefix check out of the inner loop
1140 + - pathspec: move long magic parsing out of prefix_pathspec
1141 + - Documentation: fix a typo
1142 (this branch is used by sb/submodule-default-paths; uses jc/attr; is tangled with jc/attr-more.)
1143
1121 - Originally merged to 'next' on 2016-06-03
1122 -
1144 The pathspec mechanism learned ":(attr:X)$pattern" pathspec magic
1145 to limit paths that match $pattern further by attribute settings.
1146 The preload-index mechanism is disabled when the new pathspec magic
1147 is in use (at least for now), because the attribute subsystem is
1148 not thread-ready.
1149
1129 - Will eject from 'next'.
1130 - The jc/attr topic that this depends on needs to be redone.
1131 -
1150
1151 * nd/worktree-cleanup-post-head-protection (2016-05-24) 6 commits
1152 - worktree: simplify prefixing paths
@@ -1144,65 +1162,46 @@ of the repositories listed at
1162 Will merge to 'next'.
1163
1164
1147 -* mh/split-under-lock (2016-05-13) 33 commits
1148 - (merged to 'next' on 2016-06-03 at 2e71330)
1149 - + lock_ref_sha1_basic(): only handle REF_NODEREF mode
1150 - + commit_ref_update(): remove the flags parameter
1151 - + lock_ref_for_update(): don't resolve symrefs
1152 - + lock_ref_for_update(): don't re-read non-symbolic references
1153 - + refs: resolve symbolic refs first
1154 - + ref_transaction_update(): check refname_is_safe() at a minimum
1155 - + unlock_ref(): move definition higher in the file
1156 - + lock_ref_for_update(): new function
1157 - + add_update(): initialize the whole ref_update
1158 - + verify_refname_available(): adjust constness in declaration
1159 - + refs: don't dereference on rename
1160 - + refs: allow log-only updates
1161 - + delete_branches(): use resolve_refdup()
1162 - + ref_transaction_commit(): correctly report close_ref() failure
1163 - + ref_transaction_create(): disallow recursive pruning
1164 - + refs: make error messages more consistent
1165 - + lock_ref_sha1_basic(): remove unneeded local variable
1166 - + read_raw_ref(): move docstring to header file
1167 - + read_raw_ref(): improve docstring
1168 - + read_raw_ref(): rename symref argument to referent
1169 - + read_raw_ref(): clear *type at start of function
1170 - + read_raw_ref(): rename flags argument to type
1171 - + ref_transaction_commit(): remove local variable n
1172 - + rename_ref(): remove unneeded local variable
1173 - + commit_ref_update(): write error message to *err, not stderr
1174 - + refname_is_safe(): insist that the refname already be normalized
1175 - + refname_is_safe(): don't allow the empty string
1176 - + refname_is_safe(): use skip_prefix()
1177 - + remove_dir_recursively(): add docstring
1178 - + safe_create_leading_directories(): improve docstring
1179 - + read_raw_ref(): don't get confused by an empty directory
1180 - + commit_ref(): if there is an empty dir in the way, delete it
1181 - + t1404: demonstrate a bug resolving references
1165 +* mh/split-under-lock (2016-06-13) 33 commits
1166 + - lock_ref_sha1_basic(): only handle REF_NODEREF mode
1167 + - commit_ref_update(): remove the flags parameter
1168 + - lock_ref_for_update(): don't resolve symrefs
1169 + - lock_ref_for_update(): don't re-read non-symbolic references
1170 + - refs: resolve symbolic refs first
1171 + - ref_transaction_update(): check refname_is_safe() at a minimum
1172 + - unlock_ref(): move definition higher in the file
1173 + - lock_ref_for_update(): new function
1174 + - add_update(): initialize the whole ref_update
1175 + - verify_refname_available(): adjust constness in declaration
1176 + - refs: don't dereference on rename
1177 + - refs: allow log-only updates
1178 + - delete_branches(): use resolve_refdup()
1179 + - ref_transaction_commit(): correctly report close_ref() failure
1180 + - ref_transaction_create(): disallow recursive pruning
1181 + - refs: make error messages more consistent
1182 + - lock_ref_sha1_basic(): remove unneeded local variable
1183 + - read_raw_ref(): move docstring to header file
1184 + - read_raw_ref(): improve docstring
1185 + - read_raw_ref(): rename symref argument to referent
1186 + - read_raw_ref(): clear *type at start of function
1187 + - read_raw_ref(): rename flags argument to type
1188 + - ref_transaction_commit(): remove local variables n and updates
1189 + - rename_ref(): remove unneeded local variable
1190 + - commit_ref_update(): write error message to *err, not stderr
1191 + - refname_is_safe(): insist that the refname already be normalized
1192 + - refname_is_safe(): don't allow the empty string
1193 + - refname_is_safe(): use skip_prefix()
1194 + - remove_dir_recursively(): add docstring
1195 + - safe_create_leading_directories(): improve docstring
1196 + - read_raw_ref(): don't get confused by an empty directory
1197 + - commit_ref(): if there is an empty dir in the way, delete it
1198 + - t1404: demonstrate a bug resolving references
1199 (this branch is used by mh/ref-iterators, mh/ref-store and mh/update-ref-errors.)
1200
1184 - Originally merged to 'next' on 2016-06-03
1185 -
1201 Further preparatory work on the refs API before the pluggable
1202 backend series can land.
1203
1189 - Will eject from 'next'.
1190 - Will be replaced with the updated one from Michael after that.
1191 -
1192 -
1193 -* ew/fast-import-unpack-limit (2016-05-29) 2 commits
1194 - (merged to 'next' on 2016-05-29 at af32aba)
1195 - + fast-import: invalidate pack_id references after loosening
1196 - (merged to 'next' on 2016-05-11 at ffd4efb)
1197 - + fast-import: implement unpack limit
1198 -
1199 - Originally merged to 'next' on 2016-05-29
1200 -
1201 - "git fast-import" learned the same performance trick to avoid
1202 - creating too small a packfile as "git fetch" and "git push" have,
1203 - using *.unpackLimit configuration.
1204 -
1205 - Will merge to 'master'.
1204 + Replaced with a rerolled version.
1205
1206
1207 * jc/send-email-skip-backup (2016-04-12) 1 commit