What's cooking (2014/01 #04)

Junio C Hamano committed Jan 22, 2014 at 14:45 UTC 73f75bc00ceac3ada5efdb558a8467e676c7c4bb
1 file changed +347 -243
whats-cooking.txt
+347 -243
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Jan 2014, #03; Thu, 16)
4 -X-master-at: 14598b907008dc9952428662a30ecfd74dc90a79
5 -X-next-at: b139ac2589b15d55cd9fa5c6957da44b150d0737
3 +Subject: What's cooking in git.git (Jan 2014, #04; Wed, 22)
4 +X-master-at: f21e1c5d36cfbbff753cec652c21a88a129f1a27
5 +X-next-at: 8e6341d90183123bf2e9368ab83d6382c9846761
6
7 -What's cooking in git.git (Jan 2014, #03; Thu, 16)
7 +What's cooking in git.git (Jan 2014, #04; Wed, 22)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -24,183 +24,237 @@ of the repositories listed at
24 --------------------------------------------------
25 [Graduated to "master"]
26
27 -* br/sha1-name-40-hex-no-disambiguation (2014-01-07) 1 commit
28 - (merged to 'next' on 2014-01-10 at 2a0973b)
29 - + sha1_name: don't resolve refs when core.warnambiguousrefs is false
30 - (this branch is used by jk/warn-on-object-refname-ambiguity.)
31 -
32 - When parsing a 40-hex string into the object name, the string is
33 - checked to see if it can be interpreted as a ref so that a warning
34 - can be given for ambiguity. The code kicked in even when the
35 - core.warnambiguousrefs is set to false to squelch this warning, in
36 - which case the cycles spent to look at the ref namespace were an
37 - expensive no-op, as the result was discarded without being used.
38 -
39 -
40 -* jk/pull-rebase-using-fork-point (2014-01-09) 1 commit
41 - (merged to 'next' on 2014-01-10 at e86e59d)
42 - + rebase: fix fork-point with zero arguments
43 -
44 -
45 -* jl/submodule-mv-checkout-caveat (2014-01-07) 2 commits
46 - (merged to 'next' on 2014-01-10 at 8d3953c)
47 - + rm: better document side effects when removing a submodule
48 - + mv: better document side effects when moving a submodule
49 -
50 - With a submodule that was initialized in an old fashioned way
51 - without gitlinks, switching branches in the superproject between
52 - the one with and without the submodule may leave the submodule
53 - working tree with its embedded repository behind, as there may be
54 - unexpendable state there. Document and warn users about this.
55 -
56 -
57 -* jn/pager-lv-default-env (2014-01-07) 1 commit
58 - (merged to 'next' on 2014-01-10 at 22d4755)
59 - + pager: set LV=-c alongside LESS=FRSX
27 +* fp/submodule-checkout-mode (2014-01-07) 1 commit
28 + (merged to 'next' on 2014-01-10 at 647ba9b)
29 + + git-submodule.sh: 'checkout' is a valid update mode
30 + (this branch is used by wk/submodule-on-branch.)
31
61 - Just like we give a reasonable default for "less" via the LESS
62 - environment variable, specify a reasonable default for "lv" via the
63 - "LV" environment variable when spawning the pager.
32 + "submodule.*.update=checkout", when propagated from .gitmodules to
33 + .git/config, turned into a "submodule.*.update=none", which did not
34 + make much sense.
35
36
66 -* mh/shorten-unambigous-ref (2014-01-09) 3 commits
67 - + shorten_unambiguous_ref(): tighten up pointer arithmetic
68 - + gen_scanf_fmt(): delete function and use snprintf() instead
69 - + shorten_unambiguous_ref(): introduce a new local variable
37 +* nd/shallow-clone (2014-01-09) 31 commits
38 + (merged to 'next' on 2014-01-09 at 6608634)
39 + + t5537: fix incorrect expectation in test case 10
40 + (merged to 'next' on 2014-01-06 at 3dc7fab)
41 + + shallow: remove unused code
42 + + send-pack.c: mark a file-local function static
43 + (merged to 'next' on 2014-01-03 at a776065)
44 + + git-clone.txt: remove shallow clone limitations
45 + + prune: clean .git/shallow after pruning objects
46 + + clone: use git protocol for cloning shallow repo locally
47 + + send-pack: support pushing from a shallow clone via http
48 + + receive-pack: support pushing to a shallow clone via http
49 + + smart-http: support shallow fetch/clone
50 + + remote-curl: pass ref SHA-1 to fetch-pack as well
51 + + send-pack: support pushing to a shallow clone
52 + + receive-pack: allow pushes that update .git/shallow
53 + + connected.c: add new variant that runs with --shallow-file
54 + + add GIT_SHALLOW_FILE to propagate --shallow-file to subprocesses
55 + + receive/send-pack: support pushing from a shallow clone
56 + + receive-pack: reorder some code in unpack()
57 + + fetch: add --update-shallow to accept refs that update .git/shallow
58 + + upload-pack: make sure deepening preserves shallow roots
59 + + fetch: support fetching from a shallow repository
60 + + clone: support remote shallow repository
61 + + fetch-pack.h: one statement per bitfield declaration
62 + + fetch-pack.c: move shallow update code out of fetch_pack()
63 + + shallow.c: steps 6 and 7 to select new commits for .git/shallow
64 + + shallow.c: the 8 steps to select new commits for .git/shallow
65 + + shallow.c: extend setup_*_shallow() to accept extra shallow commits
66 + + connect.c: teach get_remote_heads to parse "shallow" lines
67 + + make the sender advertise shallow commits to the receiver
68 + + clone: prevent --reference to a shallow repository
69 + + send-pack: forbid pushing from a shallow repository
70 + + remote.h: replace struct extra_have_objects with struct sha1_array
71 + + transport.h: remove send_pack prototype, already defined in send-pack.h
72
73 + Fetching from a shallow-cloned repository used to be forbidden,
74 + primarily because the codepaths involved were not carefully vetted
75 + and we did not bother supporting such usage. This attempts to allow
76 + object transfer out of a shallow-cloned repository in a controlled
77 + way (i.e. the receiver become a shallow repository with truncated
78 + history).
79
72 -* mm/mv-file-to-no-such-dir-with-slash (2014-01-10) 1 commit
73 - + mv: let 'git mv file no-such-dir/' error out on Windows, too
80 +--------------------------------------------------
81 +[New Topics]
82
75 - Finishing touches to a topic that has already been merged to 'master'.
83 +* jn/ignore-doc (2014-01-16) 1 commit
84 + (merged to 'next' on 2014-01-22 at a07ac63)
85 + + gitignore doc: add global gitignore to synopsis
86
87 + Explicitly list $HOME/.config/git/ignore as one of the places you
88 + can use to keep ignore patterns that depend on your personal choice
89 + of tools, e.g. *~ for Emacs users.
90
78 -* ow/stash-with-ifs (2014-01-07) 1 commit
79 - (merged to 'next' on 2014-01-10 at 4fc9bdb)
80 - + stash: handle specifying stashes with $IFS
91 + Will merge to 'master'.
92
82 - The implementation of 'git stash $cmd "stash@{...}"' did not quote
83 - the stash argument properly and left it split at IFS whitespace.
93
94 +* rk/send-email-ssl-cert (2014-01-16) 1 commit
95 + (merged to 'next' on 2014-01-22 at 2fb13f2)
96 + + send-email: /etc/ssl/certs/ directory may not be usable as ca_path
97
86 -* rr/completion-format-coverletter (2014-01-07) 1 commit
87 - (merged to 'next' on 2014-01-10 at d2dbc9d)
88 - + completion: complete format.coverLetter
98 + The "if /etc/ssl/certs/ directory exists, explicitly tell the
99 + library to use it as SSL_ca_path" blind-defaulting in "git
100 + send-email" broke platforms where /etc/ssl/certs/ directory exists,
101 + but it cannot used as SSL_ca_path (e.g. Fedora rawhide). Fix it by
102 + not specifying any SSL_ca_path/SSL_ca_file but still asking for
103 + peer verification in such a case.
104
90 - The bash/zsh completion code did not know about format.coverLetter
91 - among many format.* configuration variables.
105 + Will merge to 'master'.
106
93 ---------------------------------------------------
94 -[New Topics]
107
96 -* ab/subtree-doc (2014-01-13) 1 commit
97 - - subtree: fix argument validation in add/pull/push
108 +* ef/mingw-write (2014-01-17) 2 commits
109 + (merged to 'next' on 2014-01-22 at b9ddab2)
110 + + mingw: remove mingw_write
111 + + prefer xwrite instead of write
112
99 - Will merge to 'next'.
113 + Will merge to 'master'.
114
115
102 -* jk/complete-merge-base (2014-01-13) 2 commits
103 - - completion: handle --[no-]fork-point options to git-rebase
104 - - completion: complete merge-base options
116 +* jk/branch-at-publish-rebased (2014-01-17) 5 commits
117 + - t1507 (rev-parse-upstream): fix typo in test title
118 + - implement @{publish} shorthand
119 + - branch_get: provide per-branch pushremote pointers
120 + - branch_get: return early on error
121 + - sha1_name: refactor upstream_mark
122 + (this branch uses jk/interpret-branch-name-fix.)
123
106 - Will merge to 'next'.
124 + Give an easier access to the tracking branches from "other" side in
125 + a triangular workflow by introducing B@{publish} that works in a
126 + similar way to how B@{upstream} does.
127
128
109 -* po/everyday-doc (2014-01-13) 1 commit
110 - - Make 'git help everyday' work
129 +* jk/color-for-more-pagers (2014-01-17) 4 commits
130 + - pager: disable colors for some known-bad configurations
131 + - DONOTMERGE: needs matching change to git-sh-setup
132 + - setup_pager: set MORE=R
133 + - setup_pager: refactor LESS/LV environment setting
134
135
113 -* rb/merge-prepare-commit-msg-hook (2014-01-10) 4 commits
114 - - merge: drop unused arg from abort_commit method signature
115 - - merge: make prepare_to_commit responsible for write_merge_state
116 - - t7505: ensure cleanup after hook blocks merge
117 - - t7505: add missing &&
136 +* jk/diff-filespec-cleanup (2014-01-17) 5 commits
137 + (merged to 'next' on 2014-01-22 at fb26e43)
138 + + diff_filespec: use only 2 bits for is_binary flag
139 + + diff_filespec: reorder is_binary field
140 + + diff_filespec: drop xfrm_flags field
141 + + diff_filespec: drop funcname_pattern_ident field
142 + + diff_filespec: reorder dirty_submodule macro definitions
143
119 - Expose more merge states (e.g. $GIT_DIR/MERGE_MODE) to hooks that
120 - run during "git merge". The log stressed too much on one hook,
121 - prepare-commit-msg, but it would equally apply to other hooks like
122 - post-merge, I think.
144 + Will merge to 'master'.
145
124 - Waiting to give a chance to reroll.
146
147 +* cc/interpret-trailers (2014-01-21) 17 commits
148 + - DONOTMERGE: style issues, unused funcs, etc.
149 + - trailer: add tests for commands using env variables
150 + - trailer: set author and committer env variables
151 + - trailer: add tests for trailer command
152 + - trailer: execute command from 'trailer.<name>.command'
153 + - strbuf: add strbuf_replace()
154 + - trailer: add new_trailer_item() function
155 + - trailer: if no input file is passed, read from stdin
156 + - trailer: add tests for "git interpret-trailers"
157 + - trailer: add interpret-trailers command
158 + - trailer: put all the processing together and print
159 + - trailer: parse trailers from input file
160 + - strbuf: add strbuf_isspace()
161 + - trailer: process command line trailer arguments
162 + - trailer: read and process config information
163 + - trailer: process trailers from file and arguments
164 + - Add data structures and basic functions for commit trailers
165
127 -* bl/blame-full-history (2014-01-14) 1 commit
128 - - blame: new option --prefer-first to better handle merged cherry-picks
166
167 +* dk/blame-janitorial (2014-01-22) 2 commits
168 + - Eliminate same_suspect function in builtin/blame.c
169 + - builtin/blame.c: struct blame_entry does not need a prev link
170
131 -* da/pull-ff-configuration (2014-01-15) 2 commits
132 - - pull: add --ff-only to the help text
133 - - pull: add pull.ff configuration
171
135 - Will merge to 'next'.
172 +* jc/parse-options-humint (2014-01-22) 2 commits
173 + - repack: accept larger window-memory and max-pack-size
174 + - parse-options: refactor human-friendly-integer parser out of pack-objects
175
176 + "git repack --max-pack-size=8g" stopped being parsed correctly when
177 + the command was reimplemented in C.
178
138 -* jc/maint-pull-docfix (2014-01-14) 2 commits
139 - - Documentation: "git pull" does not have the "-m" option
140 - - Merge branch 'jc/maint-pull-docfix-for-409b8d82' into jc/maint-pull-docfix
141 - (this branch uses jc/maint-pull-docfix-for-409b8d82.)
179
143 - Will merge to 'next'.
180 +* jk/mark-edges-uninteresting (2014-01-21) 2 commits
181 + (merged to 'next' on 2014-01-22 at d8807c4)
182 + + list-objects: only look at cmdline trees with edge_hint
183 + + t/perf: time rev-list with UNINTERESTING commits
184
185 + Fix to regression in v1.8.4.x and later.
186
146 -* jc/maint-pull-docfix-for-409b8d82 (2014-01-14) 1 commit
147 - - Documentation: exclude irrelevant options from "git pull"
148 - (this branch is used by jc/maint-pull-docfix.)
187 + Will merge to 'master'.
188
150 - Will merge to 'next'.
189
190 +* ks/diff-c-with-diff-order (2014-01-21) 4 commits
191 + - combine-diff: combine_diff_path.len is not needed anymore
192 + - combine-diff: Optimize combine_diff_path sets intersection
193 + - diff test: Add tests for combine-diff with orderfile
194 + - diffcore-order: Export generic ordering interface
195
153 -* jc/revision-range-unpeel (2014-01-15) 2 commits
154 - - revision: propagate flag bits from tags to pointees
155 - - revision: mark contents of an uninteresting tree uninteresting
196 + Teach combine-diff to honour the path-output-order imposed by
197 + diffcore-order.
198
157 - "git log --left-right A...B" lost the "leftness" of commits
158 - reachable from A when A is a tag as a side effect of a recent
159 - bugfix. This is a regression in 1.8.4.x series.
199
161 - Will merge to 'next'.
200 +* tr/gitk-doc-range-trace (2014-01-21) 1 commit
201 + (merged to 'next' on 2014-01-22 at 1d93d1d)
202 + + Documentation/gitk: document -L option
203
204 + Will merge to 'master'.
205
164 -* jk/allow-fetch-onelevel-refname (2014-01-15) 1 commit
165 - - fetch-pack: do not filter out one-level refs
206
167 - "git clone" would fail to clone from a repository that has a ref
168 - directly under "refs/", e.g. "refs/stash", because different
169 - validation paths do different things on such a refname. Loosen the
170 - client side's validation to allow such a ref.
207 +* tr/nth-previous-is-a-commit (2014-01-21) 1 commit
208 + (merged to 'next' on 2014-01-22 at 0425887)
209 + + Documentation: @{-N} can refer to a commit
210
172 - Will merge to 'next'.
211 + Will merge to 'master'.
212
213
175 -* jk/interpret-branch-name-fix (2014-01-15) 5 commits
176 - - interpret_branch_name: find all possible @-marks
177 - - interpret_branch_name: avoid @{upstream} past colon
178 - - interpret_branch_name: always respect "namelen" parameter
179 - - interpret_branch_name: rename "cp" variable to "at"
180 - - interpret_branch_name: factor out upstream handling
214 +* pw/git-p4 (2014-01-22) 11 commits
215 + (merged to 'next' on 2014-01-22 at 60489cd)
216 + + git p4 doc: use two-line style for options with multiple spellings
217 + + git p4 test: examine behavior with locked (+l) files
218 + + git p4: fix an error message when "p4 where" fails
219 + + git p4: handle files with wildcards when doing RCS scrubbing
220 + + git p4 test: do not pollute /tmp
221 + + git p4 test: run as user "author"
222 + + git p4 test: is_cli_file_writeable succeeds
223 + + git p4 test: explicitly check p4 wildcard delete
224 + + git p4: work around p4 bug that causes empty symlinks
225 + + git p4 test: ensure p4 symlink parsing works
226 + + git p4 test: wildcards are supported
227
182 - Fix a handful of bugs around interpreting $branch@{upstream}
183 - notation and its lookalike, when $branch part has interesting
184 - characters, e.g. "@", and ":".
228 + Various "git p4" updates.
229
186 - Will merge to 'next'.
230 + Will merge to 'master'.
231
232 +--------------------------------------------------
233 +[Stalled]
234
189 -* mh/attr-macro-doc (2014-01-14) 1 commit
190 - - gitattributes: document more clearly where macros are allowed
235 +* rb/merge-prepare-commit-msg-hook (2014-01-10) 4 commits
236 + - merge: drop unused arg from abort_commit method signature
237 + - merge: make prepare_to_commit responsible for write_merge_state
238 + - t7505: ensure cleanup after hook blocks merge
239 + - t7505: add missing &&
240
192 - Will merge to 'next'.
241 + Expose more merge states (e.g. $GIT_DIR/MERGE_MODE) to hooks that
242 + run during "git merge". The log message stresses too much on one
243 + hook, prepare-commit-msg, but it would equally apply to other hooks
244 + like post-merge, I think.
245
246 + Waiting to give a chance to reroll.
247
195 -* mh/retire-ref-fetch-rules (2014-01-14) 1 commit
196 - - refname_match(): always use the rules in ref_rev_parse_rules
248
198 - Code simplification.
249 +* jl/submodule-recursive-checkout (2013-12-26) 5 commits
250 + - Teach checkout to recursively checkout submodules
251 + - submodule: teach unpack_trees() to update submodules
252 + - submodule: teach unpack_trees() to repopulate submodules
253 + - submodule: teach unpack_trees() to remove submodule contents
254 + - submodule: prepare for recursive checkout of submodules
255
200 - Will merge to 'next'.
256 + Expecting a reroll.
257
202 ---------------------------------------------------
203 -[Stalled]
258
259 * jc/graph-post-root-gap (2013-12-30) 3 commits
260 - WIP: document what we want at the end
@@ -411,6 +465,122 @@ of the repositories listed at
465 --------------------------------------------------
466 [Cooking]
467
468 +* ab/subtree-doc (2014-01-13) 1 commit
469 + (merged to 'next' on 2014-01-22 at e352c75)
470 + + subtree: fix argument validation in add/pull/push
471 +
472 + Will merge to 'master'.
473 +
474 +
475 +* jk/complete-merge-base (2014-01-13) 2 commits
476 + (merged to 'next' on 2014-01-22 at 91c428d)
477 + + completion: handle --[no-]fork-point options to git-rebase
478 + + completion: complete merge-base options
479 +
480 + Will merge to 'master'.
481 +
482 +
483 +* po/everyday-doc (2014-01-13) 1 commit
484 + - Make 'git help everyday' work
485 +
486 +
487 +* bl/blame-full-history (2014-01-14) 1 commit
488 + - blame: new option --prefer-first to better handle merged cherry-picks
489 +
490 + By disabling the tree-same optimization (which is consistent with
491 + the default behaviour of "git log"-family of commands), make "git
492 + blame" sometimes produce different result from the original code.
493 +
494 + Because the "git blame" output can give result for each line from
495 + only one lineage of the history, however, this can be only useful
496 + when you are lucky---unlike "--full-history" of "git log"-family,
497 + where we can show commits from both lineages of histories with an
498 + equal weight. See $gmane/240392 for more detailed discussion.
499 +
500 + Will discard.
501 +
502 +
503 +* da/pull-ff-configuration (2014-01-15) 2 commits
504 + (merged to 'next' on 2014-01-22 at 2686b09)
505 + + pull: add --ff-only to the help text
506 + + pull: add pull.ff configuration
507 +
508 + "git pull" learned to pay attention to pull.ff configuration
509 + variable.
510 +
511 + Will cook in 'next'.
512 +
513 +
514 +* jc/maint-pull-docfix-for-409b8d82 (2014-01-14) 1 commit
515 + + Documentation: exclude irrelevant options from "git pull"
516 + (this branch is used by jc/maint-pull-docfix.)
517 +
518 +
519 +* jc/maint-pull-docfix (2014-01-14) 2 commits
520 + (merged to 'next' on 2014-01-22 at 2e62ef4)
521 + + Documentation: "git pull" does not have the "-m" option
522 + + Merge branch 'jc/maint-pull-docfix-for-409b8d82' into jc/maint-pull-docfix
523 + (this branch uses jc/maint-pull-docfix-for-409b8d82.)
524 +
525 + Will merge to 'master'.
526 +
527 +
528 +* jc/revision-range-unpeel (2014-01-15) 2 commits
529 + (merged to 'next' on 2014-01-22 at ab2a159)
530 + + revision: propagate flag bits from tags to pointees
531 + + revision: mark contents of an uninteresting tree uninteresting
532 +
533 + "git log --left-right A...B" lost the "leftness" of commits
534 + reachable from A when A is a tag as a side effect of a recent
535 + bugfix. This is a regression in 1.8.4.x series.
536 +
537 + Will merge to 'master'.
538 +
539 +
540 +* jk/allow-fetch-onelevel-refname (2014-01-15) 1 commit
541 + (merged to 'next' on 2014-01-22 at 15089b1)
542 + + fetch-pack: do not filter out one-level refs
543 +
544 + "git clone" would fail to clone from a repository that has a ref
545 + directly under "refs/", e.g. "refs/stash", because different
546 + validation paths do different things on such a refname. Loosen the
547 + client side's validation to allow such a ref.
548 +
549 + Will merge to 'master'.
550 +
551 +
552 +* jk/interpret-branch-name-fix (2014-01-15) 5 commits
553 + (merged to 'next' on 2014-01-22 at f113c68)
554 + + interpret_branch_name: find all possible @-marks
555 + + interpret_branch_name: avoid @{upstream} past colon
556 + + interpret_branch_name: always respect "namelen" parameter
557 + + interpret_branch_name: rename "cp" variable to "at"
558 + + interpret_branch_name: factor out upstream handling
559 + (this branch is used by jk/branch-at-publish-rebased.)
560 +
561 + Fix a handful of bugs around interpreting $branch@{upstream}
562 + notation and its lookalike, when $branch part has interesting
563 + characters, e.g. "@", and ":".
564 +
565 + Will merge to 'master'.
566 +
567 +
568 +* mh/attr-macro-doc (2014-01-14) 1 commit
569 + (merged to 'next' on 2014-01-22 at e3ed767)
570 + + gitattributes: document more clearly where macros are allowed
571 +
572 + Will merge to 'master'.
573 +
574 +
575 +* mh/retire-ref-fetch-rules (2014-01-14) 1 commit
576 + (merged to 'next' on 2014-01-22 at 753b1f6)
577 + + refname_match(): always use the rules in ref_rev_parse_rules
578 +
579 + Code simplification.
580 +
581 + Will merge to 'master'.
582 +
583 +
584 * wk/submodule-on-branch (2014-01-16) 6 commits
585 - Documentation: Describe 'submodule update' modes in detail
586 - t7406: Add explicit tests for head attachement after cloning updates
@@ -418,7 +588,6 @@ of the repositories listed at
588 - submodule: Explicit local branch creation in module_clone
589 - submodule: Document module_clone arguments in comments
590 - submodule: Make 'checkout' update_module explicit
421 - (this branch uses fp/submodule-checkout-mode.)
591
592 Makes sure 'submodule update' modes that do not detach HEADs can
593 be used more pleasantly by checking out a concrete branch when
@@ -427,23 +596,7 @@ of the repositories listed at
596 This round seems to be almost ready; further discussions are of
597 course very much welcomed.
598
430 - Will wait for another reroll to fix minor nits, at least.
431 -
432 -
433 -* jk/branch-at-publish (2014-01-13) 6 commits
434 - - t1507 (rev-parse-upstream): fix typo in test title
435 - - implement @{publish} shorthand
436 - - branch_get: provide per-branch pushremote pointers
437 - - branch_get: return early on error
438 - - interpret_branch_name: factor out upstream handling
439 - - sha1_name: refactor upstream_mark
440 -
441 - Give an easier access to the tracking branches from "other" side in
442 - a triangular workflow by introducing B@{publish} that works in a
443 - similar way to how B@{upstream} does.
444 -
445 - Will rebase to share the same change with the
446 - jk/interpret-branch-name-fix topic.
599 + Waiting for another reroll to fix minor nits, at least.
600
601
602 * jk/warn-on-object-refname-ambiguity (2014-01-09) 6 commits
@@ -464,63 +617,47 @@ of the repositories listed at
617 Expecting a reroll.
618
619
467 -* ss/safe-create-leading-dir-with-slash (2014-01-06) 1 commit
468 - - safe_create_leading_directories(): on Windows, \ can separate path components
469 -
470 - Expecting to be rolled into mh/safe-create-leading-directories
471 -
472 -
473 -* fp/submodule-checkout-mode (2014-01-07) 1 commit
474 - (merged to 'next' on 2014-01-10 at 647ba9b)
475 - + git-submodule.sh: 'checkout' is a valid update mode
476 - (this branch is used by wk/submodule-on-branch.)
620 +* ss/safe-create-leading-dir-with-slash (2014-01-22) 1 commit
621 + (merged to 'next' on 2014-01-22 at ca62c45)
622 + + safe_create_leading_directories(): on Windows, \ can separate path components
623 + (this branch uses mh/safe-create-leading-directories.)
624
478 - "submodule.*.update=checkout", when propagated from .gitmodules to
479 - .git/config, turned into a "submodule.*.update=none", which did not
480 - make much sense.
625 + "git clone $origin foo\bar\baz" on Windows failed to create the
626 + leading directories (i.e. a moral-equivalent of "mkdir -p").
627
628 Will merge to 'master'.
629
630
485 -* jl/submodule-recursive-checkout (2013-12-26) 5 commits
486 - - Teach checkout to recursively checkout submodules
487 - - submodule: teach unpack_trees() to update submodules
488 - - submodule: teach unpack_trees() to repopulate submodules
489 - - submodule: teach unpack_trees() to remove submodule contents
490 - - submodule: prepare for recursive checkout of submodules
491 -
492 - Expecting a reroll.
493 -
494 -
495 -* mh/safe-create-leading-directories (2014-01-06) 17 commits
496 - - rename_tmp_log(): on SCLD_VANISHED, retry
497 - - rename_tmp_log(): limit the number of remote_empty_directories() attempts
498 - - rename_tmp_log(): handle a possible mkdir/rmdir race
499 - - rename_ref(): extract function rename_tmp_log()
500 - - remove_dir_recurse(): handle disappearing files and directories
501 - - remove_dir_recurse(): tighten condition for removing unreadable dir
502 - - lock_ref_sha1_basic(): if locking fails with ENOENT, retry
503 - - lock_ref_sha1_basic(): on SCLD_VANISHED, retry
504 - - safe_create_leading_directories(): add new error value SCLD_VANISHED
505 - - cmd_init_db(): when creating directories, handle errors conservatively
506 - - safe_create_leading_directories(): introduce enum for return values
507 - - safe_create_leading_directories(): always restore slash at end of loop
508 - - safe_create_leading_directories(): split on first of multiple slashes
509 - - safe_create_leading_directories(): rename local variable
510 - - safe_create_leading_directories(): add explicit "slash" pointer
511 - - safe_create_leading_directories(): reduce scope of local variable
512 - - safe_create_leading_directories(): fix format of "if" chaining
631 +* mh/safe-create-leading-directories (2014-01-21) 17 commits
632 + (merged to 'next' on 2014-01-22 at ad38e73)
633 + + rename_tmp_log(): on SCLD_VANISHED, retry
634 + + rename_tmp_log(): limit the number of remote_empty_directories() attempts
635 + + rename_tmp_log(): handle a possible mkdir/rmdir race
636 + + rename_ref(): extract function rename_tmp_log()
637 + + remove_dir_recurse(): handle disappearing files and directories
638 + + remove_dir_recurse(): tighten condition for removing unreadable dir
639 + + lock_ref_sha1_basic(): if locking fails with ENOENT, retry
640 + + lock_ref_sha1_basic(): on SCLD_VANISHED, retry
641 + + safe_create_leading_directories(): add new error value SCLD_VANISHED
642 + + cmd_init_db(): when creating directories, handle errors conservatively
643 + + safe_create_leading_directories(): introduce enum for return values
644 + + safe_create_leading_directories(): always restore slash at end of loop
645 + + safe_create_leading_directories(): split on first of multiple slashes
646 + + safe_create_leading_directories(): rename local variable
647 + + safe_create_leading_directories(): add explicit "slash" pointer
648 + + safe_create_leading_directories(): reduce scope of local variable
649 + + safe_create_leading_directories(): fix format of "if" chaining
650 + (this branch is used by ss/safe-create-leading-dir-with-slash.)
651
652 Code clean-up and protection against concurrent write access to the
653 ref namespace.
654
517 - Asked Michael and Sebastian to work together to roll the latter's
518 - "allow passing p\a\t\h to safe_create_leading_dir()" into this.
519 -
520 - Expecting a reroll.
655 + Will merge to 'master'.
656
657
523 -* jk/pack-bitmap (2013-12-30) 21 commits
658 +* jk/pack-bitmap (2014-01-16) 22 commits
659 + (merged to 'next' on 2014-01-16 at ddac2d2)
660 + + do not discard revindex when re-preparing packfiles
661 (merged to 'next' on 2014-01-10 at bdbe0a4)
662 + pack-bitmap: implement optional name_hash cache
663 + t/perf: add tests for pack bitmaps
@@ -566,59 +703,6 @@ of the repositories listed at
703 Will cook in 'next'.
704
705
569 -* nd/shallow-clone (2014-01-09) 31 commits
570 - (merged to 'next' on 2014-01-09 at 6608634)
571 - + t5537: fix incorrect expectation in test case 10
572 - (merged to 'next' on 2014-01-06 at 3dc7fab)
573 - + shallow: remove unused code
574 - + send-pack.c: mark a file-local function static
575 - (merged to 'next' on 2014-01-03 at a776065)
576 - + git-clone.txt: remove shallow clone limitations
577 - + prune: clean .git/shallow after pruning objects
578 - + clone: use git protocol for cloning shallow repo locally
579 - + send-pack: support pushing from a shallow clone via http
580 - + receive-pack: support pushing to a shallow clone via http
581 - + smart-http: support shallow fetch/clone
582 - + remote-curl: pass ref SHA-1 to fetch-pack as well
583 - + send-pack: support pushing to a shallow clone
584 - + receive-pack: allow pushes that update .git/shallow
585 - + connected.c: add new variant that runs with --shallow-file
586 - + add GIT_SHALLOW_FILE to propagate --shallow-file to subprocesses
587 - + receive/send-pack: support pushing from a shallow clone
588 - + receive-pack: reorder some code in unpack()
589 - + fetch: add --update-shallow to accept refs that update .git/shallow
590 - + upload-pack: make sure deepening preserves shallow roots
591 - + fetch: support fetching from a shallow repository
592 - + clone: support remote shallow repository
593 - + fetch-pack.h: one statement per bitfield declaration
594 - + fetch-pack.c: move shallow update code out of fetch_pack()
595 - + shallow.c: steps 6 and 7 to select new commits for .git/shallow
596 - + shallow.c: the 8 steps to select new commits for .git/shallow
597 - + shallow.c: extend setup_*_shallow() to accept extra shallow commits
598 - + connect.c: teach get_remote_heads to parse "shallow" lines
599 - + make the sender advertise shallow commits to the receiver
600 - + clone: prevent --reference to a shallow repository
601 - + send-pack: forbid pushing from a shallow repository
602 - + remote.h: replace struct extra_have_objects with struct sha1_array
603 - + transport.h: remove send_pack prototype, already defined in send-pack.h
604 -
605 - Fetching from a shallow-cloned repository used to be forbidden,
606 - primarily because the codepaths involved were not carefully vetted
607 - and we did not bother supporting such usage. This attempts to allow
608 - object transfer out of a shallow-cloned repository in a controlled
609 - way (i.e. the receiver become a shallow repository with truncated
610 - history).
611 -
612 - Will merge to 'master'.
613 -
614 -
615 -* jn/git-gui-chmod+x (2013-11-25) 1 commit
616 - - git-gui: chmod +x po2msg, windows/git-gui.sh
617 -
618 - Parked here until I get the same change back from the upstream
619 - git-gui tree.
620 -
621 -
706 * jn/gitk-chmod+x (2013-11-25) 1 commit
707 - gitk: chmod +x po2msg
708
@@ -694,3 +778,23 @@ of the repositories listed at
778 + diff: remove "diff-files -q" in a version of Git in a distant future
779
780 Will cook in 'next' until a distant future.
781 +
782 +--------------------------------------------------
783 +[Discarded]
784 +
785 +* jk/branch-at-publish (2014-01-13) 6 commits
786 + . t1507 (rev-parse-upstream): fix typo in test title
787 + . implement @{publish} shorthand
788 + . branch_get: provide per-branch pushremote pointers
789 + . branch_get: return early on error
790 + . interpret_branch_name: factor out upstream handling
791 + . sha1_name: refactor upstream_mark
792 +
793 + Rebased to be jk/branch-at-publish-rebased to share the same change
794 + with the jk/interpret-branch-name-fix topic.
795 +
796 +
797 +* jn/git-gui-chmod+x (2013-11-25) 1 commit
798 + . git-gui: chmod +x po2msg, windows/git-gui.sh
799 +
800 + Now in 'master' from the upstream git-gui repository.