What's cooking (2018/11 #02)

Junio C Hamano committed Nov 2, 2018 at 14:05 UTC 7b5de5a2914b548c63246b85b5dd9ea22d62a1f8
1 file changed +172 -484
whats-cooking.txt
+172 -484
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Nov 2018, #01; Thu, 1)
4 -X-master-at: 4ede3d42dfb57f9a41ac96a1f216c62eb7566cc2
5 -X-next-at: 0c4a18a71f0e8e4f10970951c5f8875f429eaef7
3 +Subject: What's cooking in git.git (Nov 2018, #02; Fri, 2)
4 +X-master-at: d582ea202b626dcc6c3b01e1e11a296d9badd730
5 +X-next-at: 96ac06677ac950c97d331f0ef4892125027eff39
6
7 -What's cooking in git.git (Nov 2018, #01; Thu, 1)
7 +What's cooking in git.git (Nov 2018, #02; Fri, 2)
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 -Two groups of "rewrite rebase/rebase-i in C" topics, together with a
16 -handful of associated fix-up topics to them, will all be merged to
17 -'master' tomorrow. Some of them haven't spent as much time as usual
18 -in 'next', so there still may be rough edges, but let's make sure we
19 -find them and smooth them out before the release.
20 -
15 You can find the changes described here in the integration branches
16 of the repositories listed at
17
@@ -26,310 +20,221 @@ of the repositories listed at
20 --------------------------------------------------
21 [Graduated to "master"]
22
29 -* ah/doc-updates (2018-10-23) 6 commits
30 - (merged to 'next' on 2018-10-26 at b0bb46a602)
31 - + doc: fix formatting in git-update-ref
32 - + doc: fix indentation of listing blocks in gitweb.conf.txt
33 - + doc: fix descripion for 'git tag --format'
34 - + doc: fix inappropriate monospace formatting
35 - + doc: fix ASCII art tab spacing
36 - + doc: clarify boundaries of 'git worktree list --porcelain'
37 -
38 - Doc updates.
39 -
40 -
41 -* bc/hash-transition-part-15 (2018-10-15) 15 commits
42 - (merged to 'next' on 2018-10-26 at 4ff8111b4b)
43 - + rerere: convert to use the_hash_algo
44 - + submodule: make zero-oid comparison hash function agnostic
45 - + apply: rename new_sha1_prefix and old_sha1_prefix
46 - + apply: replace hard-coded constants
47 - + tag: express constant in terms of the_hash_algo
48 - + transport: use parse_oid_hex instead of a constant
49 - + upload-pack: express constants in terms of the_hash_algo
50 - + refs/packed-backend: express constants using the_hash_algo
51 - + packfile: express constants in terms of the_hash_algo
52 - + pack-revindex: express constants in terms of the_hash_algo
53 - + builtin/fetch-pack: remove constants with parse_oid_hex
54 - + builtin/mktree: remove hard-coded constant
55 - + builtin/repack: replace hard-coded constants
56 - + pack-bitmap-write: use GIT_MAX_RAWSZ for allocation
57 - + object_id.cocci: match only expressions of type 'struct object_id'
58 -
59 - More codepaths are moving away from hardcoded hash sizes.
60 -
61 -
62 -* cb/compat-mmap-is-private-read-only (2018-10-25) 1 commit
63 - (merged to 'next' on 2018-10-26 at d3bfab3034)
64 - + compat: make sure git_mmap is not expected to write
65 -
66 - Code tightening.
67 -
68 -
69 -* cb/khash-maybe-unused-function (2018-10-24) 2 commits
70 - (merged to 'next' on 2018-10-26 at 17fc4e55a0)
71 - + khash: silence -Wunused-function for delta-islands
72 - + commit-slabs: move MAYBE_UNUSED out
73 -
74 - Build fix.
75 -
76 -
77 -* cb/remove-dead-init (2018-10-19) 2 commits
78 - (merged to 'next' on 2018-10-26 at ba725a64ad)
79 - + multi-pack-index: avoid dead store for struct progress
80 - + unpack-trees: avoid dead store for struct progress
81 -
82 - Code clean-up.
83 -
84 -
85 -* ch/subtree-build (2018-10-18) 3 commits
86 - (merged to 'next' on 2018-10-18 at f89fd5e6aa)
87 - + Revert "subtree: make install targets depend on build targets"
88 - (merged to 'next' on 2018-10-16 at 919599cc37)
89 - + subtree: make install targets depend on build targets
90 - (merged to 'next' on 2018-10-12 at 4ed9ff6300)
91 - + subtree: add build targets 'man' and 'html'
92 -
93 - Build update for "git subtree" (in contrib/) documentation pages.
94 -
95 -
96 -* dl/mergetool-gui-option (2018-10-25) 3 commits
97 - (merged to 'next' on 2018-10-26 at 2c46355e81)
98 - + doc: document diff/merge.guitool config keys
99 - + completion: support `git mergetool --[no-]gui`
100 - + mergetool: accept -g/--[no-]gui as arguments
101 -
102 - "git mergetool" learned to take the "--[no-]gui" option, just like
103 - "git difftool" does.
104 -
105 -
106 -* ds/ci-commit-graph-and-midx (2018-10-19) 1 commit
107 - (merged to 'next' on 2018-10-26 at a13664e49a)
108 - + ci: add optional test variables
109 -
110 - One of our CI tests to run with "unusual/experimental/random"
111 - settings now also uses commit-graph and midx.
112 -
113 -
114 -* ds/reachable (2018-10-23) 1 commit
115 - (merged to 'next' on 2018-10-26 at 76b5fc9a46)
116 - + commit-reach: fix cast in compare_commits_by_gen()
117 -
118 - Trivial bugfix.
119 -
120 -
121 -* ds/reachable-first-parent-fix (2018-10-19) 1 commit
122 - (merged to 'next' on 2018-10-26 at 076442d512)
123 - + commit-reach: fix first-parent heuristic
124 -
125 - Correct performance regression in commit ancestry computation when
126 - generation numbers are involved.
127 -
128 -
129 -* jc/cocci-preincr (2018-10-24) 2 commits
130 - (merged to 'next' on 2018-10-26 at cbd98b44e2)
131 - + fsck: s/++i > 1/i++/
132 - + cocci: simplify "if (++u > 1)" to "if (u++)"
133 -
134 - Code cleanup.
135 -
136 -
137 -* jc/receive-deny-current-branch-fix (2018-10-19) 1 commit
138 - (merged to 'next' on 2018-10-26 at 2975c42215)
139 - + receive: denyCurrentBranch=updateinstead should not blindly update
140 -
141 - The receive.denyCurrentBranch=updateInstead codepath kicked in even
142 - when the push should have been rejected due to other reasons, such
143 - as it does not fast-forward or the update-hook rejects it, which
144 - has been corrected.
145 -
146 -
147 -* jk/run-command-notdot (2018-10-25) 2 commits
148 - (merged to 'next' on 2018-10-26 at 9d9335b23f)
149 - + t0061: adjust to test-tool transition
150 - + run-command: mark path lookup errors with ENOENT
151 -
152 - The implementation of run_command() API on the UNIX platforms had a
153 - bug that caused a command not on $PATH to be found in the current
154 - directory.
155 -
156 -
157 -* jk/test-tool-help (2018-10-18) 1 commit
158 - (merged to 'next' on 2018-10-26 at ed32bae21b)
159 - + test-tool: show tool list on error
160 -
161 - Developer support.
162 -
163 -
164 -* jk/unused-function (2018-10-19) 1 commit
165 - (merged to 'next' on 2018-10-26 at c8c3fbb432)
166 - + config.mak.dev: enable -Wunused-function
167 -
168 - Developer support.
169 -
170 -
171 -* jk/uploadpack-packobjectshook-fix (2018-10-26) 1 commit
172 - (merged to 'next' on 2018-10-26 at 95c93b1199)
173 - + upload-pack: fix broken if/else chain in config callback
174 -
175 - Code clean-up that results in a small bugfix.
176 -
177 -
178 -* js/diff-notice-has-drive-prefix (2018-10-22) 1 commit
179 - (merged to 'next' on 2018-10-26 at 6b2d004194)
180 - + diff: don't attempt to strip prefix from absolute Windows paths
23 +* ag/rebase-i-in-c (2018-10-09) 20 commits
24 + (merged to 'next' on 2018-10-19 at 1b24712d46)
25 + + rebase -i: move rebase--helper modes to rebase--interactive
26 + + rebase -i: remove git-rebase--interactive.sh
27 + + rebase--interactive2: rewrite the submodes of interactive rebase in C
28 + + rebase -i: implement the main part of interactive rebase as a builtin
29 + + rebase -i: rewrite init_basic_state() in C
30 + + rebase -i: rewrite write_basic_state() in C
31 + + rebase -i: rewrite the rest of init_revisions_and_shortrevisions() in C
32 + + rebase -i: implement the logic to initialize $revisions in C
33 + + rebase -i: remove unused modes and functions
34 + + rebase -i: rewrite complete_action() in C
35 + + t3404: todo list with commented-out commands only aborts
36 + + sequencer: change the way skip_unnecessary_picks() returns its result
37 + + sequencer: refactor append_todo_help() to write its message to a buffer
38 + + rebase -i: rewrite checkout_onto() in C
39 + + rebase -i: rewrite setup_reflog_action() in C
40 + + sequencer: add a new function to silence a command, except if it fails
41 + + rebase -i: rewrite the edit-todo functionality in C
42 + + editor: add a function to launch the sequence editor
43 + + rebase -i: rewrite append_todo_help() in C
44 + + sequencer: make three functions and an enum from sequencer.c public
45 + (this branch is used by ag/sequencer-reduce-rewriting-todo, cb/printf-empty-format, js/rebase-autostash-fix, js/rebase-i-break, js/rebase-i-shortopt, js/rebase-in-c-5.5-work-with-rebase-i-in-c and pk/rebase-in-c-6-final.)
46
182 - Under certain circumstances, "git diff D:/a/b/c D:/a/b/d" on
183 - Windows would strip initial parts from the paths because they
184 - were not recognized as absolute, which has been corrected.
47 + Rewrite of the remaining "rebase -i" machinery in C.
48
49
187 -* js/mingw-getcwd (2018-10-24) 2 commits
188 - (merged to 'next' on 2018-10-26 at f31abc8d8f)
189 - + mingw: fix getcwd when the parent directory cannot be queried
190 - + mingw: ensure `getcwd()` reports the correct case
50 +* cb/printf-empty-format (2018-10-27) 1 commit
51 + (merged to 'next' on 2018-11-01 at 9fcb05f22c)
52 + + sequencer: cleanup for gcc warning in non developer mode
53 + (this branch uses ag/rebase-i-in-c; is tangled with ag/sequencer-reduce-rewriting-todo, js/rebase-autostash-fix, js/rebase-i-break, js/rebase-i-shortopt, js/rebase-in-c-5.5-work-with-rebase-i-in-c and pk/rebase-in-c-6-final.)
54
192 - The way the Windows port figures out the current directory has been
193 - improved.
55 + Build fix for a topic in flight.
56
57
196 -* js/mingw-load-sys-dll (2018-10-24) 1 commit
197 - (merged to 'next' on 2018-10-26 at 1f458a7e04)
198 - + mingw: load system libraries the recommended way
58 +* jc/rebase-in-c-5-test-typofix (2018-10-11) 1 commit
59 + (merged to 'next' on 2018-10-19 at 08c9d86ffd)
60 + + rebase: fix typoes in error messages
61 + (this branch uses pk/rebase-in-c, pk/rebase-in-c-2-basic, pk/rebase-in-c-3-acts, pk/rebase-in-c-4-opts and pk/rebase-in-c-5-test; is tangled with js/rebase-autostash-fix, js/rebase-in-c-5.5-work-with-rebase-i-in-c and pk/rebase-in-c-6-final.)
62
200 - The way DLLs are loaded on the Windows port has been improved.
63 + Typofix.
64
65
203 -* js/pack-objects-mutex-init-fix (2018-10-19) 3 commits
204 - (merged to 'next' on 2018-10-26 at 7516dcc6e4)
205 - + pack-objects (mingw): initialize `packing_data` mutex in the correct spot
206 - + pack-objects (mingw): demonstrate a segmentation fault with large deltas
207 - + pack-objects: fix typo 'detla' -> 'delta'
66 +* js/rebase-autostash-fix (2018-10-24) 5 commits
67 + (merged to 'next' on 2018-10-29 at 680e648001)
68 + + rebase --autostash: fix issue with dirty submodules
69 + + rebase --autostash: demonstrate a problem with dirty submodules
70 + + rebase (autostash): use an explicit OID to apply the stash
71 + + rebase (autostash): store the full OID in <state-dir>/autostash
72 + + rebase (autostash): avoid duplicate call to state_dir_path()
73 + (this branch uses ag/rebase-i-in-c, js/rebase-in-c-5.5-work-with-rebase-i-in-c, pk/rebase-in-c, pk/rebase-in-c-2-basic, pk/rebase-in-c-3-acts, pk/rebase-in-c-4-opts, pk/rebase-in-c-5-test and pk/rebase-in-c-6-final; is tangled with ag/sequencer-reduce-rewriting-todo, cb/printf-empty-format, jc/rebase-in-c-5-test-typofix, js/rebase-i-break and js/rebase-i-shortopt.)
74
209 - A mutex used in "git pack-objects" were not correctly initialized
210 - and this caused "git repack" to dump core on Windows.
75 + "git rebase" that has recently been rewritten in C had a few issues
76 + in its "--autstash" feature, which have been corrected.
77
78
213 -* lm/range-diff-submodule-fix (2018-10-25) 1 commit
214 - (merged to 'next' on 2018-10-25 at af387d8978)
215 - + range-diff: allow to diff files regardless of submodule config
79 +* js/rebase-i-break (2018-10-12) 2 commits
80 + (merged to 'next' on 2018-10-19 at 6db9b14495)
81 + + rebase -i: introduce the 'break' command
82 + + rebase -i: clarify what happens on a failed `exec`
83 + (this branch is used by js/rebase-i-shortopt; uses ag/rebase-i-in-c; is tangled with ag/sequencer-reduce-rewriting-todo, cb/printf-empty-format, js/rebase-autostash-fix, js/rebase-in-c-5.5-work-with-rebase-i-in-c and pk/rebase-in-c-6-final.)
84
217 - "git range-diff" did not work well when the compared ranges had
218 - changes in submodules and the "--submodule=log" was used.
85 + "git rebase -i" learned a new insn, 'break', that the user can
86 + insert in the to-do list. Upon hitting it, the command returns
87 + control back to the user.
88
89
221 -* md/filter-trees (2018-10-18) 10 commits
222 - (merged to 'next' on 2018-10-18 at 55be2fded9)
223 - + list-objects: support for skipping tree traversal
224 - (merged to 'next' on 2018-10-16 at 64d351d342)
225 - + filter-trees: code clean-up of tests
226 - (merged to 'next' on 2018-10-12 at c66e49d4ca)
227 - + list-objects-filter: implement filter tree:0
228 - + list-objects-filter-options: do not over-strbuf_init
229 - + list-objects-filter: use BUG rather than die
230 - + revision: mark non-user-given objects instead
231 - + rev-list: handle missing tree objects properly
232 - + list-objects: always parse trees gently
233 - + list-objects: refactor to process_tree_contents
234 - + list-objects: store common func args in struct
90 +* js/rebase-i-shortopt (2018-10-26) 1 commit
91 + (merged to 'next' on 2018-11-01 at 4e9da19145)
92 + + rebase -i: recognize short commands without arguments
93 + (this branch uses ag/rebase-i-in-c and js/rebase-i-break; is tangled with ag/sequencer-reduce-rewriting-todo, cb/printf-empty-format, js/rebase-autostash-fix, js/rebase-in-c-5.5-work-with-rebase-i-in-c and pk/rebase-in-c-6-final.)
94
236 - The "rev-list --filter" feature learned to exclude all trees via
237 - "tree:0" filter.
95 + "git rebase -i" learned to take 'b' as the short form of 'break'
96 + option in the todo list.
97
98
240 -* ot/ref-filter-plug-leaks (2018-10-19) 3 commits
241 - (merged to 'next' on 2018-10-26 at a475cb6568)
242 - + ref-filter: free item->value and item->value->s
243 - + ls-remote: release memory instead of UNLEAK
244 - + ref-filter: free memory from used_atom
99 +* js/rebase-in-c-5.5-work-with-rebase-i-in-c (2018-10-11) 2 commits
100 + (merged to 'next' on 2018-10-19 at b734d81006)
101 + + builtin rebase: prepare for builtin rebase -i
102 + + Merge branch 'ag/rebase-i-in-c' into js/rebase-in-c-5.5-work-with-rebase-i-in-c
103 + (this branch is used by js/rebase-autostash-fix and pk/rebase-in-c-6-final; uses ag/rebase-i-in-c, pk/rebase-in-c, pk/rebase-in-c-2-basic, pk/rebase-in-c-3-acts, pk/rebase-in-c-4-opts and pk/rebase-in-c-5-test; is tangled with ag/sequencer-reduce-rewriting-todo, cb/printf-empty-format, jc/rebase-in-c-5-test-typofix, js/rebase-i-break and js/rebase-i-shortopt.)
104
246 - Plugging a handful of memory leaks in the ref-filter codepath.
105 + "rebase" that has been rewritten learns the new calling convention
106 + used by "rebase -i" that was rewritten in C, tying the loose end
107 + between two GSoC topics that stomped on each other's toes.
108
109
249 -* rj/header-guards (2018-10-18) 1 commit
250 - (merged to 'next' on 2018-10-26 at c767be34df)
251 - + headers: normalize the spelling of some header guards
110 +* pk/rebase-in-c (2018-08-06) 3 commits
111 + (merged to 'next' on 2018-10-19 at 26c29ace53)
112 + + builtin/rebase: support running "git rebase <upstream>"
113 + + rebase: refactor common shell functions into their own file
114 + + rebase: start implementing it as a builtin
115 + (this branch is used by jc/rebase-in-c-5-test-typofix, js/rebase-autostash-fix, js/rebase-in-c-5.5-work-with-rebase-i-in-c, pk/rebase-in-c-2-basic, pk/rebase-in-c-3-acts, pk/rebase-in-c-4-opts, pk/rebase-in-c-5-test and pk/rebase-in-c-6-final.)
116
253 - Code clean-up.
117 + Rewrite of the "rebase" machinery in C.
118
119
256 -* rv/send-email-cc-misc-by (2018-10-16) 3 commits
257 - (merged to 'next' on 2018-10-19 at 2c1e5f75af)
258 - + send-email: also pick up cc addresses from -by trailers
259 - + send-email: only consider lines containing @ or <> for automatic Cc'ing
260 - + Documentation/git-send-email.txt: style fixes
120 +* pk/rebase-in-c-2-basic (2018-09-06) 11 commits
121 + (merged to 'next' on 2018-10-19 at c2a0046e52)
122 + + builtin rebase: support `git rebase <upstream> <switch-to>`
123 + + builtin rebase: only store fully-qualified refs in `options.head_name`
124 + + builtin rebase: start a new rebase only if none is in progress
125 + + builtin rebase: support --force-rebase
126 + + builtin rebase: try to fast forward when possible
127 + + builtin rebase: require a clean worktree
128 + + builtin rebase: support the `verbose` and `diffstat` options
129 + + builtin rebase: support --quiet
130 + + builtin rebase: handle the pre-rebase hook and --no-verify
131 + + builtin rebase: support `git rebase --onto A...B`
132 + + builtin rebase: support --onto
133 + (this branch is used by jc/rebase-in-c-5-test-typofix, js/rebase-autostash-fix, js/rebase-in-c-5.5-work-with-rebase-i-in-c, pk/rebase-in-c-3-acts, pk/rebase-in-c-4-opts, pk/rebase-in-c-5-test and pk/rebase-in-c-6-final; uses pk/rebase-in-c.)
134
262 - "git send-email" learned to grab address-looking string on any
263 - trailer whose name ends with "-by"; --suppress-cc=misc-by on the
264 - command line, or setting sendemail.suppresscc configuration
265 - variable to "misc-by", can be used to disable this behaviour.
135 + Rewrite "git rebase" in C.
136
137
268 -* sb/strbuf-h-update (2018-09-29) 1 commit
269 - (merged to 'next' on 2018-10-26 at e4ad935cb0)
270 - + strbuf.h: format according to coding guidelines
138 +* pk/rebase-in-c-3-acts (2018-09-06) 7 commits
139 + (merged to 'next' on 2018-10-19 at 9275677430)
140 + + builtin rebase: stop if `git am` is in progress
141 + + builtin rebase: actions require a rebase in progress
142 + + builtin rebase: support --edit-todo and --show-current-patch
143 + + builtin rebase: support --quit
144 + + builtin rebase: support --abort
145 + + builtin rebase: support --skip
146 + + builtin rebase: support --continue
147 + (this branch is used by jc/rebase-in-c-5-test-typofix, js/rebase-autostash-fix, js/rebase-in-c-5.5-work-with-rebase-i-in-c, pk/rebase-in-c-4-opts, pk/rebase-in-c-5-test and pk/rebase-in-c-6-final; uses pk/rebase-in-c and pk/rebase-in-c-2-basic.)
148
272 - Code clean-up to serve as a BCP example.
273 - Further clean-up patches may want to follow soon.
149 + Rewrite "git rebase" in C.
150
151
276 -* sb/submodule-helper-remove-cruft (2018-10-18) 1 commit
277 - (merged to 'next' on 2018-10-26 at 5719bc5d7e)
278 - + builtin/submodule--helper: remove debugging leftover tracing
152 +* pk/rebase-in-c-4-opts (2018-10-11) 18 commits
153 + (merged to 'next' on 2018-10-19 at 2770b2f5d5)
154 + + builtin rebase: support --root
155 + + builtin rebase: add support for custom merge strategies
156 + + builtin rebase: support `fork-point` option
157 + + merge-base --fork-point: extract libified function
158 + + builtin rebase: support --rebase-merges[=[no-]rebase-cousins]
159 + + builtin rebase: support `--allow-empty-message` option
160 + + builtin rebase: support `--exec`
161 + + builtin rebase: support `--autostash` option
162 + + builtin rebase: support `-C` and `--whitespace=<type>`
163 + + builtin rebase: support `--gpg-sign` option
164 + + builtin rebase: support `--autosquash`
165 + + builtin rebase: support `keep-empty` option
166 + + builtin rebase: support `ignore-date` option
167 + + builtin rebase: support `ignore-whitespace` option
168 + + builtin rebase: support --committer-date-is-author-date
169 + + builtin rebase: support --rerere-autoupdate
170 + + builtin rebase: support --signoff
171 + + builtin rebase: allow selecting the rebase "backend"
172 + (this branch is used by jc/rebase-in-c-5-test-typofix, js/rebase-autostash-fix, js/rebase-in-c-5.5-work-with-rebase-i-in-c, pk/rebase-in-c-5-test and pk/rebase-in-c-6-final; uses pk/rebase-in-c, pk/rebase-in-c-2-basic and pk/rebase-in-c-3-acts.)
173
280 - Code clean-up.
174 + Rewrite "git rebase" in C.
175
176
283 -* sg/doc-show-branch-typofix (2018-10-18) 1 commit
284 - (merged to 'next' on 2018-10-26 at 9444be6a99)
285 - + doc: fix small typo in git show-branch
177 +* pk/rebase-in-c-5-test (2018-10-11) 6 commits
178 + (merged to 'next' on 2018-10-19 at 0e48bc8243)
179 + + builtin rebase: error out on incompatible option/mode combinations
180 + + builtin rebase: use no-op editor when interactive is "implied"
181 + + builtin rebase: show progress when connected to a terminal
182 + + builtin rebase: fast-forward to onto if it is a proper descendant
183 + + builtin rebase: optionally pass custom reflogs to reset_head()
184 + + builtin rebase: optionally auto-detect the upstream
185 + (this branch is used by jc/rebase-in-c-5-test-typofix, js/rebase-autostash-fix, js/rebase-in-c-5.5-work-with-rebase-i-in-c and pk/rebase-in-c-6-final; uses pk/rebase-in-c, pk/rebase-in-c-2-basic, pk/rebase-in-c-3-acts and pk/rebase-in-c-4-opts.)
186
287 - Docfix.
187 + Rewrite "git rebase" in C.
188
189
290 -* ss/rename-tests (2018-10-23) 5 commits
291 - (merged to 'next' on 2018-10-26 at e4929c2ece)
292 - + t7501: rename commit test to comply with naming convention
293 - + t7500: rename commit tests script to comply with naming convention
294 - + t7502: rename commit test script to comply with naming convention
295 - + t7509: cleanup description and filename
296 - + t2000: rename and combine checkout clash tests
190 +* pk/rebase-in-c-6-final (2018-10-11) 1 commit
191 + (merged to 'next' on 2018-10-19 at 52f1dadf69)
192 + + rebase: default to using the builtin rebase
193 + (this branch is used by js/rebase-autostash-fix; uses ag/rebase-i-in-c, js/rebase-in-c-5.5-work-with-rebase-i-in-c, pk/rebase-in-c, pk/rebase-in-c-2-basic, pk/rebase-in-c-3-acts, pk/rebase-in-c-4-opts and pk/rebase-in-c-5-test; is tangled with ag/sequencer-reduce-rewriting-todo, cb/printf-empty-format, jc/rebase-in-c-5-test-typofix, js/rebase-i-break and js/rebase-i-shortopt.)
194
298 - Reorganize some tests and rename them; "ls t/" now gives a better
299 - overview of what is tested for these scripts than before.
195 + The final step of rewriting "rebase -i" in C.
196
197 +--------------------------------------------------
198 +[New Topics]
199
302 -* tb/filter-alternate-refs (2018-10-25) 2 commits
303 - (merged to 'next' on 2018-10-26 at 887a7779a3)
304 - + t5410: use longer path for sample script
305 - + Documentation/config.txt: fix typo in core.alternateRefsCommand
200 +* ab/dynamic-gettext-poison (2018-11-02) 1 commit
201 + - i18n: make GETTEXT_POISON a runtime option
202
307 - Test fix.
203
204 +* js/rebase-p-tests (2018-11-02) 3 commits
205 + - tests: optionally skip `git rebase -p` tests
206 + - t3418: decouple test cases from a previous `rebase -p` test case
207 + - t3404: decouple some test cases from outcomes of previous test cases
208
310 -* tq/branch-create-wo-branch-get (2018-10-18) 1 commit
311 - (merged to 'next' on 2018-10-26 at fe522704b7)
312 - + builtin/branch.c: remove useless branch_get
209 + In preparation to the day when we can deprecate and remove the
210 + "rebase -p", make sure we can skip and later remove tests for
211 + it.
212
314 - Code clean-up.
213 + Will merge to 'next'.
214
215
317 -* tq/branch-style-fix (2018-10-18) 1 commit
318 - (merged to 'next' on 2018-10-26 at 6e79291d55)
319 - + branch: trivial style fix
216 +* sg/travis-install-dependencies (2018-11-02) 1 commit
217 + - travis-ci: install packages in 'ci/install-dependencies.sh'
218 + (this branch uses ss/travis-ci-force-vm-mode.)
219
321 - Code clean-up.
220 + The procedure to install dependencies before testing at Travis CI
221 + is getting revamped for both simplicity and flexibility, taking
222 + advantage of the recent move to the vm-based environment.
223
224 +--------------------------------------------------
225 +[Stalled]
226
324 -* uk/merge-subtree-doc-update (2018-10-25) 1 commit
325 - (merged to 'next' on 2018-10-26 at 7ab4fc8ab1)
326 - + howto/using-merge-subtree: mention --allow-unrelated-histories
227 +* lt/date-human (2018-07-09) 1 commit
228 + - Add 'human' date format
229
328 - Belated documentation update to adjust to a new world order that
329 - happened a yew years ago.
230 + A new date format "--date=human" that morphs its output depending
231 + on how far the time is from the current time has been introduced.
232 + "--date=auto" can be used to use this new format when the output is
233 + goint to the pager or to the terminal and otherwise the default
234 + format.
235
236 --------------------------------------------------
332 -[New Topics]
237 +[Cooking]
238
239 * ab/push-dwim-dst (2018-10-29) 9 commits
240 - SQUASH???
@@ -353,16 +258,6 @@ of the repositories listed at
258 cf. <87in1lkw54.fsf@evledraar.gmail.com>
259
260
356 -* cb/printf-empty-format (2018-10-27) 1 commit
357 - (merged to 'next' on 2018-11-01 at 9fcb05f22c)
358 - + sequencer: cleanup for gcc warning in non developer mode
359 - (this branch uses ag/rebase-i-in-c; is tangled with ag/sequencer-reduce-rewriting-todo, js/rebase-autostash-fix, js/rebase-i-break, js/rebase-i-shortopt, js/rebase-in-c-5.5-work-with-rebase-i-in-c and pk/rebase-in-c-6-final.)
360 -
361 - Build fix for a topic in flight.
362 -
363 - Will merge to 'master' together with pk/rebase-in-c-6-final.
364 -
365 -
261 * md/list-lazy-objects-fix (2018-10-29) 1 commit
262 - list-objects.c: don't segfault for missing cmdline objects
263
@@ -559,20 +454,6 @@ of the repositories listed at
454
455 Will merge to 'next'.
456
562 ---------------------------------------------------
563 -[Stalled]
564 -
565 -* lt/date-human (2018-07-09) 1 commit
566 - - Add 'human' date format
567 -
568 - A new date format "--date=human" that morphs its output depending
569 - on how far the time is from the current time has been introduced.
570 - "--date=auto" can be used to use this new format when the output is
571 - goint to the pager or to the terminal and otherwise the default
572 - format.
573 -
574 ---------------------------------------------------
575 -[Cooking]
457
458 * sb/more-repo-in-api (2018-10-19) 19 commits
459 - submodule: don't add submodule as odb for push
@@ -797,21 +678,6 @@ of the repositories listed at
678 Will merge to 'master'.
679
680
800 -* js/rebase-autostash-fix (2018-10-24) 5 commits
801 - (merged to 'next' on 2018-10-29 at 680e648001)
802 - + rebase --autostash: fix issue with dirty submodules
803 - + rebase --autostash: demonstrate a problem with dirty submodules
804 - + rebase (autostash): use an explicit OID to apply the stash
805 - + rebase (autostash): store the full OID in <state-dir>/autostash
806 - + rebase (autostash): avoid duplicate call to state_dir_path()
807 - (this branch uses ag/rebase-i-in-c, js/rebase-in-c-5.5-work-with-rebase-i-in-c, pk/rebase-in-c, pk/rebase-in-c-2-basic, pk/rebase-in-c-3-acts, pk/rebase-in-c-4-opts, pk/rebase-in-c-5-test and pk/rebase-in-c-6-final; is tangled with ag/sequencer-reduce-rewriting-todo, cb/printf-empty-format, jc/rebase-in-c-5-test-typofix, js/rebase-i-break and js/rebase-i-shortopt.)
808 -
809 - "git rebase" that has recently been rewritten in C had a few issues
810 - in its "--autstash" feature, which have been corrected.
811 -
812 - Will merge to 'master'.
813 -
814 -
681 * js/remote-archive-dwimfix (2018-10-26) 1 commit
682 (merged to 'next' on 2018-10-26 at f5bf6946bd)
683 + archive: initialize archivers earlier
@@ -884,23 +750,12 @@ of the repositories listed at
750 Will merge to 'master'.
751
752
887 -* sd/stash-wo-user-name (2018-10-26) 1 commit
888 - - t3903-stash: test without configured user name
753 +* sd/stash-wo-user-name (2018-11-02) 1 commit
754 + - t3903-stash: test without configured user.name and user.email
755
756 An early part of a wip.
757
758
893 -* js/rebase-i-shortopt (2018-10-26) 1 commit
894 - (merged to 'next' on 2018-11-01 at 4e9da19145)
895 - + rebase -i: recognize short commands without arguments
896 - (this branch uses ag/rebase-i-in-c and js/rebase-i-break; is tangled with ag/sequencer-reduce-rewriting-todo, cb/printf-empty-format, js/rebase-autostash-fix, js/rebase-in-c-5.5-work-with-rebase-i-in-c and pk/rebase-in-c-6-final.)
897 -
898 - "git rebase -i" learned to take 'b' as the short form of 'break'
899 - option in the todo list.
900 -
901 - Will merge to 'master' together with pk/rebase-in-c-6-final.
902 -
903 -
759 * sg/test-rebase-editor-fix (2018-10-29) 1 commit
760 (merged to 'next' on 2018-11-01 at 271e0fc663)
761 + t3404-rebase-interactive: test abbreviated commands
@@ -911,6 +766,7 @@ of the repositories listed at
766 * ss/travis-ci-force-vm-mode (2018-10-26) 1 commit
767 (merged to 'next' on 2018-11-01 at 8596bb2a65)
768 + travis-ci: no longer use containers
769 + (this branch is used by sg/travis-install-dependencies.)
770
771 The "container" mode of TravisCI is going away. Our .travis.yml
772 file is getting prepared for the transition.
@@ -1062,16 +918,6 @@ of the repositories listed at
918 updated to use "size_t".
919
920
1065 -* jc/rebase-in-c-5-test-typofix (2018-10-11) 1 commit
1066 - (merged to 'next' on 2018-10-19 at 08c9d86ffd)
1067 - + rebase: fix typoes in error messages
1068 - (this branch uses pk/rebase-in-c, pk/rebase-in-c-2-basic, pk/rebase-in-c-3-acts, pk/rebase-in-c-4-opts and pk/rebase-in-c-5-test; is tangled with js/rebase-autostash-fix, js/rebase-in-c-5.5-work-with-rebase-i-in-c and pk/rebase-in-c-6-final.)
1069 -
1070 - Typofix.
1071 -
1072 - Will merge to 'master' together with pk/rebase-in-c-6-final.
1073 -
1074 -
921 * jc/war-on-string-list (2018-11-01) 1 commit
922 - fetch: replace string-list used as a look-up table with a hashmap
923
@@ -1081,19 +927,6 @@ of the repositories listed at
927 Will merge to 'next'.
928
929
1084 -* js/rebase-i-break (2018-10-12) 2 commits
1085 - (merged to 'next' on 2018-10-19 at 6db9b14495)
1086 - + rebase -i: introduce the 'break' command
1087 - + rebase -i: clarify what happens on a failed `exec`
1088 - (this branch is used by js/rebase-i-shortopt; uses ag/rebase-i-in-c; is tangled with ag/sequencer-reduce-rewriting-todo, cb/printf-empty-format, js/rebase-autostash-fix, js/rebase-in-c-5.5-work-with-rebase-i-in-c and pk/rebase-in-c-6-final.)
1089 -
1090 - "git rebase -i" learned a new insn, 'break', that the user can
1091 - insert in the to-do list. Upon hitting it, the command returns
1092 - control back to the user.
1093 -
1094 - Will merge to 'master' together with pk/rebase-in-c-6-final.
1095 -
1096 -
930 * js/remote-archive-v2 (2018-09-28) 4 commits
931 (merged to 'next' on 2018-10-12 at 5f34377f60)
932 + archive: allow archive over HTTP(S) with proto v2
@@ -1128,7 +961,6 @@ of the repositories listed at
961 . sequencer: make the todo_list structure public
962 . sequencer: clear the number of items of a todo_list before parsing
963 . Merge branch 'ag/rebase-i-in-c' into ag/sequencer-reduce-rewriting-todo
1131 - (this branch uses ag/rebase-i-in-c; is tangled with cb/printf-empty-format, js/rebase-autostash-fix, js/rebase-i-break, js/rebase-i-shortopt, js/rebase-in-c-5.5-work-with-rebase-i-in-c and pk/rebase-in-c-6-final.)
964
965 The scripted version of "git rebase -i" wrote and rewrote the todo
966 list many times during a single step of its operation, and the
@@ -1170,7 +1002,7 @@ of the repositories listed at
1002 Will merge to 'next'.
1003
1004
1173 -* ds/reachable-topo-order (2018-10-18) 7 commits
1005 +* ds/reachable-topo-order (2018-11-02) 7 commits
1006 - t6012: make rev-list tests more interesting
1007 - revision.c: generation-based topo-order algorithm
1008 - commit/revisions: bookkeeping before refactoring
@@ -1182,8 +1014,6 @@ of the repositories listed at
1014 The revision walker machinery learned to take advantage of the
1015 commit generation numbers stored in the commit-graph file.
1016
1185 - cf. <pull.25.v4.git.gitgitgadget@gmail.com>
1186 -
1017
1018 * sb/submodule-recursive-fetch-gets-the-tip (2018-10-31) 11 commits
1019 - builtin/fetch: check for submodule updates in any ref update
@@ -1206,19 +1036,6 @@ of the repositories listed at
1036 cf. <20181025233231.102245-1-sbeller@google.com>
1037
1038
1209 -* js/rebase-in-c-5.5-work-with-rebase-i-in-c (2018-10-11) 2 commits
1210 - (merged to 'next' on 2018-10-19 at b734d81006)
1211 - + builtin rebase: prepare for builtin rebase -i
1212 - + Merge branch 'ag/rebase-i-in-c' into js/rebase-in-c-5.5-work-with-rebase-i-in-c
1213 - (this branch is used by js/rebase-autostash-fix and pk/rebase-in-c-6-final; uses ag/rebase-i-in-c, pk/rebase-in-c, pk/rebase-in-c-2-basic, pk/rebase-in-c-3-acts, pk/rebase-in-c-4-opts and pk/rebase-in-c-5-test; is tangled with ag/sequencer-reduce-rewriting-todo, cb/printf-empty-format, jc/rebase-in-c-5-test-typofix, js/rebase-i-break and js/rebase-i-shortopt.)
1214 -
1215 - "rebase" that has been rewritten learns the new calling convention
1216 - used by "rebase -i" that was rewritten in C, tying the loose end
1217 - between two GSoC topics that stomped on each other's toes.
1218 -
1219 - Will merge to 'master' together with pk/rebase-in-c-6-final.
1220 -
1221 -
1039 * js/add-i-coalesce-after-editing-hunk (2018-08-28) 1 commit
1040 - add -p: coalesce hunks before testing applicability
1041
@@ -1249,94 +1066,6 @@ of the repositories listed at
1066 Will merge to 'next'.
1067
1068
1252 -* pk/rebase-in-c-2-basic (2018-09-06) 11 commits
1253 - (merged to 'next' on 2018-10-19 at c2a0046e52)
1254 - + builtin rebase: support `git rebase <upstream> <switch-to>`
1255 - + builtin rebase: only store fully-qualified refs in `options.head_name`
1256 - + builtin rebase: start a new rebase only if none is in progress
1257 - + builtin rebase: support --force-rebase
1258 - + builtin rebase: try to fast forward when possible
1259 - + builtin rebase: require a clean worktree
1260 - + builtin rebase: support the `verbose` and `diffstat` options
1261 - + builtin rebase: support --quiet
1262 - + builtin rebase: handle the pre-rebase hook and --no-verify
1263 - + builtin rebase: support `git rebase --onto A...B`
1264 - + builtin rebase: support --onto
1265 - (this branch is used by jc/rebase-in-c-5-test-typofix, js/rebase-autostash-fix, js/rebase-in-c-5.5-work-with-rebase-i-in-c, pk/rebase-in-c-3-acts, pk/rebase-in-c-4-opts, pk/rebase-in-c-5-test and pk/rebase-in-c-6-final; uses pk/rebase-in-c.)
1266 -
1267 - Rewrite "git rebase" in C.
1268 -
1269 - Will merge to 'master' together with pk/rebase-in-c-6-final.
1270 -
1271 -
1272 -* pk/rebase-in-c-3-acts (2018-09-06) 7 commits
1273 - (merged to 'next' on 2018-10-19 at 9275677430)
1274 - + builtin rebase: stop if `git am` is in progress
1275 - + builtin rebase: actions require a rebase in progress
1276 - + builtin rebase: support --edit-todo and --show-current-patch
1277 - + builtin rebase: support --quit
1278 - + builtin rebase: support --abort
1279 - + builtin rebase: support --skip
1280 - + builtin rebase: support --continue
1281 - (this branch is used by jc/rebase-in-c-5-test-typofix, js/rebase-autostash-fix, js/rebase-in-c-5.5-work-with-rebase-i-in-c, pk/rebase-in-c-4-opts, pk/rebase-in-c-5-test and pk/rebase-in-c-6-final; uses pk/rebase-in-c and pk/rebase-in-c-2-basic.)
1282 -
1283 - Rewrite "git rebase" in C.
1284 -
1285 - Will merge to 'master' together with pk/rebase-in-c-6-final.
1286 -
1287 -
1288 -* pk/rebase-in-c-4-opts (2018-10-11) 18 commits
1289 - (merged to 'next' on 2018-10-19 at 2770b2f5d5)
1290 - + builtin rebase: support --root
1291 - + builtin rebase: add support for custom merge strategies
1292 - + builtin rebase: support `fork-point` option
1293 - + merge-base --fork-point: extract libified function
1294 - + builtin rebase: support --rebase-merges[=[no-]rebase-cousins]
1295 - + builtin rebase: support `--allow-empty-message` option
1296 - + builtin rebase: support `--exec`
1297 - + builtin rebase: support `--autostash` option
1298 - + builtin rebase: support `-C` and `--whitespace=<type>`
1299 - + builtin rebase: support `--gpg-sign` option
1300 - + builtin rebase: support `--autosquash`
1301 - + builtin rebase: support `keep-empty` option
1302 - + builtin rebase: support `ignore-date` option
1303 - + builtin rebase: support `ignore-whitespace` option
1304 - + builtin rebase: support --committer-date-is-author-date
1305 - + builtin rebase: support --rerere-autoupdate
1306 - + builtin rebase: support --signoff
1307 - + builtin rebase: allow selecting the rebase "backend"
1308 - (this branch is used by jc/rebase-in-c-5-test-typofix, js/rebase-autostash-fix, js/rebase-in-c-5.5-work-with-rebase-i-in-c, pk/rebase-in-c-5-test and pk/rebase-in-c-6-final; uses pk/rebase-in-c, pk/rebase-in-c-2-basic and pk/rebase-in-c-3-acts.)
1309 -
1310 - Rewrite "git rebase" in C.
1311 -
1312 - Will merge to 'master' together with pk/rebase-in-c-6-final.
1313 -
1314 -
1315 -* pk/rebase-in-c-5-test (2018-10-11) 6 commits
1316 - (merged to 'next' on 2018-10-19 at 0e48bc8243)
1317 - + builtin rebase: error out on incompatible option/mode combinations
1318 - + builtin rebase: use no-op editor when interactive is "implied"
1319 - + builtin rebase: show progress when connected to a terminal
1320 - + builtin rebase: fast-forward to onto if it is a proper descendant
1321 - + builtin rebase: optionally pass custom reflogs to reset_head()
1322 - + builtin rebase: optionally auto-detect the upstream
1323 - (this branch is used by jc/rebase-in-c-5-test-typofix, js/rebase-autostash-fix, js/rebase-in-c-5.5-work-with-rebase-i-in-c and pk/rebase-in-c-6-final; uses pk/rebase-in-c, pk/rebase-in-c-2-basic, pk/rebase-in-c-3-acts and pk/rebase-in-c-4-opts.)
1324 -
1325 - Rewrite "git rebase" in C.
1326 -
1327 - Will merge to 'master' together with pk/rebase-in-c-6-final.
1328 -
1329 -
1330 -* pk/rebase-in-c-6-final (2018-10-11) 1 commit
1331 - (merged to 'next' on 2018-10-19 at 52f1dadf69)
1332 - + rebase: default to using the builtin rebase
1333 - (this branch is used by js/rebase-autostash-fix; uses ag/rebase-i-in-c, js/rebase-in-c-5.5-work-with-rebase-i-in-c, pk/rebase-in-c, pk/rebase-in-c-2-basic, pk/rebase-in-c-3-acts, pk/rebase-in-c-4-opts and pk/rebase-in-c-5-test; is tangled with ag/sequencer-reduce-rewriting-todo, cb/printf-empty-format, jc/rebase-in-c-5-test-typofix, js/rebase-i-break and js/rebase-i-shortopt.)
1334 -
1335 - The final step of rewriting "rebase -i" in C.
1336 -
1337 - Will merge to 'master'.
1338 -
1339 -
1069 * ps/stash-in-c (2018-10-15) 21 commits
1070 - stash: replace all `write-tree` child processes with API calls
1071 - stash: optimize `get_untracked_files()` and `check_changes()`
@@ -1383,47 +1112,6 @@ of the repositories listed at
1112 I found the feature to be hard to explain, and may result in more
1113 end-user complaints, but let's see.
1114
1386 -
1387 -* ag/rebase-i-in-c (2018-10-09) 20 commits
1388 - (merged to 'next' on 2018-10-19 at 1b24712d46)
1389 - + rebase -i: move rebase--helper modes to rebase--interactive
1390 - + rebase -i: remove git-rebase--interactive.sh
1391 - + rebase--interactive2: rewrite the submodes of interactive rebase in C
1392 - + rebase -i: implement the main part of interactive rebase as a builtin
1393 - + rebase -i: rewrite init_basic_state() in C
1394 - + rebase -i: rewrite write_basic_state() in C
1395 - + rebase -i: rewrite the rest of init_revisions_and_shortrevisions() in C
1396 - + rebase -i: implement the logic to initialize $revisions in C
1397 - + rebase -i: remove unused modes and functions
1398 - + rebase -i: rewrite complete_action() in C
1399 - + t3404: todo list with commented-out commands only aborts
1400 - + sequencer: change the way skip_unnecessary_picks() returns its result
1401 - + sequencer: refactor append_todo_help() to write its message to a buffer
1402 - + rebase -i: rewrite checkout_onto() in C
1403 - + rebase -i: rewrite setup_reflog_action() in C
1404 - + sequencer: add a new function to silence a command, except if it fails
1405 - + rebase -i: rewrite the edit-todo functionality in C
1406 - + editor: add a function to launch the sequence editor
1407 - + rebase -i: rewrite append_todo_help() in C
1408 - + sequencer: make three functions and an enum from sequencer.c public
1409 - (this branch is used by ag/sequencer-reduce-rewriting-todo, cb/printf-empty-format, js/rebase-autostash-fix, js/rebase-i-break, js/rebase-i-shortopt, js/rebase-in-c-5.5-work-with-rebase-i-in-c and pk/rebase-in-c-6-final.)
1410 -
1411 - Rewrite of the remaining "rebase -i" machinery in C.
1412 -
1413 - Will merge to 'master' together with pk/rebase-in-c-6-final.
1414 -
1415 -
1416 -* pk/rebase-in-c (2018-08-06) 3 commits
1417 - (merged to 'next' on 2018-10-19 at 26c29ace53)
1418 - + builtin/rebase: support running "git rebase <upstream>"
1419 - + rebase: refactor common shell functions into their own file
1420 - + rebase: start implementing it as a builtin
1421 - (this branch is used by jc/rebase-in-c-5-test-typofix, js/rebase-autostash-fix, js/rebase-in-c-5.5-work-with-rebase-i-in-c, pk/rebase-in-c-2-basic, pk/rebase-in-c-3-acts, pk/rebase-in-c-4-opts, pk/rebase-in-c-5-test and pk/rebase-in-c-6-final.)
1422 -
1423 - Rewrite of the "rebase" machinery in C.
1424 -
1425 - Will merge to 'master' together with pk/rebase-in-c-6-final.
1426 -
1115 --------------------------------------------------
1116 [Discarded]
1117