What's cooking (2014/09 #01)

Junio C Hamano committed Sep 2, 2014 at 15:03 UTC 8ada99f9fd1379db936b344585c41b26a6b88308
1 file changed +424 -364
whats-cooking.txt
+424 -364
@@ -1,22 +1,17 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Aug 2014, #04; Tue, 26)
4 -X-master-at: 4109c28e055dba27d73cefb956bea5e611f66ec0
5 -X-next-at: 11be0d652a0216982fcd6503ffcadf94f8ac3fd9
3 +Subject: What's cooking in git.git (Sep 2014, #01; Tue, 2)
4 +X-master-at: 85f083786fe37f280ca30fc0b74498b22b322c6d
5 +X-next-at: 7c4bc81ba6302d4dd40821b46578580afbcdf4b5
6
7 -What's cooking in git.git (Aug 2014, #04; Tue, 26)
7 +What's cooking in git.git (Sep 2014, #01; Tue, 2)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
11 '-' are only in 'pu' (proposed updates) while commits prefixed with
12 '+' are in 'next'.
13
14 -The 'maint' branch now is for the 2.1.x maintenance track, and a few
15 -fixes for recent regressions have been merged to 'maint' and 'master'.
16 -The 'next' has been rewound, while kicking a couple of topics back
17 -to 'pu' per topic owners' requests. I still haven't caught up with
18 -new topics and rerolls that came late in the last cycle yet but
19 -hopefully I can in the coming days.
14 +The first batch of topics have graduated to 'master'.
15
16 You can find the changes described here in the integration branches
17 of the repositories listed at
@@ -26,125 +21,280 @@ of the repositories listed at
21 --------------------------------------------------
22 [Graduated to "master"]
23
29 -* jk/diff-tree-t-fix (2014-08-20) 1 commit
30 - (merged to 'next' on 2014-08-21 at 0f652d6)
31 - + intersect_paths: respect mode in git's tree-sort
24 +* bc/archive-pax-header-mode (2014-08-04) 1 commit
25 + (merged to 'next' on 2014-08-26 at 51fca1a)
26 + + archive: honor tar.umask even for pax headers
27 +
28 + Originally merged to 'next' on 2014-08-13
29 +
30 + Implementations of "tar" that do not understand an extended pax
31 + header would extract the contents of it in a regular file; make
32 + sure the permission bits of this file follows the same tar.umask
33 + configuration setting.
34 +
35 +
36 +* jc/reopen-lock-file (2014-07-14) 1 commit
37 + (merged to 'next' on 2014-08-26 at c5a5a12)
38 + + lockfile: allow reopening a closed but still locked file
39 +
40 + Originally merged to 'next' on 2014-07-21
41 +
42 + Needed in the "commit -p" code path to update the cache tree in the
43 + index (e.g. for dt/cache-tree-repair topic).
44 +
45 +
46 +* jk/pretty-empty-format (2014-07-30) 3 commits
47 + (merged to 'next' on 2014-08-26 at 1eb7cc3)
48 + + pretty: make empty userformats truly empty
49 + + pretty: treat "--format=" as an empty userformat
50 + + revision: drop useless string offset when parsing "--pretty"
51 +
52 + Originally merged to 'next' on 2014-08-13
53 +
54 + "git log --pretty/format=" with an empty format string did not mean
55 + the more obvious "No output whatsoever" but "Use default format",
56 + which was counterintuitive.
57 +
58 +
59 +* mm/config-edit-global (2014-07-25) 3 commits
60 + (merged to 'next' on 2014-08-26 at 3a47fc5)
61 + + commit: advertise config --global --edit on guessed identity
62 + + home_config_paths(): let the caller ignore xdg path
63 + + config --global --edit: create a template file if needed
64 +
65 + Originally merged to 'next' on 2014-07-31
66 +
67 + Start "git config --edit --global" from a skeletal per-user
68 + configuration file contents, instead of a total blank, when the
69 + user does not already have any. This immediately reduces the need
70 + for a later "Have you forgotten setting core.user?" and we can add
71 + more to the template as we gain more experience.
72 +
73 +
74 +* pr/remotes-in-hashmap (2014-07-30) 1 commit
75 + (merged to 'next' on 2014-08-26 at 2052a31)
76 + + use a hashmap to make remotes faster
77 +
78 + Originally merged to 'next' on 2014-08-13
79 +
80 + Optimize remotes configuration look-up in a repository with very
81 + many remotes defined.
82
33 - Fix (rarely used) "git diff-tree -t" regression in 2.0.
83
84 +* rs/init-no-duplicate-real-path (2014-07-28) 1 commit
85 + (merged to 'next' on 2014-08-26 at c66e1c4)
86 + + init: avoid superfluous real_path() calls
87
36 -* jk/fix-profile-feedback-build (2014-08-19) 1 commit
37 - (merged to 'next' on 2014-08-21 at b282021)
38 - + Makefile: make perf tests optional for profile build
88 + Originally merged to 'next' on 2014-07-31
89
40 - Fix profile-feedback build broken in 2.1 for tarball releases.
90
91 +* rs/strbuf-getcwd (2014-08-26) 10 commits
92 + (merged to 'next' on 2014-08-26 at 11be0d6)
93 + + use strbuf_add_absolute_path() to add absolute paths
94 + + abspath: convert absolute_path() to strbuf
95 + + use xgetcwd() to set $GIT_DIR
96 + + use xgetcwd() to get the current directory or die
97 + + wrapper: add xgetcwd()
98 + + abspath: convert real_path_internal() to strbuf
99 + + abspath: use strbuf_getcwd() to remember original working directory
100 + + setup: convert setup_git_directory_gently_1 et al. to strbuf
101 + + unix-sockets: use strbuf_getcwd()
102 + + strbuf: add strbuf_getcwd()
103 + (this branch is tangled with nd/lock-paths-absolute.)
104 +
105 + Originally merged to 'next' on 2014-08-18
106 +
107 + Reduce the use of fixed sized buffer passed to getcwd() calls
108 + by introducing xgetcwd() helper.
109
43 -* jk/pack-shallow-always-without-bitmap (2014-08-12) 1 commit
44 - (merged to 'next' on 2014-08-21 at e04c935)
45 - + pack-objects: turn off bitmaps when we see --shallow lines
110
47 - Reachability bitmaps do not work with shallow operations.
48 - Fixes regression in 2.0.
111 +* ta/config-set (2014-07-29) 2 commits
112 + (merged to 'next' on 2014-08-26 at 81395f9)
113 + + test-config: add tests for the config_set API
114 + + add `config_set` API for caching config-like files
115 + (this branch is used by ta/config-set-1 and ta/config-set-2.)
116 +
117 + Originally merged to 'next' on 2014-08-13
118 +
119 + Add in-core caching layer to let us avoid reading the same
120 + configuration files number of times.
121 +
122 +
123 +* ta/pretty-parse-config (2014-08-04) 1 commit
124 + (merged to 'next' on 2014-08-26 at 901e8c2)
125 + + pretty.c: make git_pretty_formats_config return -1 on git_config_string failure
126 +
127 + Originally merged to 'next' on 2014-08-13
128
129 --------------------------------------------------
130 [New Topics]
131
53 -* et/spell-poll-infinite-with-minus-one-only (2014-08-22) 1 commit
54 - - upload-pack: keep poll(2)'s timeout to -1
132 +* bb/date-iso-strict (2014-08-29) 1 commit
133 + - pretty: provide a strict ISO 8601 date format
134
56 - We used to pass -1000 to poll(2), expecting it to also mean "no
57 - timeout", which should be spelled as -1.
135
59 - Will merge to 'next'.
136 +* jk/commit-author-parsing (2014-08-29) 6 commits
137 + - determine_author_info(): copy getenv output
138 + - determine_author_info(): reuse parsing functions
139 + - date: use strbufs in date-formatting functions
140 + - record_author_date(): use find_commit_header()
141 + - record_author_date(): fix memory leak on malformed commit
142 + - commit: provide a function to find a header in a buffer
143
144
62 -* jk/make-simplify-dependencies (2014-08-25) 2 commits
63 - - Makefile: use `find` to determine static header dependencies
64 - - i18n: treat "make pot" as an explicitly-invoked target
145 +* jk/contrib-subtree-make-all (2014-08-18) 1 commit
146 + - subtree: make "all" default target of Makefile
147
66 - Admit that keeping LIB_H up-to-date, only for those that do not use
67 - the automatically generated dependencies, is a losing battle, and
68 - make it conservative by making everything depend on anything.
148
70 - Will merge to 'next'.
149 +* jk/fast-export-anonymize (2014-08-28) 2 commits
150 + - docs/fast-export: explain --anonymize more completely
151 + - teach fast-export an --anonymize option
152
153
73 -* jk/prompt-stash-could-be-packed (2014-08-25) 1 commit
74 - - git-prompt: do not look for refs/stash in $GIT_DIR
154 +* jk/index-pack-threading-races (2014-08-29) 1 commit
155 + - index-pack: fix race condition with duplicate bases
156
76 - The prompt script checked $GIT_DIR/ref/stash file to see if there
77 - is a stash, which was a no-no.
157
79 - Will merge to 'next'.
158 +* jk/send-pack-many-refspecs (2014-08-26) 1 commit
159 + - send-pack: take refspecs over stdin
160
161
82 -* jk/prune-top-level-refs-after-packing (2014-08-25) 1 commit
83 - - pack-refs: prune top-level refs like "refs/foo"
162 +* jp/index-with-corrupt-stages (2014-08-29) 2 commits
163 + - read_index_unmerged(): remove unnecessary loop index adjustment
164 + - read_index_from(): catch out of order entries when reading an index file
165
85 - After "pack-refs --prune" packed refs at the top-level, it failed
86 - to prune them.
166
88 - Will merge to 'next'.
167 +* jt/timer-settime (2014-08-29) 9 commits
168 + - use timer_settime() for new platforms
169 + - autoconf: check for timer_settime()
170 + - autoconf: check for struct itimerspec
171 + - autoconf: check for struct sigevent
172 + - autoconf: check for struct timespec
173 + - autoconf: check for timer_t
174 + - autoconf: check for setitimer()
175 + - autoconf: check for struct itimerval
176 + - git-compat-util.h: add missing semicolon after struct itimerval
177
178 + Need a rerolled one.
179
91 -* jk/fast-import-fixes (2014-08-25) 2 commits
92 - - fast-import: fix buffer overflow in dump_tags
93 - - fast-import: clean up pack_data pointer in end_packfile
180
95 - With sufficiently long refnames, fast-import could have overflown
96 - an on-stack buffer.
181 +* mb/build-contrib-svn-fe (2014-08-28) 1 commit
182 + - contrib/svn-fe: fix Makefile
183
98 - Will merge to 'next'.
184
185 +* mb/fast-import-delete-root (2014-08-29) 2 commits
186 + - fast-import: fix segfault in store_tree()
187 + - t9300: test filedelete command
188
101 -* nd/fetch-pass-quiet-to-gc-child-process (2014-08-18) 2 commits
102 - - fetch: silence git-gc if --quiet is given
103 - - fetch: convert argv_gc_auto to struct argv_array
189
105 - Progress output from "git gc --auto" was visible in "git fetch -q".
190 +* mm/discourage-commit-a-to-finish-conflict-resolution (2014-08-28) 1 commit
191 + - merge, pull: stop advising 'commit -a' in case of conflict
192
107 - Will merge to 'next'.
193
194 +* sp/pack-protocol-doc-on-shallow (2014-08-28) 1 commit
195 + (merged to 'next' on 2014-08-29 at b1ae451)
196 + + Document LF appearing in shallow command during send-pack/receive-pack
197
110 -* rs/list-optim (2014-08-25) 2 commits
111 - - walker: avoid quadratic list insertion in mark_complete
112 - - sha1_name: avoid quadratic list insertion in handle_one_ref
198 + Will merge to 'master'.
199
114 - Fix a couple of "accumulate into a sorted list" to "accumulate and
115 - then sort the list".
200
117 - Will merge to 'next'.
201 +* ah/grammofix (2014-09-02) 1 commit
202 + - grammofix in user-facing messages
203
204
120 -* sb/mailsplit-dead-code-removal (2014-08-13) 1 commit
121 - - mailsplit.c: remove dead code
205 +* da/styles (2014-09-02) 1 commit
206 + - stylefix: asterisks stick to the variable, not the type
207
123 - Will merge to 'next'.
208
209 +* da/use-rev-parse-verify-quiet-in-stash (2014-09-02) 1 commit
210 + - stash: prefer --quiet over shell redirection
211
126 -* tb/pretty-format-cd-date-format (2014-08-21) 1 commit
127 - - pretty: note that %cd respects the --date= option
212
129 - Documentation update.
213 +* mk/reachable-protect-detached-head (2014-09-02) 2 commits
214 + - SQUASH???
215 + - reachable.c: add HEAD to reachability starting commits
216
131 - Will merge to 'next'.
217
218 +* rs/furhter-uses-of-skip-prefix (2014-09-02) 2 commits
219 + - pack-write: simplify index_pack_lockfile using skip_prefix() and xstrfmt()
220 + - connect: simplify check_ref() using skip_prefix() and starts_with()
221
134 -* jk/name-decoration-alloc (2014-08-26) 3 commits
135 - - log-tree: use FLEX_ARRAY in name_decoration
136 - - log-tree: make name_decoration hash static
137 - - log-tree: make add_name_decoration a public function
222
139 - The API to allocate the structure to keep track of commit
140 - decoration was cumbersome to use, inviting lazy code to
141 - overallocate memory.
223 +* rs/merge-tree-simplify (2014-09-02) 1 commit
224 + - merge-tree: remove unused df_conflict arguments
225 +
226 +
227 +* rs/simplify-config-include (2014-09-02) 1 commit
228 + - config: simplify git_config_include()
229
143 - Will merge to 'next'.
230 +
231 +* rs/simplify-http-walker (2014-09-02) 1 commit
232 + - http-walker: simplify process_alternates_response() using strbuf
233 +
234 +
235 +* tb/crlf-tests (2014-09-02) 3 commits
236 + - MinGW: update tests to handle a native eol of crlf
237 + - Makefile: propagate NATIVE_CRLF to C
238 + - t0027: Tests for core.eol=native, eol=lf, eol=crlf
239
240 --------------------------------------------------
241 [Stalled]
242
243 +* jk/pack-bitmap (2014-08-04) 1 commit
244 + - pack-bitmap: do not use gcc packed attribute
245 +
246 + Hold, waiting for Karsten's replacement.
247 +
248 +
249 +* nd/multiple-work-trees (2014-07-29) 39 commits
250 + . checkout --to: do not touch existing target directory
251 + . checkout: prefix --to argument properly when cwd is moved
252 + . environment.c: fix incorrect git_graft_file initialization
253 + . checkout --to: fix dangling pointers in remove_junk()
254 + . checkout: no auto-detach if the ref is already checked out
255 + . prune --repos: fix uninitialized access
256 + . checkout: no need to call check_linked_checkouts if head_ref is NULL
257 + . gitrepository-layout.txt: s/ignored/ignored if/
258 + . checkout: don't require a work tree when checking out into a new one
259 + . git_path(): keep "info/sparse-checkout" per work-tree
260 + . count-objects: report unused files in $GIT_DIR/repos/...
261 + . gc: support prune --repos
262 + . gc: factor out gc.pruneexpire parsing code
263 + . gc: style change -- no SP before closing parenthesis
264 + . prune: strategies for linked checkouts
265 + . checkout: detach if the branch is already checked out elsewhere
266 + . checkout: clean up half-prepared directories in --to mode
267 + . checkout: support checking out into a new working directory
268 + . use new wrapper write_file() for simple file writing
269 + . wrapper.c: wrapper to open a file, fprintf then close
270 + . setup.c: support multi-checkout repo setup
271 + . setup.c: detect $GIT_COMMON_DIR check_repository_format_gently()
272 + . setup.c: convert check_repository_format_gently to use strbuf
273 + . setup.c: detect $GIT_COMMON_DIR in is_git_directory()
274 + . setup.c: convert is_git_directory() to use strbuf
275 + . git-stash: avoid hardcoding $GIT_DIR/logs/....
276 + . *.sh: avoid hardcoding $GIT_DIR/hooks/...
277 + . git-sh-setup.sh: use rev-parse --git-path to get $GIT_DIR/objects
278 + . $GIT_COMMON_DIR: a new environment variable
279 + . commit: use SEQ_DIR instead of hardcoding "sequencer"
280 + . fast-import: use git_path() for accessing .git dir instead of get_git_dir()
281 + . reflog: avoid constructing .lock path with git_path
282 + . *.sh: respect $GIT_INDEX_FILE
283 + . git_path(): be aware of file relocation in $GIT_DIR
284 + . path.c: group git_path(), git_pathdup() and strbuf_git_path() together
285 + . path.c: rename vsnpath() to do_git_path()
286 + . git_snpath(): retire and replace with strbuf_git_path()
287 + . path.c: make get_pathname() call sites return const char *
288 + . path.c: make get_pathname() return strbuf instead of static buffer
289 +
290 + A replacement for contrib/workdir/git-new-workdir that does not
291 + rely on symbolic links and make sharing of objects and refs safer
292 + by making the borrowee and borrowers aware of each other.
293 +
294 + Reroll posted, but haven't picked up yet. How would this interact
295 + with rr/transaction series which is pretty much all about the refs?
296 +
297 +
298 * cb/mergetool-difftool (2014-07-21) 2 commits
299 - difftool: don't assume that default sh is sane
300 - mergetool: don't require a work tree for --tool-help
@@ -155,12 +305,6 @@ of the repositories listed at
305 Will be rerolled.
306
307
158 -* ta/config-add-to-empty-or-true-fix (2014-08-18) 1 commit
159 - - make config --add behave correctly for empty and NULL values
160 -
161 - Will be rerolled.
162 -
163 -
308 * rr/mergetool-temporary-filename-tweak (2014-08-21) 1 commit
309 - Allow the user to change the temporary file name for mergetool
310
@@ -233,6 +377,8 @@ of the repositories listed at
377 A new filter to programatically edit the tail end of the commit log
378 messages.
379
380 + Reroll exists, but haven't had time to pick it up yet.
381 +
382
383 * mh/lockfile (2014-04-15) 25 commits
384 . trim_last_path_elm(): replace last_path_elm()
@@ -261,7 +407,6 @@ of the repositories listed at
407 . api-lockfile: expand the documentation
408 . unable_to_lock_die(): rename function from unable_to_lock_index_die()
409
264 - Ejected from 'pu' to unclutter.
410 Expecting a reroll.
411
412
@@ -379,6 +524,110 @@ of the repositories listed at
524 --------------------------------------------------
525 [Cooking]
526
527 +* ta/config-add-to-empty-or-true-fix (2014-08-18) 1 commit
528 + (merged to 'next' on 2014-08-29 at d219212)
529 + + make config --add behave correctly for empty and NULL values
530 +
531 + We may want to undo the "a^" bit along the lines of $gmane/255445
532 +
533 +
534 +* et/spell-poll-infinite-with-minus-one-only (2014-08-22) 1 commit
535 + - upload-pack: keep poll(2)'s timeout to -1
536 +
537 + We used to pass -1000 to poll(2), expecting it to also mean "no
538 + timeout", which should be spelled as -1.
539 +
540 + Will merge to 'next'.
541 +
542 +
543 +* jk/make-simplify-dependencies (2014-08-26) 3 commits
544 + - Makefile: drop CHECK_HEADER_DEPENDENCIES code
545 + - Makefile: use `find` to determine static header dependencies
546 + - i18n: treat "make pot" as an explicitly-invoked target
547 +
548 + Admit that keeping LIB_H up-to-date, only for those that do not use
549 + the automatically generated dependencies, is a losing battle, and
550 + make it conservative by making everything depend on anything.
551 +
552 + Will merge to 'next'.
553 +
554 +
555 +* jk/prompt-stash-could-be-packed (2014-08-25) 1 commit
556 + (merged to 'next' on 2014-08-29 at 526e3bd)
557 + + git-prompt: do not look for refs/stash in $GIT_DIR
558 +
559 + The prompt script checked $GIT_DIR/ref/stash file to see if there
560 + is a stash, which was a no-no.
561 +
562 + Will merge to 'master'.
563 +
564 +
565 +* jk/prune-top-level-refs-after-packing (2014-08-25) 1 commit
566 + - pack-refs: prune top-level refs like "refs/foo"
567 +
568 + After "pack-refs --prune" packed refs at the top-level, it failed
569 + to prune them.
570 +
571 + Will merge to 'next'.
572 +
573 +
574 +* jk/fast-import-fixes (2014-08-25) 2 commits
575 + - fast-import: fix buffer overflow in dump_tags
576 + - fast-import: clean up pack_data pointer in end_packfile
577 +
578 + With sufficiently long refnames, fast-import could have overflown
579 + an on-stack buffer.
580 +
581 + Will merge to 'next'.
582 +
583 +
584 +* nd/fetch-pass-quiet-to-gc-child-process (2014-08-18) 2 commits
585 + - fetch: silence git-gc if --quiet is given
586 + - fetch: convert argv_gc_auto to struct argv_array
587 +
588 + Progress output from "git gc --auto" was visible in "git fetch -q".
589 +
590 + Will merge to 'next'.
591 +
592 +
593 +* rs/list-optim (2014-08-25) 2 commits
594 + - walker: avoid quadratic list insertion in mark_complete
595 + - sha1_name: avoid quadratic list insertion in handle_one_ref
596 +
597 + Fix a couple of "accumulate into a sorted list" to "accumulate and
598 + then sort the list".
599 +
600 + Will merge to 'next'.
601 +
602 +
603 +* sb/mailsplit-dead-code-removal (2014-08-13) 1 commit
604 + (merged to 'next' on 2014-08-29 at 4f9ca4f)
605 + + mailsplit.c: remove dead code
606 +
607 + Will merge to 'master'.
608 +
609 +
610 +* tb/pretty-format-cd-date-format (2014-08-21) 1 commit
611 + (merged to 'next' on 2014-08-29 at ab8ccd4)
612 + + pretty: note that %cd respects the --date= option
613 +
614 + Documentation update.
615 +
616 + Will merge to 'master'.
617 +
618 +
619 +* jk/name-decoration-alloc (2014-08-27) 3 commits
620 + - log-tree: use FLEX_ARRAY in name_decoration
621 + - log-tree: make name_decoration hash static
622 + - log-tree: make add_name_decoration a public function
623 +
624 + The API to allocate the structure to keep track of commit
625 + decoration was cumbersome to use, inviting lazy code to
626 + overallocate memory.
627 +
628 + Will merge to 'next'.
629 +
630 +
631 * br/http-init-fix (2014-08-21) 2 commits
632 - http: style fixes for curl_multi_init error check
633 - http.c: die if curl_*_init fails
@@ -386,7 +635,8 @@ of the repositories listed at
635 Will merge to 'next'.
636
637
389 -* br/imap-send-simplify-tunnel-child-process (2014-08-20) 2 commits
638 +* br/imap-send-simplify-tunnel-child-process (2014-09-02) 3 commits
639 + - imap-send: simplify v_issue_imap_cmd() and get_cmd_result() using starts_with()
640 - imap-send.c: imap_folder -> imap_server_conf.folder
641 - git-imap-send: simplify tunnel construction
642
@@ -394,10 +644,11 @@ of the repositories listed at
644
645
646 * jc/config-mak-document-darwin-vs-macosx (2014-08-15) 1 commit
397 - - config.mak.uname: add hint on uname_R for MacOS X
647 + (merged to 'next' on 2014-08-29 at 55e28af)
648 + + config.mak.uname: add hint on uname_R for MacOS X
649 (this branch uses km/no-apple-common-crypto-on-darwin-8-and-below.)
650
400 - Will merge to 'next'.
651 + Will merge to 'master'.
652
653
654 * jn/unpack-trees-checkout-m-carry-deletion (2014-08-25) 3 commits
@@ -409,12 +660,13 @@ of the repositories listed at
660
661
662 * km/no-apple-common-crypto-on-darwin-8-and-below (2014-08-15) 1 commit
412 - - config.mak.uname: set NO_APPLE_COMMON_CRYPTO on older systems
663 + (merged to 'next' on 2014-08-29 at 8abb416)
664 + + config.mak.uname: set NO_APPLE_COMMON_CRYPTO on older systems
665 (this branch is used by jc/config-mak-document-darwin-vs-macosx.)
666
667 Build automation for older versions of MacOS X.
668
417 - Will merge to 'next'.
669 + Will merge to 'master'.
670
671
672 * nd/large-blobs (2014-08-18) 5 commits
@@ -442,67 +694,77 @@ of the repositories listed at
694
695
696 * nd/strbuf-utf8-replace (2014-08-11) 1 commit
445 - - utf8.c: fix strbuf_utf8_replace() consuming data beyond input string
697 + (merged to 'next' on 2014-08-29 at 5d1ddf4)
698 + + utf8.c: fix strbuf_utf8_replace() consuming data beyond input string
699
447 - Will merge to 'next'.
700 + Will merge to 'master'.
701
702
703 * rs/clean-menu-item-defn (2014-08-18) 1 commit
451 - - clean: use f(void) instead of f() to declare a pointer to a function without arguments
704 + (merged to 'next' on 2014-08-29 at 88c1a9d)
705 + + clean: use f(void) instead of f() to declare a pointer to a function without arguments
706
453 - Will merge to 'next'.
707 + Will merge to 'master'.
708
709
710 * rs/inline-compat-path-macros (2014-08-18) 1 commit
457 - - turn path macros into inline function
711 + (merged to 'next' on 2014-08-29 at 5705ad5)
712 + + turn path macros into inline function
713
459 - Will merge to 'next'.
714 + Will merge to 'master'.
715
716
717 * rs/refresh-beyond-symlink (2014-08-10) 1 commit
463 - - read-cache: check for leading symlinks when refreshing index
718 + (merged to 'next' on 2014-08-29 at 90a4a8b)
719 + + read-cache: check for leading symlinks when refreshing index
720
721 "git add x" where x that used to be a directory has become a
722 symbolic link to a directory misbehaved.
723
468 - Will merge to 'next'.
724 + Will merge to 'master'.
725
726
727 * sb/blame-msg-i18n (2014-08-12) 1 commit
472 - - builtin/blame.c: add translation to warning about failed revision walk
728 + (merged to 'next' on 2014-08-29 at 5b33466)
729 + + builtin/blame.c: add translation to warning about failed revision walk
730
474 - Will merge to 'next'.
731 + Will merge to 'master'.
732
733
734 * sb/plug-leaks (2014-08-10) 2 commits
478 - - clone.c: don't leak memory in cmd_clone
479 - - remote.c: don't leak the base branch name in format_tracking_info
735 + (merged to 'next' on 2014-08-29 at e42f0b8)
736 + + clone.c: don't leak memory in cmd_clone
737 + + remote.c: don't leak the base branch name in format_tracking_info
738
481 - Will merge to 'next'.
739 + Will merge to 'master'.
740
741
742 * sb/prepare-revision-walk-error-check (2014-08-12) 1 commit
485 - - prepare_revision_walk(): check for return value in all places
743 + (merged to 'next' on 2014-08-29 at fb82508)
744 + + prepare_revision_walk(): check for return value in all places
745
487 - Will merge to 'next'.
746 + Will merge to 'master'.
747
748
749 * so/rebase-doc (2014-08-12) 1 commit
491 - - Documentation/git-rebase.txt: -f forces a rebase that would otherwise be a no-op
750 + (merged to 'next' on 2014-08-29 at 77cfce1)
751 + + Documentation/git-rebase.txt: -f forces a rebase that would otherwise be a no-op
752
753 May need description on what makes various modes of operation to
754 decide that the request can become a "no-op".
755
496 - Will merge to 'next'.
756 + Will merge to 'master'.
757
758
499 -* sp/stream-clean-filter (2014-08-22) 4 commits
500 - - convert: stream from fd to required clean filter instead of mmap
501 - - memory_limit_check(): allow a limit that does not fit in "int"
502 - - sha1_file.c: introduce GIT_MMAP_LIMIT to limit mmap size
759 +* sp/stream-clean-filter (2014-08-28) 6 commits
760 + - convert: stream from fd to required clean filter to reduce used address space
761 + - copy_fd(): do not close the input file descriptor
762 + - mmap_limit: introduce GIT_MMAP_LIMIT to allow testing expected mmap size
763 + - memory_limit: use git_env_ulong() to parse GIT_ALLOC_LIMIT
764 + - config.c: add git_env_ulong() to parse environment variable
765 - convert: drop arguments other than 'path' from would_convert_to_git()
766
505 - Reroll posted but haven't had time to look at it yet.
767 + Rerolled.
768
769
770 * jc/push-cert (2014-08-25) 20 commits
@@ -546,98 +808,70 @@ of the repositories listed at
808
809
810 * tf/imap-send-create (2014-08-25) 2 commits
549 - - imap-send: create target mailbox if it is missing
550 - - imap-send: clarify CRAM-MD5 vs LOGIN documentation
551 -
552 - Will merge to 'next'.
553 -
554 -
555 -* bc/archive-pax-header-mode (2014-08-04) 1 commit
556 - (merged to 'next' on 2014-08-26 at 51fca1a)
557 - + archive: honor tar.umask even for pax headers
558 -
559 - Originally merged to 'next' on 2014-08-13
560 -
561 - Implementations of "tar" that do not understand an extended pax
562 - header would extract the contents of it in a regular file; make
563 - sure the permission bits of this file follows the same tar.umask
564 - configuration setting.
811 + (merged to 'next' on 2014-08-29 at 8390945)
812 + + imap-send: create target mailbox if it is missing
813 + + imap-send: clarify CRAM-MD5 vs LOGIN documentation
814
815 Will merge to 'master'.
816
817
818 * bc/imap-send-doc (2014-08-05) 1 commit
570 - - imap-send doc: omit confusing "to use imap-send" modifier
819 + (merged to 'next' on 2014-08-29 at 2ea514b)
820 + + imap-send doc: omit confusing "to use imap-send" modifier
821
572 - Will merge to 'next'.
822 + Will merge to 'master'.
823
824
825 * jc/apply-ws-prefix (2014-08-07) 3 commits
576 - - apply: omit ws check for excluded paths
577 - - apply: hoist use_patch() helper for path exclusion up
578 - - apply: use the right attribute for paths in non-Git patches
826 + (merged to 'next' on 2014-08-29 at 67967d3)
827 + + apply: omit ws check for excluded paths
828 + + apply: hoist use_patch() helper for path exclusion up
829 + + apply: use the right attribute for paths in non-Git patches
830
831 Applying a patch not generated by Git in a subdirectory used to
832 check the whitespace breakage using the attributes for incorrect
833 paths. Also whitespace checks were performed even for paths
834 excluded via "git apply --exclude=<path>" mechanism.
835
585 - Will merge to 'next'.
836 + Will merge to 'master'.
837
838
839 * jk/command-line-config-empty-string (2014-08-05) 1 commit
589 - - config: teach "git -c" to recognize an empty string
840 + (merged to 'next' on 2014-08-29 at 74f04af)
841 + + config: teach "git -c" to recognize an empty string
842
843 "git -c section.var command" and "git -c section.var= command"
844 should pass the configuration differently (the former should be
845 a boolean true, the latter should be an empty string).
846
595 - Will merge to 'next'.
596 -
597 -
598 -* jk/pack-bitmap (2014-08-04) 1 commit
599 - - pack-bitmap: do not use gcc packed attribute
600 -
601 - Hold, waiting for Karsten's replacement.
602 -
603 -
604 -* jk/pretty-empty-format (2014-07-30) 3 commits
605 - (merged to 'next' on 2014-08-26 at 1eb7cc3)
606 - + pretty: make empty userformats truly empty
607 - + pretty: treat "--format=" as an empty userformat
608 - + revision: drop useless string offset when parsing "--pretty"
609 -
610 - Originally merged to 'next' on 2014-08-13
611 -
612 - "git log --pretty/format=" with an empty format string did not mean
613 - the more obvious "No output whatsoever" but "Use default format",
614 - which was counterintuitive.
615 -
847 Will merge to 'master'.
848
849
850 * la/init-doc (2014-08-08) 7 commits
620 - - Documentation: git-init: flesh out example
621 - - Documentation: git-init: template directory: reword and cross-reference
622 - - Documentation: git-init: reword parenthetical statements
623 - - Documentation: git-init: --separate-git-dir: clarify
624 - - Documentation: git-init: template directory: reword
625 - - Documentation: git-init: list items facelift
626 - - Documentation: git-init: typographical fixes
851 + (merged to 'next' on 2014-08-29 at 2cf846b)
852 + + Documentation: git-init: flesh out example
853 + + Documentation: git-init: template directory: reword and cross-reference
854 + + Documentation: git-init: reword parenthetical statements
855 + + Documentation: git-init: --separate-git-dir: clarify
856 + + Documentation: git-init: template directory: reword
857 + + Documentation: git-init: list items facelift
858 + + Documentation: git-init: typographical fixes
859
628 - Will merge to 'next'.
860 + Will merge to 'master'.
861
862
863 * lf/bundle-exclusion (2014-08-07) 1 commit
632 - - bundle: fix exclusion of annotated tags
864 + (merged to 'next' on 2014-08-29 at d84b102)
865 + + bundle: fix exclusion of annotated tags
866
634 - Will merge to 'next'.
867 + Will merge to 'master'.
868
869
870 * mm/log-branch-desc-plug-leak (2014-08-07) 1 commit
638 - - builtin/log.c: fix minor memory leak
871 + (merged to 'next' on 2014-08-29 at 3580add)
872 + + builtin/log.c: fix minor memory leak
873
640 - Will merge to 'next'.
874 + Will merge to 'master'.
875
876
877 * ta/config-set-1 (2014-08-07) 8 commits
@@ -649,7 +883,7 @@ of the repositories listed at
883 - add line number and file name info to `config_set`
884 - config.c: fix accuracy of line number in errors
885 - config.c: mark error and warnings strings for translation
652 - (this branch is used by ta/config-set-2; uses ta/config-set.)
886 + (this branch is used by ta/config-set-2.)
887
888 Will merge to 'next'.
889
@@ -670,43 +904,24 @@ of the repositories listed at
904 - read-cache.c: replace `git_config()` with `git_config_get_*()` family
905 - http-backend.c: replace `git_config()` with `git_config_get_bool()` family
906 - daemon.c: replace `git_config()` with `git_config_get_bool()` family
673 - (this branch uses ta/config-set and ta/config-set-1.)
907 + (this branch uses ta/config-set-1.)
908
909 Will merge to 'next'.
910
911
678 -* ta/pretty-parse-config (2014-08-04) 1 commit
679 - (merged to 'next' on 2014-08-26 at 901e8c2)
680 - + pretty.c: make git_pretty_formats_config return -1 on git_config_string failure
681 -
682 - Originally merged to 'next' on 2014-08-13
683 -
684 - Will merge to 'master'.
685 -
686 -
912 * jk/stash-list-p (2014-08-07) 1 commit
688 - - stash: default listing to working-tree diff
913 + (merged to 'next' on 2014-08-29 at db94527)
914 + + stash: default listing to working-tree diff
915
916 Teach "git stash list -p" to show the difference between the base
917 commit version and the working tree version, which is in line with
918 what "git show" gives.
919
694 - Will merge to 'next'.
695 -
696 -
697 -* pr/remotes-in-hashmap (2014-07-30) 1 commit
698 - (merged to 'next' on 2014-08-26 at 2052a31)
699 - + use a hashmap to make remotes faster
700 -
701 - Originally merged to 'next' on 2014-08-13
702 -
703 - Optimize remotes configuration look-up in a repository with very
704 - many remotes defined.
705 -
920 Will merge to 'master'.
921
922
709 -* rs/ref-transaction-multi (2014-07-31) 5 commits
923 +* rs/ref-transaction-multi (2014-08-27) 6 commits
924 + - ### rs/ref-transaction-multi
925 - refs.c: make the *_packed_refs functions static
926 - refs.c: make repack_without_refs static
927 - remote.c: use a transaction for deleting refs
@@ -720,7 +935,8 @@ of the repositories listed at
935 No more nitpicks and better design suggestions?
936
937
723 -* rs/ref-transaction-rename (2014-07-31) 5 commits
938 +* rs/ref-transaction-rename (2014-08-27) 6 commits
939 + - ### rs/ref-transaction-rename
940 - refs.c: rollback the lockfile before we die() in repack_without_refs
941 - refs.c: update rename_ref to use a transaction
942 - refs.c: use packed refs when deleting refs during a transaction
@@ -735,33 +951,8 @@ of the repositories listed at
951 No more nitpicks and better design suggestions?
952
953
738 -* mm/config-edit-global (2014-07-25) 3 commits
739 - (merged to 'next' on 2014-08-26 at 3a47fc5)
740 - + commit: advertise config --global --edit on guessed identity
741 - + home_config_paths(): let the caller ignore xdg path
742 - + config --global --edit: create a template file if needed
743 -
744 - Originally merged to 'next' on 2014-07-31
745 -
746 - Start "git config --edit --global" from a skeletal per-user
747 - configuration file contents, instead of a total blank, when the
748 - user does not already have any. This immediately reduces the need
749 - for a later "Have you forgotten setting core.user?" and we can add
750 - more to the template as we gain more experience.
751 -
752 - Will merge to 'master'.
753 -
754 -
755 -* rs/init-no-duplicate-real-path (2014-07-28) 1 commit
756 - (merged to 'next' on 2014-08-26 at c66e1c4)
757 - + init: avoid superfluous real_path() calls
758 -
759 - Originally merged to 'next' on 2014-07-31
760 -
761 - Will merge to 'master'.
762 -
763 -
764 -* rs/ref-transaction-reflog (2014-07-23) 15 commits
954 +* rs/ref-transaction-reflog (2014-08-27) 16 commits
955 + - ### rs/ref-transaction-reflog
956 - refs.c: allow deleting refs with a broken sha1
957 - refs.c: remove lock_any_ref_for_update
958 - refs.c: make unlock_ref/close_ref/commit_ref static
@@ -785,55 +976,20 @@ of the repositories listed at
976 No more nitpicks and better design suggestions?
977
978
788 -* rs/strbuf-getcwd (2014-08-26) 10 commits
789 - (merged to 'next' on 2014-08-26 at 11be0d6)
790 - + use strbuf_add_absolute_path() to add absolute paths
791 - + abspath: convert absolute_path() to strbuf
792 - + use xgetcwd() to set $GIT_DIR
793 - + use xgetcwd() to get the current directory or die
794 - + wrapper: add xgetcwd()
795 - + abspath: convert real_path_internal() to strbuf
796 - + abspath: use strbuf_getcwd() to remember original working directory
797 - + setup: convert setup_git_directory_gently_1 et al. to strbuf
798 - + unix-sockets: use strbuf_getcwd()
799 - + strbuf: add strbuf_getcwd()
800 - (this branch is tangled with nd/lock-paths-absolute.)
801 -
802 - Originally merged to 'next' on 2014-08-18
803 -
804 - Reduce the use of fixed sized buffer passed to getcwd() calls
805 - by introducing xgetcwd() helper.
806 -
807 - Will merge to 'master'.
808 -
809 -
979 * jc/not-mingw-cygwin (2014-07-21) 2 commits
811 - - test prerequisites: enumerate with commas
812 - - test prerequisites: eradicate NOT_FOO
980 + (merged to 'next' on 2014-08-29 at 0d00bb7)
981 + + test prerequisites: enumerate with commas
982 + + test prerequisites: eradicate NOT_FOO
983
984 We have been using NOT_{MINGW,CYGWIN} test prerequisites long
985 before Peff invented support for negated prerequisites e.g. !MINGW
986 and we still add more uses of the former. Convert them to the
987 latter to avoid confusion.
988
819 - Will merge to 'next'.
820 -
821 -
822 -* ta/config-set (2014-07-29) 2 commits
823 - (merged to 'next' on 2014-08-26 at 81395f9)
824 - + test-config: add tests for the config_set API
825 - + add `config_set` API for caching config-like files
826 - (this branch is used by ta/config-set-1 and ta/config-set-2.)
827 -
828 - Originally merged to 'next' on 2014-08-13
829 -
830 - Add in-core caching layer to let us avoid reading the same
831 - configuration files number of times.
832 -
989 Will merge to 'master'.
990
991
836 -* rs/ref-transaction-1 (2014-07-16) 20 commits
992 +* rs/ref-transaction-1 (2014-08-27) 20 commits
993 - refs.c: make delete_ref use a transaction
994 - refs.c: make prune_ref use a transaction to delete the ref
995 - refs.c: remove lock_ref_sha1
@@ -850,78 +1006,18 @@ of the repositories listed at
1006 - commit.c: use ref transactions for updates
1007 - replace.c: use the ref transaction functions for updates
1008 - tag.c: use ref transactions when doing updates
853 - - refs.c: add transaction.status and track OPEN/CLOSED/ERROR
1009 + - refs.c: add transaction.status and track OPEN/CLOSED
1010 - refs.c: make ref_transaction_begin take an err argument
1011 - refs.c: update ref_transaction_delete to check for error and return status
1012 - refs.c: change ref_transaction_create to do error checking and return status
1013 (this branch is used by rs/ref-transaction, rs/ref-transaction-multi, rs/ref-transaction-reflog and rs/ref-transaction-rename.)
1014
1015 The second batch of the transactional ref update series.
860 -
861 - No more nitpicks and better design suggestions?
862 -
863 -
864 -* jc/reopen-lock-file (2014-07-14) 1 commit
865 - (merged to 'next' on 2014-08-26 at c5a5a12)
866 - + lockfile: allow reopening a closed but still locked file
867 -
868 - Originally merged to 'next' on 2014-07-21
869 -
870 - Needed in the "commit -p" code path to update the cache tree in the
871 - index (e.g. for dt/cache-tree-repair topic).
872 -
873 - Will merge to 'master'.
1016 + A hopefully final reroll exists but haven't picked it up yet.
1017
1018
876 -* nd/multiple-work-trees (2014-07-29) 39 commits
877 - - checkout --to: do not touch existing target directory
878 - - checkout: prefix --to argument properly when cwd is moved
879 - - environment.c: fix incorrect git_graft_file initialization
880 - - checkout --to: fix dangling pointers in remove_junk()
881 - - checkout: no auto-detach if the ref is already checked out
882 - - prune --repos: fix uninitialized access
883 - - checkout: no need to call check_linked_checkouts if head_ref is NULL
884 - - gitrepository-layout.txt: s/ignored/ignored if/
885 - - checkout: don't require a work tree when checking out into a new one
886 - - git_path(): keep "info/sparse-checkout" per work-tree
887 - - count-objects: report unused files in $GIT_DIR/repos/...
888 - - gc: support prune --repos
889 - - gc: factor out gc.pruneexpire parsing code
890 - - gc: style change -- no SP before closing parenthesis
891 - - prune: strategies for linked checkouts
892 - - checkout: detach if the branch is already checked out elsewhere
893 - - checkout: clean up half-prepared directories in --to mode
894 - - checkout: support checking out into a new working directory
895 - - use new wrapper write_file() for simple file writing
896 - - wrapper.c: wrapper to open a file, fprintf then close
897 - - setup.c: support multi-checkout repo setup
898 - - setup.c: detect $GIT_COMMON_DIR check_repository_format_gently()
899 - - setup.c: convert check_repository_format_gently to use strbuf
900 - - setup.c: detect $GIT_COMMON_DIR in is_git_directory()
901 - - setup.c: convert is_git_directory() to use strbuf
902 - - git-stash: avoid hardcoding $GIT_DIR/logs/....
903 - - *.sh: avoid hardcoding $GIT_DIR/hooks/...
904 - - git-sh-setup.sh: use rev-parse --git-path to get $GIT_DIR/objects
905 - - $GIT_COMMON_DIR: a new environment variable
906 - - commit: use SEQ_DIR instead of hardcoding "sequencer"
907 - - fast-import: use git_path() for accessing .git dir instead of get_git_dir()
908 - - reflog: avoid constructing .lock path with git_path
909 - - *.sh: respect $GIT_INDEX_FILE
910 - - git_path(): be aware of file relocation in $GIT_DIR
911 - - path.c: group git_path(), git_pathdup() and strbuf_git_path() together
912 - - path.c: rename vsnpath() to do_git_path()
913 - - git_snpath(): retire and replace with strbuf_git_path()
914 - - path.c: make get_pathname() call sites return const char *
915 - - path.c: make get_pathname() return strbuf instead of static buffer
916 -
917 - A replacement for contrib/workdir/git-new-workdir that does not
918 - rely on symbolic links and make sharing of objects and refs safer
919 - by making the borrowee and borrowers aware of each other.
920 -
921 - Kicked back to 'pu'.
922 -
923 -
924 -* dt/cache-tree-repair (2014-07-14) 4 commits
1019 +* dt/cache-tree-repair (2014-09-02) 5 commits
1020 + - cache-tree: propagate invalidation up when punting
1021 (merged to 'next' on 2014-08-26 at 6faccdb)
1022 + cache-tree: Write updated cache-tree after commit
1023 + cache-tree: subdirectory tests
@@ -933,7 +1029,8 @@ of the repositories listed at
1029 Add a few more places in "commit" and "checkout" that make sure
1030 that the cache-tree is fully populated in the index.
1031
936 - Will merge to 'master'.
1032 + The tip one is a proposed fix for $gmane/256285, but it is not
1033 + quite right yet.
1034
1035
1036 * hv/submodule-config (2014-06-30) 4 commits
@@ -945,7 +1042,8 @@ of the repositories listed at
1042 Kicked back to 'pu'.
1043
1044
948 -* rs/ref-transaction (2014-07-17) 12 commits
1045 +* rs/ref-transaction (2014-08-27) 14 commits
1046 + - ### rs/ref-transaction
1047 - refs.c: fix handling of badly named refs
1048 - refs.c: make write_ref_sha1 static
1049 - fetch.c: change s_update_ref to use a ref transaction
@@ -958,6 +1056,7 @@ of the repositories listed at
1056 - refs.c: add an err argument to delete_ref_loose
1057 - wrapper.c: add a new function unlink_or_msg
1058 - wrapper.c: simplify warn_if_unremovable
1059 + - ### rs/ref-transaction-1
1060 (this branch is used by rs/ref-transaction-multi, rs/ref-transaction-reflog and rs/ref-transaction-rename; uses rs/ref-transaction-1.)
1061
1062
@@ -978,42 +1077,3 @@ of the repositories listed at
1077 is left out of 'master' for now.
1078
1079 Will hold.
981 -
982 ---------------------------------------------------
983 -[Discarded]
984 -
985 -* jh/submodule-tests (2014-04-17) 1 commit
986 - . t7410: 210 tests for various 'git submodule update' scenarios
987 -
988 -
989 -* nd/path-max-is-better-than-hardcoded-magic-1024 (2014-07-17) 1 commit
990 - . abspath.c: use PATH_MAX in real_path_internal()
991 -
992 - rs/strbuf-getcwd topic covers this codepath in a better way.
993 -
994 -
995 -* jn/header-dependencies (2014-08-10) 1 commit
996 - . Update hard-coded header dependencies
997 -
998 - Replaced by jk/make-simplify-dependencies topic.
999 -
1000 -
1001 -* sb/unpack-trees-dead-code-removal (2014-08-12) 2 commits
1002 - . SQUASH???
1003 - . unpack-tree.c: remove dead code
1004 -
1005 - Replaced by jn/unpack-trees-checkout-m-carry-deletion topic.
1006 -
1007 -
1008 -* mm/config-message-i18n (2014-08-01) 1 commit
1009 - . config.c: mark error and warnings strings for translation
1010 -
1011 - Now at the bottom of ta/config-set-1 topic.
1012 -
1013 -
1014 -* nd/lock-paths-absolute (2014-08-01) 3 commits
1015 - . lockfile.c: store absolute path
1016 - . lockfile.c: remove PATH_MAX limit in resolve_symlink()
1017 - . lockfile.c: remove PATH_MAX limitation (except in resolve_symlink)
1018 -
1019 - Will drop and ask Michael to possibly cooperate and merge with mh/lockfile.