What's cooking (2014/09 #02)

Junio C Hamano committed Sep 9, 2014 at 14:14 UTC 0e288a6e6f8f9d53b0353cd61e0f6ef782737282
1 file changed +596 -574
whats-cooking.txt
+596 -574
@@ -1,17 +1,19 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Sep 2014, #01; Tue, 2)
4 -X-master-at: 85f083786fe37f280ca30fc0b74498b22b322c6d
5 -X-next-at: 7c4bc81ba6302d4dd40821b46578580afbcdf4b5
3 +Subject: What's cooking in git.git (Sep 2014, #02; Tue, 9)
4 +X-master-at: 0c72b98f31bf6eabd75be565a08ffcf0d8e74b1f
5 +X-next-at: 90a3d47e489b9d2109b72bab5f08275f9af8a3ad
6
7 -What's cooking in git.git (Sep 2014, #01; Tue, 2)
7 +What's cooking in git.git (Sep 2014, #02; Tue, 9)
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 first batch of topics have graduated to 'master'.
14 +The second batch of topics have graduated to 'master'. There are
15 +too many topics waiting to be in 'next' but without comments and
16 +reviews on the list, which is somewhat disturbing.
17
18 You can find the changes described here in the integration branches
19 of the repositories listed at
@@ -21,278 +23,250 @@ of the repositories listed at
23 --------------------------------------------------
24 [Graduated to "master"]
25
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
26 +* bc/imap-send-doc (2014-08-05) 1 commit
27 + (merged to 'next' on 2014-08-29 at 2ea514b)
28 + + imap-send doc: omit confusing "to use imap-send" modifier
29
28 - Originally merged to 'next' on 2014-08-13
30
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.
31 +* jc/apply-ws-prefix (2014-08-07) 3 commits
32 + (merged to 'next' on 2014-08-29 at 67967d3)
33 + + apply: omit ws check for excluded paths
34 + + apply: hoist use_patch() helper for path exclusion up
35 + + apply: use the right attribute for paths in non-Git patches
36
37 + Applying a patch not generated by Git in a subdirectory used to
38 + check the whitespace breakage using the attributes for incorrect
39 + paths. Also whitespace checks were performed even for paths
40 + excluded via "git apply --exclude=<path>" mechanism.
41
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
42
40 - Originally merged to 'next' on 2014-07-21
43 +* jc/config-mak-document-darwin-vs-macosx (2014-08-15) 1 commit
44 + (merged to 'next' on 2014-08-29 at 55e28af)
45 + + config.mak.uname: add hint on uname_R for MacOS X
46 + (this branch uses km/no-apple-common-crypto-on-darwin-8-and-below.)
47
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).
48
49 +* jc/not-mingw-cygwin (2014-07-21) 2 commits
50 + (merged to 'next' on 2014-08-29 at 0d00bb7)
51 + + test prerequisites: enumerate with commas
52 + + test prerequisites: eradicate NOT_FOO
53
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"
54 + We have been using NOT_{MINGW,CYGWIN} test prerequisites long
55 + before Peff invented support for negated prerequisites e.g. !MINGW
56 + and we still add more uses of the former. Convert them to the
57 + latter to avoid confusion.
58
52 - Originally merged to 'next' on 2014-08-13
59
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.
60 +* jk/command-line-config-empty-string (2014-08-05) 1 commit
61 + (merged to 'next' on 2014-08-29 at 74f04af)
62 + + config: teach "git -c" to recognize an empty string
63
64 + "git -c section.var command" and "git -c section.var= command"
65 + should pass the configuration differently (the former should be
66 + a boolean true, the latter should be an empty string).
67
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
68
65 - Originally merged to 'next' on 2014-07-31
69 +* jk/prompt-stash-could-be-packed (2014-08-25) 1 commit
70 + (merged to 'next' on 2014-08-29 at 526e3bd)
71 + + git-prompt: do not look for refs/stash in $GIT_DIR
72
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.
73 + The prompt script checked $GIT_DIR/ref/stash file to see if there
74 + is a stash, which was a no-no.
75
76
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 +* jk/stash-list-p (2014-08-07) 1 commit
78 + (merged to 'next' on 2014-08-29 at db94527)
79 + + stash: default listing to working-tree diff
80
78 - Originally merged to 'next' on 2014-08-13
81 + Teach "git stash list -p" to show the difference between the base
82 + commit version and the working tree version, which is in line with
83 + what "git show" gives.
84
80 - Optimize remotes configuration look-up in a repository with very
81 - many remotes defined.
85
86 +* km/no-apple-common-crypto-on-darwin-8-and-below (2014-08-15) 1 commit
87 + (merged to 'next' on 2014-08-29 at 8abb416)
88 + + config.mak.uname: set NO_APPLE_COMMON_CRYPTO on older systems
89 + (this branch is used by jc/config-mak-document-darwin-vs-macosx.)
90
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
91 + Build automation for older versions of MacOS X.
92
88 - Originally merged to 'next' on 2014-07-31
93
94 +* la/init-doc (2014-08-08) 7 commits
95 + (merged to 'next' on 2014-08-29 at 2cf846b)
96 + + Documentation: git-init: flesh out example
97 + + Documentation: git-init: template directory: reword and cross-reference
98 + + Documentation: git-init: reword parenthetical statements
99 + + Documentation: git-init: --separate-git-dir: clarify
100 + + Documentation: git-init: template directory: reword
101 + + Documentation: git-init: list items facelift
102 + + Documentation: git-init: typographical fixes
103
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
105 +* lf/bundle-exclusion (2014-08-07) 1 commit
106 + (merged to 'next' on 2014-08-29 at d84b102)
107 + + bundle: fix exclusion of annotated tags
108
107 - Reduce the use of fixed sized buffer passed to getcwd() calls
108 - by introducing xgetcwd() helper.
109 + "git bundle create" with date-range specification were meant to
110 + exclude tags outside the range, but it didn't.
111
112
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.)
113 +* mm/log-branch-desc-plug-leak (2014-08-07) 1 commit
114 + (merged to 'next' on 2014-08-29 at 3580add)
115 + + builtin/log.c: fix minor memory leak
116
117 - Originally merged to 'next' on 2014-08-13
117
119 - Add in-core caching layer to let us avoid reading the same
120 - configuration files number of times.
118 +* nd/strbuf-utf8-replace (2014-08-11) 1 commit
119 + (merged to 'next' on 2014-08-29 at 5d1ddf4)
120 + + utf8.c: fix strbuf_utf8_replace() consuming data beyond input string
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
123 +* rs/clean-menu-item-defn (2014-08-18) 1 commit
124 + (merged to 'next' on 2014-08-29 at 88c1a9d)
125 + + clean: use f(void) instead of f() to declare a pointer to a function without arguments
126
127 - Originally merged to 'next' on 2014-08-13
127
129 ---------------------------------------------------
130 -[New Topics]
128 +* rs/inline-compat-path-macros (2014-08-18) 1 commit
129 + (merged to 'next' on 2014-08-29 at 5705ad5)
130 + + turn path macros into inline function
131
132 -* bb/date-iso-strict (2014-08-29) 1 commit
133 - - pretty: provide a strict ISO 8601 date format
132
133 +* rs/refresh-beyond-symlink (2014-08-10) 1 commit
134 + (merged to 'next' on 2014-08-29 at 90a4a8b)
135 + + read-cache: check for leading symlinks when refreshing index
136
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
137 + "git add x" where x that used to be a directory has become a
138 + symbolic link to a directory misbehaved.
139
140
145 -* jk/contrib-subtree-make-all (2014-08-18) 1 commit
146 - - subtree: make "all" default target of Makefile
141 +* sb/blame-msg-i18n (2014-08-12) 1 commit
142 + (merged to 'next' on 2014-08-29 at 5b33466)
143 + + builtin/blame.c: add translation to warning about failed revision walk
144
145
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
146 +* sb/mailsplit-dead-code-removal (2014-08-13) 1 commit
147 + (merged to 'next' on 2014-08-29 at 4f9ca4f)
148 + + mailsplit.c: remove dead code
149
150
154 -* jk/index-pack-threading-races (2014-08-29) 1 commit
155 - - index-pack: fix race condition with duplicate bases
151 +* sb/plug-leaks (2014-08-10) 2 commits
152 + (merged to 'next' on 2014-08-29 at e42f0b8)
153 + + clone.c: don't leak memory in cmd_clone
154 + + remote.c: don't leak the base branch name in format_tracking_info
155
156
158 -* jk/send-pack-many-refspecs (2014-08-26) 1 commit
159 - - send-pack: take refspecs over stdin
157 +* sb/prepare-revision-walk-error-check (2014-08-12) 1 commit
158 + (merged to 'next' on 2014-08-29 at fb82508)
159 + + prepare_revision_walk(): check for return value in all places
160
161
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
162 +* so/rebase-doc (2014-08-12) 1 commit
163 + (merged to 'next' on 2014-08-29 at 77cfce1)
164 + + Documentation/git-rebase.txt: -f forces a rebase that would otherwise be a no-op
165
166 + May need further updates to the description to explain what makes
167 + various modes of operation to decide that the request can become a
168 + "no-op".
169
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
170
178 - Need a rerolled one.
171 +* sp/pack-protocol-doc-on-shallow (2014-08-28) 1 commit
172 + (merged to 'next' on 2014-08-29 at b1ae451)
173 + + Document LF appearing in shallow command during send-pack/receive-pack
174
175
181 -* mb/build-contrib-svn-fe (2014-08-28) 1 commit
182 - - contrib/svn-fe: fix Makefile
176 +* tb/pretty-format-cd-date-format (2014-08-21) 1 commit
177 + (merged to 'next' on 2014-08-29 at ab8ccd4)
178 + + pretty: note that %cd respects the --date= option
179
180 + Documentation update.
181
185 -* mb/fast-import-delete-root (2014-08-29) 2 commits
186 - - fast-import: fix segfault in store_tree()
187 - - t9300: test filedelete command
182
183 +* tf/imap-send-create (2014-08-25) 2 commits
184 + (merged to 'next' on 2014-08-29 at 8390945)
185 + + imap-send: create target mailbox if it is missing
186 + + imap-send: clarify CRAM-MD5 vs LOGIN documentation
187
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
188
189 +--------------------------------------------------
190 +[New Topics]
191
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
192 +* as/calloc-takes-nmemb-then-size (2014-09-03) 1 commit
193 + - calloc() and xcalloc() takes nmemb and then size
194
198 - Will merge to 'master'.
195 + Code clean-up.
196
197 + Will merge to 'next'.
198
201 -* ah/grammofix (2014-09-02) 1 commit
202 - - grammofix in user-facing messages
199
200 +* tb/complete-diff-ignore-blank-lines (2014-09-03) 1 commit
201 + - completion: Add --ignore-blank-lines for diff
202
205 -* da/styles (2014-09-02) 1 commit
206 - - stylefix: asterisks stick to the variable, not the type
203 + Will merge to 'next'.
204
205
209 -* da/use-rev-parse-verify-quiet-in-stash (2014-09-02) 1 commit
210 - - stash: prefer --quiet over shell redirection
206 +* jc/parseopt-verify-short-name (2014-09-04) 1 commit
207 + - parse-options: detect attempt to add a duplicate short option name
208
209 + Add checks for a common programming mistake to assign the same
210 + short option name to two separate options to help developers.
211
213 -* mk/reachable-protect-detached-head (2014-09-02) 2 commits
214 - - SQUASH???
215 - - reachable.c: add HEAD to reachability starting commits
212 + Will merge to 'next'.
213
214
218 -* rs/furhter-uses-of-skip-prefix (2014-09-02) 2 commits
215 +* rs/more-uses-of-skip-prefix (2014-09-02) 2 commits
216 - pack-write: simplify index_pack_lockfile using skip_prefix() and xstrfmt()
217 - connect: simplify check_ref() using skip_prefix() and starts_with()
218
219 + Code clean-up.
220
223 -* rs/merge-tree-simplify (2014-09-02) 1 commit
224 - - merge-tree: remove unused df_conflict arguments
221 + Will merge to 'next'.
222
223
227 -* rs/simplify-config-include (2014-09-02) 1 commit
228 - - config: simplify git_config_include()
224 +* kb/perf-trace (2014-09-08) 1 commit
225 + - trace: correct trace_strbuf() parameter type for !HAVE_VARIADIC_MACROS
226
227 + Compilation fix for some compilers.
228
231 -* rs/simplify-http-walker (2014-09-02) 1 commit
232 - - http-walker: simplify process_alternates_response() using strbuf
229 + Will merge to 'next'.
230
231
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
232 +* rs/export-strbuf-addchars (2014-09-08) 2 commits
233 + - strbuf: use strbuf_addchars() for adding a char multiple times
234 + - strbuf: export strbuf_addchars()
235 +
236 + Code clean-up.
237 +
238 + Will merge to 'next'.
239
240 --------------------------------------------------
241 [Stalled]
242
243 -* jk/pack-bitmap (2014-08-04) 1 commit
244 - - pack-bitmap: do not use gcc packed attribute
243 +* hv/submodule-config (2014-06-30) 4 commits
244 + - do not die on error of parsing fetchrecursesubmodules option
245 + - use new config API for worktree configurations of submodules
246 + - extract functions for submodule config set and lookup
247 + - implement submodule config cache for lookup of submodule names
248
246 - Hold, waiting for Karsten's replacement.
249 + Kicked back to 'pu' per request ($gmane/255610).
250
251
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
252 +* jt/timer-settime (2014-08-29) 9 commits
253 + - use timer_settime() for new platforms
254 + - autoconf: check for timer_settime()
255 + - autoconf: check for struct itimerspec
256 + - autoconf: check for struct sigevent
257 + - autoconf: check for struct timespec
258 + - autoconf: check for timer_t
259 + - autoconf: check for setitimer()
260 + - autoconf: check for struct itimerval
261 + - git-compat-util.h: add missing semicolon after struct itimerval
262
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.
263 + Reviewed, discussed and wanting for a reroll.
264
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?
265 +
266 +* jk/pack-bitmap (2014-08-04) 1 commit
267 + - pack-bitmap: do not use gcc packed attribute
268 +
269 + Hold, waiting for Karsten's replacement.
270
271
272 * cb/mergetool-difftool (2014-07-21) 2 commits
@@ -361,55 +335,6 @@ of the repositories listed at
335 Reviews sent; waiting for a response.
336
337
364 -* cc/interpret-trailers (2014-05-28) 11 commits
365 - - Documentation: add documentation for 'git interpret-trailers'
366 - - trailer: add tests for commands in config file
367 - - trailer: execute command from 'trailer.<name>.command'
368 - - trailer: add tests for "git interpret-trailers"
369 - - trailer: add interpret-trailers command
370 - - trailer: put all the processing together and print
371 - - trailer: parse trailers from file or stdin
372 - - trailer: process command line trailer arguments
373 - - trailer: read and process config information
374 - - trailer: process trailers from input message and arguments
375 - - trailer: add data structures and basic functions
376 -
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()
385 - . resolve_symlink(): take a strbuf parameter
386 - . resolve_symlink(): use a strbuf for internal scratch space
387 - . change lock_file::filename into a strbuf
388 - . commit_lock_file(): use a strbuf to manage temporary space
389 - . try_merge_strategy(): use a statically-allocated lock_file object
390 - . try_merge_strategy(): remove redundant lock_file allocation
391 - . struct lock_file: declare some fields volatile
392 - . lockfile: avoid transitory invalid states
393 - . commit_lock_file(): die() if called for unlocked lockfile object
394 - . commit_lock_file(): inline temporary variable
395 - . remove_lock_file(): call rollback_lock_file()
396 - . lock_file(): exit early if lockfile cannot be opened
397 - . write_packed_entry_fn(): convert cb_data into a (const int *)
398 - . prepare_index(): declare return value to be (const char *)
399 - . delete_ref_loose(): don't muck around in the lock_file's filename
400 - . cache.h: define constants LOCK_SUFFIX and LOCK_SUFFIX_LEN
401 - . lockfile.c: document the various states of lock_file objects
402 - . lock_file(): always add lock_file object to lock_file_list
403 - . hold_lock_file_for_append(): release lock on errors
404 - . lockfile: unlock file if lockfile permissions cannot be adjusted
405 - . rollback_lock_file(): set fd to -1
406 - . rollback_lock_file(): do not clear filename redundantly
407 - . api-lockfile: expand the documentation
408 - . unable_to_lock_die(): rename function from unable_to_lock_index_die()
409 -
410 - Expecting a reroll.
411 -
412 -
338 * bg/rebase-off-of-previous-branch (2014-04-16) 1 commit
339 - git-rebase: print name of rev when using shorthand
340
@@ -420,29 +345,6 @@ of the repositories listed at
345 Expecting a reroll.
346
347
423 -* tr/merge-recursive-index-only (2014-02-05) 3 commits
424 - - merge-recursive: -Xindex-only to leave worktree unchanged
425 - - merge-recursive: internal flag to avoid touching the worktree
426 - - merge-recursive: remove dead conditional in update_stages()
427 - (this branch is used by tr/remerge-diff.)
428 -
429 -
430 -* tr/remerge-diff (2014-02-26) 5 commits
431 - . log --remerge-diff: show what the conflict resolution changed
432 - . name-hash: allow dir hashing even when !ignore_case
433 - . merge-recursive: allow storing conflict hunks in index
434 - . revision: fold all merge diff variants into an enum merge_diff_mode
435 - . combine-diff: do not pass revs->dense_combined_merges redundantly
436 - (this branch uses tr/merge-recursive-index-only.)
437 -
438 - "log -p" output learns a new way to let users inspect a merge
439 - commit by showing the differences between the automerged result
440 - with conflicts the person who recorded the merge would have seen
441 - and the final conflict resolution that was recorded in the merge.
442 -
443 - Needs to be rebased, now kb/fast-hashmap topic is in.
444 -
445 -
348 * jk/makefile (2014-02-05) 16 commits
349 . FIXUP
350 . move LESS/LV pager environment to Makefile
@@ -477,7 +379,7 @@ of the repositories listed at
379 the right direction, but needs more work to at least get the
380 mark-up right before public consumption.
381
480 - Will hold.
382 + Waiting for a reroll (thread ending at $gmane/254746)
383
384
385 * rb/merge-prepare-commit-msg-hook (2014-01-10) 4 commits
@@ -524,234 +426,422 @@ of the repositories listed at
426 --------------------------------------------------
427 [Cooking]
428
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
429 +* tr/remerge-diff (2014-09-08) 8 commits
430 + - log --remerge-diff: show what the conflict resolution changed
431 + - name-hash: allow dir hashing even when !ignore_case
432 + - merge-recursive: allow storing conflict hunks in index
433 + - merge_diff_mode: fold all merge diff variants into an enum
434 + - combine-diff: do not pass revs->dense_combined_merges redundantly
435 + - merge-recursive: -Xindex-only to leave worktree unchanged
436 + - merge-recursive: internal flag to avoid touching the worktree
437 + - merge-recursive: remove dead conditional in update_stages()
438
531 - We may want to undo the "a^" bit along the lines of $gmane/255445
439 + "log -p" output learns a new way to let users inspect a merge
440 + commit by showing the differences between the automerged result
441 + with conflicts the person who recorded the merge would have seen
442 + and the final conflict resolution that was recorded in the merge.
443
444 + Review comments sent.
445 +
446 +
447 +
448 +* mh/lockfile (2014-09-08) 33 commits
449 + - lockfile.c: store absolute path
450 + - Extract a function commit_lock_file_to()
451 + - trim_last_path_elm(): replace last_path_elm()
452 + - resolve_symlink(): take a strbuf parameter
453 + - resolve_symlink(): use a strbuf for internal scratch space
454 + - Change lock_file::filename into a strbuf
455 + - commit_lock_file(): use a strbuf to manage temporary space
456 + - try_merge_strategy(): use a statically-allocated lock_file object
457 + - try_merge_strategy(): remove redundant lock_file allocation
458 + - struct lock_file: declare some fields volatile
459 + - lockfile: avoid transitory invalid states
460 + - git_config_set_multivar_in_file(): avoid call to rollback_lock_file()
461 + - dump_marks(): remove a redundant call to rollback_lock_file()
462 + - api-lockfile: document edge cases
463 + - commit_lock_file(): rollback lock file on failure to rename
464 + - commit_lock_file(): if close fails, roll back
465 + - commit_lock_file(): die() if called for unlocked lockfile object
466 + - commit_lock_file(): inline temporary variable
467 + - remove_lock_file(): call rollback_lock_file()
468 + - lock_file(): exit early if lockfile cannot be opened
469 + - write_packed_entry_fn(): convert cb_data into a (const int *)
470 + - prepare_index(): declare return value to be (const char *)
471 + - delete_ref_loose(): don't muck around in the lock_file's filename
472 + - cache.h: define constants LOCK_SUFFIX and LOCK_SUFFIX_LEN
473 + - lockfile.c: document the various states of lock_file objects
474 + - lock_file(): always add lock_file object to lock_file_list
475 + - hold_lock_file_for_append(): release lock on errors
476 + - lockfile: unlock file if lockfile permissions cannot be adjusted
477 + - rollback_lock_file(): set fd to -1
478 + - rollback_lock_file(): exit early if lock is not active
479 + - rollback_lock_file(): do not clear filename redundantly
480 + - api-lockfile: expand the documentation
481 + - unable_to_lock_die(): rename function from unable_to_lock_index_die()
482 +
483 + Rerolled but not reviewed yet.
484 +
485 +
486 +* nd/multiple-work-trees (2014-09-03) 32 commits
487 + . t2025: add a test to make sure grafts is working from a linked checkout
488 + . checkout: don't require a work tree when checking out into a new one
489 + . git_path(): keep "info/sparse-checkout" per work-tree
490 + . count-objects: report unused files in $GIT_DIR/repos/...
491 + . gc: support prune --repos
492 + . gc: factor out gc.pruneexpire parsing code
493 + . gc: style change -- no SP before closing parenthesis
494 + . prune: strategies for linked checkouts
495 + . checkout: reject if the branch is already checked out elsewhere
496 + . checkout: clean up half-prepared directories in --to mode
497 + . checkout: support checking out into a new working directory
498 + . use new wrapper write_file() for simple file writing
499 + . wrapper.c: wrapper to open a file, fprintf then close
500 + . setup.c: support multi-checkout repo setup
501 + . setup.c: detect $GIT_COMMON_DIR check_repository_format_gently()
502 + . setup.c: convert check_repository_format_gently to use strbuf
503 + . setup.c: detect $GIT_COMMON_DIR in is_git_directory()
504 + . setup.c: convert is_git_directory() to use strbuf
505 + . git-stash: avoid hardcoding $GIT_DIR/logs/....
506 + . *.sh: avoid hardcoding $GIT_DIR/hooks/...
507 + . git-sh-setup.sh: use rev-parse --git-path to get $GIT_DIR/objects
508 + . $GIT_COMMON_DIR: a new environment variable
509 + . commit: use SEQ_DIR instead of hardcoding "sequencer"
510 + . fast-import: use git_path() for accessing .git dir instead of get_git_dir()
511 + . reflog: avoid constructing .lock path with git_path
512 + . *.sh: respect $GIT_INDEX_FILE
513 + . git_path(): be aware of file relocation in $GIT_DIR
514 + . path.c: group git_path(), git_pathdup() and strbuf_git_path() together
515 + . path.c: rename vsnpath() to do_git_path()
516 + . git_snpath(): retire and replace with strbuf_git_path()
517 + . path.c: make get_pathname() call sites return const char *
518 + . path.c: make get_pathname() return strbuf instead of static buffer
519
534 -* et/spell-poll-infinite-with-minus-one-only (2014-08-22) 1 commit
535 - - upload-pack: keep poll(2)'s timeout to -1
520 + A replacement for contrib/workdir/git-new-workdir that does not
521 + rely on symbolic links and make sharing of objects and refs safer
522 + by making the borrowee and borrowers aware of each other.
523
537 - We used to pass -1000 to poll(2), expecting it to also mean "no
538 - timeout", which should be spelled as -1.
524
540 - Will merge to 'next'.
525 +* cc/interpret-trailers (2014-05-28) 11 commits
526 + - Documentation: add documentation for 'git interpret-trailers'
527 + - trailer: add tests for commands in config file
528 + - trailer: execute command from 'trailer.<name>.command'
529 + - trailer: add tests for "git interpret-trailers"
530 + - trailer: add interpret-trailers command
531 + - trailer: put all the processing together and print
532 + - trailer: parse trailers from file or stdin
533 + - trailer: process command line trailer arguments
534 + - trailer: read and process config information
535 + - trailer: process trailers from input message and arguments
536 + - trailer: add data structures and basic functions
537 +
538 + A new filter to programatically edit the tail end of the commit log
539 + messages.
540
541 + Comments & reviews?
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
543
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.
544 +* bb/date-iso-strict (2014-08-29) 1 commit
545 + - pretty: provide a strict ISO 8601 date format
546 +
547 + "log --date=iso" uses a slight variant of ISO 8601 format that is
548 + made more human readable. A new "--date=iso-strict" option gives
549 + datetime output that is more strictly conformant.
550
551 Will merge to 'next'.
552
553
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
554 +* jk/commit-author-parsing (2014-08-29) 6 commits
555 + - determine_author_info(): copy getenv output
556 + - determine_author_info(): reuse parsing functions
557 + - date: use strbufs in date-formatting functions
558 + - record_author_date(): use find_commit_header()
559 + - record_author_date(): fix memory leak on malformed commit
560 + - commit: provide a function to find a header in a buffer
561
559 - The prompt script checked $GIT_DIR/ref/stash file to see if there
560 - is a stash, which was a no-no.
562 + Code clean-up.
563 +
564 + Will merge to 'next'.
565 +
566 +
567 +* jk/contrib-subtree-make-all (2014-08-18) 1 commit
568 + (merged to 'next' on 2014-09-03 at 919d889)
569 + + subtree: make "all" default target of Makefile
570
571 Will merge to 'master'.
572
573
565 -* jk/prune-top-level-refs-after-packing (2014-08-25) 1 commit
566 - - pack-refs: prune top-level refs like "refs/foo"
574 +* jk/fast-export-anonymize (2014-08-28) 2 commits
575 + - docs/fast-export: explain --anonymize more completely
576 + - teach fast-export an --anonymize option
577
568 - After "pack-refs --prune" packed refs at the top-level, it failed
569 - to prune them.
578 + Sometimes users want to report a bug they experience on their
579 + repository, but they are not at liberty to share the contents of
580 + the repository. "fast-export" was taught an "--anonymize" option
581 + to replace blob contents, names of people and paths and log
582 + messages with bland and simple strings to help them.
583
584 Will merge to 'next'.
585
586
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
587 +* jk/index-pack-threading-races (2014-08-29) 1 commit
588 + - index-pack: fix race condition with duplicate bases
589
578 - With sufficiently long refnames, fast-import could have overflown
579 - an on-stack buffer.
590 + When receiving an invalid pack stream that records the same object
591 + twice, multiple threads got confused due to a race. We should
592 + reject or correct such a stream upon receiving, but that will be a
593 + larger change.
594
595 Will merge to 'next'.
596
597
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
598 +* jk/send-pack-many-refspecs (2014-08-26) 1 commit
599 + - send-pack: take refspecs over stdin
600
588 - Progress output from "git gc --auto" was visible in "git fetch -q".
601 + The number of refs that can be pushed at once over smart HTTP was
602 + limited by the command line length. The limitation has been lifted
603 + by passing these refs from the standard input of send-pack.
604
605 Will merge to 'next'.
606
607
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
608 +* jp/index-with-corrupt-stages (2014-08-29) 2 commits
609 + - read_index_unmerged(): remove unnecessary loop index adjustment
610 + - read_index_from(): catch out of order entries when reading an index file
611
597 - Fix a couple of "accumulate into a sorted list" to "accumulate and
598 - then sort the list".
612 + A broken reimplementation of Git could write an invalid index that
613 + records both stage #0 and higher stage entries for the same path.
614 + Notice and reject such an index, as there is no sensible fallback
615 + (we do not know if the broken tool wanted to resolve and forgot to
616 + remove higher stage entries, or if it wanted to unresolve and
617 + forgot to remove the stage#0 entry).
618 +
619 + Will merge to 'next'.
620 +
621 +
622 +* mb/build-contrib-svn-fe (2014-08-28) 1 commit
623 + - contrib/svn-fe: fix Makefile
624
625 Will merge to 'next'.
626
627
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
628 +* mb/fast-import-delete-root (2014-08-29) 2 commits
629 + - fast-import: fix segfault in store_tree()
630 + - t9300: test filedelete command
631 +
632 + An attempt to remove the entire tree in the "git fast-import" input
633 + stream caused it to misbehave.
634 +
635 + Will merge to 'next'.
636 +
637 +
638 +* mm/discourage-commit-a-to-finish-conflict-resolution (2014-08-28) 1 commit
639 + (merged to 'next' on 2014-09-03 at e3f872f)
640 + + merge, pull: stop advising 'commit -a' in case of conflict
641 +
642 + Will merge to 'master'.
643 +
644 +
645 +* ah/grammofix (2014-09-02) 1 commit
646 + - grammofix in user-facing messages
647 +
648 + Will merge to 'next'.
649 +
650 +
651 +* da/styles (2014-09-02) 1 commit
652 + - stylefix: asterisks stick to the variable, not the type
653 +
654 + Will merge to 'next'.
655 +
656 +
657 +* da/use-rev-parse-verify-quiet-in-stash (2014-09-09) 1 commit
658 + - stash: prefer --quiet over shell redirection of the standard error stream
659 +
660 + Will merge to 'next'.
661 +
662 +
663 +* mk/reachable-protect-detached-head (2014-09-03) 1 commit
664 + - reachable.c: add HEAD to reachability starting commits
665 +
666 + Will merge to 'next'.
667 +
668 +
669 +* rs/merge-tree-simplify (2014-09-02) 1 commit
670 + - merge-tree: remove unused df_conflict arguments
671 +
672 + Code clean-up.
673
607 - Will merge to 'master'.
674 + Will merge to 'next'.
675
676
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
677 +* rs/simplify-config-include (2014-09-02) 1 commit
678 + - config: simplify git_config_include()
679
614 - Documentation update.
680 + Code clean-up.
681
616 - Will merge to 'master'.
682 + Will merge to 'next'.
683
684
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
685 +* rs/simplify-http-walker (2014-09-02) 1 commit
686 + - http-walker: simplify process_alternates_response() using strbuf
687
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.
688 + Code clean-up.
689
690 Will merge to 'next'.
691
692
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
693 +* tb/crlf-tests (2014-09-02) 3 commits
694 + - MinGW: update tests to handle a native eol of crlf
695 + - Makefile: propagate NATIVE_CRLF to C
696 + - t0027: Tests for core.eol=native, eol=lf, eol=crlf
697
698 Will merge to 'next'.
699
700
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
701 +* ta/config-add-to-empty-or-true-fix (2014-08-18) 1 commit
702 + (merged to 'next' on 2014-08-29 at d219212)
703 + + make config --add behave correctly for empty and NULL values
704
643 - Will merge to 'next'.
705 + We may want to undo the "a^" bit along the lines of $gmane/255445
706
707
646 -* jc/config-mak-document-darwin-vs-macosx (2014-08-15) 1 commit
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.)
708 +* et/spell-poll-infinite-with-minus-one-only (2014-08-22) 1 commit
709 + (merged to 'next' on 2014-09-03 at 5be5957)
710 + + upload-pack: keep poll(2)'s timeout to -1
711 +
712 + We used to pass -1000 to poll(2), expecting it to also mean "no
713 + timeout", which should be spelled as -1.
714
715 Will merge to 'master'.
716
717
654 -* jn/unpack-trees-checkout-m-carry-deletion (2014-08-25) 3 commits
655 - - checkout -m: attempt merge when deletion of path was staged
656 - - unpack-trees: use 'cuddled' style for if-else cascade
657 - - unpack-trees: simplify 'all other failures' case
718 +* jk/make-simplify-dependencies (2014-08-26) 3 commits
719 + (merged to 'next' on 2014-09-03 at 820a600)
720 + + Makefile: drop CHECK_HEADER_DEPENDENCIES code
721 + + Makefile: use `find` to determine static header dependencies
722 + + i18n: treat "make pot" as an explicitly-invoked target
723
659 - Will merge to 'next'.
724 + Admit that keeping LIB_H up-to-date, only for those that do not use
725 + the automatically generated dependencies, is a losing battle, and
726 + make it conservative by making everything depend on anything.
727
728 + Will merge to 'master'.
729
662 -* km/no-apple-common-crypto-on-darwin-8-and-below (2014-08-15) 1 commit
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.)
730
667 - Build automation for older versions of MacOS X.
731 +* jk/prune-top-level-refs-after-packing (2014-08-25) 1 commit
732 + (merged to 'next' on 2014-09-04 at bfe3873)
733 + + pack-refs: prune top-level refs like "refs/foo"
734
669 - Will merge to 'master'.
735 + After "pack-refs --prune" packed refs at the top-level, it failed
736 + to prune them.
737
738 + Will merge to 'master'.
739
672 -* nd/large-blobs (2014-08-18) 5 commits
673 - - diff: shortcut for diff'ing two binary SHA-1 objects
674 - - diff --stat: mark any file larger than core.bigfilethreshold binary
675 - - diff.c: allow to pass more flags to diff_populate_filespec
676 - - sha1_file.c: do not die failing to malloc in unpack_compressed_entry
677 - - wrapper.c: introduce gentle xmallocz that does not die()
740
679 - Will merge to 'next'.
741 +* jk/fast-import-fixes (2014-08-25) 2 commits
742 + (merged to 'next' on 2014-09-04 at 74838e5)
743 + + fast-import: fix buffer overflow in dump_tags
744 + + fast-import: clean up pack_data pointer in end_packfile
745
746 + With sufficiently long refnames, fast-import could have overflown
747 + an on-stack buffer.
748
682 -* nd/mv-code-cleaning (2014-08-11) 9 commits
683 - - SQUASH???
684 - - mv: no SP between function name and the first opening parenthese
685 - - mv: combine two if(s)
686 - - mv: unindent one level for directory move code
687 - - mv: move index search code out
688 - - mv: remove an "if" that's always true
689 - - mv: split submodule move preparation code out
690 - - mv: flatten error handling code block
691 - - mv: mark strings for translations
749 + Will merge to 'master'.
750
693 - SQUASH!!! Will merge to 'next'.
751
752 +* nd/fetch-pass-quiet-to-gc-child-process (2014-08-18) 2 commits
753 + (merged to 'next' on 2014-09-04 at 028cd42)
754 + + fetch: silence git-gc if --quiet is given
755 + + fetch: convert argv_gc_auto to struct argv_array
756
696 -* nd/strbuf-utf8-replace (2014-08-11) 1 commit
697 - (merged to 'next' on 2014-08-29 at 5d1ddf4)
698 - + utf8.c: fix strbuf_utf8_replace() consuming data beyond input string
757 + Progress output from "git gc --auto" was visible in "git fetch -q".
758
759 Will merge to 'master'.
760
761
703 -* rs/clean-menu-item-defn (2014-08-18) 1 commit
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
762 +* rs/list-optim (2014-08-25) 2 commits
763 + (merged to 'next' on 2014-09-04 at eecaf99)
764 + + walker: avoid quadratic list insertion in mark_complete
765 + + sha1_name: avoid quadratic list insertion in handle_one_ref
766 +
767 + Fix a couple of "accumulate into a sorted list" to "accumulate and
768 + then sort the list".
769
770 Will merge to 'master'.
771
772
710 -* rs/inline-compat-path-macros (2014-08-18) 1 commit
711 - (merged to 'next' on 2014-08-29 at 5705ad5)
712 - + turn path macros into inline function
773 +* jk/name-decoration-alloc (2014-08-27) 3 commits
774 + (merged to 'next' on 2014-09-04 at 05f0d29)
775 + + log-tree: use FLEX_ARRAY in name_decoration
776 + + log-tree: make name_decoration hash static
777 + + log-tree: make add_name_decoration a public function
778 +
779 + The API to allocate the structure to keep track of commit
780 + decoration was cumbersome to use, inviting lazy code to
781 + overallocate memory.
782
783 Will merge to 'master'.
784
785
717 -* rs/refresh-beyond-symlink (2014-08-10) 1 commit
718 - (merged to 'next' on 2014-08-29 at 90a4a8b)
719 - + read-cache: check for leading symlinks when refreshing index
786 +* br/http-init-fix (2014-08-21) 2 commits
787 + (merged to 'next' on 2014-09-03 at 6d42f5e)
788 + + http: style fixes for curl_multi_init error check
789 + + http.c: die if curl_*_init fails
790
721 - "git add x" where x that used to be a directory has become a
722 - symbolic link to a directory misbehaved.
791 + Code clean-up.
792
793 Will merge to 'master'.
794
795
727 -* sb/blame-msg-i18n (2014-08-12) 1 commit
728 - (merged to 'next' on 2014-08-29 at 5b33466)
729 - + builtin/blame.c: add translation to warning about failed revision walk
796 +* br/imap-send-simplify-tunnel-child-process (2014-09-02) 3 commits
797 + (merged to 'next' on 2014-09-04 at a182987)
798 + + imap-send: simplify v_issue_imap_cmd() and get_cmd_result() using starts_with()
799 + + imap-send.c: imap_folder -> imap_server_conf.folder
800 + + git-imap-send: simplify tunnel construction
801 +
802 + Code clean-up.
803
804 Will merge to 'master'.
805
806
734 -* sb/plug-leaks (2014-08-10) 2 commits
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
807 +* jn/unpack-trees-checkout-m-carry-deletion (2014-08-25) 3 commits
808 + (merged to 'next' on 2014-09-04 at e15803a)
809 + + checkout -m: attempt merge when deletion of path was staged
810 + + unpack-trees: use 'cuddled' style for if-else cascade
811 + + unpack-trees: simplify 'all other failures' case
812 +
813 + "git checkout -m" did not switch to another branch while carrying
814 + the local changes forward when a path was deleted from the index.
815
816 Will merge to 'master'.
817
818
742 -* sb/prepare-revision-walk-error-check (2014-08-12) 1 commit
743 - (merged to 'next' on 2014-08-29 at fb82508)
744 - + prepare_revision_walk(): check for return value in all places
819 +* nd/large-blobs (2014-08-18) 5 commits
820 + (merged to 'next' on 2014-09-04 at 16d7c62)
821 + + diff: shortcut for diff'ing two binary SHA-1 objects
822 + + diff --stat: mark any file larger than core.bigfilethreshold binary
823 + + diff.c: allow to pass more flags to diff_populate_filespec
824 + + sha1_file.c: do not die failing to malloc in unpack_compressed_entry
825 + + wrapper.c: introduce gentle xmallocz that does not die()
826 +
827 + Teach a few codepaths to punt (instead of dying) when large blobs
828 + that would not fit in core are involved in the operation.
829
830 Will merge to 'master'.
831
832
749 -* so/rebase-doc (2014-08-12) 1 commit
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
833 +* nd/mv-code-cleaning (2014-09-03) 8 commits
834 + (merged to 'next' on 2014-09-03 at 4315447)
835 + + mv: no SP between function name and the first opening parenthese
836 + + mv: combine two if(s)
837 + + mv: unindent one level for directory move code
838 + + mv: move index search code out
839 + + mv: remove an "if" that's always true
840 + + mv: split submodule move preparation code out
841 + + mv: flatten error handling code block
842 + + mv: mark strings for translations
843
753 - May need description on what makes various modes of operation to
754 - decide that the request can become a "no-op".
844 + Code clean-up.
845
846 Will merge to 'master'.
847
@@ -764,22 +854,24 @@ of the repositories listed at
854 - config.c: add git_env_ulong() to parse environment variable
855 - convert: drop arguments other than 'path' from would_convert_to_git()
856
767 - Rerolled.
857 + Rerolled. Comments & reviews?
858
859
770 -* jc/push-cert (2014-08-25) 20 commits
860 +* jc/push-cert (2014-09-08) 22 commits
861 + - signed push: allow stale nonce in stateless mode
862 - signed push: fortify against replay attacks
772 - - signed-push: add "pushee" header to push certificate
863 + - signed push: add "pushee" header to push certificate
864 - signed push: remove duplicated protocol info
865 - send-pack: send feature request on push-cert packet
866 - receive-pack: GPG-validate push certificates
776 - - the beginning of the signed push
867 + - push: the beginning of "git push --signed"
868 - pack-protocol doc: typofix for PKT-LINE
869 - gpg-interface: move parse_signature() to where it should be
870 - gpg-interface: move parse_gpg_output() to where it should be
871 - send-pack: clarify that cmds_sent is a boolean
872 - send-pack: refactor inspecting and resetting status and sending commands
873 - send-pack: rename "new_refs" to "need_pack_data"
874 + - receive-pack: factor out capability string generation
875 - send-pack: factor out capability string generation
876 - send-pack: always send capabilities
877 - send-pack: refactor decision to send update per ref
@@ -794,165 +886,97 @@ of the repositories listed at
886 tips of branches at a public repository really point the commits
887 the pusher wanted to, without having to "trust" the server.
888
797 - The tip two feels still a bit slushy, but otherwise should be
798 - reasonably solid to build upon.
889 + Hopefully a final reroll. Comments & reviews?
890
891
892 * rs/child-process-init (2014-08-20) 4 commits
802 - - run-command: inline prepare_run_command_v_opt()
803 - - run-command: call run_command_v_opt_cd_env() instead of duplicating it
804 - - run-command: introduce child_process_init()
805 - - run-command: introduce CHILD_PROCESS_INIT
806 -
807 - Will merge to 'next'.
808 -
809 -
810 -* tf/imap-send-create (2014-08-25) 2 commits
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
819 - (merged to 'next' on 2014-08-29 at 2ea514b)
820 - + imap-send doc: omit confusing "to use imap-send" modifier
821 -
822 - Will merge to 'master'.
823 -
824 -
825 -* jc/apply-ws-prefix (2014-08-07) 3 commits
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 -
836 - Will merge to 'master'.
837 -
838 -
839 -* jk/command-line-config-empty-string (2014-08-05) 1 commit
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 -
847 - Will merge to 'master'.
848 -
849 -
850 -* la/init-doc (2014-08-08) 7 commits
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
893 + (merged to 'next' on 2014-09-03 at c17c06c)
894 + + run-command: inline prepare_run_command_v_opt()
895 + + run-command: call run_command_v_opt_cd_env() instead of duplicating it
896 + + run-command: introduce child_process_init()
897 + + run-command: introduce CHILD_PROCESS_INIT
898
860 - Will merge to 'master'.
861 -
862 -
863 -* lf/bundle-exclusion (2014-08-07) 1 commit
864 - (merged to 'next' on 2014-08-29 at d84b102)
865 - + bundle: fix exclusion of annotated tags
866 -
867 - Will merge to 'master'.
868 -
869 -
870 -* mm/log-branch-desc-plug-leak (2014-08-07) 1 commit
871 - (merged to 'next' on 2014-08-29 at 3580add)
872 - + builtin/log.c: fix minor memory leak
899 + Code clean-up.
900
901 Will merge to 'master'.
902
903
904 * ta/config-set-1 (2014-08-07) 8 commits
878 - - add tests for `git_config_get_string_const()`
879 - - add a test for semantic errors in config files
880 - - rewrite git_config() to use the config-set API
881 - - config: add `git_die_config()` to the config-set API
882 - - change `git_config()` return value to void
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
905 + (merged to 'next' on 2014-09-03 at 184b2ef)
906 + + add tests for `git_config_get_string_const()`
907 + + add a test for semantic errors in config files
908 + + rewrite git_config() to use the config-set API
909 + + config: add `git_die_config()` to the config-set API
910 + + change `git_config()` return value to void
911 + + add line number and file name info to `config_set`
912 + + config.c: fix accuracy of line number in errors
913 + + config.c: mark error and warnings strings for translation
914 (this branch is used by ta/config-set-2.)
915
888 - Will merge to 'next'.
916 + Use the new caching config-set API in git_config() calls.
917 +
918 + Will merge to 'master'.
919
920
921 * ta/config-set-2 (2014-08-13) 15 commits
892 - - builtin/apply.c: replace `git_config()` with `git_config_get_string_const()`
893 - - merge-recursive.c: replace `git_config()` with `git_config_get_int()`
894 - - ll-merge.c: refactor `read_merge_config()` to use `git_config_string()`
895 - - fast-import.c: replace `git_config()` with `git_config_get_*()` family
896 - - branch.c: replace `git_config()` with `git_config_get_string()
897 - - alias.c: replace `git_config()` with `git_config_get_string()`
898 - - imap-send.c: replace `git_config()` with `git_config_get_*()` family
899 - - pager.c: replace `git_config()` with `git_config_get_value()`
900 - - builtin/gc.c: replace `git_config()` with `git_config_get_*()` family
901 - - rerere.c: replace `git_config()` with `git_config_get_*()` family
902 - - fetchpack.c: replace `git_config()` with `git_config_get_*()` family
903 - - archive.c: replace `git_config()` with `git_config_get_bool()` family
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
922 + (merged to 'next' on 2014-09-03 at f2eff02)
923 + + builtin/apply.c: replace `git_config()` with `git_config_get_string_const()`
924 + + merge-recursive.c: replace `git_config()` with `git_config_get_int()`
925 + + ll-merge.c: refactor `read_merge_config()` to use `git_config_string()`
926 + + fast-import.c: replace `git_config()` with `git_config_get_*()` family
927 + + branch.c: replace `git_config()` with `git_config_get_string()
928 + + alias.c: replace `git_config()` with `git_config_get_string()`
929 + + imap-send.c: replace `git_config()` with `git_config_get_*()` family
930 + + pager.c: replace `git_config()` with `git_config_get_value()`
931 + + builtin/gc.c: replace `git_config()` with `git_config_get_*()` family
932 + + rerere.c: replace `git_config()` with `git_config_get_*()` family
933 + + fetchpack.c: replace `git_config()` with `git_config_get_*()` family
934 + + archive.c: replace `git_config()` with `git_config_get_bool()` family
935 + + read-cache.c: replace `git_config()` with `git_config_get_*()` family
936 + + http-backend.c: replace `git_config()` with `git_config_get_bool()` family
937 + + daemon.c: replace `git_config()` with `git_config_get_bool()` family
938 (this branch uses ta/config-set-1.)
939
909 - Will merge to 'next'.
910 -
911 -
912 -* jk/stash-list-p (2014-08-07) 1 commit
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.
940 + Update git_config() users with callback functions for a very narrow
941 + scope with calls to config-set API that lets us query a single
942 + variable.
943
944 Will merge to 'master'.
945
946
923 -* rs/ref-transaction-multi (2014-08-27) 6 commits
947 +* rs/ref-transaction-multi (2014-09-03) 7 commits
948 - ### rs/ref-transaction-multi
949 - refs.c: make the *_packed_refs functions static
950 - refs.c: make repack_without_refs static
951 - remote.c: use a transaction for deleting refs
952 - refs.c: write updates to packed refs when a transaction has more than one ref
953 - refs.c: move reflog updates into its own function
954 + - ### rs/ref-transaction-rename
955 (this branch uses rs/ref-transaction, rs/ref-transaction-1, rs/ref-transaction-reflog and rs/ref-transaction-rename.)
956
957 Follow-up on rs/ref-transaction series to use the packed-ref to
958 achieve atomicity when multiple refs are involved.
959
935 - No more nitpicks and better design suggestions?
960 + Comments & reviews?
961
962
938 -* rs/ref-transaction-rename (2014-08-27) 6 commits
939 - - ### rs/ref-transaction-rename
963 +* rs/ref-transaction-rename (2014-09-03) 6 commits
964 - refs.c: rollback the lockfile before we die() in repack_without_refs
965 - refs.c: update rename_ref to use a transaction
966 - refs.c: use packed refs when deleting refs during a transaction
967 - refs.c: return error instead of dying when locking fails during transaction
968 - refs.c: allow passing raw git_committer_info as email to _update_reflog
969 + - ### rs/ref-transaction-reflog
970 (this branch is used by rs/ref-transaction-multi; uses rs/ref-transaction, rs/ref-transaction-1 and rs/ref-transaction-reflog.)
971
972 Follow-up on rs/ref-transaction series to make renaming a ref
973 transactional (i.e. "delete old and create new" should not leave
974 an in-between state behind when it fails).
975
951 - No more nitpicks and better design suggestions?
976 + Comments & reviews?
977
978
954 -* rs/ref-transaction-reflog (2014-08-27) 16 commits
955 - - ### rs/ref-transaction-reflog
979 +* rs/ref-transaction-reflog (2014-09-03) 16 commits
980 - refs.c: allow deleting refs with a broken sha1
981 - refs.c: remove lock_any_ref_for_update
982 - refs.c: make unlock_ref/close_ref/commit_ref static
@@ -968,96 +992,81 @@ of the repositories listed at
992 - refs.c: rename the transaction functions
993 - refs.c: make ref_transaction_delete a wrapper for ref_transaction_update
994 - refs.c: make ref_transaction_create a wrapper to ref_transaction_update
995 + - ### rs/ref-transaction
996 (this branch is used by rs/ref-transaction-multi and rs/ref-transaction-rename; uses rs/ref-transaction and rs/ref-transaction-1.)
997
998 Cover updates to reflog with the same transaction mechanism as used
999 for reflog manipulations.
1000
976 - No more nitpicks and better design suggestions?
977 -
1001 + Comments & reviews?
1002 + Otherwise will merge to 'next'.
1003
979 -* jc/not-mingw-cygwin (2014-07-21) 2 commits
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.
1004
989 - Will merge to 'master'.
1005
1006 +* rs/ref-transaction (2014-09-03) 13 commits
1007 + - refs.c: fix handling of badly named refs
1008 + - refs.c: make write_ref_sha1 static
1009 + - fetch.c: change s_update_ref to use a ref transaction
1010 + - refs.c: propagate any errno==ENOTDIR from _commit back to the callers
1011 + - refs.c: pass a skip list to name_conflict_fn
1012 + - refs.c: call lock_ref_sha1_basic directly from commit
1013 + - refs.c: move the check for valid refname to lock_ref_sha1_basic
1014 + - refs.c: pass NULL as *flags to read_ref_full
1015 + - refs.c: pass the ref log message to _create/delete/update instead of _commit
1016 + - refs.c: add an err argument to delete_ref_loose
1017 + - wrapper.c: add a new function unlink_or_msg
1018 + - wrapper.c: simplify warn_if_unremovable
1019 + - ### rs/ref-transaction-1
1020 + (this branch is used by rs/ref-transaction-multi, rs/ref-transaction-reflog and rs/ref-transaction-rename; uses rs/ref-transaction-1.)
1021
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
996 - - refs.c: remove the update_ref_write function
997 - - refs.c: remove the update_ref_lock function
998 - - refs.c: make lock_ref_sha1 static
999 - - walker.c: use ref transaction for ref updates
1000 - - fast-import.c: use a ref transaction when dumping tags
1001 - - receive-pack.c: use a reference transaction for updating the refs
1002 - - refs.c: change update_ref to use a transaction
1003 - - branch.c: use ref transaction for all ref updates
1004 - - fast-import.c: change update_branch to use ref transactions
1005 - - sequencer.c: use ref transactions for all ref updates
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
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
1022 + Comments & reviews?
1023 + Otherwise will merge to 'next'.
1024 +
1025 +
1026 +* rs/ref-transaction-1 (2014-09-03) 22 commits
1027 + (merged to 'next' on 2014-09-03 at 68e20b8)
1028 + + update-ref --stdin: pass transaction around explicitly
1029 + + update-ref --stdin: narrow scope of err strbuf
1030 + + refs.c: make delete_ref use a transaction
1031 + + refs.c: make prune_ref use a transaction to delete the ref
1032 + + refs.c: remove lock_ref_sha1
1033 + + refs.c: remove the update_ref_write function
1034 + + refs.c: remove the update_ref_lock function
1035 + + refs.c: make lock_ref_sha1 static
1036 + + walker.c: use ref transaction for ref updates
1037 + + fast-import.c: use a ref transaction when dumping tags
1038 + + receive-pack.c: use a reference transaction for updating the refs
1039 + + refs.c: change update_ref to use a transaction
1040 + + branch.c: use ref transaction for all ref updates
1041 + + fast-import.c: change update_branch to use ref transactions
1042 + + sequencer.c: use ref transactions for all ref updates
1043 + + commit.c: use ref transactions for updates
1044 + + replace.c: use the ref transaction functions for updates
1045 + + tag.c: use ref transactions when doing updates
1046 + + refs.c: add transaction.status and track OPEN/CLOSED
1047 + + refs.c: make ref_transaction_begin take an err argument
1048 + + refs.c: update ref_transaction_delete to check for error and return status
1049 + + refs.c: change ref_transaction_create to do error checking and return status
1050 (this branch is used by rs/ref-transaction, rs/ref-transaction-multi, rs/ref-transaction-reflog and rs/ref-transaction-rename.)
1051
1052 The second batch of the transactional ref update series.
1016 - A hopefully final reroll exists but haven't picked it up yet.
1053 +
1054 + Will merge to 'master'.
1055
1056
1019 -* dt/cache-tree-repair (2014-09-02) 5 commits
1020 - - cache-tree: propagate invalidation up when punting
1057 +* dt/cache-tree-repair (2014-09-03) 5 commits
1058 + (merged to 'next' on 2014-09-03 at 1c8ff65)
1059 + + cache-tree: do not try to use an invalidated subtree info to build a tree
1060 (merged to 'next' on 2014-08-26 at 6faccdb)
1061 + cache-tree: Write updated cache-tree after commit
1062 + cache-tree: subdirectory tests
1063 + test-dump-cache-tree: invalid trees are not errors
1064 + cache-tree: create/update cache-tree on checkout
1065
1027 - Originally merged to 'next' on 2014-07-21
1028 -
1066 Add a few more places in "commit" and "checkout" that make sure
1067 that the cache-tree is fully populated in the index.
1068
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
1037 - - do not die on error of parsing fetchrecursesubmodules option
1038 - - use new config API for worktree configurations of submodules
1039 - - extract functions for submodule config set and lookup
1040 - - implement submodule config cache for lookup of submodule names
1041 -
1042 - Kicked back to 'pu'.
1043 -
1044 -
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
1050 - - refs.c: propagate any errno==ENOTDIR from _commit back to the callers
1051 - - refs.c: pass a skip list to name_conflict_fn
1052 - - refs.c: call lock_ref_sha1_basic directly from commit
1053 - - refs.c: move the check for valid refname to lock_ref_sha1_basic
1054 - - refs.c: pass NULL as *flags to read_ref_full
1055 - - refs.c: pass the ref log message to _create/delete/update instead of _commit
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.)
1069 + Will merge to 'master'.
1070
1071
1072 * jc/test-lazy-prereq (2014-06-13) 1 commit
@@ -1065,7 +1074,8 @@ of the repositories listed at
1074
1075 Test-script clean-up.
1076
1068 - Will hold.
1077 + Comments & reviews?
1078 + Otherwise will merge to 'next'.
1079
1080
1081 * mt/patch-id-stable (2014-06-10) 1 commit
@@ -1076,4 +1086,16 @@ of the repositories listed at
1086 is backward incompatible, the last bit to flip it to be the default
1087 is left out of 'master' for now.
1088
1079 - Will hold.
1089 + Nobody seems to be jumping up & down requesting this last step.
1090 + Perhaps will drop.
1091 +
1092 +
1093 +--------------------------------------------------
1094 +[Discarded]
1095 +
1096 +* tr/merge-recursive-index-only (2014-02-05) 3 commits
1097 + - merge-recursive: -Xindex-only to leave worktree unchanged
1098 + - merge-recursive: internal flag to avoid touching the worktree
1099 + - merge-recursive: remove dead conditional in update_stages()
1100 +
1101 + Now part of tr/remerge-diff.