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