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.