What's cooking (2015/08 #02)
Junio C Hamano committed
Aug 12, 2015 at 14:57 UTC
8409c9175abcd30a201db015b7a0cd12bd14bc2c
1 file changed
+526
-772
whats-cooking.txt
+526
-772
@@ -1,30 +1,19 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Aug 2015, #01; Mon, 3)
4
-X-master-at: efc8a625e9b03e6f8ceed37ccd4b9167a7447e31
5
-X-next-at: f5e568e307909722237f3acc29e39e7d8dd1e7b9
3
+Subject: What's cooking in git.git (Aug 2015, #02; Wed, 12)
4
+X-master-at: 130be8eeb8b9b7c89751c3cab3bc54dc6f2d43e6
5
+X-next-at: dc45ae627aaa61b73b573b0f51469393f122b5f6
6
7
-What's cooking in git.git (Aug 2015, #01; Mon, 3)
7
+What's cooking in git.git (Aug 2015, #02; Wed, 12)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
11
'-' are only in 'pu' (proposed updates) while commits prefixed with
12
'+' are in 'next'.
13
14
-Accumulated fixes went to a new maintenance release 2.4.8. The
15
-first batch of the post-2.5 development cycle has been merged to
16
-'master', and the tip of 'next' has been rewound.
17
-
18
-I've kicked a few topics out of 'next' back to 'pu' for now.
19
-
20
- - I think pt/am-builtin is more or less ready, but the fix to the
21
- issue that options given to 'git am' when restarting were
22
- rejected must be queued on that topic before we can start
23
- thinking of merging it to 'master' for the next release.
24
-
25
- - I think es/worktree-add and es/worktree-add-cleanup are good
26
- shape overall, but we probably would want to make them into a
27
- single topic.
14
+The second batch of topics have graduated to 'master'. Most
15
+notably, the rewritten "git am" is in. Also "worktree add" is
16
+getting improved.
17
18
You can find the changes described here in the integration branches
19
of the repositories listed at
@@ -34,456 +23,495 @@ of the repositories listed at
23
--------------------------------------------------
24
[Graduated to "master"]
25
37
-* as/sparse-checkout-removal (2015-07-21) 1 commit
38
- (merged to 'next' on 2015-07-21 at ab94680)
39
- + unpack-trees: don't update files with CE_WT_REMOVE set
26
+* ad/bisect-cleanup (2015-08-03) 6 commits
27
+ (merged to 'next' on 2015-08-03 at 13b9314)
28
+ + bisect: don't mix option parsing and non-trivial code
29
+ + bisect: simplify the addition of new bisect terms
30
+ + bisect: replace hardcoded "bad|good" by variables
31
+ + Documentation/bisect: revise overall content
32
+ + Documentation/bisect: move getting help section to the end
33
+ + bisect: correction of typo
34
+ (this branch is used by ad/bisect-terms.)
35
+
36
+ Originally merged to 'next' on 2015-07-09
37
+
38
+ Code and documentation clean-up to "git bisect".
39
+
40
+
41
+* dt/reflog-tests (2015-07-28) 2 commits
42
+ (merged to 'next' on 2015-08-03 at 9d2fa1a)
43
+ + tests: remove some direct access to .git/logs
44
+ + t/t7509: remove unnecessary manipulation of reflog
45
+
46
+ Tests that assume how reflogs are represented on the filesystem too
47
+ much have been corrected.
48
+
49
+
50
+* dt/unpack-trees-cache-tree-revalidate (2015-07-28) 1 commit
51
+ (merged to 'next' on 2015-08-03 at 5b0d620)
52
+ + unpack-trees: populate cache-tree on successful merge
53
+
54
+ The code to perform multi-tree merges has been taught to repopulate
55
+ the cache-tree upon a successful merge into the index, so that
56
+ subsequent "diff-index --cached" (hence "status") and "write-tree"
57
+ (hence "commit") will go faster.
58
+
59
+ The same logic in "git checkout" may now be removed, but that is a
60
+ separate issue.
61
+
62
+
63
+* es/worktree-add (2015-07-20) 5 commits
64
+ (merged to 'next' on 2015-08-03 at 9771a44)
65
+ + config: rename "gc.pruneWorktreesExpire" to "gc.worktreePruneExpire"
66
+ + Documentation/git-worktree: wordsmith worktree-related manpages
67
+ + Documentation/config: fix stale "git prune --worktree" reference
68
+ + Documentation/git-worktree: fix incorrect reference to file "locked"
69
+ + Documentation/git-worktree: consistently use term "linked working tree"
70
+ (this branch is used by dt/notes-multiple and es/worktree-add-cleanup.)
71
+
72
+ Originally merged to 'next' on 2015-07-20
73
+
74
+ Remove remaining cruft from "git checkout --to", which
75
+ transitioned to "git worktree add".
76
+
77
+
78
+* es/worktree-add-cleanup (2015-08-05) 25 commits
79
+ (merged to 'next' on 2015-08-12 at 9168b42)
80
+ + Documentation/git-worktree: fix duplicated 'from'
81
+ + Documentation/config: mention "now" and "never" for 'expire' settings
82
+ + Documentation/git-worktree: fix broken 'linkgit' invocation
83
+ + checkout: drop intimate knowledge of newly created worktree
84
+ + worktree: populate via "git reset --hard" rather than "git checkout"
85
+ + worktree: avoid resolving HEAD unnecessarily
86
+ + worktree: make setup of new HEAD distinct from worktree population
87
+ + worktree: detect branch-name/detached and error conditions locally
88
+ + worktree: add_worktree: construct worktree-population command locally
89
+ + worktree: elucidate environment variables intended for child processes
90
+ + worktree: make branch creation distinct from worktree population
91
+ + worktree: add: suppress auto-vivication with --detach and no <branch>
92
+ + worktree: make --detach mutually exclusive with -b/-B
93
+ + worktree: introduce options container
94
+ + worktree: simplify new branch (-b/-B) option checking
95
+ + worktree: improve worktree setup message
96
+ + branch: publish die_if_checked_out()
97
+ + checkout: teach check_linked_checkout() about symbolic link HEAD
98
+ + checkout: check_linked_checkout: simplify symref parsing
99
+ + checkout: check_linked_checkout: improve "already checked out" aesthetic
100
+ + checkout: generalize die_if_checked_out() branch name argument
101
+ + checkout: die_if_checked_out: simplify strbuf management
102
+ + checkout: improve die_if_checked_out() robustness
103
+ + checkout: name check_linked_checkouts() more meaningfully
104
+ + checkout: avoid resolving HEAD unnecessarily
105
+ (this branch is used by dt/notes-multiple; uses es/worktree-add.)
106
+
107
+ Originally merged to 'next' on 2015-07-29
108
+
109
+ The "new-worktree-mode" hack in "checkout" that was added in
110
+ nd/multiple-work-trees topic has been removed by updating the
111
+ implementation of new "worktree add".
112
+
113
+
114
+* pt/am-builtin (2015-08-04) 46 commits
115
+ (merged to 'next' on 2015-08-12 at 10d0c56)
116
+ + git-am: add am.threeWay config variable
117
+ + builtin-am: remove redirection to git-am.sh
118
+ + builtin-am: check for valid committer ident
119
+ + builtin-am: implement legacy -b/--binary option
120
+ + builtin-am: implement -i/--interactive
121
+ + builtin-am: support and auto-detect mercurial patches
122
+ + builtin-am: support and auto-detect StGit series files
123
+ + builtin-am: support and auto-detect StGit patches
124
+ + builtin-am: rerere support
125
+ + builtin-am: invoke post-applypatch hook
126
+ + builtin-am: invoke pre-applypatch hook
127
+ + builtin-am: invoke applypatch-msg hook
128
+ + builtin-am: support automatic notes copying
129
+ + builtin-am: invoke post-rewrite hook
130
+ + builtin-am: implement -S/--gpg-sign, commit.gpgsign
131
+ + builtin-am: implement --committer-date-is-author-date
132
+ + builtin-am: implement --ignore-date
133
+ + builtin-am: pass git-apply's options to git-apply
134
+ + builtin-am: implement --[no-]scissors
135
+ + builtin-am: support --keep-cr, am.keepcr
136
+ + builtin-am: implement --[no-]message-id, am.messageid
137
+ + builtin-am: implement -k/--keep, --keep-non-patch
138
+ + builtin-am: implement -u/--utf8
139
+ + builtin-am: handle stray state directory
140
+ + builtin-am: bypass git-mailinfo when --rebasing
141
+ + builtin-am: implement --rebasing mode
142
+ + builtin-am: implement --3way
143
+ + cache-tree: introduce write_index_as_tree()
144
+ + builtin-am: implement -s/--signoff
145
+ + builtin-am: exit with user friendly message on failure
146
+ + builtin-am: implement -q/--quiet
147
+ + builtin-am: reject patches when there's a session in progress
148
+ + builtin-am: implement --abort
149
+ + builtin-am: implement --skip
150
+ + builtin-am: don't parse mail when resuming
151
+ + builtin-am: implement --resolved/--continue
152
+ + builtin-am: refuse to apply patches if index is dirty
153
+ + builtin-am: implement committing applied patch
154
+ + builtin-am: apply patch with git-apply
155
+ + builtin-am: extract patch and commit info with git-mailinfo
156
+ + builtin-am: auto-detect mbox patches
157
+ + builtin-am: split out mbox/maildir patches with git-mailsplit
158
+ + builtin-am: implement patch queue mechanism
159
+ + builtin-am: implement skeletal builtin am
160
+ + wrapper: implement xfopen()
161
+ + wrapper: implement xopen()
162
+ (this branch is used by pt/am-builtin-options.)
163
+
164
+ Originally merged to 'next' on 2015-07-23
165
+
166
+ Rewrite "am" in "C".
167
+
168
41
- "sparse checkout" misbehaved for a path that is excluded from the
42
- checkout when switching between branches that differ at the path.
169
+* sb/parse-options-codeformat (2015-07-29) 1 commit
170
+ (merged to 'next' on 2015-08-03 at f81993b)
171
+ + parse-options: align curly braces for all options
172
173
45
-* bc/gpg-verify-raw (2015-06-22) 7 commits
46
- (merged to 'next' on 2015-06-24 at 08a1164)
47
- + verify-tag: add option to print raw gpg status information
48
- + verify-commit: add option to print raw gpg status information
49
- + gpg: centralize printing signature buffers
50
- + gpg: centralize signature check
51
- + verify-commit: add test for exit status on untrusted signature
52
- + verify-tag: share code with verify-commit
53
- + verify-tag: add tests
174
+* sb/remove-unused-var-from-builtin-add (2015-07-31) 1 commit
175
+ (merged to 'next' on 2015-08-03 at f5e568e)
176
+ + add: remove dead code
177
+
178
+--------------------------------------------------
179
+[New Topics]
180
55
- "git verify-tag" and "git verify-commit" have been taught to share
56
- more code, and then learned to optionally show the verification
57
- message from the underlying GPG implementation.
181
+* bb/remote-get-url (2015-08-05) 1 commit
182
+ - remote: add get-url subcommand
183
184
+ "git remote" learned "get-url" subcommand to show the URL for a
185
+ given remote name used for fetching and pushing.
186
60
-* cb/parse-magnitude (2015-06-22) 2 commits
61
- (merged to 'next' on 2015-06-24 at 2fd7205)
62
- + parse-options: move unsigned long option parsing out of pack-objects.c
63
- + test-parse-options: update to handle negative ints
187
+ Waiting for a reroll.
188
+ ($gmane/275401)
189
65
- Move machinery to parse human-readable scaled numbers like 1k, 4M,
66
- and 2G as an option parameter's value from pack-objects to
67
- parse-options API, to make it available to other codepaths.
190
191
+* cb/open-noatime-clear-errno (2015-08-12) 1 commit
192
+ - git_open_noatime: return with errno=0 on success
193
70
-* cb/uname-in-untracked (2015-07-17) 1 commit
71
- (merged to 'next' on 2015-07-21 at d867af0)
72
- + untracked: fix detection of uname(2) failure
194
+ When trying to see that an object does not exist, a state errno
195
+ leaked from our "first try to open a packfile with O_NOATIME and
196
+ then if it fails retry without it" logic on a system that refuses
197
+ O_NOATIME. This confused us and caused us to die, saying that the
198
+ packfile is unreadable, when we should have just reported that the
199
+ object does not exist in that packfile to the caller.
200
74
- An experimental "untracked cache" feature used uname(2) in a
75
- slightly unportable way.
201
+ Will merge to 'next'.
202
203
78
-* da/subtree-date-confusion (2015-07-23) 1 commit
79
- (merged to 'next' on 2015-07-29 at 01016b1)
80
- + contrib/subtree: ignore log.date configuration
204
+* jk/guess-repo-name-regression-fix (2015-08-10) 2 commits
205
+ (merged to 'next' on 2015-08-12 at 4cba33c)
206
+ + clone: use computed length in guess_dir_name
207
+ + clone: add tests for output directory
208
+ (this branch is used by ps/guess-repo-name-at-root.)
209
82
- "git subtree" (in contrib/) depended on "git log" output to be
83
- stable, which was a no-no. Apply a workaround to force a
84
- particular date format.
210
+ "git clone $URL" in recent releases of Git contains a regression in
211
+ the code that invents a new repository name incorrectly based on
212
+ the $URL. This has been corrected.
213
214
+ Will merge to 'master'.
215
87
-* db/send-pack-user-signingkey (2015-07-21) 1 commit
88
- (merged to 'next' on 2015-07-29 at b0d62e9)
89
- + builtin/send-pack.c: respect user.signingkey
216
91
- The low-level "git send-pack" did not honor 'user.signingkey'
92
- configuration variable when sending a signed-push.
217
+* ps/guess-repo-name-at-root (2015-08-10) 3 commits
218
+ (merged to 'next' on 2015-08-12 at 088860f)
219
+ + clone: abort if no dir name could be guessed
220
+ + clone: do not use port number as dir name
221
+ + clone: do not include authentication data in guessed dir
222
+ (this branch uses jk/guess-repo-name-regression-fix.)
223
224
+ "git clone $URL", when cloning from a site whose sole purpose is to
225
+ host a single repository (hence, no path after <scheme>://<site>/),
226
+ tried to use the site name as the new repository name, but did not
227
+ remove username or password when <site> part was of the form
228
+ <user>@<pass>:<host>. The code is taught to redact these.
229
95
-* dt/log-follow-config (2015-07-09) 1 commit
96
- (merged to 'next' on 2015-07-10 at b8fbb43)
97
- + log: add "log.follow" configuration variable
230
+ Will merge to 'master'.
231
99
- Add a new configuration variable to enable "--follow" automatically
100
- when "git log" is run with one pathspec argument.
232
233
+* jk/notes-merge-config (2015-08-05) 4 commits
234
+ - SQUASH???
235
+ - notes: add notes.merge option to select default strategy
236
+ - notes: add tests for --commit/--abort/--strategy exclusivity
237
+ - notes: document cat_sort_uniq rewriteMode
238
103
-* dt/refs-backend-preamble (2015-07-21) 7 commits
104
- (merged to 'next' on 2015-07-23 at 9dac423)
105
- + git-stash: use update-ref --create-reflog instead of creating files
106
- + update-ref and tag: add --create-reflog arg
107
- + refs: add REF_FORCE_CREATE_REFLOG flag
108
- + git-reflog: add exists command
109
- + refs: new public ref function: safe_create_reflog
110
- + refs: break out check for reflog autocreation
111
- + refs.c: add err arguments to reflog functions
112
- (this branch is used by dt/refs-pseudo.)
239
+ "git notes merge" can be told with "--strategy=<how>" option how to
240
+ automatically handle conflicts; this can now be configured by
241
+ setting notes.merge configuration variable.
242
114
- In preparation for allowing different "backends" to store the refs
115
- in a way different from the traditional "one ref per file in $GIT_DIR
116
- or in a $GIT_DIR/packed-refs file" filesystem storage, reduce
117
- direct filesystem access to ref-like things like CHERRY_PICK_HEAD
118
- from scripts and programs.
243
+ The last step to add more specific notes.$ref.merge looked
244
+ questionable. What is queued is v3, v4 exists, but needs an
245
+ update.
246
247
+ Waiting for a reroll.
248
+ ($gmane/275749)
249
121
-* ee/clean-remove-dirs (2015-06-26) 6 commits
122
- (merged to 'next' on 2015-06-29 at d595659)
123
- + read_gitfile_gently: fix use-after-free
124
- (merged to 'next' on 2015-06-24 at 7c27821)
125
- + clean: improve performance when removing lots of directories
126
- + p7300: add performance tests for clean
127
- + t7300: add tests to document behavior of clean and nested git
128
- + setup: sanity check file size in read_gitfile_gently
129
- + setup: add gentle version of read_gitfile
250
131
- Replace "is this subdirectory a separate repository that should not
132
- be touched?" check "git clean" does by checking if it has .git/HEAD
133
- using the submodule-related code with a more optimized check.
251
+* mk/submodule-gitdir-path (2015-08-05) 2 commits
252
+ - path: implement common_dir handling in git_path_submodule()
253
+ - submodule refactor: use git_path_submodule() in add_submodule_odb()
254
255
+ The submodule code has been taught to work better with separate
256
+ work trees created via "git worktree add".
257
136
-* es/doc-clean-outdated-tools (2015-07-28) 5 commits
137
- (merged to 'next' on 2015-07-29 at 6d80251)
138
- + Documentation/git-tools: retire manually-maintained list
139
- + Documentation/git-tools: drop references to defunct tools
140
- + Documentation/git-tools: fix item text formatting
141
- + Documentation/git-tools: improve discoverability of Git wiki
142
- + Documentation/git: drop outdated Cogito reference
258
+ Waiting for a review.
259
+ ($gmane/275340).
260
261
145
-* gp/status-rebase-i-info (2015-07-06) 4 commits
146
- (merged to 'next' on 2015-07-10 at b121298)
147
- + status: add new tests for status during rebase -i
148
- + status: give more information during rebase -i
149
- + status: differentiate interactive from non-interactive rebases
150
- + status: factor two rebase-related messages together
262
+* mm/pull-upload-pack (2015-07-30) 1 commit
263
+ (merged to 'next' on 2015-08-12 at 14d2a52)
264
+ + pull.sh: quote $upload_pack when passing it to git-fetch
265
152
- Teach "git status" to show a more detailed information regarding
153
- the "rebase -i" session in progress.
266
+ "git pull" in recent releases of Git has a regression in the code
267
+ that allows custom path to the --upload-pack=<program>. This has
268
+ been corrected.
269
270
+ Will merge to 'maint'.
271
156
-* gr/rebase-i-drop-warn (2015-06-30) 3 commits
157
- (merged to 'next' on 2015-07-15 at 6f4f2c8)
158
- + git rebase -i: add static check for commands and SHA-1
159
- + git rebase -i: warn about removed commits
160
- + git-rebase -i: add command "drop" to remove a commit
272
+ Note that this is irrelevant for 'master' with "git pull" rewritten
273
+ in C.
274
162
- Add "drop commit-object-name subject" command as another way to
163
- skip replaying of a commit in "rebase -i".
275
276
+* ps/t1509-chroot-test-fixup (2015-08-05) 2 commits
277
+ (merged to 'next' on 2015-08-12 at 6d10ea5)
278
+ + tests: fix cleanup after tests in t1509-root-worktree
279
+ + tests: fix broken && chains in t1509-root-worktree
280
166
-* ib/scripted-parse-opt-better-hint-string (2015-07-15) 1 commit
167
- (merged to 'next' on 2015-07-17 at 7bb1674)
168
- + rev-parse --parseopt: allow [*=?!] in argument hints
281
+ t1509 test that requires a dedicated VM environment had some
282
+ bitrot, which has been corrected.
283
170
- The "rev-parse --parseopt" mode parsed the option specification
171
- and the argument hint in a strange way to allow '=' and other
172
- special characters in the option name while forbidding them from
173
- the argument hint. This made it impossible to define an option
174
- like "--pair <key>=<value>" with "pair=key=value" specification,
175
- which instead would have defined a "--pair=key <value>" option.
284
+ Will merge to 'master'.
285
286
178
-* jc/commit-slab (2015-05-22) 1 commit
179
- (merged to 'next' on 2015-07-15 at 4c83475)
180
- + commit-slab: introduce slabname##_peek() function
181
-
182
- Memory use reduction when commit-slab facility is used to annotate
183
- sparsely (which is not recommended in the first place).
184
-
185
-
186
-* jk/cat-file-batch-all (2015-06-26) 8 commits
187
- (merged to 'next' on 2015-07-10 at 80200cc)
188
- + cat-file: sort and de-dup output of --batch-all-objects
189
- + cat-file: add --batch-all-objects option
190
- + cat-file: split batch_one_object into two stages
191
- + cat-file: stop returning value from batch_one_object
192
- + cat-file: add --buffer option
193
- + cat-file: move batch_options definition to top of file
194
- + cat-file: minor style fix in options list
195
- + Merge branch 'jk/maint-for-each-packed-object' into jk/cat-file-batch-all
196
-
197
- "cat-file" learned "--batch-all-objects" option to enumerate all
198
- available objects in the repository more quickly than "rev-list
199
- --all --objects" (the output includes unreachable objects, though).
200
-
201
-
202
-* jk/date-mode-format (2015-07-20) 4 commits
203
- (merged to 'next' on 2015-07-21 at 69f66be)
204
- + strbuf: make strbuf_addftime more robust
205
- (merged to 'next' on 2015-07-09 at a01bfc3)
206
- + introduce "format" date-mode
207
- + convert "enum date_mode" into a struct
208
- + show-branch: use DATE_RELATIVE instead of magic number
209
-
210
- Teach "git log" and friends a new "--date=format:..." option to
211
- format timestamps using system's strftime(3).
212
-
213
-
214
-* jk/pkt-log-pack (2015-06-16) 3 commits
215
- (merged to 'next' on 2015-07-10 at ba33212)
216
- + pkt-line: support tracing verbatim pack contents
217
- + pkt-line: tighten sideband PACK check when tracing
218
- + pkt-line: simplify starts_with checks in packet tracing
287
+* pt/am-builtin-options (2015-08-12) 3 commits
288
+ (merged to 'next' on 2015-08-12 at e57f754)
289
+ + am: let --signoff override --no-signoff
290
+ + am: let command-line options override saved options
291
+ + test_terminal: redirect child process' stdin to a pty
292
220
- Enhance packet tracing machinery to allow capturing an incoming
221
- pack data to a file for debugging.
222
-
223
-
224
-* jk/refspec-parse-wildcard (2015-07-27) 2 commits
225
- (merged to 'next' on 2015-07-29 at eb48d2f)
226
- + refs: loosen restriction on wildcard "*" refspecs
227
- + refs: cleanup comments regarding check_refname_component()
228
-
229
- Allow an asterisk as a substring (as opposed to the entirety) of
230
- a path component for both side of a refspec, e.g.
231
- "refs/heads/o*:refs/remotes/heads/i*".
232
-
233
-
234
-* js/fsck-opt (2015-06-23) 19 commits
235
- (merged to 'next' on 2015-07-10 at eb4da0a)
236
- + fsck: support ignoring objects in `git fsck` via fsck.skiplist
237
- + fsck: git receive-pack: support excluding objects from fsck'ing
238
- + fsck: introduce `git fsck --connectivity-only`
239
- + fsck: support demoting errors to warnings
240
- + fsck: document the new receive.fsck.<msg-id> options
241
- + fsck: allow upgrading fsck warnings to errors
242
- + fsck: optionally ignore specific fsck issues completely
243
- + fsck: disallow demoting grave fsck errors to warnings
244
- + fsck: add a simple test for receive.fsck.<msg-id>
245
- + fsck: make fsck_tag() warn-friendly
246
- + fsck: handle multiple authors in commits specially
247
- + fsck: make fsck_commit() warn-friendly
248
- + fsck: make fsck_ident() warn-friendly
249
- + fsck: report the ID of the error/warning
250
- + fsck (receive-pack): allow demoting errors to warnings
251
- + fsck: offer a function to demote fsck errors to warnings
252
- + fsck: provide a function to parse fsck message IDs
253
- + fsck: introduce identifiers for fsck messages
254
- + fsck: introduce fsck options
255
-
256
- Allow ignoring fsck errors on specific set of known-to-be-bad
257
- objects, and also tweaking warning level of various kinds of non
258
- critical breakages reported.
259
-
260
-
261
-* jx/do-not-crash-receive-pack-wo-head (2015-07-22) 1 commit
262
- (merged to 'next' on 2015-07-29 at 227d0d9)
263
- + receive-pack: crash when checking with non-exist HEAD
264
-
265
- An attempt to delete a ref by pushing into a repositorywhose HEAD
266
- symbolic reference points at an unborn branch that cannot be
267
- created due to ref D/F conflict (e.g. refs/heads/a/b exists, HEAD
268
- points at refs/heads/a) failed.
269
-
270
-
271
-* kb/i18n-doc (2015-07-01) 1 commit
272
- (merged to 'next' on 2015-07-09 at a12c7b3)
273
- + Documentation/i18n.txt: clarify character encoding support
274
-
275
-
276
-* kn/for-each-ref (2015-08-03) 11 commits
277
- + ref-filter: make 'ref_array_item' use a FLEX_ARRAY for refname
278
- + for-each-ref: introduce filter_refs()
279
- + ref-filter: move code from 'for-each-ref'
280
- + ref-filter: add 'ref-filter.h'
281
- + for-each-ref: rename variables called sort to sorting
282
- + for-each-ref: rename some functions and make them public
283
- + for-each-ref: introduce 'ref_array_clear()'
284
- + for-each-ref: introduce new structures for better organisation
285
- + for-each-ref: rename 'refinfo' to 'ref_array_item'
286
- + for-each-ref: clean up code
287
- + for-each-ref: extract helper functions out of grab_single_ref()
288
- (this branch is used by kn/for-each-tag-branch).
289
-
290
- GSoC project to rebuild ref listing by branch and tag based on the
291
- for-each-ref machinery. This is its first part.
292
-
293
-
294
-* kn/tag-doc-fix (2015-07-10) 1 commit
295
- (merged to 'next' on 2015-07-15 at 7bd6038)
296
- + Documentation/tag: remove double occurance of "<pattern>"
297
-
298
-
299
-* mh/fast-import-get-mark (2015-07-01) 1 commit
300
- (merged to 'next' on 2015-07-15 at 5e034b9)
301
- + fast-import: add a get-mark command
302
-
303
- "git fast-import" learned to respond to the get-mark command via
304
- its cat-blob-fd interface.
305
-
306
-
307
-* mh/fast-import-optimize-current-from (2015-07-13) 1 commit
308
- (merged to 'next' on 2015-07-15 at 2be8b1f)
309
- + fast-import: do less work when given "from" matches current branch head
310
-
311
- Often a fast-import stream builds a new commit on top of the
312
- previous commit it built, and it often unconditionally emits a
313
- "from" command to specify the first parent, which can be omitted in
314
- such a case. This caused fast-import to forget the tree of the
315
- previous commit and then re-read it from scratch, which was
316
- inefficient. Optimize for this common case.
317
-
318
-
319
-* mh/init-delete-refs-api (2015-06-22) 19 commits
320
- (merged to 'next' on 2015-07-10 at 121b26e)
321
- + delete_ref(): use the usual convention for old_sha1
322
- + cmd_update_ref(): make logic more straightforward
323
- + update_ref(): don't read old reference value before delete
324
- + check_branch_commit(): make first parameter const
325
- + refs.h: add some parameter names to function declarations
326
- + refs: move the remaining ref module declarations to refs.h
327
- + initial_ref_transaction_commit(): check for ref D/F conflicts
328
- + initial_ref_transaction_commit(): check for duplicate refs
329
- + refs: remove some functions from the module's public interface
330
- + initial_ref_transaction_commit(): function for initial ref creation
331
- + repack_without_refs(): make function private
332
- + prune_refs(): use delete_refs()
333
- + prune_remote(): use delete_refs()
334
- + delete_refs(): bail early if the packed-refs file cannot be rewritten
335
- + delete_refs(): make error message more generic
336
- + delete_refs(): new function for the refs API
337
- + delete_ref(): handle special case more explicitly
338
- + remove_branches(): remove temporary
339
- + delete_ref(): move declaration to refs.h
340
-
341
- Clean up refs API and make "git clone" less intimate with the
342
- implementation detail.
343
-
344
-
345
-* mh/replace-refs (2015-06-12) 1 commit
346
- (merged to 'next' on 2015-06-24 at cb13adf)
347
- + Allow to control where the replace refs are looked for
348
-
349
- Add an environment variable to tell Git to look into refs hierarchy
350
- other than refs/replace/ for the object replacement data.
351
-
352
-
353
-* mr/rebase-i-customize-insn-sheet (2015-06-15) 1 commit
354
- (merged to 'next' on 2015-07-10 at ec383cd)
355
- + git-rebase--interactive.sh: add config option for custom instruction format
356
-
357
- "git rebase -i"'s list of todo is made configurable.
358
-
359
-
360
-* nd/export-worktree (2015-06-26) 1 commit
361
- (merged to 'next' on 2015-07-09 at 1581a9b)
362
- + setup: set env $GIT_WORK_TREE when work tree is set, like $GIT_DIR
363
-
364
- Running an aliased command from a subdirectory when the .git thing
365
- in the working tree is a gitfile pointing elsewhere did not work.
366
-
367
-
368
-* pt/am-foreign (2015-06-15) 5 commits
369
- (merged to 'next' on 2015-06-24 at 838c702)
370
- + am: teach mercurial patch parser how to read from stdin
371
- + am: use gmtime() to parse mercurial patch date
372
- + t4150: test applying StGit series
373
- + am: teach StGit patch parser how to read from stdin
374
- + t4150: test applying StGit patch
375
-
376
- Various enhancements around "git am" reading patches generated by
377
- foreign SCM.
378
-
379
-
380
-* pt/am-tests (2015-07-20) 12 commits
381
- (merged to 'next' on 2015-07-21 at 8d3d5f4)
382
- + t3901: test git-am encoding conversion
383
- + t3418: non-interactive rebase --continue with rerere enabled
384
- + t4150: tests for am --[no-]scissors
385
- + t4150: am with post-applypatch hook
386
- + t4150: am with pre-applypatch hook
387
- + t4150: am with applypatch-msg hook
388
- + t4150: am --resolved fails if index has unmerged entries
389
- + t4150: am --resolved fails if index has no changes
390
- + t4150: am refuses patches when paused
391
- + t4151: am --abort will keep dirty index intact
392
- + t4150: am fails if index is dirty
393
- + t4150: am.messageid really adds the message id
394
-
395
-
396
-* pt/pull-builtin (2015-06-18) 19 commits
397
- (merged to 'next' on 2015-07-10 at 07b1794)
398
- + pull: remove redirection to git-pull.sh
399
- + pull --rebase: error on no merge candidate cases
400
- + pull --rebase: exit early when the working directory is dirty
401
- + pull: configure --rebase via branch.<name>.rebase or pull.rebase
402
- + pull: teach git pull about --rebase
403
- + pull: set reflog message
404
- + pull: implement pulling into an unborn branch
405
- + pull: fast-forward working tree if head is updated
406
- + pull: check if in unresolved merge state
407
- + pull: support pull.ff config
408
- + pull: error on no merge candidates
409
- + pull: pass git-fetch's options to git-fetch
410
- + pull: pass git-merge's options to git-merge
411
- + pull: pass verbosity, --progress flags to fetch and merge
412
- + pull: implement fetch + merge
413
- + pull: implement skeletal builtin pull
414
- + argv-array: implement argv_array_pushv()
415
- + parse-options-cb: implement parse_opt_passthru_argv()
416
- + parse-options-cb: implement parse_opt_passthru()
417
- (this branch is used by kd/pull-rebase-autostash, pt/am-builtin and pt/am-builtin-fix.)
418
-
419
- Reimplement 'git pull' in C.
420
-
421
-
422
-* rl/send-email-aliases (2015-07-07) 10 commits
423
- (merged to 'next' on 2015-07-09 at c60553d)
424
- + send-email: suppress meaningless whitespaces in from field
425
- + send-email: allow multiple emails using --cc, --to and --bcc
426
- + send-email: consider quote as delimiter instead of character
427
- + send-email: reduce dependencies impact on parse_address_line
428
- + send-email: minor code refactoring
429
- + send-email: allow use of aliases in the From field of --compose mode
430
- + send-email: refactor address list process
431
- + t9001-send-email: refactor header variable fields replacement
432
- + send-email: allow aliases in patch header and command script outputs
433
- + t9001-send-email: move script creation in a setup test
434
-
435
- "git send-email" now performs alias-expansion on names that are
436
- given via --cccmd, etc.
437
-
438
- This round comes with a lot more enhanced e-mail address parser,
439
- which makes it a bit scary, but as long as it works as designed, it
440
- makes it wonderful ;-).
441
-
442
-
443
-* se/doc-checkout-ours-theirs (2015-07-12) 1 commit
444
- (merged to 'next' on 2015-07-21 at 5275f04)
445
- + checkout: document subtlety around --ours/--theirs
446
-
447
- A "rebase" replays changes of the local branch on top of something
448
- else, as such they are placed in stage #3 and referred to as
449
- "theirs", while the changes in the new base, typically a foreign
450
- work, are placed in stage #2 and referred to as "ours". Clarify
451
- the "checkout --ours/--theirs".
452
-
453
-
454
-* sg/bash-prompt-untracked-optim (2015-07-20) 2 commits
455
- (merged to 'next' on 2015-07-21 at e151fb7)
456
- + bash prompt: faster untracked status indicator with untracked directories
457
- + bash prompt: test untracked files status indicator with untracked dirs
458
-
459
- Optimize computation of untracked status indicator by bash prompt
460
- script (in contrib/).
461
-
462
-
463
-* zb/userdiff-fountain (2015-07-23) 1 commit
464
- (merged to 'next' on 2015-07-23 at e177995)
465
- + userdiff: add support for Fountain documents
466
-
467
- New userdiff pattern definition for fountain screenwriting markup
468
- format.
293
+ After "git am --opt1" stops, running "git am --opt2" pays attention
294
+ to "--opt2" only for the patch that caused the original invocation
295
+ to stop.
296
470
---------------------------------------------------
471
-[New Topics]
297
+ Will merge to 'master'.
298
473
-* sb/check-return-from-read-ref (2015-08-03) 1 commit
474
- - transport-helper: die on errors reading refs.
299
476
- Will merge to 'next'.
300
+* sb/remove-get-pathspec (2015-08-03) 1 commit
301
+ - builtin/mv: remove get_pathspec()
302
+
303
+ Expecting a reroll.
304
+ ($gmane/275224)
305
+
306
+
307
+* sb/submodule-helper (2015-08-07) 1 commit
308
+ - submodule: implement `module_list` as a builtin helper
309
+
310
+ The beginning of "git submodule" rewritten in C.
311
+
312
+
313
+* tb/complete-rebase-i-edit-todo (2015-08-05) 1 commit
314
+ (merged to 'next' on 2015-08-12 at 9606c21)
315
+ + completion: offer '--edit-todo' during interactive rebase
316
+
317
+ The command-line completion script (in contrib/) has been updated.
318
+
319
+ Will merge to 'master'.
320
+
321
+
322
+* dt/untracked-subdir (2015-08-07) 2 commits
323
+ - DONTMERGE: wait for Duy to Ack or comment
324
+ - untracked-cache: fix subdirectory handling
325
+ (this branch uses dt/untracked-sparse.)
326
+
327
+ Waiting for a review.
328
+
329
+
330
+* jk/test-with-x (2015-08-07) 2 commits
331
+ (merged to 'next' on 2015-08-12 at 06576a1)
332
+ + test-lib: disable trace when test is not verbose
333
+ + test-lib: turn off "-x" tracing during chain-lint check
334
+
335
+ Running tests with the "-x" option to make them verbose had some
336
+ unpleasant interactions with other features of the test suite.
337
+
338
+ Will merge to 'master'.
339
+
340
+
341
+* ad/cygwin-wants-rename (2015-08-07) 1 commit
342
+ - config.mak.uname: Cygwin needs OBJECT_CREATION_USES_RENAMES
343
+
344
+ Will hold.
345
+ ($gmane/275680).
346
+
347
+
348
+* bc/connect-plink (2015-08-11) 1 commit
349
+ - t5601-clone: remove broken and pointless check for plink.exe
350
+
351
+ Test updates for Windows.
352
+
353
+ Seems controversial.
354
+ Will hold.
355
+ for now ($gmane/275758).
356
+
357
+
358
+* ee/clean-remove-dirs (2015-08-11) 1 commit
359
+ (merged to 'next' on 2015-08-12 at fc41b09)
360
+ + t7300-clean: require POSIXPERM for chmod 0 test
361
+
362
+ Test updates for Windows.
363
+
364
+ Will merge to 'master'.
365
+
366
+
367
+* jc/finalize-temp-file (2015-08-10) 1 commit
368
+ (merged to 'next' on 2015-08-12 at 6fe62fe)
369
+ + sha1_file.c: rename move_temp_to_file() to finalize_object_file()
370
+
371
+ Long overdue micro clean-up.
372
+
373
+ Will merge to 'master'.
374
+
375
+
376
+* jk/git-path (2015-08-10) 16 commits
377
+ (merged to 'next' on 2015-08-12 at 7ebe864)
378
+ + memoize common git-path "constant" files
379
+ + get_repo_path: refactor path-allocation
380
+ + find_hook: keep our own static buffer
381
+ + refs.c: remove_empty_directories can take a strbuf
382
+ + refs.c: avoid git_path assignment in lock_ref_sha1_basic
383
+ + refs.c: avoid repeated git_path calls in rename_tmp_log
384
+ + refs.c: simplify strbufs in reflog setup and writing
385
+ + path.c: drop git_path_submodule
386
+ + refs.c: remove extra git_path calls from read_loose_refs
387
+ + remote.c: drop extraneous local variable from migrate_file
388
+ + prefer mkpathdup to mkpath in assignments
389
+ + prefer git_pathdup to git_path in some possibly-dangerous cases
390
+ + add_to_alternates_file: don't add duplicate entries
391
+ + t5700: modernize style
392
+ + cache.h: complete set of git_path_submodule helpers
393
+ + cache.h: clarify documentation for git_path, et al
394
+
395
+ git_path() and mkpath() are handy helper functions but it is easy
396
+ to misuse, as the callers need to be careful to keep the number of
397
+ active results below 4. Their uses have been reduced.
398
+
399
+ Will merge to 'master'.
400
+
401
+
402
+* jk/long-error-messages (2015-08-11) 2 commits
403
+ (merged to 'next' on 2015-08-12 at 36303cd)
404
+ + vreportf: avoid intermediate buffer
405
+ + vreportf: report to arbitrary filehandles
406
+
407
+ The codepath to produce error messages had a hard-coded limit to
408
+ the size of the message, primarily to avoid memory allocation while
409
+ calling die().
410
+
411
+ Will merge to 'master'.
412
+
413
+
414
+* nd/dwim-wildcards-as-pathspecs (2015-08-11) 1 commit
415
+ (merged to 'next' on 2015-08-12 at bb73f4d)
416
+ + t2019: skip test requiring '*' in a file name non Windows
417
+
418
+ Test updates for Windows.
419
+
420
+ Will merge to 'master'.
421
422
--------------------------------------------------
423
[Stalled]
424
425
+* nd/list-files (2015-02-09) 21 commits
426
+ - t3080: tests for git-list-files
427
+ - list-files: -M aka diff-cached
428
+ - list-files -F: show submodules with the new indicator '&'
429
+ - list-files: add -F/--classify
430
+ - list-files: show directories as well as files
431
+ - list-files: do not show duplicate cached entries
432
+ - list-files: sort output and remove duplicates
433
+ - list-files: add -t back
434
+ - list-files: add -1 short for --no-column
435
+ - list-files: add -R/--recursive short for --max-depth=-1
436
+ - list-files: -u does not imply showing stages
437
+ - list-files: make alias 'ls' default to 'list-files'
438
+ - list-files: a user friendly version of ls-files and more
439
+ - ls-files: support --max-depth
440
+ - ls-files: add --column
441
+ - ls-files: add --color to highlight file names
442
+ - ls-files: buffer full item in strbuf before printing
443
+ - ls_colors.c: highlight submodules like directories
444
+ - ls_colors.c: add a function to color a file name
445
+ - ls_colors.c: parse color.ls.* from config file
446
+ - ls_colors.c: add $LS_COLORS parsing code
447
+
448
+ A new "git list-files" Porcelain command, "ls-files" with bells and
449
+ whistles.
450
+
451
+ Reroll to base on wt-status work ($gmane/265142) has seen some
452
+ positive discussions.
453
+
454
+ Waiting for a further polished reroll ($gmane/265534).
455
+
456
+
457
+* mh/numparse (2015-03-19) 14 commits
458
+ . diff_opt_parse(): use convert_i() when handling --abbrev=<num>
459
+ . diff_opt_parse(): use convert_i() when handling "-l<num>"
460
+ . opt_arg(): simplify pointer handling
461
+ . opt_arg(): report errors parsing option values
462
+ . opt_arg(): use convert_i() in implementation
463
+ . opt_arg(): val is always non-NULL
464
+ . builtin_diff(): detect errors when parsing --unified argument
465
+ . handle_revision_opt(): use convert_ui() when handling "--abbrev="
466
+ . strtoul_ui(), strtol_i(): remove functions
467
+ . handle_revision_opt(): use convert_i() when handling "-<digit>"
468
+ . handle_revision_opt(): use skip_prefix() in many places
469
+ . write_subdirectory(): use convert_ui() for parsing mode
470
+ . cacheinfo_callback(): use convert_ui() when handling "--cacheinfo"
471
+ . numparse: new module for parsing integral numbers
472
+
473
+ Many codepaths use unchecked use of strtol() and friends (or even
474
+ worse, atoi()). Introduce a set of wrappers that try to be more
475
+ careful.
476
+
477
+ Expecting a reroll.
478
+ ($gmane/268058).
479
+
480
+
481
+* kk/log-merges-config (2015-04-21) 5 commits
482
+ - bash-completion: add support for git-log --merges= and log.merges
483
+ - t4202-log: add tests for --merges=
484
+ - Documentation: add git-log --merges= option and log.merges config. var
485
+ - log: honor log.merges= option
486
+ - revision: add --merges={show|only|hide} option
487
+
488
+ "git log" (but not other commands in the "log" family) learned to
489
+ pay attention to the log.merges configuration variable that can be
490
+ set to "show" (the normal behaviour), "only" (hide non-merge
491
+ commits), or "hide" (hide merge commits). --merges=(show|only|hide)
492
+ can be used to override the setting from the command line.
493
+
494
+ The documentation may need to be updated once more ($gmane/267250).
495
+ Waiting for a reroll.
496
+
497
+
498
+* mg/httpd-tests-update-for-apache-2.4 (2015-04-08) 2 commits
499
+ - t/lib-git-svn: check same httpd module dirs as lib-httpd
500
+ - t/lib-httpd: load mod_unixd
501
+
502
+ This is the first two commits in a three-patch series $gmane/266962
503
+
504
+ Expecting a reroll.
505
+ with updated log message ($gmane/268061).
506
+
507
+
508
* bw/portability-solaris (2015-07-20) 3 commits
509
- tests: fix sed usage in tests to work around broken xpg4/sed on Solaris
510
- tests: fix sed usage in tests to work around broken xpg4/sed on Solaris
511
- tests: modify tr expressions so that xpg4/tr handles it on Solaris
512
486
- Needs another reroll? ($gmane/274296)
513
+ Needs another reroll?
514
+ ($gmane/274296)
515
516
517
* jc/clone-bundle (2015-04-30) 1 commit
@@ -493,17 +521,6 @@ of the repositories listed at
521
Still an early WIP.
522
523
496
-* jh/strbuf-read-use-read-in-full (2015-06-01) 1 commit
497
- - strbuf_read(): skip unnecessary strbuf_grow() at eof
498
-
499
- Avoid one extra iteration and strbuf_grow() of 8kB in
500
- strbuf_read().
501
-
502
- Looked reasonable; perhaps a log message clarification is needed.
503
-
504
- Expecting a reroll.
505
-
506
-
524
* mg/index-read-error-messages (2015-06-01) 2 commits
525
- messages: uniform error messages for index write
526
- show-index: uniform error messages for index read
@@ -521,7 +538,8 @@ of the repositories listed at
538
The gitmodules API accessed from the C code learned to cache stuff
539
lazily.
540
524
- Needs another reroll? ($gmane/273743).
541
+ Needs another reroll?
542
+ ($gmane/273743)
543
544
545
* jk/log-missing-default-HEAD (2015-06-03) 1 commit
@@ -565,36 +583,11 @@ of the repositories listed at
583
($gmane/272180).
584
585
568
-* mh/tempfile (2015-06-10) 14 commits
569
- - credential-cache--daemon: use tempfile module
570
- - credential-cache--daemon: delete socket from main()
571
- - gc: use tempfile module to handle gc.pid file
572
- - lock_repo_for_gc(): compute the path to "gc.pid" only once
573
- - diff: use tempfile module
574
- - setup_temporary_shallow(): use tempfile module
575
- - write_shared_index(): use tempfile module
576
- - register_tempfile(): new function to handle an existing temporary file
577
- - tempfile: add several functions for creating temporary files
578
- - register_tempfile_object(): new function, extracted from create_tempfile()
579
- - commit_lock_file(): use get_locked_file_path()
580
- - lockfile: remove some redundant functions
581
- - tempfile: a new module for handling temporary files
582
- - Move lockfile API documentation to lockfile.h
583
-
584
- Rebuild "lockfile" API on top of a new "tempfile" API.
585
- This needs rerolling, to include "tempfile.h" in "lockfile.h", at
586
- least.
587
-
588
- Expecting a reroll.
589
- ($gmane/271353)
590
-
591
-
586
* ad/bisect-terms (2015-08-03) 4 commits
587
- bisect: allow setting any user-specified in 'git bisect start'
588
- bisect: add 'git bisect terms' to view the current terms
589
- bisect: add the terms old/new
590
- bisect: sanity check on terms
597
- (this branch uses ad/bisect-cleanup.)
591
592
The use of 'good/bad' in "git bisect" made it confusing to use when
593
hunting for a state change that is not a regression (e.g. bugfix).
@@ -620,102 +613,7 @@ of the repositories listed at
613
have a place to store the updated notes tree, iow, a ref).
614
615
Needs update to docs.
623
-
624
-
625
-* sg/config-name-only (2015-05-28) 3 commits
626
- - completion: use new 'git config' options to reliably list variable names
627
- - SQUASH
628
- - config: add options to list only variable names
629
-
630
- "git config --list" output was hard to parse when values consist of
631
- multiple lines. Introduce a way to show only the keys.
632
-
633
- Adding a single --name-only option may be a better way to go than
634
- adding two new options.
635
-
636
- Expecting a reroll.
637
-
638
-
639
-* kk/log-merges-config (2015-04-21) 5 commits
640
- - bash-completion: add support for git-log --merges= and log.merges
641
- - t4202-log: add tests for --merges=
642
- - Documentation: add git-log --merges= option and log.merges config. var
643
- - log: honor log.merges= option
644
- - revision: add --merges={show|only|hide} option
645
-
646
- "git log" (but not other commands in the "log" family) learned to
647
- pay attention to the log.merges configuration variable that can be
648
- set to "show" (the normal behaviour), "only" (hide non-merge
649
- commits), or "hide" (hide merge commits). --merges=(show|only|hide)
650
- can be used to override the setting from the command line.
651
-
652
- The documentation may need to be updated once more ($gmane/267250).
653
- Waiting for a reroll.
654
-
655
-
656
-* mg/httpd-tests-update-for-apache-2.4 (2015-04-08) 2 commits
657
- - t/lib-git-svn: check same httpd module dirs as lib-httpd
658
- - t/lib-httpd: load mod_unixd
659
-
660
- This is the first two commits in a three-patch series $gmane/266962
661
- Will be rerolled.
662
- with updated log message ($gmane/268061).
663
-
664
-
665
-* mh/numparse (2015-03-19) 14 commits
666
- . diff_opt_parse(): use convert_i() when handling --abbrev=<num>
667
- . diff_opt_parse(): use convert_i() when handling "-l<num>"
668
- . opt_arg(): simplify pointer handling
669
- . opt_arg(): report errors parsing option values
670
- . opt_arg(): use convert_i() in implementation
671
- . opt_arg(): val is always non-NULL
672
- . builtin_diff(): detect errors when parsing --unified argument
673
- . handle_revision_opt(): use convert_ui() when handling "--abbrev="
674
- . strtoul_ui(), strtol_i(): remove functions
675
- . handle_revision_opt(): use convert_i() when handling "-<digit>"
676
- . handle_revision_opt(): use skip_prefix() in many places
677
- . write_subdirectory(): use convert_ui() for parsing mode
678
- . cacheinfo_callback(): use convert_ui() when handling "--cacheinfo"
679
- . numparse: new module for parsing integral numbers
680
-
681
- Many codepaths use unchecked use of strtol() and friends (or even
682
- worse, atoi()). Introduce a set of wrappers that try to be more
683
- careful.
684
-
685
- Expecting a reroll.
686
- ($gmane/268058).
687
-
688
-
689
-* nd/list-files (2015-02-09) 21 commits
690
- - t3080: tests for git-list-files
691
- - list-files: -M aka diff-cached
692
- - list-files -F: show submodules with the new indicator '&'
693
- - list-files: add -F/--classify
694
- - list-files: show directories as well as files
695
- - list-files: do not show duplicate cached entries
696
- - list-files: sort output and remove duplicates
697
- - list-files: add -t back
698
- - list-files: add -1 short for --no-column
699
- - list-files: add -R/--recursive short for --max-depth=-1
700
- - list-files: -u does not imply showing stages
701
- - list-files: make alias 'ls' default to 'list-files'
702
- - list-files: a user friendly version of ls-files and more
703
- - ls-files: support --max-depth
704
- - ls-files: add --column
705
- - ls-files: add --color to highlight file names
706
- - ls-files: buffer full item in strbuf before printing
707
- - ls_colors.c: highlight submodules like directories
708
- - ls_colors.c: add a function to color a file name
709
- - ls_colors.c: parse color.ls.* from config file
710
- - ls_colors.c: add $LS_COLORS parsing code
711
-
712
- A new "git list-files" Porcelain command, "ls-files" with bells and
713
- whistles.
714
-
715
- Reroll to base on wt-status work ($gmane/265142) has seen some
716
- positive discussions.
717
-
718
- Waiting for a further polished reroll ($gmane/265534).
616
+ ($gmane/273928)
617
618
619
* jc/diff-b-m (2015-02-23) 5 commits
@@ -734,9 +632,9 @@ of the repositories listed at
632
633
634
* pw/remote-set-url-fetch (2014-11-26) 1 commit
737
- - remote: add --fetch and --both options to set-url
635
+ . remote: add --fetch and --both options to set-url
636
739
- Expecting a reroll.
637
+ Ejected.
638
639
640
* tr/remerge-diff (2014-11-10) 9 commits
@@ -781,70 +679,104 @@ of the repositories listed at
679
--------------------------------------------------
680
[Cooking]
681
784
-* dt/reflog-tests (2015-07-28) 2 commits
785
- (merged to 'next' on 2015-08-03 at 9d2fa1a)
786
- + tests: remove some direct access to .git/logs
787
- + t/t7509: remove unnecessary manipulation of reflog
682
+* sg/config-name-only (2015-08-10) 2 commits
683
+ (merged to 'next' on 2015-08-12 at c658fe4)
684
+ + completion: list variable names reliably with 'git config --name-only'
685
+ + config: add '--name-only' option to list only variable names
686
789
- Tests that assume how reflogs are represented on the filesystem too
790
- much have been corrected.
687
+ "git config --list" output was hard to parse when values consist of
688
+ multiple lines. "--name-only" option is added to help this.
689
690
Will merge to 'master'.
691
692
795
-* dt/unpack-trees-cache-tree-revalidate (2015-07-28) 1 commit
796
- (merged to 'next' on 2015-08-03 at 5b0d620)
797
- + unpack-trees: populate cache-tree on successful merge
693
+* mh/tempfile (2015-08-12) 16 commits
694
+ (merged to 'next' on 2015-08-12 at 80efcb7)
695
+ + credential-cache--daemon: use tempfile module
696
+ + credential-cache--daemon: delete socket from main()
697
+ + gc: use tempfile module to handle gc.pid file
698
+ + lock_repo_for_gc(): compute the path to "gc.pid" only once
699
+ + diff: use tempfile module
700
+ + setup_temporary_shallow(): use tempfile module
701
+ + write_shared_index(): use tempfile module
702
+ + register_tempfile(): new function to handle an existing temporary file
703
+ + tempfile: add several functions for creating temporary files
704
+ + prepare_tempfile_object(): new function, extracted from create_tempfile()
705
+ + tempfile: a new module for handling temporary files
706
+ + commit_lock_file(): use get_locked_file_path()
707
+ + lockfile: add accessor get_lock_file_path()
708
+ + lockfile: add accessors get_lock_file_fd() and get_lock_file_fp()
709
+ + create_bundle(): duplicate file descriptor to avoid closing it twice
710
+ + lockfile: move documentation to lockfile.h and lockfile.c
711
+
712
+ The "lockfile" API has been rebuilt on top of a new "tempfile" API.
713
799
- The code to perform multi-tree merges has been taught to repopulate
800
- the cache-tree upon a successful merge into the index, so that
801
- subsequent "diff-index --cached" (hence "status") and "write-tree"
802
- (hence "commit") will go faster.
714
+ Will merge to 'master'.
715
804
- The same logic in "git checkout" may now be removed, but that is a
805
- separate issue.
716
+
717
+* jh/strbuf-read-use-read-in-full (2015-08-10) 1 commit
718
+ (merged to 'next' on 2015-08-12 at db16247)
719
+ + strbuf_read(): skip unnecessary strbuf_grow() at eof
720
+
721
+ strbuf_read() used to have one extra iteration (and an unnecessary
722
+ strbuf_grow() of 8kB), which was eliminated.
723
+
724
+ Will merge to 'master'.
725
+
726
+
727
+* sb/check-return-from-read-ref (2015-08-03) 1 commit
728
+ (merged to 'next' on 2015-08-12 at 4a1c801)
729
+ + transport-helper: die on errors reading refs.
730
731
Will merge to 'master'.
732
733
810
-* jk/negative-hiderefs (2015-07-28) 2 commits
811
- - refs: support negative transfer.hideRefs
812
- - docs/config.txt: reorder hideRefs config
734
+* jk/negative-hiderefs (2015-08-07) 2 commits
735
+ (merged to 'next' on 2015-08-12 at bdc478d)
736
+ + refs: support negative transfer.hideRefs
737
+ + docs/config.txt: reorder hideRefs config
738
814
- Allow negative !ref entry in multi-value transfer.hideRefs
815
- configuration to say "don't hide this one".
739
+ A negative !ref entry in multi-value transfer.hideRefs
740
+ configuration can be used to say "don't hide this one".
741
817
- An update to test coming?
742
+ Will merge to 'master'.
743
744
745
* mh/get-remote-group-fix (2015-07-28) 4 commits
821
- - get_remote_group(): use skip_prefix()
822
- - get_remote_group(): eliminate superfluous call to strcspn()
823
- - get_remote_group(): rename local variable "space" to "wordlen"
824
- - get_remote_group(): handle remotes with single-character names
746
+ (merged to 'next' on 2015-08-12 at b77820e)
747
+ + get_remote_group(): use skip_prefix()
748
+ + get_remote_group(): eliminate superfluous call to strcspn()
749
+ + get_remote_group(): rename local variable "space" to "wordlen"
750
+ + get_remote_group(): handle remotes with single-character names
751
752
An off-by-one error made "git remote" to mishandle a remote with a
753
single letter nickname.
754
829
- Will merge to 'next'.
755
+ Will merge to 'master'.
756
757
758
* ta/docfix-index-format-tech (2015-07-28) 1 commit
833
- - typofix for index-format.txt
759
+ (merged to 'next' on 2015-08-12 at 662d88a)
760
+ + typofix for index-format.txt
761
835
- Will merge to 'next'.
762
+ Will merge to 'master'.
763
764
838
-* dt/notes-multiple (2015-08-03) 2 commits
839
- - notes: handle multiple worktrees
840
- - worktrees: add find_shared_symref
841
- (this branch uses es/worktree-add and es/worktree-add-cleanup.)
765
+* dt/notes-multiple (2015-08-11) 2 commits
766
+ (merged to 'next' on 2015-08-12 at 0052055)
767
+ + notes: handle multiple worktrees
768
+ + worktrees: add find_shared_symref
769
843
- Forbid simultaneous "notes merge" to happen for the same ref in
844
- refs/notes/* when linked worktree is used.
770
+ When linked worktree is used, simultaneous "notes merge" instances
771
+ for the same ref in refs/notes/* are prevented from stomping on
772
+ each other.
773
+
774
+ Will merge to 'master'.
775
776
847
-* dt/refs-pseudo (2015-07-31) 5 commits
777
+* dt/refs-pseudo (2015-08-11) 6 commits
778
+ (merged to 'next' on 2015-08-12 at 7078eb6)
779
+ + pseudoref: check return values from read_ref()
780
(merged to 'next' on 2015-08-03 at 3eafd33)
781
+ sequencer: replace write_cherry_pick_head with update_ref
782
+ bisect: use update_ref
@@ -861,97 +793,22 @@ of the repositories listed at
793
794
795
* dt/untracked-sparse (2015-07-31) 1 commit
864
- - untracked-cache: support sparse checkout
796
+ (merged to 'next' on 2015-08-12 at 234434d)
797
+ + untracked-cache: support sparse checkout
798
+ (this branch is used by dt/untracked-subdir.)
799
800
Allow untracked cache (experimental) to be used when sparse
801
checkout (experimental) is also in use.
802
869
-
870
-* pt/am-builtin-fix (2015-07-28) 1 commit
871
- - am: let command-line options override saved options
872
- (this branch uses pt/am-builtin.)
873
-
874
- With "git am --options" followed by "git am --other-options", the
875
- options given in a later invocation should override the initial
876
- options for a single invocation, but the rewritten "git am" didn't.
877
-
878
- Will merge into pt/am-builtin topic.
879
-
880
- Expecting a reroll.
881
-
882
-
883
-* sb/parse-options-codeformat (2015-07-29) 1 commit
884
- (merged to 'next' on 2015-08-03 at f81993b)
885
- + parse-options: align curly braces for all options
886
-
887
- Will merge to 'master'.
888
-
889
-
890
-* sb/remove-unused-var-from-builtin-add (2015-07-31) 1 commit
891
- (merged to 'next' on 2015-08-03 at f5e568e)
892
- + add: remove dead code
893
-
803
Will merge to 'master'.
804
805
806
* kd/pull-rebase-autostash (2015-07-22) 1 commit
898
- - pull: allow dirty tree when rebase.autostash enabled
899
-
900
- Teach "git pull --rebase" to pay attention to rebase.autostash
901
- configuration.
902
-
903
- Will merge to 'next'.
807
+ (merged to 'next' on 2015-08-12 at de88e8e)
808
+ + pull: allow dirty tree when rebase.autostash enabled
809
905
-
906
-* es/worktree-add (2015-07-20) 5 commits
907
- (merged to 'next' on 2015-08-03 at 9771a44)
908
- + config: rename "gc.pruneWorktreesExpire" to "gc.worktreePruneExpire"
909
- + Documentation/git-worktree: wordsmith worktree-related manpages
910
- + Documentation/config: fix stale "git prune --worktree" reference
911
- + Documentation/git-worktree: fix incorrect reference to file "locked"
912
- + Documentation/git-worktree: consistently use term "linked working tree"
913
- (this branch is used by dt/notes-multiple and es/worktree-add-cleanup.)
914
-
915
- Originally merged to 'next' on 2015-07-20
916
-
917
- Remove remaining cruft from "git checkout --to", which
918
- transitioned to "git worktree add".
919
-
920
- Will merge to 'master'.
921
-
922
-
923
-* es/worktree-add-cleanup (2015-07-28) 24 commits
924
- - Documentation/config: mention "now" and "never" for 'expire' settings
925
- - Documentation/git-worktree: fix broken 'linkgit' invocation
926
- - checkout: drop intimate knowledge of newly created worktree
927
- - worktree: populate via "git reset --hard" rather than "git checkout"
928
- - worktree: avoid resolving HEAD unnecessarily
929
- - worktree: make setup of new HEAD distinct from worktree population
930
- - worktree: detect branch-name/detached and error conditions locally
931
- - worktree: add_worktree: construct worktree-population command locally
932
- - worktree: elucidate environment variables intended for child processes
933
- - worktree: make branch creation distinct from worktree population
934
- - worktree: add: suppress auto-vivication with --detach and no <branch>
935
- - worktree: make --detach mutually exclusive with -b/-B
936
- - worktree: introduce options container
937
- - worktree: simplify new branch (-b/-B) option checking
938
- - worktree: improve worktree setup message
939
- - branch: publish die_if_checked_out()
940
- - checkout: teach check_linked_checkout() about symbolic link HEAD
941
- - checkout: check_linked_checkout: simplify symref parsing
942
- - checkout: check_linked_checkout: improve "already checked out" aesthetic
943
- - checkout: generalize die_if_checked_out() branch name argument
944
- - checkout: die_if_checked_out: simplify strbuf management
945
- - checkout: improve die_if_checked_out() robustness
946
- - checkout: name check_linked_checkouts() more meaningfully
947
- - checkout: avoid resolving HEAD unnecessarily
948
- (this branch is used by dt/notes-multiple; uses es/worktree-add.)
949
-
950
- Originally merged to 'next' on 2015-07-29
951
-
952
- Remove the "new-worktree-mode" hack in "checkout" that was added in
953
- nd/multiple-work-trees topic by updating the implementation of new
954
- "worktree add".
810
+ "git pull --rebase" has been taught to pay attention to
811
+ rebase.autostash configuration.
812
813
Will merge to 'master'.
814
@@ -978,79 +835,6 @@ of the repositories listed at
835
series or two.
836
837
981
-* pt/am-builtin (2015-07-20) 46 commits
982
- - builtin-am: remove redirection to git-am.sh
983
- - builtin-am: check for valid committer ident
984
- - builtin-am: implement legacy -b/--binary option
985
- - builtin-am: implement -i/--interactive
986
- - builtin-am: support and auto-detect mercurial patches
987
- - builtin-am: support and auto-detect StGit series files
988
- - builtin-am: support and auto-detect StGit patches
989
- - builtin-am: rerere support
990
- - builtin-am: invoke post-applypatch hook
991
- - builtin-am: invoke pre-applypatch hook
992
- - builtin-am: invoke applypatch-msg hook
993
- - builtin-am: support automatic notes copying
994
- - builtin-am: invoke post-rewrite hook
995
- - builtin-am: implement -S/--gpg-sign, commit.gpgsign
996
- - builtin-am: implement --committer-date-is-author-date
997
- - builtin-am: implement --ignore-date
998
- - builtin-am: pass git-apply's options to git-apply
999
- - builtin-am: implement --[no-]scissors
1000
- - builtin-am: support --keep-cr, am.keepcr
1001
- - builtin-am: implement --[no-]message-id, am.messageid
1002
- - builtin-am: implement -k/--keep, --keep-non-patch
1003
- - builtin-am: implement -u/--utf8
1004
- - builtin-am: handle stray state directory
1005
- - builtin-am: bypass git-mailinfo when --rebasing
1006
- - builtin-am: implement --rebasing mode
1007
- - builtin-am: implement --3way, am.threeWay
1008
- - cache-tree: introduce write_index_as_tree()
1009
- - builtin-am: implement -s/--signoff
1010
- - builtin-am: exit with user friendly message on failure
1011
- - builtin-am: implement -q/--quiet
1012
- - builtin-am: reject patches when there's a session in progress
1013
- - builtin-am: implement --abort
1014
- - builtin-am: implement --skip
1015
- - builtin-am: don't parse mail when resuming
1016
- - builtin-am: implement --resolved/--continue
1017
- - builtin-am: refuse to apply patches if index is dirty
1018
- - builtin-am: implement committing applied patch
1019
- - builtin-am: apply patch with git-apply
1020
- - builtin-am: extract patch and commit info with git-mailinfo
1021
- - builtin-am: auto-detect mbox patches
1022
- - builtin-am: split out mbox/maildir patches with git-mailsplit
1023
- - builtin-am: implement patch queue mechanism
1024
- - builtin-am: implement skeletal builtin am
1025
- - wrapper: implement xfopen()
1026
- - wrapper: implement xopen()
1027
- - Merge branch 'pt/pull-builtin' into pt/am-builtin
1028
- (this branch is used by pt/am-builtin-fix.)
1029
-
1030
- Originally merged to 'next' on 2015-07-23
1031
-
1032
- Rewrite "am" in "C".
1033
-
1034
- Almost there.
1035
-
1036
-
1037
-* ad/bisect-cleanup (2015-08-03) 6 commits
1038
- (merged to 'next' on 2015-08-03 at 13b9314)
1039
- + bisect: don't mix option parsing and non-trivial code
1040
- + bisect: simplify the addition of new bisect terms
1041
- + bisect: replace hardcoded "bad|good" by variables
1042
- + Documentation/bisect: revise overall content
1043
- + Documentation/bisect: move getting help section to the end
1044
- + bisect: correction of typo
1045
- (this branch is used by ad/bisect-terms)
1046
-
1047
- Originally merged to 'next' on 2015-07-09
1048
-
1049
- Code and documentation clean-up to "git bisect".
1050
-
1051
- Will merge to 'master'.
1052
-
1053
-
838
* jc/rerere (2015-07-30) 21 commits
839
- rerere: un-nest merge() further
840
- rerere: use "struct rerere_id" instead of "char *" for conflict ID
@@ -1148,33 +932,3 @@ of the repositories listed at
932
933
Does not quite fix ($gmane/267614).
934
Will discard.
1151
-
1152
-
1153
-* mm/for-each-ref-fixup (2015-08-03) 11 commits
1154
- (merged to 'next' on 2015-08-03 at d9e94b9)
1155
- + for-each-ref: add '--contains' option
1156
- + ref-filter: implement '--contains' option
1157
- + parse-options.h: add macros for '--contains' option
1158
- + parse-option: rename parse_opt_with_commit()
1159
- + for-each-ref: add '--merged' and '--no-merged' options
1160
- + ref-filter: implement '--merged' and '--no-merged' options
1161
- + ref-filter: add parse_opt_merge_filter()
1162
- + for-each-ref: add '--points-at' option
1163
- + ref-filter: implement '--points-at' option
1164
- + tag: libify parse_opt_points_at()
1165
- + t6302: for-each-ref tests for ref-filter APIs
1166
-
1167
- Drop; has been squashed.
1168
-
1169
-
1170
-
1171
-* rj/bisect-terms-fixup (2015-08-03) 4 commits
1172
- - bisect: allow setting any user-specified in 'git bisect start'
1173
- - bisect: add 'git bisect terms' to view the current terms
1174
- - bisect: add the terms old/new
1175
- - bisect: sanity check on terms
1176
- (this branch uses ad/bisect-cleanup.)
1177
-
1178
- Will squash into ad/bisect-cleanup.
1179
-
1180
-