What's cooking (2016/10 #08)

Junio C Hamano committed Oct 28, 2016 at 23:22 UTC 4379b29204d9e2a26f1697dd7638e6d3197c097c
1 file changed +175 -448
whats-cooking.txt
+175 -448
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Oct 2016, #07; Wed, 26)
4 -X-master-at: 2cc2e70264e0fcba04f9ef791d144bbc8b501206
5 -X-next-at: d2da68a14ada34b7842a51c88751ffe4aaf8a1af
3 +Subject: What's cooking in git.git (Oct 2016, #08; Fri, 28)
4 +X-master-at: 7805bda2ac68c659b0042f45473723d9fdcece74
5 +X-next-at: 86d95836a33d12ccd9eed86457166d0222f77f17
6
7 -What's cooking in git.git (Oct 2016, #07; Wed, 26)
7 +What's cooking in git.git (Oct 2016, #08; Fri, 28)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -12,6 +12,10 @@ Here are the topics that have been cooking. Commits prefixed with
12 '+' are in 'next'. The ones marked with '.' do not appear in any of
13 the integration branches, but I am still holding onto them.
14
15 +Git v2.10.2, the second maintenance release for 2.10.x track, has
16 +been tagged. On the master front, things are getting close for the
17 +preview snapshot v2.11.0-rc0.
18 +
19 You can find the changes described here in the integration branches
20 of the repositories listed at
21
@@ -20,331 +24,177 @@ of the repositories listed at
24 --------------------------------------------------
25 [Graduated to "master"]
26
23 -* ab/gitweb-abbrev-links (2016-10-14) 3 commits
24 - (merged to 'next' on 2016-10-17 at 4868def05e)
25 - + gitweb: link to "git describe"'d commits in log messages
26 - + gitweb: link to 7-char+ SHA-1s, not only 8-char+
27 - + gitweb: fix a typo in a comment
28 -
29 - In addition to purely abbreviated commit object names, "gitweb"
30 - learned to turn "git describe" output (e.g. v2.9.3-599-g2376d31787)
31 - into clickable links in its output.
32 -
33 -
34 -* bw/ls-files-recurse-submodules (2016-10-10) 4 commits
35 - (merged to 'next' on 2016-10-17 at f0e398946a)
36 - + ls-files: add pathspec matching for submodules
37 - + ls-files: pass through safe options for --recurse-submodules
38 - + ls-files: optionally recurse into submodules
39 - + git: make super-prefix option
40 -
41 - "git ls-files" learned "--recurse-submodules" option that can be
42 - used to get a listing of tracked files across submodules (i.e. this
43 - only works with "--cached" option, not for listing untracked or
44 - ignored files). This would be a useful tool to sit on the upstream
45 - side of a pipe that is read with xargs to work on all working tree
46 - files from the top-level superproject.
47 -
48 -
49 -* bw/submodule-branch-dot-doc (2016-10-19) 1 commit
50 - (merged to 'next' on 2016-10-21 at 18aad25ba8)
51 - + submodules doc: update documentation for "." used for submodule branches
52 -
53 - Recent git allows submodule.<name>.branch to use a special token
54 - "." instead of the branch name; the documentation has been updated
55 - to describe it.
56 -
57 -
58 -* dk/worktree-dup-checkout-with-bare-is-ok (2016-10-14) 1 commit
59 - (merged to 'next' on 2016-10-17 at 24594d3e56)
60 - + worktree: allow the main brach of a bare repository to be checked out
61 -
62 - In a worktree connected to a repository elsewhere, created via "git
63 - worktree", "git checkout" attempts to protect users from confusion
64 - by refusing to check out a branch that is already checked out in
65 - another worktree. However, this also prevented checking out a
66 - branch, which is designated as the primary branch of a bare
67 - reopsitory, in a worktree that is connected to the bare
68 - repository. The check has been corrected to allow it.
69 -
70 -
71 -* ex/deprecate-empty-pathspec-as-match-all (2016-06-22) 1 commit
72 - (merged to 'next' on 2016-09-21 at e19148ea63)
73 - + pathspec: warn on empty strings as pathspec
74 -
75 - Originally merged to 'next' on 2016-07-13
76 -
77 - An empty string used as a pathspec element has always meant
78 - 'everything matches', but it is too easy to write a script that
79 - finds a path to remove in $path and run 'git rm "$paht"', which
80 - ends up removing everything. Start warning about this use of an
81 - empty string used for 'everything matches' and ask users to use a
82 - more explicit '.' for that instead.
83 -
84 - The hope is that existing users will not mind this change, and
85 - eventually the warning can be turned into a hard error, upgrading
86 - the deprecation into removal of this (mis)feature.
87 -
88 -
89 -* jc/cocci-xstrdup-or-null (2016-10-12) 1 commit
90 - (merged to 'next' on 2016-10-17 at 55ceaa465a)
91 - + cocci: refactor common patterns to use xstrdup_or_null()
92 -
93 - Code cleanup.
94 -
95 -
96 -* jc/diff-unique-abbrev-comments (2016-09-30) 1 commit
97 - (merged to 'next' on 2016-10-17 at c7fb286102)
98 - + diff_unique_abbrev(): document its assumption and limitation
99 - (this branch is used by jk/no-looking-at-dotgit-outside-repo.)
100 -
101 - A bit more comments in a tricky code.
102 -
103 -
104 -* jc/ws-error-highlight (2016-10-04) 4 commits
105 - (merged to 'next' on 2016-10-17 at ecbdc57d77)
106 - + diff: introduce diff.wsErrorHighlight option
107 - + diff.c: move ws-error-highlight parsing helpers up
108 - + diff.c: refactor parse_ws_error_highlight()
109 - + t4015: split out the "setup" part of ws-error-highlight test
110 -
111 - "git diff/log --ws-error-highlight=<kind>" lacked the corresponding
112 - configuration variable to set it by default.
113 -
114 -
115 -* jk/ambiguous-short-object-names (2016-10-12) 1 commit
116 - (merged to 'next' on 2016-10-19 at e7c55a9da5)
117 - + t1512: become resilient to GETTEXT_POISON build
118 -
119 - A test fixup to recently graduated topic.
120 -
27 +* jc/abbrev-auto (2016-10-22) 4 commits
28 + (merged to 'next' on 2016-10-26 at 92fdb66807)
29 + + transport: compute summary-width dynamically
30 + + transport: allow summary-width to be computed dynamically
31 + + fetch: pass summary_width down the callchain
32 + + transport: pass summary_width down the callchain
33 + (this branch uses jk/abbrev-auto and lt/abbrev-auto.)
34
122 -* jk/diff-submodule-diff-inline (2016-10-20) 1 commit
123 - (merged to 'next' on 2016-10-21 at 13f300805e)
124 - + rev-list: use hdr_termination instead of a always using a newline
35 + "git push" and "git fetch" reports from what old object to what new
36 + object each ref was updated, using abbreviated refnames, and they
37 + attempt to align the columns for this and other pieces of
38 + information. The way these codepaths compute how many display
39 + columns to allocate for the object names portion of this output has
40 + been updated to match the recent "auto scale the default
41 + abbreviation length" change.
42
126 - A recently graduated topic regressed "git rev-list --header"
127 - output, breaking "gitweb". This has been fixed.
43
44 +* jk/abbrev-auto (2016-10-03) 1 commit
45 + (merged to 'next' on 2016-10-21 at 8aa3d760d8)
46 + + find_unique_abbrev: move logic out of get_short_sha1()
47 + (this branch is used by jc/abbrev-auto; uses lt/abbrev-auto.)
48
130 -* jk/fetch-quick-tag-following (2016-10-14) 1 commit
131 - (merged to 'next' on 2016-10-19 at d7718dcdf5)
132 - + fetch: use "quick" has_sha1_file for tag following
49 + Updates the way approximate count of total objects is computed
50 + while attempting to come up with a unique abbreviated object name,
51 + which in turn needs to estimate how many hexdigits are necessary to
52 + ensure uniqueness.
53
134 - When fetching from a remote that has many tags that are irrelevant
135 - to branches we are following, we used to waste way too many cycles
136 - when checking if the object pointed at by a tag (that we are not
137 - going to fetch!) exists in our repository too carefully.
54
55 +* jk/daemon-path-ok-check-truncation (2016-10-24) 1 commit
56 + (merged to 'next' on 2016-10-26 at 70c08241f6)
57 + + daemon: detect and reject too-long paths
58
140 -* jk/merge-base-fork-point-without-reflog (2016-10-12) 1 commit
141 - (merged to 'next' on 2016-10-19 at 00a6797f62)
142 - + merge-base: handle --fork-point without reflog
59 + "git daemon" used fixed-length buffers to turn URL to the
60 + repository the client asked for into the server side directory
61 + path, using snprintf() to avoid overflowing these buffers, but
62 + allowed possibly truncated paths to the directory. This has been
63 + tightened to reject such a request that causes overlong path to be
64 + required to serve.
65
144 - "git rebase" immediately after "git clone" failed to find the fork
145 - point from the upstream.
66
67 +* jk/no-looking-at-dotgit-outside-repo (2016-10-26) 6 commits
68 + (merged to 'next' on 2016-10-26 at 4aa877b578)
69 + + diff: handle sha1 abbreviations outside of repository
70 + + diff_aligned_abbrev: use "struct oid"
71 + + diff_unique_abbrev: rename to diff_aligned_abbrev
72 + + find_unique_abbrev: use 4-buffer ring
73 + + test-*-cache-tree: setup git dir
74 + + read info/{attributes,exclude} only when in repository
75 + (this branch is used by jk/no-looking-at-dotgit-outside-repo-final.)
76
148 -* jk/tap-verbose-fix (2016-10-24) 4 commits
149 - (merged to 'next' on 2016-10-24 at 5073a4de2d)
150 - + test-lib: bail out when "-v" used under "prove"
151 - (merged to 'next' on 2016-10-21 at 592679411c)
152 - + travis: use --verbose-log test option
153 - + test-lib: add --verbose-log option
154 - + test-lib: handle TEST_OUTPUT_DIRECTORY with spaces
77 + Update "git diff --no-index" codepath not to try to peek into .git/
78 + directory that happens to be under the current directory, when we
79 + know we are operating outside any repository.
80
156 - The Travis CI configuration we ship ran the tests with --verbose
157 - option but this risks non-TAP output that happens to be "ok" to be
158 - misinterpreted as TAP signalling a test that passed. This resulted
159 - in unnecessary failure. This has been corrected by introducing a
160 - new mode to run our tests in the test harness to send the verbose
161 - output separately to the log file.
81
82 +* js/prepare-sequencer (2016-10-21) 27 commits
83 + (merged to 'next' on 2016-10-26 at 12be8ebe90)
84 + + sequencer: mark all error messages for translation
85 + + sequencer: start error messages consistently with lower case
86 + + sequencer: quote filenames in error messages
87 + + sequencer: mark action_name() for translation
88 + + sequencer: remove overzealous assumption in rebase -i mode
89 + + sequencer: teach write_message() to append an optional LF
90 + + sequencer: refactor write_message() to take a pointer/length
91 + + sequencer: roll back lock file if write_message() failed
92 + + sequencer: stop releasing the strbuf in write_message()
93 + + sequencer: left-trim lines read from the script
94 + + sequencer: support cleaning up commit messages
95 + + sequencer: support amending commits
96 + + sequencer: allow editing the commit message on a case-by-case basis
97 + + sequencer: introduce a helper to read files written by scripts
98 + + sequencer: prepare for rebase -i's commit functionality
99 + + sequencer: remember the onelines when parsing the todo file
100 + + sequencer: get rid of the subcommand field
101 + + sequencer: avoid completely different messages for different actions
102 + + sequencer: strip CR from the todo script
103 + + sequencer: completely revamp the "todo" script parsing
104 + + sequencer: refactor the code to obtain a short commit name
105 + + sequencer: future-proof read_populate_todo()
106 + + sequencer: plug memory leaks for the option values
107 + + sequencer: future-proof remove_sequencer_state()
108 + + sequencer: avoid unnecessary indirection
109 + + sequencer: use memoized sequencer directory path
110 + + sequencer: use static initializers for replay_opts
111
164 -* jk/tighten-alloc (2016-10-17) 2 commits
165 - (merged to 'next' on 2016-10-19 at 548522a520)
166 - + inline xalloc_flex() into FLEXPTR_ALLOC_MEM
167 - + avoid pointer arithmetic involving NULL in FLEX_ALLOC_MEM
112 + Update of the sequencer codebase to make it reusable to reimplement
113 + "rebase -i" continues.
114
169 - Protect our code from over-eager compilers.
115
116 +* lt/abbrev-auto (2016-10-03) 3 commits
117 + (merged to 'next' on 2016-10-03 at bb188d00f7)
118 + + abbrev: auto size the default abbreviation
119 + + abbrev: prepare for new world order
120 + + abbrev: add FALLBACK_DEFAULT_ABBREV to prepare for auto sizing
121 + (this branch is used by jc/abbrev-auto and jk/abbrev-auto.)
122
172 -* jk/upload-pack-use-prio-queue (2016-10-11) 1 commit
173 - (merged to 'next' on 2016-10-19 at 1d6efb07ac)
174 - + upload-pack: use priority queue in reachable() check
123 + Allow the default abbreviation length, which has historically been
124 + 7, to scale as the repository grows. The logic suggests to use 12
125 + hexdigits for the Linux kernel, and 9 to 10 for Git itself.
126
176 - "git upload-pack" had its code cleaned-up and performance improved
177 - by reducing use of timestamp-ordered commit-list, which was
178 - replaced with a priority queue.
127
128 +* nd/ita-empty-commit (2016-10-24) 4 commits
129 + (merged to 'next' on 2016-10-26 at fb007cdae1)
130 + + commit: don't be fooled by ita entries when creating initial commit
131 + + commit: fix empty commit creation when there's no changes but ita entries
132 + + diff: add --ita-[in]visible-in-index
133 + + diff-lib: allow ita entries treated as "not yet exist in index"
134
181 -* js/libify-require-clean-work-tree (2016-10-07) 6 commits
182 - (merged to 'next' on 2016-10-17 at f5c20df38b)
183 - + wt-status: begin error messages with lower-case
184 - + wt-status: teach has_{unstaged,uncommitted}_changes() about submodules
185 - + wt-status: export also the has_un{staged,committed}_changes() functions
186 - + wt-status: make the require_clean_work_tree() function reusable
187 - + pull: make code more similar to the shell script again
188 - + pull: drop confusing prefix parameter of die_on_unclean_work_tree()
135 + When new paths were added by "git add -N" to the index, it was
136 + enough to circumvent the check by "git commit" to refrain from
137 + making an empty commit without "--allow-empty". The same logic
138 + prevented "git status" to show such a path as "new file" in the
139 + "Changes not staged for commit" section.
140
190 - The require_clean_work_tree() helper was recreated in C when "git
191 - pull" was rewritten from shell; the helper is now made available to
192 - other callers in preparation for upcoming "rebase -i" work.
141
142 +* rs/ring-buffer-wraparound (2016-10-26) 1 commit
143 + (merged to 'next' on 2016-10-26 at d2da68a14a)
144 + + hex: make wraparound of the index into ring-buffer explicit
145
195 -* mg/gpg-richer-status (2016-10-12) 1 commit
196 - (merged to 'next' on 2016-10-17 at 8843a6a8be)
197 - + gpg-interface: use more status letters
146 + The code that we have used for the past 10+ years to cycle
147 + 4-element ring buffers turns out to be not quite portable in
148 + theoretical world.
149
199 - The GPG verification status shown in "%G?" pretty format specifier
200 - was not rich enough to differentiate a signature made by an expired
201 - key, a signature made by a revoked key, etc. New output letters
202 - have been assigned to express them.
150
151 +* sb/submodule-ignore-trailing-slash (2016-10-25) 3 commits
152 + (merged to 'next' on 2016-10-26 at e56a8ebb38)
153 + + t0060: sidestep surprising path mangling results on Windows
154 + (merged to 'next' on 2016-10-11 at e37425ed17)
155 + + submodule: ignore trailing slash in relative url
156 + + submodule: ignore trailing slash on superproject URL
157
205 -* mm/credential-libsecret (2016-10-11) 1 commit
206 - (merged to 'next' on 2016-10-17 at 1b4af03ba4)
207 - + contrib: add credential helper for libsecret
208 -
209 - A new credential helper that talks via "libsecret" with
210 - implementations of XDG Secret Service API has been added to
211 - contrib/credential/.
158 + A minor regression fix for "git submodule".
159
160 +--------------------------------------------------
161 +[New Topics]
162
214 -* mm/send-email-cc-cruft-after-address (2016-10-21) 3 commits
215 - (merged to 'next' on 2016-10-21 at c7ec2b5025)
216 - + Git.pm: add comment pointing to t9000
217 - + t9000-addresses: update expected results after fix
218 - (merged to 'next' on 2016-10-19 at 41e3f876cd)
219 - + parse_mailboxes: accept extra text after <...> address
163 +* jk/common-main (2016-10-27) 1 commit
164 + (merged to 'next' on 2016-10-28 at fcdd4f8a26)
165 + + git-compat-util: move content inside ifdef/endif guards
166
221 - "git send-email" attempts to pick up valid e-mails from the
222 - trailers, but people in real world write non-addresses there, like
223 - "Cc: Stable <add@re.ss> # 4.8+", which broke the output depending
224 - on the availability and vintage of Mail::Address perl module.
167 + A trivial clean-up to a recently graduated topic.
168
169 + Will merge to 'master'.
170
227 -* pb/test-parse-options-expect (2016-10-17) 1 commit
228 - (merged to 'next' on 2016-10-19 at d3517d592f)
229 - + t0040: convert all possible tests to use `test-parse-options --expect`
230 -
231 - Test clean-up.
232 -
233 -
234 -* po/fix-doc-merge-base-illustration (2016-10-24) 2 commits
235 - (merged to 'next' on 2016-10-24 at 6539e97fcf)
236 - + doc: fix the 'revert a faulty merge' ASCII art tab spacing
237 - (merged to 'next' on 2016-10-21 at ac6f04a6c5)
238 - + doc: fix merge-base ASCII art tab spacing
239 -
240 - Some AsciiDoc formatter mishandles a displayed illustration with
241 - tabs in it. Adjust a few of them in merge-base documentation to
242 - work around them.
243 -
244 -
245 -* pt/gitgui-updates (2016-10-20) 35 commits
246 - (merged to 'next' on 2016-10-21 at 4c8214095a)
247 - + Merge tag 'gitgui-0.21.0' of git://repo.or.cz/git-gui
248 - + git-gui: set version 0.21
249 - + Merge branch 'as/bulgarian' into pu
250 - + git-gui: Mark 'All' in remote.tcl for translation
251 - + git-gui i18n: Updated Bulgarian translation (565,0f,0u)
252 - + Merge branch 'os/preserve-author' into pu
253 - + git-gui: avoid persisting modified author identity
254 - + git-gui: Do not reset author details on amend
255 - + Merge branch 'kb/unicode' into pu
256 - + git-gui: handle the encoding of Git's output correctly
257 - + git-gui: unicode file name support on windows
258 - + Merge branch 'dr/ru' into pu
259 - + git-gui: Update Russian translation
260 - + git-gui: maintain backwards compatibility for merge syntax
261 - + Merge branch 'va/i18n_2' into pu
262 - + git-gui i18n: mark string in lib/error.tcl for translation
263 - + git-gui: fix incorrect use of Tcl append command
264 - + git-gui i18n: mark "usage:" strings for translation
265 - + git-gui i18n: internationalize use of colon punctuation
266 - + Merge branch 'pt/non-mouse-usage' into pu
267 - + Amend tab ordering and text widget border and highlighting.
268 - + Allow keyboard control to work in the staging widgets.
269 - + Merge branch 'pt/git4win-mods' into pu
270 - + git-gui (Windows): use git-gui.exe in `Create Desktop Shortcut`
271 - + git-gui: fix detection of Cygwin
272 - + Merge branch 'patches' into pu
273 - + git-gui: ensure the file in the diff pane is in the list of selected files
274 - + git-gui: support for $FILENAMES in tool definitions
275 - + git-gui: fix initial git gui message encoding
276 - + git-gui/po/glossary/txt-to-pot.sh: use the $( ... ) construct for command substitution
277 - + Merge branch 'va/i18n' into pu
278 - + Merge branch 'rs/use-modern-git-merge-syntax' into pu
279 - + Merge branch 'js/commit-gpgsign' into pu
280 - + Merge branch 'sy/i18n' into pu
281 - + git-gui: sort entries in tclIndex
282 -
283 - A new version of git-gui, now at its 0.21.0 tag.
284 -
285 -
286 -* tg/add-chmod+x-fix (2016-10-20) 1 commit
287 - (merged to 'next' on 2016-10-21 at 1585ac7139)
288 - + t3700: fix broken test under !SANITY
289 -
290 - A hot-fix for a test added by a recent topic that went to both
291 - 'master' and 'maint' already.
292 -
293 -
294 -* va/i18n (2016-10-17) 7 commits
295 - (merged to 'next' on 2016-10-19 at b7d733698b)
296 - + i18n: diff: mark warnings for translation
297 - + i18n: credential-cache--daemon: mark advice for translation
298 - + i18n: convert mark error messages for translation
299 - + i18n: apply: mark error message for translation
300 - + i18n: apply: mark error messages for translation
301 - + i18n: apply: mark info messages for translation
302 - + i18n: apply: mark plural string for translation
303 -
304 - More i18n.
305 -
306 -
307 -* yk/git-tag-remove-mention-of-old-layout-in-doc (2016-10-20) 1 commit
308 - (merged to 'next' on 2016-10-21 at 8d9e23b023)
309 - + doc: remove reference to the traditional layout in git-tag.txt
310 -
311 - Shorten description of auto-following in "git tag" by removing a
312 - mention of historical remotes layout which is not relevant to the
313 - main topic.
314 -
315 ---------------------------------------------------
316 -[New Topics]
171
318 -* aw/numbered-stash (2016-10-26) 1 commit
319 - (merged to 'next' on 2016-10-26 at 8d9325fa3a)
320 - + stash: allow stashes to be referenced by index only
172 +* ak/pre-receive-hook-template-modefix (2016-10-28) 1 commit
173 + (merged to 'next' on 2016-10-28 at 86d95836a3)
174 + + pre-receive.sample: mark it executable
175
322 - The user always has to say "stash@{$N}" when naming a single
323 - element in the default location of the stash, i.e. reflogs in
324 - refs/stash. The "git stash" command learned to accept "git stash
325 - apply 4" as a short-hand for "git stash apply stash@{4}".
176 + A trivial clean-up to a recently graduated topic.
177
178 Will merge to 'master'.
179
180
330 -* jk/no-looking-at-dotgit-outside-repo-final (2016-10-26) 1 commit
331 - (merged to 'next' on 2016-10-26 at 220e160451)
332 - + setup_git_env: avoid blind fall-back to ".git"
333 - (this branch uses jk/no-looking-at-dotgit-outside-repo.)
181 +* nd/rebase-forget (2016-10-28) 1 commit
182 + - rebase: add --forget to cleanup rebase, leave HEAD untouched
183
335 - This is the endgame of the topic to avoid blindly falling back to
336 - ".git" when the setup sequence said we are _not_ in Git repository.
337 - A corner case that happens to work right now may be broken by a
338 - call to die("BUG").
184 + "git rebase" learned "--forget" option, which allows a user to
185 + remove the metadata left by an earlier "git rebase" that was
186 + manually aborted without using "git rebase --abort".
187
340 - Will cook in 'next'.
188
189 +* jc/git-open-cloexec (2016-10-28) 2 commits
190 + - sha1_file: stop opening files with O_NOATIME
191 + - git_open(): untangle possible NOATIME and CLOEXEC interactions
192 + (this branch uses ls/git-open-cloexec.)
193
343 -* ew/svn-wt (2016-10-14) 2 commits
344 - - git-svn: "git worktree" awareness
345 - - git-svn: reduce scope of input record separator change
194 + The codeflow of setting NOATIME and CLOEXEC on file descriptors Git
195 + opens has been simplified.
196
347 - Will replace with a direct pulling from Eric to 'master'.
197 + We probably want to drop the tip one.
198
199 --------------------------------------------------
200 [Stalled]
@@ -487,25 +337,30 @@ of the repositories listed at
337 --------------------------------------------------
338 [Cooking]
339
490 -* jc/abbrev-auto (2016-10-22) 4 commits
491 - (merged to 'next' on 2016-10-26 at 92fdb66807)
492 - + transport: compute summary-width dynamically
493 - + transport: allow summary-width to be computed dynamically
494 - + fetch: pass summary_width down the callchain
495 - + transport: pass summary_width down the callchain
496 - (this branch uses jk/abbrev-auto and lt/abbrev-auto.)
340 +* aw/numbered-stash (2016-10-26) 1 commit
341 + (merged to 'next' on 2016-10-26 at 8d9325fa3a)
342 + + stash: allow stashes to be referenced by index only
343
498 - "git push" and "git fetch" reports from what old object to what new
499 - object each ref was updated, using abbreviated refnames, and they
500 - attempt to align the columns for this and other pieces of
501 - information. The way these codepaths compute how many display
502 - columns to allocate for the object names portion of this output has
503 - been updated to match the recent "auto scale the default
504 - abbreviation length" change.
344 + The user always has to say "stash@{$N}" when naming a single
345 + element in the default location of the stash, i.e. reflogs in
346 + refs/stash. The "git stash" command learned to accept "git stash
347 + apply 4" as a short-hand for "git stash apply stash@{4}".
348
349 Will merge to 'master'.
350
351
352 +* jk/no-looking-at-dotgit-outside-repo-final (2016-10-26) 1 commit
353 + (merged to 'next' on 2016-10-26 at 220e160451)
354 + + setup_git_env: avoid blind fall-back to ".git"
355 +
356 + This is the endgame of the topic to avoid blindly falling back to
357 + ".git" when the setup sequence said we are _not_ in Git repository.
358 + A corner case that happens to work right now may be broken by a
359 + call to die("BUG").
360 +
361 + Will cook in 'next'.
362 +
363 +
364 * jc/reset-unmerge (2016-10-24) 1 commit
365 - reset: --unmerge
366
@@ -515,25 +370,12 @@ of the repositories listed at
370 "--unmerge" option to recover from this situation.
371
372
518 -* jk/daemon-path-ok-check-truncation (2016-10-24) 1 commit
519 - (merged to 'next' on 2016-10-26 at 70c08241f6)
520 - + daemon: detect and reject too-long paths
521 -
522 - "git daemon" used fixed-length buffers to turn URL to the
523 - repository the client asked for into the server side directory
524 - path, using snprintf() to avoid overflowing these buffers, but
525 - allowed possibly truncated paths to the directory. This has been
526 - tightened to reject such a request that causes overlong path to be
527 - required to serve.
528 -
529 - Will merge to 'master'.
530 -
531 -
373 * ls/git-open-cloexec (2016-10-25) 3 commits
374 (merged to 'next' on 2016-10-26 at f7259cbddb)
375 + read-cache: make sure file handles are not inherited by child processes
376 + sha1_file: open window into packfiles with O_CLOEXEC
377 + sha1_file: rename git_open_noatime() to git_open()
378 + (this branch is used by jc/git-open-cloexec.)
379
380 Git generally does not explicitly close file descriptors that were
381 open in the parent process when spawning a child process, but most
@@ -546,17 +388,6 @@ of the repositories listed at
388 Will merge to 'master'.
389
390
549 -* rs/ring-buffer-wraparound (2016-10-26) 1 commit
550 - (merged to 'next' on 2016-10-26 at d2da68a14a)
551 - + hex: make wraparound of the index into ring-buffer explicit
552 -
553 - The code that we have used for the past 10+ years to cycle
554 - 4-element ring buffers turns out to be not quite portable in
555 - theoretical world.
556 -
557 - Will merge to 'master'.
558 -
559 -
391 * jc/merge-base-fp-only (2016-10-19) 8 commits
392 . merge-base: fp experiment
393 - merge: allow to use only the fp-only merge bases
@@ -571,24 +402,7 @@ of the repositories listed at
402 not on the first parent chain.
403
404
574 -* jk/no-looking-at-dotgit-outside-repo (2016-10-26) 6 commits
575 - (merged to 'next' on 2016-10-26 at 4aa877b578)
576 - + diff: handle sha1 abbreviations outside of repository
577 - + diff_aligned_abbrev: use "struct oid"
578 - + diff_unique_abbrev: rename to diff_aligned_abbrev
579 - + find_unique_abbrev: use 4-buffer ring
580 - + test-*-cache-tree: setup git dir
581 - + read info/{attributes,exclude} only when in repository
582 - (this branch is used by jk/no-looking-at-dotgit-outside-repo-final.)
583 -
584 - Update "git diff --no-index" codepath not to try to peek into .git/
585 - directory that happens to be under the current directory, when we
586 - know we are operating outside any repository.
587 -
588 - Will merge to 'master'.
589 -
590 -
591 -* tb/convert-stream-check (2016-10-12) 2 commits
405 +* tb/convert-stream-check (2016-10-27) 2 commits
406 - convert.c: stream and fast search for binary
407 - read-cache: factor out get_sha1_from_index() helper
408
@@ -600,24 +414,28 @@ of the repositories listed at
414 have been optimized by using streaming interface.
415
416 Waiting for review.
417 + The tip seems to do too much in a single commit and may be better split.
418 + cf. <20161012134724.28287-1-tboegi@web.de>
419 + cf. <xmqqd1il5w4e.fsf@gitster.mtv.corp.google.com>
420
421
422 * jt/trailer-with-cruft (2016-10-21) 8 commits
606 - - trailer: support values folded to multiple lines
607 - - trailer: forbid leading whitespace in trailers
608 - - trailer: allow non-trailers in trailer block
609 - - trailer: clarify failure modes in parse_trailer
610 - - trailer: make args have their own struct
611 - - trailer: streamline trailer item create and add
612 - - trailer: use list.h for doubly-linked list
613 - - trailer: improve const correctness
423 + (merged to 'next' on 2016-10-27 at b5d1a21811)
424 + + trailer: support values folded to multiple lines
425 + + trailer: forbid leading whitespace in trailers
426 + + trailer: allow non-trailers in trailer block
427 + + trailer: clarify failure modes in parse_trailer
428 + + trailer: make args have their own struct
429 + + trailer: streamline trailer item create and add
430 + + trailer: use list.h for doubly-linked list
431 + + trailer: improve const correctness
432
433 Update "interpret-trailers" machinery and teaches it that people in
434 real world write all sorts of crufts in the "trailer" that was
435 originally designed to have the neat-o "Mail-Header: like thing"
436 and nothing else.
437
620 - Waiting for review.
438 + Will merge to 'master'.
439
440
441 * pb/bisect (2016-10-18) 27 commits
@@ -654,55 +472,6 @@ of the repositories listed at
472 Waiting for review.
473
474
657 -* js/prepare-sequencer (2016-10-21) 27 commits
658 - (merged to 'next' on 2016-10-26 at 12be8ebe90)
659 - + sequencer: mark all error messages for translation
660 - + sequencer: start error messages consistently with lower case
661 - + sequencer: quote filenames in error messages
662 - + sequencer: mark action_name() for translation
663 - + sequencer: remove overzealous assumption in rebase -i mode
664 - + sequencer: teach write_message() to append an optional LF
665 - + sequencer: refactor write_message() to take a pointer/length
666 - + sequencer: roll back lock file if write_message() failed
667 - + sequencer: stop releasing the strbuf in write_message()
668 - + sequencer: left-trim lines read from the script
669 - + sequencer: support cleaning up commit messages
670 - + sequencer: support amending commits
671 - + sequencer: allow editing the commit message on a case-by-case basis
672 - + sequencer: introduce a helper to read files written by scripts
673 - + sequencer: prepare for rebase -i's commit functionality
674 - + sequencer: remember the onelines when parsing the todo file
675 - + sequencer: get rid of the subcommand field
676 - + sequencer: avoid completely different messages for different actions
677 - + sequencer: strip CR from the todo script
678 - + sequencer: completely revamp the "todo" script parsing
679 - + sequencer: refactor the code to obtain a short commit name
680 - + sequencer: future-proof read_populate_todo()
681 - + sequencer: plug memory leaks for the option values
682 - + sequencer: future-proof remove_sequencer_state()
683 - + sequencer: avoid unnecessary indirection
684 - + sequencer: use memoized sequencer directory path
685 - + sequencer: use static initializers for replay_opts
686 -
687 - Update of the sequencer codebase to make it reusable to reimplement
688 - "rebase -i" continues.
689 -
690 - Will merge to 'master'.
691 -
692 -
693 -* sb/submodule-ignore-trailing-slash (2016-10-25) 3 commits
694 - (merged to 'next' on 2016-10-26 at e56a8ebb38)
695 - + t0060: sidestep surprising path mangling results on Windows
696 - (merged to 'next' on 2016-10-11 at e37425ed17)
697 - + submodule: ignore trailing slash in relative url
698 - + submodule: ignore trailing slash on superproject URL
699 -
700 - A minor regression fix for "git submodule".
701 -
702 - Will merge to 'master'.
703 - Queued with a test breakage workaround on Windows from j6t.
704 -
705 -
475 * st/verify-tag (2016-10-10) 7 commits
476 - t/t7004-tag: Add --format specifier tests
477 - t/t7030-verify-tag: Add --format specifier tests
@@ -715,11 +484,11 @@ of the repositories listed at
484 "git tag" and "git verify-tag" learned to put GPG verification
485 status in their "--format=<placeholders>" output format.
486
718 - Waiting for review.
487 + Waiting for a reroll.
488 cf. <20161007210721.20437-1-santiago@nyu.edu>
489
490
722 -* sb/attr (2016-10-24) 36 commits
491 +* sb/attr (2016-10-28) 37 commits
492 - completion: clone can initialize specific submodules
493 - clone: add --init-submodule=<pathspec> switch
494 - submodule update: add `--init-default-path` switch
@@ -729,6 +498,7 @@ of the repositories listed at
498 - pathspec: move long magic parsing out of prefix_pathspec
499 - Documentation: fix a typo
500 - attr: keep attr stack for each check
501 + - SQUASH???
502 - attr: convert to new threadsafe API
503 - attr: make git_check_attr_counted static
504 - attr.c: outline the future plans by heavily commenting
@@ -765,49 +535,6 @@ of the repositories listed at
535 Waiting for review.
536
537
768 -* jk/abbrev-auto (2016-10-03) 1 commit
769 - (merged to 'next' on 2016-10-21 at 8aa3d760d8)
770 - + find_unique_abbrev: move logic out of get_short_sha1()
771 - (this branch is used by jc/abbrev-auto; uses lt/abbrev-auto.)
772 -
773 - Updates the way approximate count of total objects is computed
774 - while attempting to come up with a unique abbreviated object name,
775 - which in turn needs to estimate how many hexdigits are necessary to
776 - ensure uniqueness.
777 -
778 - Will merge to 'master'.
779 -
780 -
781 -* nd/ita-empty-commit (2016-10-24) 4 commits
782 - (merged to 'next' on 2016-10-26 at fb007cdae1)
783 - + commit: don't be fooled by ita entries when creating initial commit
784 - + commit: fix empty commit creation when there's no changes but ita entries
785 - + diff: add --ita-[in]visible-in-index
786 - + diff-lib: allow ita entries treated as "not yet exist in index"
787 -
788 - When new paths were added by "git add -N" to the index, it was
789 - enough to circumvent the check by "git commit" to refrain from
790 - making an empty commit without "--allow-empty". The same logic
791 - prevented "git status" to show such a path as "new file" in the
792 - "Changes not staged for commit" section.
793 -
794 - Will merge to 'master'.
795 -
796 -
797 -* lt/abbrev-auto (2016-10-03) 3 commits
798 - (merged to 'next' on 2016-10-03 at bb188d00f7)
799 - + abbrev: auto size the default abbreviation
800 - + abbrev: prepare for new world order
801 - + abbrev: add FALLBACK_DEFAULT_ABBREV to prepare for auto sizing
802 - (this branch is used by jc/abbrev-auto and jk/abbrev-auto.)
803 -
804 - Allow the default abbreviation length, which has historically been
805 - 7, to scale as the repository grows. The logic suggests to use 12
806 - hexdigits for the Linux kernel, and 9 to 10 for Git itself.
807 -
808 - Will hold to see if people scream.
809 -
810 -
538 * va/i18n-perl-scripts (2016-10-20) 14 commits
539 - i18n: difftool: mark warnings for translation
540 - i18n: send-email: mark string with interpolation for translation