What's cooking (2017/01 #01)

Junio C Hamano committed Jan 10, 2017 at 15:46 UTC c9391a39cad00e3ea22e10486b06670b002846be
1 file changed +510 -484
whats-cooking.txt
+510 -484
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Dec 2016, #08; Tue, 27)
4 -X-master-at: e05806da9ec4aff8adfed142ab2a2b3b02e33c8c
5 -X-next-at: c69c2f50cfc0dcd4bcd014c7fd56e344a7c5522f
3 +Subject: What's cooking in git.git (Jan 2017, #01; Tue, 10)
4 +X-master-at: d7dffce1cebde29a0c4b309a79e4345450bf352a
5 +X-next-at: 087da7b7c1bc403d36120b5e97c342e00ebbf16a
6
7 -What's cooking in git.git (Dec 2016, #08; Tue, 27)
7 +What's cooking in git.git (Jan 2017, #01; Tue, 10)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -12,12 +12,6 @@ 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 -This will be the last issue of the "What's cooking" report this
16 -year. I will be travelling and expect to be slow to respond for a
17 -week or so. Hence there is no "short-term" summary; the topics
18 -marked as "Will merge to 'master'" may stay until the second week of
19 -next month.
20 -
15 You can find the changes described here in the integration branches
16 of the repositories listed at
17
@@ -26,244 +20,355 @@ of the repositories listed at
20 --------------------------------------------------
21 [Graduated to "master"]
22
29 -* bw/transport-protocol-policy (2016-12-15) 6 commits
30 - (merged to 'next' on 2016-12-19 at 166168205c)
31 - + http: respect protocol.*.allow=user for http-alternates
32 - + transport: add from_user parameter to is_transport_allowed
33 - + http: create function to get curl allowed protocols
34 - + transport: add protocol policy config option
35 - + http: always warn if libcurl version is too old
36 - + lib-proto-disable: variable name fix
37 -
38 - Finer-grained control of what protocols are allowed for transports
39 - during clone/fetch/push have been enabled via a new configuration
40 - mechanism.
23 +* bw/grep-recurse-submodules (2016-12-22) 12 commits
24 + (merged to 'next' on 2016-12-22 at 1ede815b8d)
25 + + grep: search history of moved submodules
26 + + grep: enable recurse-submodules to work on <tree> objects
27 + + grep: optionally recurse into submodules
28 + + grep: add submodules as a grep source type
29 + + submodules: load gitmodules file from commit sha1
30 + + submodules: add helper to determine if a submodule is initialized
31 + + submodules: add helper to determine if a submodule is populated
32 + (merged to 'next' on 2016-12-22 at fea8fa870f)
33 + + real_path: canonicalize directory separators in root parts
34 + + real_path: have callers use real_pathdup and strbuf_realpath
35 + + real_path: create real_pathdup
36 + + real_path: convert real_path_internal to strbuf_realpath
37 + + real_path: resolve symlinks by hand
38 + (this branch is tangled with bw/realpath-wo-chdir.)
39
40 + "git grep" learns to optionally recurse into submodules.
41
43 -* cp/merge-continue (2016-12-15) 4 commits
44 - (merged to 'next' on 2016-12-19 at 8ba0094f45)
45 - + merge: mark usage error strings for translation
46 - + merge: ensure '--abort' option takes no arguments
47 - + completion: add --continue option for merge
48 - + merge: add '--continue' option as a synonym for 'git commit'
42
50 - "git merge --continue" has been added as a synonym to "git commit"
51 - to conclude a merge that has stopped due to conflicts.
43 +* dt/smart-http-detect-server-going-away (2016-11-18) 2 commits
44 + (merged to 'next' on 2016-12-05 at 3ea70d01af)
45 + + upload-pack: optionally allow fetching any sha1
46 + + remote-curl: don't hang when a server dies before any output
47
48 + Originally merged to 'next' on 2016-11-21
49
54 -* gv/p4-multi-path-commit-fix (2016-12-19) 1 commit
55 - (merged to 'next' on 2016-12-21 at f7ba714387)
56 - + git-p4: fix multi-path changelist empty commits
50 + When the http server gives an incomplete response to a smart-http
51 + rpc call, it could lead to client waiting for a full response that
52 + will never come. Teach the client side to notice this condition
53 + and abort the transfer.
54
58 - "git p4" that tracks multile p4 paths imported a single changelist
59 - that touches files in these multiple paths as one commit, followed
60 - by many empty commits. This has been fixed.
55 + An improvement counterproposal has failed.
56 + cf. <20161114194049.mktpsvgdhex2f4zv@sigill.intra.peff.net>
57
58
63 -* jc/lock-report-on-error (2016-12-27) 1 commit
64 - (merged to 'next' on 2016-12-27 at ab2ae230f4)
65 - + lockfile: move REPORT_ON_ERROR bit elsewhere
59 +* jc/abbrev-autoscale-config (2016-12-22) 1 commit
60 + (merged to 'next' on 2016-12-27 at 631e4200e2)
61 + + config.abbrev: document the new default that auto-scales
62
67 - Hotfix for a topic already merged to 'master'.
63 + Recent update to the default abbreviation length that auto-scales
64 + lacked documentation update, which has been corrected.
65
66
70 -* jc/push-default-explicit (2016-10-31) 2 commits
71 - (merged to 'next' on 2016-12-05 at d63f3777af)
72 - + push: test pushing ambiguously named branches
73 - + push: do not use potentially ambiguous default refspec
67 +* jc/compression-config (2016-11-15) 1 commit
68 + (merged to 'next' on 2016-12-05 at 323769ca07)
69 + + compression: unify pack.compression configuration parsing
70
75 - Originally merged to 'next' on 2016-11-01
71 + Originally merged to 'next' on 2016-11-23
72
77 - A lazy "git push" without refspec did not internally use a fully
78 - specified refspec to perform 'current', 'simple', or 'upstream'
79 - push, causing unnecessary "ambiguous ref" errors.
73 + Compression setting for producing packfiles were spread across
74 + three codepaths, one of which did not honor any configuration.
75 + Unify these so that all of them honor core.compression and
76 + pack.compression variables the same way.
77
78
82 -* jk/difftool-in-subdir (2016-12-11) 4 commits
83 - (merged to 'next' on 2016-12-21 at c1056e014b)
84 - + difftool: rename variables for consistency
85 - + difftool: chdir as early as possible
86 - + difftool: sanitize $workdir as early as possible
87 - + difftool: fix dir-diff index creation when in a subdirectory
79 +* jc/git-open-cloexec (2016-11-02) 3 commits
80 + (merged to 'next' on 2016-12-27 at 487682eb6e)
81 + + sha1_file: stop opening files with O_NOATIME
82 + + git_open_cloexec(): use fcntl(2) w/ FD_CLOEXEC fallback
83 + + git_open(): untangle possible NOATIME and CLOEXEC interactions
84
89 - Even though an fix was attempted in Git 2.9.3 days, but running
90 - "git difftool --dir-diff" from a subdirectory never worked. This
91 - has been fixed.
85 + The codeflow of setting NOATIME and CLOEXEC on file descriptors Git
86 + opens has been simplified.
87 + We may want to drop the tip one, but we'll see.
88
89
94 -* js/mingw-isatty (2016-12-22) 3 commits
95 - (merged to 'next' on 2016-12-22 at 5be6c1a083)
96 - + mingw: replace isatty() hack
97 - + mingw: fix colourization on Cygwin pseudo terminals
98 - + mingw: adjust is_console() to work with stdin
90 +* jc/latin-1 (2016-09-26) 2 commits
91 + (merged to 'next' on 2016-12-05 at fb549caa12)
92 + + utf8: accept "latin-1" as ISO-8859-1
93 + + utf8: refactor code to decide fallback encoding
94
100 - Update the isatty() emulation for Windows by updating the previous
101 - hack that depended on internals of (older) MSVC runtime.
95 + Originally merged to 'next' on 2016-09-28
96
97 + Some platforms no longer understand "latin-1" that is still seen in
98 + the wild in e-mail headers; replace them with "iso-8859-1" that is
99 + more widely known when conversion fails from/to it.
100
104 -* ld/p4-compare-dir-vs-symlink (2016-12-18) 1 commit
105 - (merged to 'next' on 2016-12-20 at f58fed9ef8)
106 - + git-p4: avoid crash adding symlinked directory
101
108 - "git p4" misbehaved when swapping a directory and a symbolic link.
102 +* jc/retire-compaction-heuristics (2016-12-23) 1 commit
103 + (merged to 'next' on 2016-12-27 at c69c2f50cf)
104 + + diff: retire "compaction" heuristics
105
106 + "git diff" and its family had two experimental heuristics to shift
107 + the contents of a hunk to make the patch easier to read. One of
108 + them turns out to be better than the other, so leave only the
109 + "--indent-heuristic" option and remove the other one.
110
111 -* ls/filter-process (2016-12-18) 2 commits
112 - (merged to 'next' on 2016-12-19 at 5ed29656db)
113 - + t0021: fix flaky test
114 - (merged to 'next' on 2016-12-12 at 8ed1f9eb02)
115 - + docs: warn about possible '=' in clean/smudge filter process values
111
117 - Doc update.
112 +* jt/fetch-no-redundant-tag-fetch-map (2016-11-11) 1 commit
113 + (merged to 'next' on 2016-12-05 at 432f9469a7)
114 + + fetch: do not redundantly calculate tag refmap
115
116 + Originally merged to 'next' on 2016-11-16
117
120 -* ls/p4-lfs (2016-12-20) 1 commit
121 - (merged to 'next' on 2016-12-22 at 0759f94c65)
122 - + git-p4: add diff/merge properties to .gitattributes for GitLFS files
118 + Code cleanup to avoid using redundant refspecs while fetching with
119 + the --tags option.
120
124 - Update GitLFS integration with "git p4".
121
122 +* mh/fast-import-notes-fix-new (2016-12-20) 1 commit
123 + (merged to 'next' on 2016-12-27 at b63805e6f6)
124 + + fast-import: properly fanout notes when tree is imported
125
127 -* lt/shortlog-by-committer (2016-12-20) 3 commits
128 - (merged to 'next' on 2016-12-21 at c72e6e7f76)
129 - + t4201: make tests work with and without the MINGW prerequiste
130 - (merged to 'next' on 2016-12-19 at 555976fc0a)
131 - + shortlog: test and document --committer option
132 - + shortlog: group by committer information
126 + "git fast-import" sometimes mishandled while rebalancing notes
127 + tree, which has been fixed.
128
134 - "git shortlog" learned "--committer" option to group commits by
135 - committer, instead of author.
129
130 +* mm/gc-safety-doc (2016-11-16) 1 commit
131 + (merged to 'next' on 2016-12-05 at 031ecc1886)
132 + + git-gc.txt: expand discussion of races with other processes
133
138 -* mk/mingw-winansi-ttyname-termination-fix (2016-12-20) 1 commit
139 - (merged to 'next' on 2016-12-21 at 1e8e994605)
140 - + mingw: consider that UNICODE_STRING::Length counts bytes
134 + Originally merged to 'next' on 2016-11-17
135
142 - A potential but unlikely buffer overflow in Windows port has been
143 - fixed.
136 + Doc update.
137
138
146 -* sb/submodule-config-cleanup (2016-11-22) 3 commits
147 - (merged to 'next' on 2016-12-05 at 658b8764bf)
148 - + submodule-config: clarify parsing of null_sha1 element
149 - + submodule-config: rename commit_sha1 to treeish_name
150 - + submodule config: inline config_from_{name, path}
139 +* mm/push-social-engineering-attack-doc (2016-11-14) 1 commit
140 + (merged to 'next' on 2016-12-05 at 9a2b5bd1a9)
141 + + doc: mention transfer data leaks in more places
142
152 - Originally merged to 'next' on 2016-11-23
143 + Originally merged to 'next' on 2016-11-16
144
154 - Minor code clean-up.
145 + Doc update on fetching and pushing.
146
147
157 -* va/i18n-even-more (2016-12-20) 1 commit
158 - (merged to 'next' on 2016-12-22 at 209eee0530)
159 - + i18n: fix misconversion in shell scripts
148 +* nd/config-misc-fixes (2016-12-22) 3 commits
149 + (merged to 'next' on 2016-12-27 at 6be64a8671)
150 + + config.c: handle lock file in error case in git_config_rename_...
151 + + config.c: rename label unlock_and_out
152 + + config.c: handle error case for fstat() calls
153
161 - Hotfix for a topic already merged to 'master'.
154 + Leakage of lockfiles in the config subsystem has been fixed.
155
156
164 -* va/i18n-perl-scripts (2016-12-14) 16 commits
165 - (merged to 'next' on 2016-12-19 at ec800aba9f)
166 - + i18n: difftool: mark warnings for translation
167 - + i18n: send-email: mark composing message for translation
168 - + i18n: send-email: mark string with interpolation for translation
169 - + i18n: send-email: mark warnings and errors for translation
170 - + i18n: send-email: mark strings for translation
171 - + i18n: add--interactive: mark status words for translation
172 - + i18n: add--interactive: remove %patch_modes entries
173 - + i18n: add--interactive: mark edit_hunk_manually message for translation
174 - + i18n: add--interactive: i18n of help_patch_cmd
175 - + i18n: add--interactive: mark patch prompt for translation
176 - + i18n: add--interactive: mark plural strings
177 - + i18n: clean.c: match string with git-add--interactive.perl
178 - + i18n: add--interactive: mark strings with interpolation for translation
179 - + i18n: add--interactive: mark simple here-documents for translation
180 - + i18n: add--interactive: mark strings for translation
181 - + Git.pm: add subroutines for commenting lines
157 +* sb/submodule-embed-gitdir (2016-12-27) 7 commits
158 + (merged to 'next' on 2016-12-27 at 2b43c15479)
159 + + worktree: initialize return value for submodule_uses_worktrees
160 + (merged to 'next' on 2016-12-21 at e6cdbcf013)
161 + + submodule: add absorb-git-dir function
162 + + move connect_work_tree_and_git_dir to dir.h
163 + + worktree: check if a submodule uses worktrees
164 + + test-lib-functions.sh: teach test_commit -C <dir>
165 + + submodule helper: support super prefix
166 + + submodule: use absolute path for computing relative path connecting
167 + (this branch is used by sb/submodule-rm-absorb.)
168
183 - Porcelain scripts written in Perl are getting internationalized.
169 + A new submodule helper "git submodule embedgitdirs" to make it
170 + easier to move embedded .git/ directory for submodules in a
171 + superproject to .git/modules/ (and point the latter with the former
172 + that is turned into a "gitdir:" file) has been added.
173
174 --------------------------------------------------
175 [New Topics]
176
188 -* dt/disable-bitmap-in-auto-gc (2016-12-23) 2 commits
189 - - repack: die on incremental + write-bitmap-index
190 - - auto gc: don't write bitmaps for incremental repacks
177 +* ls/p4-retry-thrice (2016-12-29) 1 commit
178 + (merged to 'next' on 2017-01-10 at c733e27410)
179 + + git-p4: do not pass '-r 0' to p4 commands
180
192 - It is natural that "git gc --auto" may not attempt to pack
193 - everything into a single pack, and there is no point in warning
194 - when the user has configured the system to use the pack bitmap,
195 - leading to disabling further "gc".
181 + A recent updates to "git p4" was not usable for older p4 but it
182 + could be made to work with minimum changes. Do so.
183
197 - Waiting for review to conclude.
198 - cf. <20161224025730.vwz2k4af6z6piinl@sigill.intra.peff.net>
199 - (GNUism must go.)
184 + Will merge to 'master'.
185
186
202 -* js/mingw-test-push-unc-path (2016-12-23) 1 commit
203 - - mingw: add a regression test for pushing to UNC paths
187 +* mh/ref-remove-empty-directory (2017-01-07) 23 commits
188 + - files_transaction_commit(): clean up empty directories
189 + - try_remove_empty_parents(): teach to remove parents of reflogs, too
190 + - try_remove_empty_parents(): don't trash argument contents
191 + - try_remove_empty_parents(): rename parameter "name" -> "refname"
192 + - delete_ref_loose(): inline function
193 + - delete_ref_loose(): derive loose reference path from lock
194 + - log_ref_write_1(): inline function
195 + - log_ref_setup(): manage the name of the reflog file internally
196 + - log_ref_write_1(): don't depend on logfile argument
197 + - log_ref_setup(): pass the open file descriptor back to the caller
198 + - log_ref_setup(): improve robustness against races
199 + - log_ref_setup(): separate code for create vs non-create
200 + - log_ref_write(): inline function
201 + - rename_tmp_log(): improve error reporting
202 + - rename_tmp_log(): use raceproof_create_file()
203 + - lock_ref_sha1_basic(): use raceproof_create_file()
204 + - lock_ref_sha1_basic(): inline constant
205 + - raceproof_create_file(): new function
206 + - safe_create_leading_directories(): set errno on SCLD_EXISTS
207 + - safe_create_leading_directories_const(): preserve errno
208 + - t5505: use "for-each-ref" to test for the non-existence of references
209 + - refname_is_safe(): correct docstring
210 + - files_rename_ref(): tidy up whitespace
211 +
212 + Deletion of a branch "foo/bar" could remove .git/refs/heads/foo
213 + once there no longer is any other branch whose name begins with
214 + "foo/", but we didn't do so so far. Now we do.
215 +
216 + Expecting a reroll.
217 + cf. <5051c78e-51f9-becd-e1a6-9c0b781d6912@alum.mit.edu>
218 +
219 +
220 +* pb/test-must-fail-is-for-git (2017-01-09) 2 commits
221 + (merged to 'next' on 2017-01-10 at 5f24a98779)
222 + + t9813: avoid using pipes
223 + + don't use test_must_fail with grep
224 +
225 + Test cleanup.
226
205 - "git push \\server\share\dir" has recently regressed and then
206 - fixed. A test has retroactively been added for this breakage.
227 + Will merge to 'master'.
228
208 - Waiting for review to conclude.
209 - cf. <6d69b529-a42c-9f93-f342-7c6c19170285@kdbg.org>
210 - (check the final result.)
229
230 +* jk/archive-zip-userdiff-config (2017-01-07) 1 commit
231 + (merged to 'next' on 2017-01-10 at ac42e4958c)
232 + + archive-zip: load userdiff config
233
213 -* nd/log-graph-configurable-colors (2016-12-25) 1 commit
214 - - log --graph: customize the graph lines with config log.graphColors
234 + "git archive" did not read the standard configuration files, and
235 + failed to notice a file that is marked as binary via the userdiff
236 + driver configuration.
237
216 - Some people feel the default set of colors used by "git log --graph"
217 - rather limiting. A mechanism to customize the set of colors has
218 - been introduced.
238 + Will merge to 'master'.
239
220 - Waiting for review to conclude.
221 - cf. <xmqqzijjd34j.fsf@gitster.mtv.corp.google.com>
222 - (Should it be cumulative?)
240
241 +* jk/blame-fixes (2017-01-07) 3 commits
242 + (merged to 'next' on 2017-01-10 at 18f909da61)
243 + + blame: output porcelain "previous" header for each file
244 + + blame: handle --no-abbrev
245 + + blame: fix alignment with --abbrev=40
246
225 -* sb/submodule-rm-absorb (2016-12-27) 4 commits
226 - - rm: absorb a submodules git dir before deletion
227 - - submodule: rename and add flags to ok_to_remove_submodule
228 - - submodule: modernize ok_to_remove_submodule to use argv_array
229 - - submodule.h: add extern keyword to functions
230 - (this branch uses sb/submodule-embed-gitdir.)
247 + "git blame --porcelain" misidentified the "previous" <commit, path>
248 + pair (aka "source") when contents came from two or more files.
249
232 - "git rm" used to refuse to remove a submodule when it has its own
233 - git repository embedded in its working tree. It learned to move
234 - the repository away to $GIT_DIR/modules/ of the superproject
235 - instead, and allow the submodule to be deleted (as long as there
236 - will be no loss of local modifications, that is).
250 + Will merge to 'master'.
251
252
239 -* cc/split-index-config (2016-12-26) 21 commits
240 - - Documentation/git-update-index: explain splitIndex.*
241 - - Documentation/config: add splitIndex.sharedIndexExpire
242 - - read-cache: use freshen_shared_index() in read_index_from()
243 - - read-cache: refactor read_index_from()
244 - - t1700: test shared index file expiration
245 - - read-cache: unlink old sharedindex files
246 - - config: add git_config_get_expiry() from gc.c
247 - - read-cache: touch shared index files when used
248 - - sha1_file: make check_and_freshen_file() non static
249 - - Documentation/config: add splitIndex.maxPercentChange
250 - - t1700: add tests for splitIndex.maxPercentChange
251 - - read-cache: regenerate shared index if necessary
252 - - config: add git_config_get_max_percent_split_change()
253 - - Documentation/git-update-index: talk about core.splitIndex config var
254 - - Documentation/config: add information for core.splitIndex
255 - - t1700: add tests for core.splitIndex
256 - - update-index: warn in case of split-index incoherency
257 - - read-cache: add and then use tweak_split_index()
258 - - split-index: add {add,remove}_split_index() functions
259 - - config: add git_config_get_split_index()
260 - - config: mark an error message up for translation
253 +* jk/rebase-i-squash-count-fix (2017-01-07) 1 commit
254 + (merged to 'next' on 2017-01-10 at d6cfc6ace2)
255 + + rebase--interactive: count squash commits above 10 correctly
256
262 - The experimental "split index" feature has gained a few
263 - configuration variables to make it easier to use.
257 + "git rebase -i" with a recent update started showing an incorrect
258 + count when squashing more than 10 commits.
259
265 - Waiting for review to conclude.
266 - cf. <20161226102222.17150-1-chriscool@tuxfamily.org>
260 + Will merge to 'master'.
261 +
262 +
263 +* js/asciidoctor-tweaks (2017-01-07) 1 commit
264 + (merged to 'next' on 2017-01-10 at 087da7b7c1)
265 + + giteveryday: unbreak rendering with AsciiDoctor
266 +
267 + Adjust documentation to help AsciiDoctor render better while not
268 + breaking the rendering done by AsciiDoc.
269 +
270 + Will merge to 'master'.
271 +
272 +
273 +* km/branch-get-push-while-detached (2017-01-07) 1 commit
274 + (merged to 'next' on 2017-01-10 at a7f8af8c55)
275 + + branch_get_push: do not segfault when HEAD is detached
276 +
277 + "git <cmd> @{push}" on a detached HEAD used to segfault; it has
278 + been corrected to error out with a message.
279 +
280 + Will merge to 'master'.
281 +
282 +
283 +* sb/remove-gitview (2017-01-07) 1 commit
284 + (merged to 'next' on 2017-01-10 at dcb3abd146)
285 + + contrib: remove gitview
286 +
287 + Will merge to 'master'.
288 +
289 +
290 +* sb/submodule-cleanup-export-git-dir-env (2017-01-07) 1 commit
291 + (merged to 'next' on 2017-01-10 at 2d5db6821e)
292 + + submodule.c: use GIT_DIR_ENVIRONMENT consistently
293 +
294 + Code cleanup.
295 +
296 + Will merge to 'master'.
297 +
298 +
299 +* sb/pathspec-errors (2017-01-09) 1 commit
300 + (merged to 'next' on 2017-01-10 at 432375cb62)
301 + + pathspec: give better message for submodule related pathspec error
302 + (this branch uses bw/pathspec-cleanup.)
303 +
304 + Running "git add a/b" when "a" is a submodule correctly errored
305 + out, but without a meaningful error message.
306 +
307 + Will merge to 'master'.
308 +
309 +
310 +* ls/filter-process-delayed (2017-01-08) 1 commit
311 + . convert: add "status=delayed" to filter process protocol
312 +
313 + Ejected, as does not build when merged to 'pu'.
314 +
315 +
316 +* sp/cygwin-build-fixes (2017-01-09) 2 commits
317 + (merged to 'next' on 2017-01-10 at 2010fb6c03)
318 + + Makefile: put LIBS after LDFLAGS for imap-send
319 + + Makefile: POSIX windres
320 +
321 + Build updates for Cygwin.
322 +
323 + Will merge to 'master'.
324 +
325 +
326 +* jk/execv-dashed-external (2017-01-09) 3 commits
327 + (merged to 'next' on 2017-01-10 at 117b506cb0)
328 + + execv_dashed_external: wait for child on signal death
329 + + execv_dashed_external: stop exiting with negative code
330 + + execv_dashed_external: use child_process struct
331 +
332 + Typing ^C to pager, which usually does not kill it, killed Git and
333 + took the pager down as a collateral damage in certain process-tree
334 + structure. This has been fixed.
335 +
336 + Will merge to 'master'.
337 +
338 +
339 +* rh/mergetool-regression-fix (2017-01-10) 14 commits
340 + (merged to 'next' on 2017-01-10 at e8e00c798b)
341 + + mergetool: fix running in subdir when rerere enabled
342 + + mergetool: take the "-O" out of $orderfile
343 + + t7610: add test case for rerere+mergetool+subdir bug
344 + + t7610: spell 'git reset --hard' consistently
345 + + t7610: don't assume the checked-out commit
346 + + t7610: always work on a test-specific branch
347 + + t7610: delete some now-unnecessary 'git reset --hard' lines
348 + + t7610: run 'git reset --hard' after each test to clean up
349 + + t7610: don't rely on state from previous test
350 + + t7610: use test_when_finished for cleanup tasks
351 + + t7610: move setup code to the 'setup' test case
352 + + t7610: update branch names to match test number
353 + + rev-parse doc: pass "--" to rev-parse in the --prefix example
354 + + .mailmap: record canonical email for Richard Hansen
355 +
356 + "git mergetool" without any pathspec on the command line that is
357 + run from a subdirectory became no-op in Git v2.11 by mistake, which
358 + has been fixed.
359 +
360 + Will merge to 'master'.
361 +
362 +
363 +* sb/unpack-trees-cleanup (2017-01-10) 3 commits
364 + (merged to 'next' on 2017-01-10 at 95a5f3127c)
365 + + unpack-trees: factor progress setup out of check_updates
366 + + unpack-trees: remove unneeded continue
367 + + unpack-trees: move checkout state into check_updates
368 +
369 + Code cleanup.
370 +
371 + Will merge to 'master'.
372
373 --------------------------------------------------
374 [Stalled]
@@ -285,24 +390,6 @@ of the repositories listed at
390 Perhaps we want to cover .gitmodules too with the same mechanism?
391
392
288 -* nd/worktree-move (2016-11-28) 11 commits
289 - . worktree remove: new command
290 - . worktree move: refuse to move worktrees with submodules
291 - . worktree move: accept destination as directory
292 - . worktree move: new command
293 - . worktree.c: add update_worktree_location()
294 - . worktree.c: add validate_worktree()
295 - . copy.c: convert copy_file() to copy_dir_recursively()
296 - . copy.c: style fix
297 - . copy.c: convert bb_(p)error_msg to error(_errno)
298 - . copy.c: delete unused code in copy_file()
299 - . copy.c: import copy_file() from busybox
300 -
301 - "git worktree" learned move and remove subcommands.
302 -
303 - Reported to break builds on Windows.
304 -
305 -
393 * jc/bundle (2016-03-03) 6 commits
394 - index-pack: --clone-bundle option
395 - Merge branch 'jc/index-pack' into jc/bundle
@@ -326,51 +413,6 @@ of the repositories listed at
413 Will discard.
414
415
329 -* mh/connect (2016-06-06) 10 commits
330 - - connect: [host:port] is legacy for ssh
331 - - connect: move ssh command line preparation to a separate function
332 - - connect: actively reject git:// urls with a user part
333 - - connect: change the --diag-url output to separate user and host
334 - - connect: make parse_connect_url() return the user part of the url as a separate value
335 - - connect: group CONNECT_DIAG_URL handling code
336 - - connect: make parse_connect_url() return separated host and port
337 - - connect: re-derive a host:port string from the separate host and port variables
338 - - connect: call get_host_and_port() earlier
339 - - connect: document why we sometimes call get_port after get_host_and_port
340 -
341 - Rewrite Git-URL parsing routine (hopefully) without changing any
342 - behaviour.
343 -
344 - It has been two months without any support. We may want to discard
345 - this.
346 -
347 -
348 -* ec/annotate-deleted (2015-11-20) 1 commit
349 - - annotate: skip checking working tree if a revision is provided
350 -
351 - Usability fix for annotate-specific "<file> <rev>" syntax with deleted
352 - files.
353 -
354 - Has been waiting for a review for too long without seeing anything.
355 -
356 - Will discard.
357 -
358 -
359 -* dk/gc-more-wo-pack (2016-01-13) 4 commits
360 - - gc: clean garbage .bitmap files from pack dir
361 - - t5304: ensure non-garbage files are not deleted
362 - - t5304: test .bitmap garbage files
363 - - prepare_packed_git(): find more garbage
364 -
365 - Follow-on to dk/gc-idx-wo-pack topic, to clean up stale
366 - .bitmap and .keep files.
367 -
368 - Has been waiting for a reroll for too long.
369 - cf. <xmqq60ypbeng.fsf@gitster.mtv.corp.google.com>
370 -
371 - Will discard.
372 -
373 -
416 * jc/diff-b-m (2015-02-23) 5 commits
417 . WIPWIP
418 . WIP: diff-b-m
@@ -390,26 +432,96 @@ of the repositories listed at
432 --------------------------------------------------
433 [Cooking]
434
393 -* jc/abbrev-autoscale-config (2016-12-22) 1 commit
394 - (merged to 'next' on 2016-12-27 at 631e4200e2)
395 - + config.abbrev: document the new default that auto-scales
435 +* nd/worktree-move (2017-01-09) 6 commits
436 + - worktree remove: new command
437 + - worktree move: refuse to move worktrees with submodules
438 + - worktree move: accept destination as directory
439 + - worktree move: new command
440 + - worktree.c: add update_worktree_location()
441 + - worktree.c: add validate_worktree()
442
397 - Recent update to the default abbreviation length that auto-scales
398 - lacked documentation update, which has been corrected.
443 + "git worktree" learned move and remove subcommands.
444 +
445 +
446 +* dt/disable-bitmap-in-auto-gc (2016-12-29) 2 commits
447 + (merged to 'next' on 2017-01-10 at 9f4e89e15d)
448 + + repack: die on incremental + write-bitmap-index
449 + + auto gc: don't write bitmaps for incremental repacks
450 +
451 + It is natural that "git gc --auto" may not attempt to pack
452 + everything into a single pack, and there is no point in warning
453 + when the user has configured the system to use the pack bitmap,
454 + leading to disabling further "gc".
455
456 Will merge to 'master'.
457
458
403 -* jc/retire-compaction-heuristics (2016-12-23) 1 commit
404 - (merged to 'next' on 2016-12-27 at c69c2f50cf)
405 - + diff: retire "compaction" heuristics
459 +* js/mingw-test-push-unc-path (2017-01-07) 1 commit
460 + (merged to 'next' on 2017-01-10 at 249d9f26f3)
461 + + mingw: add a regression test for pushing to UNC paths
462 +
463 + "git push \\server\share\dir" has recently regressed and then
464 + fixed. A test has retroactively been added for this breakage.
465 +
466 + Will merge to 'master'.
467 +
468 +
469 +* nd/log-graph-configurable-colors (2017-01-08) 1 commit
470 + - log --graph: customize the graph lines with config log.graphColors
471 +
472 + Some people feel the default set of colors used by "git log --graph"
473 + rather limiting. A mechanism to customize the set of colors has
474 + been introduced.
475 +
476 + Waiting for review comments to be addressed.
477 + cf. <20170109103258.25341-1-pclouds@gmail.com>
478 +
479 +
480 +* sb/submodule-rm-absorb (2016-12-27) 4 commits
481 + (merged to 'next' on 2017-01-10 at 1fc2000a92)
482 + + rm: absorb a submodules git dir before deletion
483 + + submodule: rename and add flags to ok_to_remove_submodule
484 + + submodule: modernize ok_to_remove_submodule to use argv_array
485 + + submodule.h: add extern keyword to functions
486 +
487 + "git rm" used to refuse to remove a submodule when it has its own
488 + git repository embedded in its working tree. It learned to move
489 + the repository away to $GIT_DIR/modules/ of the superproject
490 + instead, and allow the submodule to be deleted (as long as there
491 + will be no loss of local modifications, that is).
492 +
493 + Will merge to 'master'.
494 +
495 +
496 +* cc/split-index-config (2016-12-26) 21 commits
497 + - Documentation/git-update-index: explain splitIndex.*
498 + - Documentation/config: add splitIndex.sharedIndexExpire
499 + - read-cache: use freshen_shared_index() in read_index_from()
500 + - read-cache: refactor read_index_from()
501 + - t1700: test shared index file expiration
502 + - read-cache: unlink old sharedindex files
503 + - config: add git_config_get_expiry() from gc.c
504 + - read-cache: touch shared index files when used
505 + - sha1_file: make check_and_freshen_file() non static
506 + - Documentation/config: add splitIndex.maxPercentChange
507 + - t1700: add tests for splitIndex.maxPercentChange
508 + - read-cache: regenerate shared index if necessary
509 + - config: add git_config_get_max_percent_split_change()
510 + - Documentation/git-update-index: talk about core.splitIndex config var
511 + - Documentation/config: add information for core.splitIndex
512 + - t1700: add tests for core.splitIndex
513 + - update-index: warn in case of split-index incoherency
514 + - read-cache: add and then use tweak_split_index()
515 + - split-index: add {add,remove}_split_index() functions
516 + - config: add git_config_get_split_index()
517 + - config: mark an error message up for translation
518
407 - "git diff" and its family had two experimental heuristics to shift
408 - the contents of a hunk to make the patch easier to read. One of
409 - them turns out to be better than the other, so leave only the
410 - "--indent-heuristic" option and remove the other one.
519 + The experimental "split index" feature has gained a few
520 + configuration variables to make it easier to use.
521
412 - Will merge to 'master'.
522 + Waiting for review comments to be addressed.
523 + cf. <20161226102222.17150-1-chriscool@tuxfamily.org>
524 + cf. <a1a44640-ff6c-2294-72ac-46322eff8505@ramsayjones.plus.com>
525
526
527 * bw/push-submodule-only (2016-12-20) 3 commits
@@ -421,17 +533,6 @@ of the repositories listed at
533 push submodules out without pushing the top-level superproject.
534
535
424 -* nd/config-misc-fixes (2016-12-22) 3 commits
425 - (merged to 'next' on 2016-12-27 at 6be64a8671)
426 - + config.c: handle lock file in error case in git_config_rename_...
427 - + config.c: rename label unlock_and_out
428 - + config.c: handle error case for fstat() calls
429 -
430 - Leakage of lockfiles in the config subsystem has been fixed.
431 -
432 - Will merge to 'master'.
433 -
434 -
536 * ls/p4-path-encoding (2016-12-18) 1 commit
537 - git-p4: fix git-p4.pathEncoding for removed files
538
@@ -443,47 +544,40 @@ of the repositories listed at
544 cf. <7E1C7387-4F37-423F-803D-3B5690B49D40@gmail.com>
545
546
446 -* mh/fast-import-notes-fix-new (2016-12-20) 1 commit
447 - (merged to 'next' on 2016-12-27 at b63805e6f6)
448 - + fast-import: properly fanout notes when tree is imported
449 -
450 - "git fast-import" sometimes mishandled while rebalancing notes
451 - tree, which has been fixed.
452 -
453 - Will merge to 'master'.
454 -
455 -
456 -* bw/pathspec-cleanup (2016-12-14) 16 commits
457 - - pathspec: rename prefix_pathspec to init_pathspec_item
458 - - pathspec: small readability changes
459 - - pathspec: create strip submodule slash helpers
460 - - pathspec: create parse_element_magic helper
461 - - pathspec: create parse_long_magic function
462 - - pathspec: create parse_short_magic function
463 - - pathspec: factor global magic into its own function
464 - - pathspec: simpler logic to prefix original pathspec elements
465 - - pathspec: always show mnemonic and name in unsupported_magic
466 - - pathspec: remove unused variable from unsupported_magic
467 - - pathspec: copy and free owned memory
468 - - pathspec: remove the deprecated get_pathspec function
469 - - ls-tree: convert show_recursive to use the pathspec struct interface
470 - - dir: convert fill_directory to use the pathspec struct interface
471 - - dir: remove struct path_simplify
472 - - mv: remove use of deprecated 'get_pathspec()'
547 +* bw/pathspec-cleanup (2017-01-08) 16 commits
548 + (merged to 'next' on 2017-01-10 at 79291ff506)
549 + + pathspec: rename prefix_pathspec to init_pathspec_item
550 + + pathspec: small readability changes
551 + + pathspec: create strip submodule slash helpers
552 + + pathspec: create parse_element_magic helper
553 + + pathspec: create parse_long_magic function
554 + + pathspec: create parse_short_magic function
555 + + pathspec: factor global magic into its own function
556 + + pathspec: simpler logic to prefix original pathspec elements
557 + + pathspec: always show mnemonic and name in unsupported_magic
558 + + pathspec: remove unused variable from unsupported_magic
559 + + pathspec: copy and free owned memory
560 + + pathspec: remove the deprecated get_pathspec function
561 + + ls-tree: convert show_recursive to use the pathspec struct interface
562 + + dir: convert fill_directory to use the pathspec struct interface
563 + + dir: remove struct path_simplify
564 + + mv: remove use of deprecated 'get_pathspec()'
565 + (this branch is used by sb/pathspec-errors.)
566
567 Code clean-up in the pathspec API.
568
476 - Waiting for the (hopefully) final round of review before 'next'.
569 + Will merge to 'master'.
570
571
479 -* js/prepare-sequencer-more (2016-12-14) 34 commits
572 +* js/prepare-sequencer-more (2017-01-09) 38 commits
573 - sequencer (rebase -i): write out the final message
574 - sequencer (rebase -i): write the progress into files
575 - sequencer (rebase -i): show the progress
576 - sequencer (rebase -i): suggest --edit-todo upon unknown command
577 - sequencer (rebase -i): show only failed cherry-picks' output
578 - sequencer (rebase -i): show only failed `git commit`'s output
486 - - run_command_opt(): optionally hide stderr when the command succeeds
579 + - sequencer: use run_command() directly
580 + - sequencer: make reading author-script more elegant
581 - sequencer (rebase -i): differentiate between comments and 'noop'
582 - sequencer (rebase -i): implement the 'drop' command
583 - sequencer (rebase -i): allow rescheduling commands
@@ -511,21 +605,27 @@ of the repositories listed at
605 - sequencer (rebase -i): implement the 'edit' command
606 - sequencer (rebase -i): implement the 'noop' command
607 - sequencer: support a new action: 'interactive rebase'
608 + - sequencer: use a helper to find the commit message
609 + - sequencer: move "else" keyword onto the same line as preceding brace
610 + - sequencer: avoid unnecessary curly braces
611
612 The sequencer has further been extended in preparation to act as a
613 back-end for "rebase -i".
614
518 - Waiting for review to conclude.
615 + Waiting for review comments to be addressed.
616
617
521 -* bw/realpath-wo-chdir (2016-12-22) 5 commits
618 +* bw/realpath-wo-chdir (2017-01-09) 7 commits
619 + (merged to 'next' on 2017-01-10 at ed315a40c8)
620 + + real_path: set errno when max number of symlinks is exceeded
621 + + real_path: prevent redefinition of MAXSYMLINKS
622 (merged to 'next' on 2016-12-22 at fea8fa870f)
623 + real_path: canonicalize directory separators in root parts
624 + real_path: have callers use real_pathdup and strbuf_realpath
625 + real_path: create real_pathdup
626 + real_path: convert real_path_internal to strbuf_realpath
627 + real_path: resolve symlinks by hand
528 - (this branch is used by bw/grep-recurse-submodules.)
628 + (this branch is tangled with bw/grep-recurse-submodules.)
629
630 The implementation of "real_path()" was to go there with chdir(2)
631 and call getcwd(3), but this obviously wouldn't be usable in a
@@ -535,13 +635,17 @@ of the repositories listed at
635 Will merge to 'master'.
636
637
538 -* js/difftool-builtin (2016-11-28) 2 commits
638 +* js/difftool-builtin (2017-01-09) 5 commits
639 + - t7800: run both builtin and scripted difftool, for now
640 - difftool: implement the functionality in the builtin
641 - difftool: add a skeleton for the upcoming builtin
642 + - git_exec_path: do not return the result of getenv()
643 + - git_exec_path: avoid Coverity warning about unfree()d result
644
645 Rewrite a scripted porcelain "git difftool" in C.
646
544 - What's the doneness of this topic?
647 + Expecting a reroll.
648 + cf. <alpine.DEB.2.20.1701091228460.3469@virtualbox>
649
650
651 * sb/push-make-submodule-check-the-default (2016-11-29) 2 commits
@@ -555,97 +659,8 @@ of the repositories listed at
659 Will cook in 'next'.
660
661
558 -* sb/submodule-embed-gitdir (2016-12-27) 7 commits
559 - (merged to 'next' on 2016-12-27 at 2b43c15479)
560 - + worktree: initialize return value for submodule_uses_worktrees
561 - (merged to 'next' on 2016-12-21 at e6cdbcf013)
562 - + submodule: add absorb-git-dir function
563 - + move connect_work_tree_and_git_dir to dir.h
564 - + worktree: check if a submodule uses worktrees
565 - + test-lib-functions.sh: teach test_commit -C <dir>
566 - + submodule helper: support super prefix
567 - + submodule: use absolute path for computing relative path connecting
568 - (this branch is used by sb/submodule-rm-absorb.)
569 -
570 - A new submodule helper "git submodule embedgitdirs" to make it
571 - easier to move embedded .git/ directory for submodules in a
572 - superproject to .git/modules/ (and point the latter with the former
573 - that is turned into a "gitdir:" file) has been added.
574 -
575 - Will merge to 'master'.
576 -
577 -
578 -* bw/grep-recurse-submodules (2016-12-22) 7 commits
579 - (merged to 'next' on 2016-12-22 at 1ede815b8d)
580 - + grep: search history of moved submodules
581 - + grep: enable recurse-submodules to work on <tree> objects
582 - + grep: optionally recurse into submodules
583 - + grep: add submodules as a grep source type
584 - + submodules: load gitmodules file from commit sha1
585 - + submodules: add helper to determine if a submodule is initialized
586 - + submodules: add helper to determine if a submodule is populated
587 - (this branch uses bw/realpath-wo-chdir.)
588 -
589 - "git grep" learns to optionally recurse into submodules.
590 -
591 - Will merge to 'master'.
592 -
593 -
594 -* dt/smart-http-detect-server-going-away (2016-11-18) 2 commits
595 - (merged to 'next' on 2016-12-05 at 3ea70d01af)
596 - + upload-pack: optionally allow fetching any sha1
597 - + remote-curl: don't hang when a server dies before any output
598 -
599 - Originally merged to 'next' on 2016-11-21
600 -
601 - When the http server gives an incomplete response to a smart-http
602 - rpc call, it could lead to client waiting for a full response that
603 - will never come. Teach the client side to notice this condition
604 - and abort the transfer.
605 -
606 - An improvement counterproposal has failed.
607 - cf. <20161114194049.mktpsvgdhex2f4zv@sigill.intra.peff.net>
608 -
609 - Will merge to 'master'.
610 -
611 -
612 -* mm/push-social-engineering-attack-doc (2016-11-14) 1 commit
613 - (merged to 'next' on 2016-12-05 at 9a2b5bd1a9)
614 - + doc: mention transfer data leaks in more places
615 -
616 - Originally merged to 'next' on 2016-11-16
617 -
618 - Doc update on fetching and pushing.
619 -
620 - Will merge to 'master'.
621 -
622 -
623 -* jc/compression-config (2016-11-15) 1 commit
624 - (merged to 'next' on 2016-12-05 at 323769ca07)
625 - + compression: unify pack.compression configuration parsing
626 -
627 - Originally merged to 'next' on 2016-11-23
628 -
629 - Compression setting for producing packfiles were spread across
630 - three codepaths, one of which did not honor any configuration.
631 - Unify these so that all of them honor core.compression and
632 - pack.compression variables the same way.
633 -
634 - Will merge to 'master'.
635 -
636 -
637 -* mm/gc-safety-doc (2016-11-16) 1 commit
638 - (merged to 'next' on 2016-12-05 at 031ecc1886)
639 - + git-gc.txt: expand discussion of races with other processes
640 -
641 - Originally merged to 'next' on 2016-11-17
642 -
643 - Doc update.
644 -
645 - Will merge to 'master'.
646 -
647 -
648 -* kn/ref-filter-branch-list (2016-12-27) 20 commits
662 +* kn/ref-filter-branch-list (2017-01-10) 21 commits
663 + - SQUASH???
664 - branch: implement '--format' option
665 - branch: use ref-filter printing APIs
666 - branch, tag: use porcelain output
@@ -670,32 +685,8 @@ of the repositories listed at
685 The code to list branches in "git branch" has been consolidated
686 with the more generic ref-filter API.
687
673 - Waiting for review to conclude.
674 -
675 -
676 -* jt/fetch-no-redundant-tag-fetch-map (2016-11-11) 1 commit
677 - (merged to 'next' on 2016-12-05 at 432f9469a7)
678 - + fetch: do not redundantly calculate tag refmap
679 -
680 - Originally merged to 'next' on 2016-11-16
681 -
682 - Code cleanup to avoid using redundant refspecs while fetching with
683 - the --tags option.
684 -
685 - Will merge to 'master'.
686 -
687 -
688 -* jc/git-open-cloexec (2016-11-02) 3 commits
689 - (merged to 'next' on 2016-12-27 at 487682eb6e)
690 - + sha1_file: stop opening files with O_NOATIME
691 - + git_open_cloexec(): use fcntl(2) w/ FD_CLOEXEC fallback
692 - + git_open(): untangle possible NOATIME and CLOEXEC interactions
693 -
694 - The codeflow of setting NOATIME and CLOEXEC on file descriptors Git
695 - opens has been simplified.
696 -
697 - Will merge to 'master'.
698 - We may want to drop the tip one, but we'll see.
688 + I think this is almost ready. Will wait for a few days, squash
689 + fixes in if needed and merge to 'next'.
690
691
692 * jk/no-looking-at-dotgit-outside-repo-final (2016-10-26) 1 commit
@@ -712,52 +703,6 @@ of the repositories listed at
703 Will cook in 'next'.
704
705
715 -* jc/reset-unmerge (2016-10-24) 1 commit
716 - - reset: --unmerge
717 -
718 - After "git add" is run prematurely during a conflict resolution,
719 - "git diff" can no longer be used as a way to sanity check by
720 - looking at the combined diff. "git reset" learned a new
721 - "--unmerge" option to recover from this situation.
722 -
723 - Will discard.
724 - This may not be needed, given that update-index has a similar
725 - option.
726 -
727 -
728 -* jc/merge-base-fp-only (2016-10-19) 8 commits
729 - . merge-base: fp experiment
730 - - merge: allow to use only the fp-only merge bases
731 - - merge-base: limit the output to bases that are on first-parent chain
732 - - merge-base: mark bases that are on first-parent chain
733 - - merge-base: expose get_merge_bases_many_0() a bit more
734 - - merge-base: stop moving commits around in remove_redundant()
735 - - sha1_name: remove ONELINE_SEEN bit
736 - - commit: simplify fastpath of merge-base
737 -
738 - An experiment of merge-base that ignores common ancestors that are
739 - not on the first parent chain.
740 -
741 - Will discard.
742 - The whole premise feels wrong.
743 -
744 -
745 -* tb/convert-stream-check (2016-10-27) 2 commits
746 - - convert.c: stream and fast search for binary
747 - - read-cache: factor out get_sha1_from_index() helper
748 -
749 - End-of-line conversion sometimes needs to see if the current blob
750 - in the index has NULs and CRs to base its decision. We used to
751 - always get a full statistics over the blob, but in many cases we
752 - can return early when we have seen "enough" (e.g. if we see a
753 - single NUL, the blob will be handled as binary). The codepaths
754 - have been optimized by using streaming interface.
755 -
756 - Will discard.
757 - Retracted.
758 - cf. <20161102071646.GA5094@tb-raspi>
759 -
760 -
706 * pb/bisect (2016-10-18) 27 commits
707 - bisect--helper: remove the dequote in bisect_start()
708 - bisect--helper: retire `--bisect-auto-next` subcommand
@@ -789,7 +734,9 @@ of the repositories listed at
734
735 Move more parts of "git bisect" to C.
736
792 - Waiting for review to conclude.
737 + Expecting a reroll.
738 + cf. <CAFZEwPPXPPHi8KiEGS9ggzNHDCGhuqMgH9Z8-Pf9GLshg8+LPA@mail.gmail.com>
739 + cf. <CAFZEwPM9RSTGN54dzaw9gO9iZmsYjJ_d1SjUD4EzSDDbmh-XuA@mail.gmail.com>
740
741
742 * st/verify-tag (2016-10-10) 7 commits
@@ -854,20 +801,6 @@ of the repositories listed at
801 with bw/pathspec-cleanup topic and has been dropped for now.
802
803
857 -* jc/latin-1 (2016-09-26) 2 commits
858 - (merged to 'next' on 2016-12-05 at fb549caa12)
859 - + utf8: accept "latin-1" as ISO-8859-1
860 - + utf8: refactor code to decide fallback encoding
861 -
862 - Originally merged to 'next' on 2016-09-28
863 -
864 - Some platforms no longer understand "latin-1" that is still seen in
865 - the wild in e-mail headers; replace them with "iso-8859-1" that is
866 - more widely known when conversion fails from/to it.
867 -
868 - Will merge to 'master'.
869 -
870 -
804 * sg/fix-versioncmp-with-common-suffix (2016-12-08) 8 commits
805 - versioncmp: generalize version sort suffix reordering
806 - squash! versioncmp: use earliest-longest contained suffix to determine sorting order
@@ -883,7 +816,7 @@ of the repositories listed at
816 same release were present (e.g. when 2.0, 2.0-beta1, and 2.0-beta2
817 are there and the code needs to compare 2.0-beta1 and 2.0-beta2).
818
886 - Waiting for review to conclude.
819 + Will merge to 'next' after squashing.
820 cf. <20161208142401.1329-1-szeder.dev@gmail.com>
821
822
@@ -898,3 +831,96 @@ of the repositories listed at
831 warning message since v2.5.0.
832
833 Will cook in 'next'.
834 +
835 +--------------------------------------------------
836 +[Discarded]
837 +
838 +* rs/unpack-trees-reduce-file-scope-global (2016-12-31) 1 commit
839 + . unpack-trees: move checkout state into check_updates
840 +
841 + Code cleanup.
842 +
843 + Superseded by sb/unpack-trees-cleanup
844 +
845 +
846 +* jc/reset-unmerge (2016-10-24) 1 commit
847 + . reset: --unmerge
848 +
849 + After "git add" is run prematurely during a conflict resolution,
850 + "git diff" can no longer be used as a way to sanity check by
851 + looking at the combined diff. "git reset" learned a new
852 + "--unmerge" option to recover from this situation.
853 +
854 + This may not be needed, given that update-index has a similar
855 + option.
856 +
857 +
858 +* jc/merge-base-fp-only (2016-10-19) 8 commits
859 + . merge-base: fp experiment
860 + . merge: allow to use only the fp-only merge bases
861 + . merge-base: limit the output to bases that are on first-parent chain
862 + . merge-base: mark bases that are on first-parent chain
863 + . merge-base: expose get_merge_bases_many_0() a bit more
864 + . merge-base: stop moving commits around in remove_redundant()
865 + . sha1_name: remove ONELINE_SEEN bit
866 + . commit: simplify fastpath of merge-base
867 +
868 + An experiment of merge-base that ignores common ancestors that are
869 + not on the first parent chain.
870 +
871 + The whole premise feels wrong.
872 +
873 +
874 +* tb/convert-stream-check (2016-10-27) 2 commits
875 + . convert.c: stream and fast search for binary
876 + . read-cache: factor out get_sha1_from_index() helper
877 +
878 + End-of-line conversion sometimes needs to see if the current blob
879 + in the index has NULs and CRs to base its decision. We used to
880 + always get a full statistics over the blob, but in many cases we
881 + can return early when we have seen "enough" (e.g. if we see a
882 + single NUL, the blob will be handled as binary). The codepaths
883 + have been optimized by using streaming interface.
884 +
885 + Retracted.
886 + cf. <20161102071646.GA5094@tb-raspi>
887 +
888 +
889 +* mh/connect (2016-06-06) 10 commits
890 + . connect: [host:port] is legacy for ssh
891 + . connect: move ssh command line preparation to a separate function
892 + . connect: actively reject git:// urls with a user part
893 + . connect: change the --diag-url output to separate user and host
894 + . connect: make parse_connect_url() return the user part of the url as a separate value
895 + . connect: group CONNECT_DIAG_URL handling code
896 + . connect: make parse_connect_url() return separated host and port
897 + . connect: re-derive a host:port string from the separate host and port variables
898 + . connect: call get_host_and_port() earlier
899 + . connect: document why we sometimes call get_port after get_host_and_port
900 +
901 + Rewrite Git-URL parsing routine (hopefully) without changing any
902 + behaviour.
903 +
904 + It has been months without any support.
905 +
906 +
907 +* ec/annotate-deleted (2015-11-20) 1 commit
908 + . annotate: skip checking working tree if a revision is provided
909 +
910 + Usability fix for annotate-specific "<file> <rev>" syntax with deleted
911 + files.
912 +
913 + Has been waiting for a review for too long without seeing anything.
914 +
915 +
916 +* dk/gc-more-wo-pack (2016-01-13) 4 commits
917 + . gc: clean garbage .bitmap files from pack dir
918 + . t5304: ensure non-garbage files are not deleted
919 + . t5304: test .bitmap garbage files
920 + . prepare_packed_git(): find more garbage
921 +
922 + Follow-on to dk/gc-idx-wo-pack topic, to clean up stale
923 + .bitmap and .keep files.
924 +
925 + Has been waiting for a reroll for too long.
926 + cf. <xmqq60ypbeng.fsf@gitster.mtv.corp.google.com>