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.