What's cooking (2016/09 #05)

Junio C Hamano committed Sep 19, 2016 at 16:30 UTC a41488d7239ee2944ae8c220485ec60b91dbf807
1 file changed +500 -541
whats-cooking.txt
+500 -541
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Sep 2016, #04; Wed, 14)
4 -X-master-at: 35f6318d44379452d8d33e880d8df0267b4a0cd0
5 -X-next-at: 15890ea0079e968c44f020c9f65b29f823b3f4cd
3 +Subject: What's cooking in git.git (Sep 2016, #05; Mon, 19)
4 +X-master-at: f6727b0509ec3417a5183ba6e658143275a734f5
5 +X-next-at: c4ba6ebad2b925f4c6956f7e29e7375f5398848a
6
7 -What's cooking in git.git (Sep 2016, #04; Wed, 14)
7 +What's cooking in git.git (Sep 2016, #05; Mon, 19)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -20,320 +20,294 @@ of the repositories listed at
20 --------------------------------------------------
21 [Graduated to "master"]
22
23 -* ep/use-git-trace-curl-in-tests (2016-09-07) 4 commits
24 - (merged to 'next' on 2016-09-08 at 04372de)
25 - + t5551-http-fetch-smart.sh: use the GIT_TRACE_CURL environment var
26 - + t5550-http-fetch-dumb.sh: use the GIT_TRACE_CURL environment var
27 - + test-lib.sh: preserve GIT_TRACE_CURL from the environment
28 - + t5541-http-push-smart.sh: use the GIT_TRACE_CURL environment var
29 -
30 - Update a few tests that used to use GIT_CURL_VERBOSE to use the
31 - newer GIT_TRACE_CURL.
32 -
33 -
34 -* jc/am-read-author-file (2016-08-30) 1 commit
35 - (merged to 'next' on 2016-09-08 at d2db42f)
36 - + am: refactor read_author_script()
37 -
38 - Extract a small helper out of the function that reads the authors
39 - script file "git am" internally uses.
40 - This by itself is not useful until a second caller appears in the
41 - future for "rebase -i" helper.
42 -
23 +* ah/misc-message-fixes (2016-09-08) 5 commits
24 + (merged to 'next' on 2016-09-12 at a113aea)
25 + + unpack-trees: do not capitalize "working"
26 + + git-merge-octopus: do not capitalize "octopus"
27 + + git-rebase--interactive: fix English grammar
28 + + cat-file: put spaces around pipes in usage string
29 + + am: put spaces around pipe in usage string
30
44 -* jc/forbid-symbolic-ref-d-HEAD (2016-09-02) 1 commit
45 - (merged to 'next' on 2016-09-08 at cd8c1b3)
46 - + symbolic-ref -d: do not allow removal of HEAD
31 + Message cleanup.
32
48 - "git symbolic-ref -d HEAD" happily removes the symbolic ref, but
49 - the resulting repository becomes an invalid one. Teach the command
50 - to forbid removal of HEAD.
33
34 +* bc/object-id (2016-09-07) 20 commits
35 + (merged to 'next' on 2016-09-15 at 34c6459)
36 + + builtin/reset: convert to use struct object_id
37 + + builtin/commit-tree: convert to struct object_id
38 + + builtin/am: convert to struct object_id
39 + + refs: add an update_ref_oid function.
40 + + sha1_name: convert get_sha1_mb to struct object_id
41 + + builtin/update-index: convert file to struct object_id
42 + + notes: convert init_notes to use struct object_id
43 + + builtin/rm: convert to use struct object_id
44 + + builtin/blame: convert file to use struct object_id
45 + + Convert read_mmblob to take struct object_id.
46 + + notes-merge: convert struct notes_merge_pair to struct object_id
47 + + builtin/checkout: convert some static functions to struct object_id
48 + + streaming: make stream_blob_to_fd take struct object_id
49 + + builtin: convert textconv_object to use struct object_id
50 + + builtin/cat-file: convert some static functions to struct object_id
51 + + builtin/cat-file: convert struct expand_data to use struct object_id
52 + + builtin/log: convert some static functions to use struct object_id
53 + + builtin/blame: convert struct origin to use struct object_id
54 + + builtin/apply: convert static functions to struct object_id
55 + + cache: convert struct cache_entry to use struct object_id
56
53 -* jc/submodule-anchor-git-dir (2016-09-01) 1 commit
54 - (merged to 'next' on 2016-09-08 at b6f20cf)
55 - + submodule: avoid auto-discovery in prepare_submodule_repo_env()
57 + The "unsigned char sha1[20]" to "struct object_id" conversion
58 + continues. Notable changes in this round includes that ce->sha1,
59 + i.e. the object name recorded in the cache_entry, turns into an
60 + object_id.
61
57 - Having a submodule whose ".git" repository is somehow corrupt
58 - caused a few commands that recurse into submodules loop forever.
62 + It had merge conflicts with a few topics in flight (Christian's
63 + "apply.c split", Dscho's "cat-file --filters" and Jeff Hostetler's
64 + "status --porcelain-v2"). Extra sets of eyes double-checking for
65 + mismerges are highly appreciated.
66
67
61 -* jk/diff-submodule-diff-inline (2016-08-31) 8 commits
62 - (merged to 'next' on 2016-09-02 at 734e42c)
63 - + diff: teach diff to display submodule difference with an inline diff
64 - + submodule: refactor show_submodule_summary with helper function
65 - + submodule: convert show_submodule_summary to use struct object_id *
66 - + allow do_submodule_path to work even if submodule isn't checked out
67 - + diff: prepare for additional submodule formats
68 - + graph: add support for --line-prefix on all graph-aware output
69 - + diff.c: remove output_prefix_length field
70 - + cache: add empty_tree_oid object and helper function
68 +* cc/apply-am (2016-09-07) 41 commits
69 + (merged to 'next' on 2016-09-12 at 854edde)
70 + + builtin/am: use apply API in run_apply()
71 + + apply: learn to use a different index file
72 + + apply: pass apply state to build_fake_ancestor()
73 + + apply: refactor `git apply` option parsing
74 + + apply: change error_routine when silent
75 + + usage: add get_error_routine() and get_warn_routine()
76 + + usage: add set_warn_routine()
77 + + apply: don't print on stdout in verbosity_silent mode
78 + + apply: make it possible to silently apply
79 + + apply: use error_errno() where possible
80 + + apply: make some parsing functions static again
81 + + apply: move libified code from builtin/apply.c to apply.{c,h}
82 + + apply: rename and move opt constants to apply.h
83 + + builtin/apply: rename option parsing functions
84 + + builtin/apply: make create_one_file() return -1 on error
85 + + builtin/apply: make try_create_file() return -1 on error
86 + + builtin/apply: make write_out_results() return -1 on error
87 + + builtin/apply: make write_out_one_result() return -1 on error
88 + + builtin/apply: make create_file() return -1 on error
89 + + builtin/apply: make add_index_file() return -1 on error
90 + + builtin/apply: make add_conflicted_stages_file() return -1 on error
91 + + builtin/apply: make remove_file() return -1 on error
92 + + builtin/apply: make build_fake_ancestor() return -1 on error
93 + + builtin/apply: change die_on_unsafe_path() to check_unsafe_path()
94 + + builtin/apply: make gitdiff_*() return -1 on error
95 + + builtin/apply: make gitdiff_*() return 1 at end of header
96 + + builtin/apply: make parse_traditional_patch() return -1 on error
97 + + builtin/apply: make apply_all_patches() return 128 or 1 on error
98 + + builtin/apply: move check_apply_state() to apply.c
99 + + builtin/apply: make check_apply_state() return -1 instead of die()ing
100 + + apply: make init_apply_state() return -1 instead of exit()ing
101 + + builtin/apply: move init_apply_state() to apply.c
102 + + builtin/apply: make parse_ignorewhitespace_option() return -1 instead of die()ing
103 + + builtin/apply: make parse_whitespace_option() return -1 instead of die()ing
104 + + builtin/apply: make parse_single_patch() return -1 on error
105 + + builtin/apply: make parse_chunk() return a negative integer on error
106 + + builtin/apply: make find_header() return -128 instead of die()ing
107 + + builtin/apply: read_patch_file() return -1 instead of die()ing
108 + + builtin/apply: make apply_patch() return -1 or -128 instead of die()ing
109 + + apply: move 'struct apply_state' to apply.h
110 + + apply: make some names more specific
111
72 - The "git diff --submodule={short,log}" mechanism has been enhanced
73 - to allow "--submodule=diff" to show the patch between the submodule
74 - commits bound to the superproject.
112 + "git am" has been taught to make an internal call to "git apply"'s
113 + innards without spawning the latter as a separate process.
114
115
77 -* jk/squelch-false-warning-from-gcc-o3 (2016-08-31) 2 commits
78 - (merged to 'next' on 2016-09-08 at c9a2af6)
79 - + color_parse_mem: initialize "struct color" temporary
80 - + error_errno: use constant return similar to error()
116 +* jk/fix-remote-curl-url-wo-proto (2016-09-08) 1 commit
117 + (merged to 'next' on 2016-09-12 at 7845867)
118 + + remote-curl: handle URLs without protocol
119
82 - Compilation fix.
120 + "git fetch http::/site/path" did not die correctly and segfaulted
121 + instead.
122
123
85 -* jk/test-lib-drop-pid-from-results (2016-08-30) 1 commit
86 - (merged to 'next' on 2016-09-08 at 0967b0b)
87 - + test-lib: drop PID from test-results/*.count
124 +* jk/pack-tag-of-tag (2016-09-07) 5 commits
125 + (merged to 'next' on 2016-09-12 at 62c62c0)
126 + + pack-objects: walk tag chains for --include-tag
127 + + t5305: simplify packname handling
128 + + t5305: use "git -C"
129 + + t5305: drop "dry-run" of unpack-objects
130 + + t5305: move cleanup into test block
131
89 - The test framework left the number of tests and success/failure
90 - count in the t/test-results directory, keyed by the name of the
91 - test script plus the process ID. The latter however turned out not
92 - to serve any useful purpose. The process ID part of the filename
93 - has been removed.
132 + "git pack-objects --include-tag" was taught that when we know that
133 + we are sending an object C, we want a tag B that directly points at
134 + C but also a tag A that points at the tag B. We used to miss the
135 + intermediate tag B in some cases.
136
137
96 -* js/t6026-clean-up (2016-09-07) 1 commit
97 - (merged to 'next' on 2016-09-08 at 5ad2fc1)
98 - + t6026-merge-attr: clean up background process at end of test case
138 +* js/git-gui-commit-gpgsign (2016-09-11) 2 commits
139 + (merged to 'next' on 2016-09-12 at 05350ab)
140 + + Merge branch 'js/commit-gpgsign' of ../git-gui into js/git-gui-commit-gpgsign
141 + + git-gui: respect commit.gpgsign again
142
100 - A test spawned a short-lived background process, which sometimes
101 - prevented the test directory from getting removed at the end of the
102 - script on some platforms.
143 + "git commit-tree" stopped reading commit.gpgsign configuration
144 + variable that was meant for Porcelain "git commit" in Git 2.9; we
145 + forgot to update "git gui" to look at the configuration to match
146 + this change.
147
148
105 -* js/t9903-chaining (2016-09-07) 1 commit
106 - (merged to 'next' on 2016-09-08 at 162a3c9)
107 - + t9903: fix broken && chain
149 +* js/sequencer-wo-die (2016-09-09) 17 commits
150 + (merged to 'next' on 2016-09-12 at d2154ea)
151 + + sequencer: ensure to release the lock when we could not read the index
152 + + sequencer: lib'ify checkout_fast_forward()
153 + + sequencer: lib'ify fast_forward_to()
154 + + sequencer: lib'ify save_opts()
155 + + sequencer: lib'ify save_todo()
156 + + sequencer: lib'ify save_head()
157 + + sequencer: lib'ify create_seq_dir()
158 + + sequencer: lib'ify read_populate_opts()
159 + + sequencer: lib'ify read_populate_todo()
160 + + sequencer: lib'ify read_and_refresh_cache()
161 + + sequencer: lib'ify prepare_revs()
162 + + sequencer: lib'ify walk_revs_populate_todo()
163 + + sequencer: lib'ify do_pick_commit()
164 + + sequencer: lib'ify do_recursive_merge()
165 + + sequencer: lib'ify write_message()
166 + + sequencer: do not die() in do_pick_commit()
167 + + sequencer: lib'ify sequencer_pick_revisions()
168
109 - Test fix.
169 + Lifts calls to exit(2) and die() higher in the callchain in
170 + sequencer.c files so that more helper functions in it can be used
171 + by callers that want to handle error conditions themselves.
172
173
112 -* rs/compat-strdup (2016-09-07) 1 commit
113 - (merged to 'next' on 2016-09-08 at 46acfdf)
114 - + compat: move strdup(3) replacement to its own file
174 +* mh/ref-store (2016-09-09) 38 commits
175 + (merged to 'next' on 2016-09-12 at 1b0bd3c)
176 + + refs: implement iteration over only per-worktree refs
177 + + refs: make lock generic
178 + + refs: add method to rename refs
179 + + refs: add methods to init refs db
180 + + refs: make delete_refs() virtual
181 + + refs: add method for initial ref transaction commit
182 + + refs: add methods for reflog
183 + + refs: add method iterator_begin
184 + + files_ref_iterator_begin(): take a ref_store argument
185 + + split_symref_update(): add a files_ref_store argument
186 + + lock_ref_sha1_basic(): add a files_ref_store argument
187 + + lock_ref_for_update(): add a files_ref_store argument
188 + + commit_ref_update(): add a files_ref_store argument
189 + + lock_raw_ref(): add a files_ref_store argument
190 + + repack_without_refs(): add a files_ref_store argument
191 + + refs: make peel_ref() virtual
192 + + refs: make create_symref() virtual
193 + + refs: make pack_refs() virtual
194 + + refs: make verify_refname_available() virtual
195 + + refs: make read_raw_ref() virtual
196 + + resolve_gitlink_ref(): rename path parameter to submodule
197 + + resolve_gitlink_ref(): avoid memory allocation in many cases
198 + + resolve_gitlink_ref(): implement using resolve_ref_recursively()
199 + + resolve_ref_recursively(): new function
200 + + read_raw_ref(): take a (struct ref_store *) argument
201 + + resolve_gitlink_packed_ref(): remove function
202 + + resolve_packed_ref(): rename function from resolve_missing_loose_ref()
203 + + refs: reorder definitions
204 + + refs: add a transaction_commit() method
205 + + {lock,commit,rollback}_packed_refs(): add files_ref_store arguments
206 + + resolve_missing_loose_ref(): add a files_ref_store argument
207 + + get_packed_ref(): add a files_ref_store argument
208 + + add_packed_ref(): add a files_ref_store argument
209 + + refs: create a base class "ref_store" for files_ref_store
210 + + refs: add a backend method structure
211 + + refs: rename struct ref_cache to files_ref_store
212 + + rename_ref_available(): add docstring
213 + + resolve_gitlink_ref(): eliminate temporary variable
214
116 - Code cleanup.
215 + The ref-store abstraction was introduced to the refs API so that we
216 + can plug in different backends to store references.
217
218
119 -* rs/hex2chr (2016-09-07) 1 commit
120 - (merged to 'next' on 2016-09-08 at 7266d5b)
121 - + introduce hex2chr() for converting two hexadecimal digits to a character
219 +* sb/diff-cleanup (2016-09-08) 3 commits
220 + (merged to 'next' on 2016-09-12 at 5d16b28)
221 + + diff: remove dead code
222 + + diff: omit found pointer from emit_callback
223 + + diff.c: use diff_options directly
224
225 Code cleanup.
226
227
126 -* sb/transport-report-missing-submodule-on-stderr (2016-09-08) 1 commit
127 - (merged to 'next' on 2016-09-08 at 3550831)
128 - + transport: report missing submodule pushes consistently on stderr
129 -
130 - Message cleanup.
131 -
132 -
133 -* sb/xdiff-remove-unused-static-decl (2016-09-07) 1 commit
134 - (merged to 'next' on 2016-09-08 at 39e41dd)
135 - + xdiff: remove unneeded declarations
228 +* sy/git-gui-i18n-ja (2016-09-07) 7 commits
229 + (merged to 'next' on 2016-09-12 at 4a701c2)
230 + + Merge branch 'sy/i18n' of git-gui
231 + + git-gui: update Japanese information
232 + + git-gui: update Japanese translation
233 + + git-gui: add Japanese language code
234 + + git-gui: apply po template to Japanese translation
235 + + git-gui: consistently use the same word for "blame" in Japanese
236 + + git-gui: consistently use the same word for "remote" in Japanese
237
137 - Code cleanup.
238 + Update Japanese translation for "git-gui".
239
240 --------------------------------------------------
241 [New Topics]
242
142 -* et/add-chmod-x (2016-09-12) 1 commit
143 - - add: document the chmod option
144 - (this branch is used by tg/add-chmod+x-fix.)
145 -
146 - "git add --chmod=+x" added recently lacked documentation, which has
147 - been corrected.
148 -
149 - Will merge to 'next'.
150 -
151 -
152 -* js/libify-require-clean-work-tree (2016-09-12) 5 commits
153 - - wt-status: teach has_{unstaged,uncommitted}_changes() about submodules
154 - - Export also the has_un{staged,committed}_changed() functions
155 - - Make the require_clean_work_tree() function truly reusable
156 - - pull: make code more similar to the shell script again
157 - - pull: drop confusing prefix parameter of die_on_unclean_work_tree()
158 -
159 - The require_clean_work_tree() helper was recreated in C when "git
160 - pull" was rewritten from shell; the helper is now made available to
161 - other callers in preparation for upcoming "rebase -i" work.
162 -
163 - Waiting for comments.
164 - Modulo a few minor nits, this looked almost ready.
165 - cf. <xmqqtwdl2bhm.fsf@gitster.mtv.corp.google.com>
166 - cf. <xmqqpoo92bdr.fsf@gitster.mtv.corp.google.com>
167 -
168 -
169 -* ks/perf-build-with-autoconf (2016-09-13) 1 commit
170 - - t/perf/run: Don't forget to copy config.mak.autogen & friends
171 -
172 - Performance tests done via "t/perf" did not use the same set of
173 - build configuration if the user relied on autoconf generated
174 - configuration.
175 -
176 - Will merge to 'next'.
177 -
178 -
179 -* tg/add-chmod+x-fix (2016-09-14) 5 commits
180 - - SQUASH???
181 - - add: modify already added files when --chmod is given
182 - - read-cache: introduce chmod_index_entry
183 - - update-index: add test for chmod flags
184 - - Merge branch 'ib/t3700-add-chmod-x-updates' into tg/add-chmod+x-fix
185 - (this branch uses et/add-chmod-x.)
186 -
187 - "git add --chmod=+x <pathspec>" added recently only toggled the
188 - executable bit for paths that are either new or modified. This has
189 - been corrected to flip the executable bit for all paths that match
190 - the given pathspec.
191 -
192 - Waiting for an ack for SQUASH???
193 -
194 -
195 -* bw/ls-files-recurse-submodules (2016-09-13) 3 commits
196 - - SQUASH??? Undecided
197 - - SQUASH???
198 - - ls-files: adding support for submodules
199 -
200 - "git ls-files" learned "--recurse-submodules" option that can be
201 - used to get a listing of tracked files across submodules (i.e. this
202 - only works with "--cached" option, not for listing untracked or
203 - ignored files). This would be a useful tool to sit on the upstream
204 - side of a pipe that is read with xargs to work on all working tree
205 - files from the top-level superproject.
206 -
207 - Waiting for the discussion to conclude.
243 +* rs/xdiff-merge-overlapping-hunks-for-W-context (2016-09-14) 1 commit
244 + (merged to 'next' on 2016-09-15 at eaa85ab)
245 + + xdiff: fix merging of hunks with -W context and -u context
246
247 + "git diff -W" output needs to extend the context backward to
248 + include the header line of the current function and also forward to
249 + include the body of the entire current function up to the header
250 + line of the next one. This process may have to merge to adjacent
251 + hunks, but the code forgot to do so in some cases.
252
210 -* bw/pathspec-remove-unused-extern-decl (2016-09-13) 1 commit
211 - - pathspec: remove unnecessary function prototypes
212 -
213 - Code cleanup.
214 -
215 - Will merge to 'next'.
216 -
217 -
218 -* ew/http-do-not-forget-to-call-curl-multi-remove-handle (2016-09-13) 3 commits
219 - - http: always remove curl easy from curlm session on release
220 - - http: consolidate #ifdefs for curl_multi_remove_handle
221 - - http: warn on curl_multi_add_handle failures
222 -
223 - The http transport (with curl-multi option, which is the default
224 - these days) failed to remove curl-easy handle from a curlm session,
225 - which led to unnecessary API failures.
226 -
227 - Will merge to 'next'.
228 -
229 -
230 -* jk/delta-base-cache (2016-09-12) 1 commit
231 - - add_delta_base_cache: use list_for_each_safe
232 -
233 - Recently we updated the code to manage the in-core cache that holds
234 - objects that have recently been used to reconstitute other objects
235 - that are stored as deltas against them, but the update used an
236 - incorrect API function to manage the list of these objects. This
237 - has been fixed.
238 -
239 - Will merge to 'next'.
240 - This is a last-minute fix to a topic that graduated to 'master'
241 - post 2.10 release.
242 -
243 -
244 -* jk/setup-sequence-update (2016-09-13) 16 commits
245 - - t1007: factor out repeated setup
246 - - init: reset cached config when entering new repo
247 - - init: expand comments explaining config trickery
248 - - config: only read .git/config from configured repos
249 - - test-config: setup git directory
250 - - t1302: use "git -C"
251 - - pager: handle early config
252 - - pager: use callbacks instead of configset
253 - - pager: make pager_program a file-local static
254 - - pager: stop loading git_default_config()
255 - - pager: remove obsolete comment
256 - - diff: always try to set up the repository
257 - - diff: handle --no-index prefixes consistently
258 - - diff: skip implicit no-index check when given --no-index
259 - - patch-id: use RUN_SETUP_GENTLY
260 - - hash-object: always try to set up the git repository
261 -
262 - There were numerous corner cases in which the configuration files
263 - are read and used or not read at all depending on the directory a
264 - Git command was run, leading to inconsistent behaviour. The code
265 - to set-up repository access at the beginning of a Git process has
266 - been updated to fix them.
267 -
268 - Will merge to 'next'.
269 -
270 -
271 -* ls/filter-process (2016-09-13) 10 commits
272 - - convert: add filter.<driver>.process option
273 - - convert: make apply_filter() adhere to standard Git error handling
274 - - convert: modernize tests
275 - - convert: quote filter names in error messages
276 - - pkt-line: add functions to read/write flush terminated packet streams
277 - - pkt-line: add packet_write_gently()
278 - - pkt-line: add packet_flush_gently()
279 - - pkt-line: add packet_write_fmt_gently()
280 - - pkt-line: extract set_packet_header()
281 - - pkt-line: rename packet_write() to packet_write_fmt()
282 -
283 - The smudge/clean filter API expect an external process is spawned
284 - to filter the contents for each path that has a filter defined. A
285 - new type of "process" filter API has been added to allow the first
286 - request to run the filter for a path to spawn a single process, and
287 - all filtering need is served by this single process for multiple
288 - paths, reducing the process creation overhead.
289 -
290 - Waiting for the discussion to conclude.
291 - cf. <20160910062919.GB11001@tb-raspi> etc.
253 + Will merge to 'master'.
254
255
294 -* rs/checkout-some-states-are-const (2016-09-13) 1 commit
295 - - checkout: constify parameters of checkout_stage() and checkout_merged()
256 +* mm/config-color-ui-default-to-auto (2016-09-16) 1 commit
257 + - Documentation/config: default for color.* is color.ui
258
297 - Code cleanup.
259 + Documentation for individual configuration variables to control use
260 + of color (like `color.grep`) said that their default value was
261 + 'false', instead of saying their default is taken from `color.ui`.
262 + When we updated the default value for color.ui from 'false' to
263 + 'auto' quite a while ago, all of them broke. This has been
264 + corrected.
265
266 Will merge to 'next'.
267
268
302 -* rs/pack-sort-with-llist-mergesort (2016-09-13) 1 commit
303 - - sha1_file: use llist_mergesort() for sorting packs
269 +* rs/c-auto-resets-attributes (2016-09-19) 1 commit
270 + - pretty: let %C(auto) reset all attributes
271
305 - Code cleanup.
272 + The pretty-format specifier used by the "log" family of commands
273 + have "%C(auto)" to turn coloring of the output is taught to also
274 + issue a color-reset sequence to the output.
275
276 Will merge to 'next'.
277
278
310 -* rs/strbuf-remove-fix (2016-09-13) 1 commit
311 - - strbuf: use valid pointer in strbuf_remove()
279 +* rs/cocci (2016-09-15) 3 commits
280 + - use strbuf_addstr() for adding constant strings to a strbuf, part 2
281 + - add coccicheck make target
282 + - contrib/coccinelle: fix semantic patch for oid_to_hex_r()
283
284 Code cleanup.
285
286 Will merge to 'next'.
287
288
318 -* rs/unpack-trees-reduce-file-scope-global (2016-09-13) 1 commit
319 - - unpack-trees: pass checkout state explicitly to check_updates()
289 +* va/i18n-more (2016-09-19) 6 commits
290 + - i18n: stash: mark messages for translation
291 + - i18n: notes-merge: mark die messages for translation
292 + - i18n: ident: mark hint for translation
293 + - i18n: diff: mark die errors for translation
294 + - i18n: connect: mark die messages for translation
295 + - i18n: commit: mark message for translation
296 + (this branch uses va/i18n.)
297
321 - Code cleanup.
298 + Even more i18n.
299
300 Will merge to 'next'.
301
302
326 -* mr/vcs-svn-printf-ulong (2016-09-14) 1 commit
327 - - vcs-svn/fast_export: fix timestamp fmt specifiers
303 +* jt/mailinfo-fold-in-body-headers (2016-09-19) 2 commits
304 + - mailinfo: make is_scissors_line take plain char *
305 + - mailinfo: separate in-body header processing
306
329 - Code cleanup.
330 -
331 - Will merge to 'next'.
307
333 -
334 -* hv/submodule-not-yet-pushed-fix (2016-09-14) 2 commits
335 - - serialize collection of refs that contain submodule changes
336 - - serialize collection of changed submodules
308 +* kd/mailinfo-quoted-string (2016-09-19) 2 commits
309 + - mailinfo: unescape quoted-pair in header fields
310 + - t5100-mailinfo: replace common path prefix with variable
311
312 --------------------------------------------------
313 [Stalled]
@@ -560,114 +534,272 @@ of the repositories listed at
534 - t5304: test .bitmap garbage files
535 - prepare_packed_git(): find more garbage
536
563 - Follow-on to dk/gc-idx-wo-pack topic, to clean up stale
564 - .bitmap and .keep files.
537 + Follow-on to dk/gc-idx-wo-pack topic, to clean up stale
538 + .bitmap and .keep files.
539 +
540 + Has been waiting for a reroll for too long.
541 + cf. <xmqq60ypbeng.fsf@gitster.mtv.corp.google.com>
542 +
543 + Will discard.
544 +
545 +
546 +* jc/diff-b-m (2015-02-23) 5 commits
547 + . WIPWIP
548 + . WIP: diff-b-m
549 + - diffcore-rename: allow easier debugging
550 + - diffcore-rename.c: add locate_rename_src()
551 + - diffcore-break: allow debugging
552 +
553 + "git diff -B -M" produced incorrect patch when the postimage of a
554 + completely rewritten file is similar to the preimage of a removed
555 + file; such a resulting file must not be expressed as a rename from
556 + other place.
557 +
558 + The fix in this patch is broken, unfortunately.
559 +
560 + Will discard.
561 +
562 +--------------------------------------------------
563 +[Cooking]
564 +
565 +* et/add-chmod-x (2016-09-12) 1 commit
566 + (merged to 'next' on 2016-09-15 at c81abae)
567 + + add: document the chmod option
568 + (this branch is used by tg/add-chmod+x-fix.)
569 +
570 + "git add --chmod=+x" added recently lacked documentation, which has
571 + been corrected.
572 +
573 + Will merge to 'master'.
574 +
575 +
576 +* js/libify-require-clean-work-tree (2016-09-12) 5 commits
577 + - wt-status: teach has_{unstaged,uncommitted}_changes() about submodules
578 + - Export also the has_un{staged,committed}_changed() functions
579 + - Make the require_clean_work_tree() function truly reusable
580 + - pull: make code more similar to the shell script again
581 + - pull: drop confusing prefix parameter of die_on_unclean_work_tree()
582 +
583 + The require_clean_work_tree() helper was recreated in C when "git
584 + pull" was rewritten from shell; the helper is now made available to
585 + other callers in preparation for upcoming "rebase -i" work.
586 +
587 + Waiting for comments.
588 + Modulo a few minor nits, this looked almost ready.
589 + cf. <xmqqtwdl2bhm.fsf@gitster.mtv.corp.google.com>
590 + cf. <xmqqpoo92bdr.fsf@gitster.mtv.corp.google.com>
591 +
592 +
593 +* ks/perf-build-with-autoconf (2016-09-15) 1 commit
594 + (merged to 'next' on 2016-09-15 at 261878d)
595 + + t/perf/run: copy config.mak.autogen & friends to build area
596 +
597 + Performance tests done via "t/perf" did not use the same set of
598 + build configuration if the user relied on autoconf generated
599 + configuration.
600 +
601 + Will merge to 'master'.
602 +
603 +
604 +* tg/add-chmod+x-fix (2016-09-15) 4 commits
605 + (merged to 'next' on 2016-09-15 at a97bdfd)
606 + + add: modify already added files when --chmod is given
607 + + read-cache: introduce chmod_index_entry
608 + + update-index: add test for chmod flags
609 + + Merge branch 'ib/t3700-add-chmod-x-updates' into tg/add-chmod+x-fix
610 + (this branch uses et/add-chmod-x.)
611 +
612 + "git add --chmod=+x <pathspec>" added recently only toggled the
613 + executable bit for paths that are either new or modified. This has
614 + been corrected to flip the executable bit for all paths that match
615 + the given pathspec.
616 +
617 + Will merge to 'master'.
618 +
619 +
620 +* bw/ls-files-recurse-submodules (2016-09-13) 3 commits
621 + - SQUASH??? Undecided
622 + - SQUASH???
623 + - ls-files: adding support for submodules
624 +
625 + "git ls-files" learned "--recurse-submodules" option that can be
626 + used to get a listing of tracked files across submodules (i.e. this
627 + only works with "--cached" option, not for listing untracked or
628 + ignored files). This would be a useful tool to sit on the upstream
629 + side of a pipe that is read with xargs to work on all working tree
630 + files from the top-level superproject.
631 +
632 + Waiting for the discussion to conclude.
633 +
634 +
635 +* bw/pathspec-remove-unused-extern-decl (2016-09-13) 1 commit
636 + (merged to 'next' on 2016-09-15 at c5b281b)
637 + + pathspec: remove unnecessary function prototypes
638 +
639 + Code cleanup.
640 +
641 + Will merge to 'master'.
642 +
643 +
644 +* ew/http-do-not-forget-to-call-curl-multi-remove-handle (2016-09-13) 3 commits
645 + (merged to 'next' on 2016-09-15 at 696acb7)
646 + + http: always remove curl easy from curlm session on release
647 + + http: consolidate #ifdefs for curl_multi_remove_handle
648 + + http: warn on curl_multi_add_handle failures
649 +
650 + The http transport (with curl-multi option, which is the default
651 + these days) failed to remove curl-easy handle from a curlm session,
652 + which led to unnecessary API failures.
653 +
654 + Will merge to 'master'.
655 +
656 +
657 +* jk/delta-base-cache (2016-09-12) 1 commit
658 + (merged to 'next' on 2016-09-15 at 1e35f8d)
659 + + add_delta_base_cache: use list_for_each_safe
660 +
661 + Recently we updated the code to manage the in-core cache that holds
662 + objects that have recently been used to reconstitute other objects
663 + that are stored as deltas against them, but the update used an
664 + incorrect API function to manage the list of these objects. This
665 + has been fixed.
666 +
667 + Will merge to 'master'.
668 + This is a last-minute fix to a topic that graduated to 'master'
669 + post 2.10 release.
670 +
671 +
672 +* jk/setup-sequence-update (2016-09-13) 16 commits
673 + (merged to 'next' on 2016-09-15 at 4df8399)
674 + + t1007: factor out repeated setup
675 + + init: reset cached config when entering new repo
676 + + init: expand comments explaining config trickery
677 + + config: only read .git/config from configured repos
678 + + test-config: setup git directory
679 + + t1302: use "git -C"
680 + + pager: handle early config
681 + + pager: use callbacks instead of configset
682 + + pager: make pager_program a file-local static
683 + + pager: stop loading git_default_config()
684 + + pager: remove obsolete comment
685 + + diff: always try to set up the repository
686 + + diff: handle --no-index prefixes consistently
687 + + diff: skip implicit no-index check when given --no-index
688 + + patch-id: use RUN_SETUP_GENTLY
689 + + hash-object: always try to set up the git repository
690 +
691 + There were numerous corner cases in which the configuration files
692 + are read and used or not read at all depending on the directory a
693 + Git command was run, leading to inconsistent behaviour. The code
694 + to set-up repository access at the beginning of a Git process has
695 + been updated to fix them.
696 +
697 + Will merge to 'master'.
698 +
699 +
700 +* ls/filter-process (2016-09-13) 10 commits
701 + - convert: add filter.<driver>.process option
702 + - convert: make apply_filter() adhere to standard Git error handling
703 + - convert: modernize tests
704 + - convert: quote filter names in error messages
705 + - pkt-line: add functions to read/write flush terminated packet streams
706 + - pkt-line: add packet_write_gently()
707 + - pkt-line: add packet_flush_gently()
708 + - pkt-line: add packet_write_fmt_gently()
709 + - pkt-line: extract set_packet_header()
710 + - pkt-line: rename packet_write() to packet_write_fmt()
711 +
712 + The smudge/clean filter API expect an external process is spawned
713 + to filter the contents for each path that has a filter defined. A
714 + new type of "process" filter API has been added to allow the first
715 + request to run the filter for a path to spawn a single process, and
716 + all filtering need is served by this single process for multiple
717 + paths, reducing the process creation overhead.
718 +
719 + Waiting for the discussion to conclude.
720 + cf. <20160910062919.GB11001@tb-raspi> etc.
721 +
722 +
723 +* rs/checkout-some-states-are-const (2016-09-13) 1 commit
724 + (merged to 'next' on 2016-09-15 at 19f219b)
725 + + checkout: constify parameters of checkout_stage() and checkout_merged()
726 +
727 + Code cleanup.
728 +
729 + Will merge to 'master'.
730 +
731
566 - Has been waiting for a reroll for too long.
567 - cf. <xmqq60ypbeng.fsf@gitster.mtv.corp.google.com>
732 +* rs/pack-sort-with-llist-mergesort (2016-09-13) 1 commit
733 + (merged to 'next' on 2016-09-15 at 45159f5)
734 + + sha1_file: use llist_mergesort() for sorting packs
735
569 - Will discard.
736 + Code cleanup.
737
738 + Will merge to 'master'.
739
572 -* jc/diff-b-m (2015-02-23) 5 commits
573 - . WIPWIP
574 - . WIP: diff-b-m
575 - - diffcore-rename: allow easier debugging
576 - - diffcore-rename.c: add locate_rename_src()
577 - - diffcore-break: allow debugging
740
579 - "git diff -B -M" produced incorrect patch when the postimage of a
580 - completely rewritten file is similar to the preimage of a removed
581 - file; such a resulting file must not be expressed as a rename from
582 - other place.
741 +* rs/strbuf-remove-fix (2016-09-13) 1 commit
742 + (merged to 'next' on 2016-09-15 at 5f64556)
743 + + strbuf: use valid pointer in strbuf_remove()
744
584 - The fix in this patch is broken, unfortunately.
745 + Code cleanup.
746
586 - Will discard.
747 + Will merge to 'master'.
748
588 ---------------------------------------------------
589 -[Cooking]
749
591 -* jk/patch-ids-no-merges (2016-09-12) 2 commits
592 - - patch-ids: refuse to compute patch-id for merge commit
593 - - patch-ids: turn off rename detection
750 +* rs/unpack-trees-reduce-file-scope-global (2016-09-13) 1 commit
751 + (merged to 'next' on 2016-09-15 at cd16435)
752 + + unpack-trees: pass checkout state explicitly to check_updates()
753
595 - "git log --cherry-pick" used to include merge commits as candidates
596 - to be matched up with other commits, resulting a lot of wasted time.
597 - The patch-id generation logic has been updated to ignore merges to
598 - avoid the wastage.
754 + Code cleanup.
755
600 - Will merge to 'next'.
756 + Will merge to 'master'.
757
758
603 -* js/git-gui-commit-gpgsign (2016-09-11) 2 commits
604 - (merged to 'next' on 2016-09-12 at 05350ab)
605 - + Merge branch 'js/commit-gpgsign' of ../git-gui into js/git-gui-commit-gpgsign
606 - + git-gui: respect commit.gpgsign again
759 +* mr/vcs-svn-printf-ulong (2016-09-14) 1 commit
760 + (merged to 'next' on 2016-09-15 at cc8ef53)
761 + + vcs-svn/fast_export: fix timestamp fmt specifiers
762
608 - "git commit-tree" stopped reading commit.gpgsign configuration
609 - variable that was meant for Porcelain "git commit" in Git 2.9; we
610 - forgot to update "git gui" to look at the configuration to match
611 - this change.
763 + Code cleanup.
764
765 Will merge to 'master'.
766
767
616 -* bc/object-id (2016-09-07) 20 commits
617 - - builtin/reset: convert to use struct object_id
618 - - builtin/commit-tree: convert to struct object_id
619 - - builtin/am: convert to struct object_id
620 - - refs: add an update_ref_oid function.
621 - - sha1_name: convert get_sha1_mb to struct object_id
622 - - builtin/update-index: convert file to struct object_id
623 - - notes: convert init_notes to use struct object_id
624 - - builtin/rm: convert to use struct object_id
625 - - builtin/blame: convert file to use struct object_id
626 - - Convert read_mmblob to take struct object_id.
627 - - notes-merge: convert struct notes_merge_pair to struct object_id
628 - - builtin/checkout: convert some static functions to struct object_id
629 - - streaming: make stream_blob_to_fd take struct object_id
630 - - builtin: convert textconv_object to use struct object_id
631 - - builtin/cat-file: convert some static functions to struct object_id
632 - - builtin/cat-file: convert struct expand_data to use struct object_id
633 - - builtin/log: convert some static functions to use struct object_id
634 - - builtin/blame: convert struct origin to use struct object_id
635 - - builtin/apply: convert static functions to struct object_id
636 - - cache: convert struct cache_entry to use struct object_id
637 -
638 - The "unsigned char sha1[20]" to "struct object_id" conversion
639 - continues. Notable changes in this round includes that ce->sha1,
640 - i.e. the object name recorded in the cache_entry, turns into an
641 - object_id.
768 +* hv/submodule-not-yet-pushed-fix (2016-09-15) 5 commits
769 + . SQUASH??? -Wdecl-after-stmt
770 + . use actual start hashes for submodule push check instead of local refs
771 + . batch check whether submodule needs pushing into one call
772 + - serialize collection of refs that contain submodule changes
773 + - serialize collection of changed submodules
774
643 - It had merge conflicts with a few topics in flight (Christian's
644 - "apply.c split", Dscho's "cat-file --filters" and Jeff Hostetler's
645 - "status --porcelain-v2"). Extra sets of eyes double-checking for
646 - mismerges are highly appreciated.
775 + The code in "git push" to compute if any commit being pushed in the
776 + superproject binds a commit in a submodule that hasn't been pushed
777 + out was overly inefficient, making it unusable even for a small
778 + project that does not have any submodule but have a reasonable
779 + number of refs. This has been optimized.
780
648 - Will merge to 'next'.
781 + The last two in the original series seem to break a few tests when
782 + queued to 'pu'.
783
784
651 -* jk/pack-tag-of-tag (2016-09-07) 5 commits
652 - (merged to 'next' on 2016-09-12 at 62c62c0)
653 - + pack-objects: walk tag chains for --include-tag
654 - + t5305: simplify packname handling
655 - + t5305: use "git -C"
656 - + t5305: drop "dry-run" of unpack-objects
657 - + t5305: move cleanup into test block
785 +* jk/patch-ids-no-merges (2016-09-12) 2 commits
786 + (merged to 'next' on 2016-09-15 at 14bb3a0)
787 + + patch-ids: refuse to compute patch-id for merge commit
788 + + patch-ids: turn off rename detection
789
659 - "git pack-objects --include-tag" was taught that when we know that
660 - we are sending an object C, we want a tag B that directly points at
661 - C but also a tag A that points at the tag B. We used to miss the
662 - intermediate tag B in some cases.
790 + "git log --cherry-pick" used to include merge commits as candidates
791 + to be matched up with other commits, resulting a lot of wasted time.
792 + The patch-id generation logic has been updated to ignore merges to
793 + avoid the wastage.
794
795 Will merge to 'master'.
796
797
798 * jt/accept-capability-advertisement-when-fetching-from-void (2016-09-09) 3 commits
668 - - connect: advertized capability is not a ref
669 - - connect: tighten check for unexpected early hang up
670 - - tests: move test_lazy_prereq JGIT to test-lib.sh
799 + (merged to 'next' on 2016-09-15 at 1cd9f9a)
800 + + connect: advertized capability is not a ref
801 + + connect: tighten check for unexpected early hang up
802 + + tests: move test_lazy_prereq JGIT to test-lib.sh
803
804 JGit can show a fake ref "capabilities^{}" to "git fetch" when it
805 does not advertise any refs, but "git fetch" was not prepared to
@@ -678,7 +810,7 @@ of the repositories listed at
810 repository is there. The code to detect this case has also been
811 updated.
812
681 - Will merge to 'next'.
813 + Will merge to 'master'.
814
815
816 * rt/rebase-i-broken-insn-advise (2016-09-07) 1 commit
@@ -694,54 +826,16 @@ of the repositories listed at
826 queued merely as a reminder.
827
828
697 -* sy/git-gui-i18n-ja (2016-09-07) 7 commits
698 - (merged to 'next' on 2016-09-12 at 4a701c2)
699 - + Merge branch 'sy/i18n' of git-gui
700 - + git-gui: update Japanese information
701 - + git-gui: update Japanese translation
702 - + git-gui: add Japanese language code
703 - + git-gui: apply po template to Japanese translation
704 - + git-gui: consistently use the same word for "blame" in Japanese
705 - + git-gui: consistently use the same word for "remote" in Japanese
706 -
707 - Update Japanese translation for "git-gui".
708 -
709 - Will merge to 'master'.
710 -
711 -
712 -* ah/misc-message-fixes (2016-09-08) 5 commits
713 - (merged to 'next' on 2016-09-12 at a113aea)
714 - + unpack-trees: do not capitalize "working"
715 - + git-merge-octopus: do not capitalize "octopus"
716 - + git-rebase--interactive: fix English grammar
717 - + cat-file: put spaces around pipes in usage string
718 - + am: put spaces around pipe in usage string
719 -
720 - Message cleanup.
721 -
722 - Will merge to 'master'.
723 -
724 -
725 -* jk/fix-remote-curl-url-wo-proto (2016-09-08) 1 commit
726 - (merged to 'next' on 2016-09-12 at 7845867)
727 - + remote-curl: handle URLs without protocol
728 -
729 - "git fetch http::/site/path" did not die correctly and segfaulted
730 - instead.
731 -
732 - Will merge to 'master'.
733 -
734 -
735 -* jt/format-patch-base-info-above-sig (2016-09-14) 2 commits
736 - - SQUASH???
737 - - format-patch: show base info before email signature
829 +* jt/format-patch-base-info-above-sig (2016-09-15) 1 commit
830 + (merged to 'next' on 2016-09-15 at 3da5c68)
831 + + format-patch: show base info before email signature
832
833 "git format-patch --base=..." feature that was recently added
834 showed the base commit information after "-- " e-mail signature
835 line, which turned out to be inconvenient. The base information
836 has been moved above the signature line.
837
744 - Waiting for an ack for SQUASH???
838 + Will merge to 'master'.
839
840
841 * nd/checkout-disambiguation (2016-09-09) 4 commits
@@ -760,17 +854,6 @@ of the repositories listed at
854 Waiting for an Ack for fixup!
855
856
763 -* sb/diff-cleanup (2016-09-08) 3 commits
764 - (merged to 'next' on 2016-09-12 at 5d16b28)
765 - + diff: remove dead code
766 - + diff: omit found pointer from emit_callback
767 - + diff.c: use diff_options directly
768 -
769 - Code cleanup.
770 -
771 - Will merge to 'master'.
772 -
773 -
857 * sg/fix-versioncmp-with-common-suffix (2016-09-08) 5 commits
858 - versioncmp: cope with common leading parts in versionsort.prereleaseSuffix
859 - versioncmp: pass full tagnames to swap_prereleases()
@@ -787,51 +870,23 @@ of the repositories listed at
870 cf. <20160908223727.Horde.jVOOJ278ssZ3qkyjkmyqZD-@webmail.informatik.kit.edu>
871
872
790 -* va/i18n (2016-09-11) 11 commits
791 - - i18n: update-index: mark warning for translation
792 - - i18n: show-branch: mark error messages for translation
793 - - i18n: receive-pack: mark messages for translation
794 - - notes: downcase the first word of error messages
795 - - i18n: notes: mark error messages for translation
796 - - i18n: merge-recursive: mark verbose message for translation
797 - - i18n: merge-recursive: mark error messages for translation
798 - - i18n: config: mark error message for translation
799 - - i18n: branch: mark option description for translation
800 - - SQUASH???
801 - - i18n: blame: mark error messages for translation
873 +* va/i18n (2016-09-15) 11 commits
874 + (merged to 'next' on 2016-09-15 at 2b3d368)
875 + + i18n: update-index: mark warnings for translation
876 + + i18n: show-branch: mark plural strings for translation
877 + + i18n: show-branch: mark error messages for translation
878 + + i18n: receive-pack: mark messages for translation
879 + + notes: spell first word of error messages in lowercase
880 + + i18n: notes: mark error messages for translation
881 + + i18n: merge-recursive: mark verbose message for translation
882 + + i18n: merge-recursive: mark error messages for translation
883 + + i18n: config: mark error message for translation
884 + + i18n: branch: mark option description for translation
885 + + i18n: blame: mark error messages for translation
886 + (this branch is used by va/i18n-more.)
887
888 More i18n.
889
805 - Waiting for a reroll.
806 - Some of them need to use Q_(); even when they always show numbers
807 - that are greater than 1, some languages have different plural forms.
808 - cf. <17140652.xHVhzLXte8@cayenne> etc.
809 -
810 -
811 -* js/sequencer-wo-die (2016-09-09) 17 commits
812 - (merged to 'next' on 2016-09-12 at d2154ea)
813 - + sequencer: ensure to release the lock when we could not read the index
814 - + sequencer: lib'ify checkout_fast_forward()
815 - + sequencer: lib'ify fast_forward_to()
816 - + sequencer: lib'ify save_opts()
817 - + sequencer: lib'ify save_todo()
818 - + sequencer: lib'ify save_head()
819 - + sequencer: lib'ify create_seq_dir()
820 - + sequencer: lib'ify read_populate_opts()
821 - + sequencer: lib'ify read_populate_todo()
822 - + sequencer: lib'ify read_and_refresh_cache()
823 - + sequencer: lib'ify prepare_revs()
824 - + sequencer: lib'ify walk_revs_populate_todo()
825 - + sequencer: lib'ify do_pick_commit()
826 - + sequencer: lib'ify do_recursive_merge()
827 - + sequencer: lib'ify write_message()
828 - + sequencer: do not die() in do_pick_commit()
829 - + sequencer: lib'ify sequencer_pick_revisions()
830 -
831 - Lifts calls to exit(2) and die() higher in the callchain in
832 - sequencer.c files so that more helper functions in it can be used
833 - by callers that want to handle error conditions themselves.
834 -
890 Will merge to 'master'.
891
892
@@ -846,10 +901,11 @@ of the repositories listed at
901
902
903 * js/cat-file-filters (2016-09-11) 4 commits
849 - - cat-file: support --textconv/--filters in batch mode
850 - - cat-file --textconv/--filters: allow specifying the path separately
851 - - cat-file: introduce the --filters option
852 - - cat-file: fix a grammo in the man page
904 + (merged to 'next' on 2016-09-15 at a231380)
905 + + cat-file: support --textconv/--filters in batch mode
906 + + cat-file --textconv/--filters: allow specifying the path separately
907 + + cat-file: introduce the --filters option
908 + + cat-file: fix a grammo in the man page
909
910 Even though "git hash-objects", which is a tool to take an
911 on-filesystem data stream and put it into the Git object store,
@@ -861,7 +917,7 @@ of the repositories listed at
917 lacked an equivalent mechanism to run the "Git-to-outside-world"
918 conversion. The command learned the "--filters" option to do so.
919
864 - Will merge to 'next'.
920 + Will merge to 'master'.
921
922
923 * sb/push-make-submodule-check-the-default (2016-08-24) 1 commit
@@ -898,18 +954,18 @@ of the repositories listed at
954
955
956 * ks/pack-objects-bitmap (2016-09-12) 2 commits
901 - - pack-objects: use reachability bitmap index when generating non-stdout pack
902 - - pack-objects: respect --local/--honor-pack-keep/--incremental when bitmap is in use
957 + (merged to 'next' on 2016-09-15 at e0600bd)
958 + + pack-objects: use reachability bitmap index when generating non-stdout pack
959 + + pack-objects: respect --local/--honor-pack-keep/--incremental when bitmap is in use
960
961 Some codepaths in "git pack-objects" were not ready to use an
962 existing pack bitmap; now they are and as the result they have
963 become faster.
964
908 - Will merge to 'next'.
965 + Will merge to 'master'.
966
967
911 -* mh/diff-indent-heuristic (2016-09-07) 9 commits
912 - - SQAUSH???
968 +* mh/diff-indent-heuristic (2016-09-19) 8 commits
969 - blame: honor the diff heuristic options and config
970 - parse-options: add parse_opt_unknown_cb()
971 - diff: improve positioning of add/delete blocks in diffs
@@ -925,57 +981,7 @@ of the repositories listed at
981 are the same. A command line option is added to help with the
982 experiment to find a good heuristics.
983
928 - Waiting for an ack to SQUASH??? Otherwise looked OK.
929 -
930 -
931 -* cc/apply-am (2016-09-07) 41 commits
932 - (merged to 'next' on 2016-09-12 at 854edde)
933 - + builtin/am: use apply API in run_apply()
934 - + apply: learn to use a different index file
935 - + apply: pass apply state to build_fake_ancestor()
936 - + apply: refactor `git apply` option parsing
937 - + apply: change error_routine when silent
938 - + usage: add get_error_routine() and get_warn_routine()
939 - + usage: add set_warn_routine()
940 - + apply: don't print on stdout in verbosity_silent mode
941 - + apply: make it possible to silently apply
942 - + apply: use error_errno() where possible
943 - + apply: make some parsing functions static again
944 - + apply: move libified code from builtin/apply.c to apply.{c,h}
945 - + apply: rename and move opt constants to apply.h
946 - + builtin/apply: rename option parsing functions
947 - + builtin/apply: make create_one_file() return -1 on error
948 - + builtin/apply: make try_create_file() return -1 on error
949 - + builtin/apply: make write_out_results() return -1 on error
950 - + builtin/apply: make write_out_one_result() return -1 on error
951 - + builtin/apply: make create_file() return -1 on error
952 - + builtin/apply: make add_index_file() return -1 on error
953 - + builtin/apply: make add_conflicted_stages_file() return -1 on error
954 - + builtin/apply: make remove_file() return -1 on error
955 - + builtin/apply: make build_fake_ancestor() return -1 on error
956 - + builtin/apply: change die_on_unsafe_path() to check_unsafe_path()
957 - + builtin/apply: make gitdiff_*() return -1 on error
958 - + builtin/apply: make gitdiff_*() return 1 at end of header
959 - + builtin/apply: make parse_traditional_patch() return -1 on error
960 - + builtin/apply: make apply_all_patches() return 128 or 1 on error
961 - + builtin/apply: move check_apply_state() to apply.c
962 - + builtin/apply: make check_apply_state() return -1 instead of die()ing
963 - + apply: make init_apply_state() return -1 instead of exit()ing
964 - + builtin/apply: move init_apply_state() to apply.c
965 - + builtin/apply: make parse_ignorewhitespace_option() return -1 instead of die()ing
966 - + builtin/apply: make parse_whitespace_option() return -1 instead of die()ing
967 - + builtin/apply: make parse_single_patch() return -1 on error
968 - + builtin/apply: make parse_chunk() return a negative integer on error
969 - + builtin/apply: make find_header() return -128 instead of die()ing
970 - + builtin/apply: read_patch_file() return -1 instead of die()ing
971 - + builtin/apply: make apply_patch() return -1 or -128 instead of die()ing
972 - + apply: move 'struct apply_state' to apply.h
973 - + apply: make some names more specific
974 -
975 - "git am" has been taught to make an internal call to "git apply"'s
976 - innards without spawning the latter as a separate process.
977 -
978 - Will merge to 'master'.
984 + Will merge to 'next'.
985
986
987 * jk/pack-objects-optim-mru (2016-08-11) 4 commits
@@ -1046,53 +1052,6 @@ of the repositories listed at
1052 Will hold to see if people scream.
1053
1054
1049 -* mh/ref-store (2016-09-09) 38 commits
1050 - (merged to 'next' on 2016-09-12 at 1b0bd3c)
1051 - + refs: implement iteration over only per-worktree refs
1052 - + refs: make lock generic
1053 - + refs: add method to rename refs
1054 - + refs: add methods to init refs db
1055 - + refs: make delete_refs() virtual
1056 - + refs: add method for initial ref transaction commit
1057 - + refs: add methods for reflog
1058 - + refs: add method iterator_begin
1059 - + files_ref_iterator_begin(): take a ref_store argument
1060 - + split_symref_update(): add a files_ref_store argument
1061 - + lock_ref_sha1_basic(): add a files_ref_store argument
1062 - + lock_ref_for_update(): add a files_ref_store argument
1063 - + commit_ref_update(): add a files_ref_store argument
1064 - + lock_raw_ref(): add a files_ref_store argument
1065 - + repack_without_refs(): add a files_ref_store argument
1066 - + refs: make peel_ref() virtual
1067 - + refs: make create_symref() virtual
1068 - + refs: make pack_refs() virtual
1069 - + refs: make verify_refname_available() virtual
1070 - + refs: make read_raw_ref() virtual
1071 - + resolve_gitlink_ref(): rename path parameter to submodule
1072 - + resolve_gitlink_ref(): avoid memory allocation in many cases
1073 - + resolve_gitlink_ref(): implement using resolve_ref_recursively()
1074 - + resolve_ref_recursively(): new function
1075 - + read_raw_ref(): take a (struct ref_store *) argument
1076 - + resolve_gitlink_packed_ref(): remove function
1077 - + resolve_packed_ref(): rename function from resolve_missing_loose_ref()
1078 - + refs: reorder definitions
1079 - + refs: add a transaction_commit() method
1080 - + {lock,commit,rollback}_packed_refs(): add files_ref_store arguments
1081 - + resolve_missing_loose_ref(): add a files_ref_store argument
1082 - + get_packed_ref(): add a files_ref_store argument
1083 - + add_packed_ref(): add a files_ref_store argument
1084 - + refs: create a base class "ref_store" for files_ref_store
1085 - + refs: add a backend method structure
1086 - + refs: rename struct ref_cache to files_ref_store
1087 - + rename_ref_available(): add docstring
1088 - + resolve_gitlink_ref(): eliminate temporary variable
1089 -
1090 - The ref-store abstraction was introduced to the refs API so that we
1091 - can plug in different backends to store references.
1092 -
1093 - Will merge to 'master'.
1094 -
1095 -
1055 * nd/shallow-deepen (2016-06-13) 27 commits
1056 - fetch, upload-pack: --deepen=N extends shallow boundary by N commits
1057 - upload-pack: add get_reachable_list()