What's cooking (2014/01 #01)

Junio C Hamano committed Jan 6, 2014 at 14:35 UTC 76e84d008cc8307ed70778e83c0d52bd91a22ca5
1 file changed +418 -266
whats-cooking.txt
+418 -266
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Dec 2013, #05; Thu, 26)
4 -X-master-at: 7794a680e63a2a11b73cb1194653662f2769a792
5 -X-next-at: ce5f8720e5a64bacb433bf475a00b1be1182c612
3 +Subject: What's cooking in git.git (Jan 2014, #01; Mon, 6)
4 +X-master-at: 932f7e47699993de0f6ad2af92be613994e40afe
5 +X-next-at: 5ca323a946964afa14ca9712a4b3012b36f33b02
6
7 -What's cooking in git.git (Dec 2013, #05; Thu, 26)
7 +What's cooking in git.git (Jan 2014, #01; Mon, 6)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -16,132 +16,277 @@ of the repositories listed at
16
17 http://git-blame.blogspot.com/p/git-public-repositories.html
18
19 +--------------------------------------------------
20 +[Graduated to "master"]
21 +
22 +* fc/remote-helper-fixes (2013-12-26) 5 commits
23 + (merged to 'next' on 2013-12-26 at ce5f872)
24 + + remote-hg: test 'shared_path' in a moved clone
25 + (merged to 'next' on 2013-12-17 at aa4dc07)
26 + + remote-hg: add tests for special filenames
27 + + remote-hg: fix 'shared path' path
28 + + remote-helpers: add extra safety checks
29 + + remote-hg: avoid buggy strftime()
30 +
31 +
32 +* jc/push-refmap (2013-12-04) 3 commits
33 + (merged to 'next' on 2013-12-12 at 71e358f)
34 + + push: also use "upstream" mapping when pushing a single ref
35 + + push: use remote.$name.push as a refmap
36 + + builtin/push.c: use strbuf instead of manual allocation
37 +
38 + Make "git push origin master" update the same ref that would be
39 + updated by our 'master' when "git push origin" (no refspecs) is run
40 + while the 'master' branch is checked out, which makes "git push"
41 + more symmetric to "git fetch" and more usable for the triangular
42 + workflow.
43 +
44 +
45 +* jk/cat-file-regression-fix (2013-12-12) 2 commits
46 + (merged to 'next' on 2013-12-13 at 3713e01)
47 + + cat-file: handle --batch format with missing type/size
48 + + cat-file: pass expand_data to print_object_or_die
49 +
50 + "git cat-file --batch=", an admittedly useless command, did not
51 + behave very well.
52 +
53 +
54 +* jk/name-pack-after-byte-representation (2013-12-16) 3 commits
55 + (merged to 'next' on 2013-12-17 at 0bc385c)
56 + + pack-objects doc: treat output filename as opaque
57 + (merged to 'next' on 2013-12-09 at 247b2d0)
58 + + pack-objects: name pack files after trailer hash
59 + + sha1write: make buffer const-correct
60 + (this branch is tangled with jk/pack-bitmap.)
61 +
62 + Two packfiles that contain the same set of objects have
63 + traditionally been named identically, but that made repacking a
64 + repository that is already fully packed without any cruft with a
65 + different packing parameter cumbersome. Update the convention to
66 + name the packfile after the bytestream representation of the data,
67 + not after the set of objects in it.
68 +
69 +
70 +* jk/pull-rebase-using-fork-point (2013-12-10) 2 commits
71 + (merged to 'next' on 2013-12-13 at 1862c12)
72 + + rebase: use reflog to find common base with upstream
73 + + pull: use merge-base --fork-point when appropriate
74 +
75 +
76 +* jk/rev-parse-double-dashes (2013-12-09) 2 commits
77 + (merged to 'next' on 2013-12-13 at d26bac7)
78 + + rev-parse: be more careful with munging arguments
79 + + rev-parse: correctly diagnose revision errors before "--"
80 +
81 + "git rev-parse <revs> -- <paths>" did not implement the usual
82 + disambiguation rules the commands in the "git log" family used in
83 + the same way.
84 +
85 +
86 +* js/gnome-keyring (2013-12-16) 1 commit
87 + (merged to 'next' on 2013-12-17 at 422fd61)
88 + + contrib/git-credential-gnome-keyring.c: small stylistic cleanups
89 +
90 + Style fix.
91 +
92 +
93 +* tg/diff-no-index-refactor (2013-12-16) 4 commits
94 + (merged to 'next' on 2013-12-17 at 009d8d8)
95 + + diff: avoid some nesting
96 + + diff: add test for --no-index executed outside repo
97 + (merged to 'next' on 2013-12-13 at 523f7c4)
98 + + diff: don't read index when --no-index is given
99 + + diff: move no-index detection to builtin/diff.c
100 +
101 + "git diff ../else/where/A ../else/where/B" when ../else/where is
102 + clearly outside the repository, and "git diff --no-index A B", do
103 + not have to look at the index at all, but we used to read the index
104 + unconditionally.
105 +
106 +
107 +* zk/difftool-counts (2013-12-16) 2 commits
108 + (merged to 'next' on 2013-12-16 at 0e0d235)
109 + + diff.c: fix some recent whitespace style violations
110 + (merged to 'next' on 2013-12-12 at ba35694)
111 + + difftool: display the number of files in the diff queue in the prompt
112 +
113 + Show the total number of paths and the number of paths shown so far
114 + when "git difftool" prompts to launch an external diff tool, which
115 + would give users some sense of progress.
116 +
117 --------------------------------------------------
118 [New Topics]
119
22 -* bc/log-decoration (2013-12-20) 1 commit
23 - - log: properly handle decorations with chained tags
120 +* ta/format-user-manual-as-an-article (2014-01-06) 1 commit
121 + (merged to 'next' on 2014-01-06 at 37858f6)
122 + + user-manual: improve html and pdf formatting
123
25 - "git log --decorate" did not handle a tag pointed by another tag
26 - nicely.
124 + Update the way the user-manual is formatted via AsciiDoc to save
125 + trees.
126
28 - Will merge to 'next'.
127 + Will merge to 'master'.
128
129
31 -* jh/rlimit-nofile-fallback (2013-12-18) 1 commit
32 - - get_max_fd_limit(): fall back to OPEN_MAX upon getrlimit/sysconf failure
130 +* bm/merge-base-octopus-dedup (2013-12-30) 2 commits
131 + (merged to 'next' on 2014-01-06 at 355d62b)
132 + + merge-base --octopus: reduce the result from get_octopus_merge_bases()
133 + + merge-base: separate "--independent" codepath into its own helper
134
34 - When we figure out how many file descriptors to allocate for
35 - keeping packfiles open, a system with non-working getrlimit() could
36 - cause us to die(), but because we make this call only to get a
37 - rough estimate of how many is available and we do not even attempt
38 - to use up all file descriptors available ourselves, it is nicer to
39 - fall back to a reasonable low value rather than dying.
135 + "git merge-base --octopus" used to leave cleaning up suboptimal
136 + result to the caller, but now it does the clean-up itself.
137
41 - Will merge to 'next'.
138 + Will merge to 'master'.
139
140
44 -* rt/bfg-ad-in-filter-branch-doc (2013-12-18) 1 commit
45 - - docs: add filter-branch notes on The BFG
141 +* jk/test-framework-updates (2014-01-02) 3 commits
142 + (merged to 'next' on 2014-01-06 at f81f373)
143 + + t0000: drop "known breakage" test
144 + + t0000: simplify HARNESS_ACTIVE hack
145 + + t0000: set TEST_OUTPUT_DIRECTORY for sub-tests
146
47 - Will merge to 'next'.
147 + The basic test used to leave unnecessary trash directories in the
148 + t/ directory.
149
150 + Will merge to 'master'.
151
50 -* sb/diff-orderfile-config (2013-12-18) 3 commits
51 - - diff: add diff.orderfile configuration variable
52 - - diff: let "git diff -O" read orderfile from any file and fail properly
53 - - t4056: add new tests for "git diff -O"
152
55 - Allow "git diff -O<file>" to be configured with a new configuration
56 - variable.
153 +* js/lift-parent-count-limit (2013-12-27) 1 commit
154 + (merged to 'next' on 2014-01-06 at b74133c)
155 + + Remove the line length limit for graft files
156
58 - Will merge to 'next'.
157 + There is no reason to have a hardcoded upper limit of the number of
158 + parents for an octopus merge, created via the graft mechanism.
159
160 + Will merge to 'master'.
161
61 -* jc/graph-post-root-gap (2013-12-20) 1 commit
62 - - graph: give an extra gap after showing root commit
162
64 - This was primarily a RFH ($gmane/239580).
163 +* ap/remote-hg-skip-null-bookmarks (2014-01-02) 1 commit
164 + - remote-hg: do not fail on invalid bookmarks
165
166 + Reported to break tests ($gmane/240005)
167 + Expecting a reroll.
168
67 -* nd/daemon-informative-errors-typofix (2013-12-20) 1 commit
68 - - daemon: be strict at parsing parameters --[no-]informative-errors
169
70 - Will merge to 'next'.
170 +* bs/mirbsd (2014-01-02) 1 commit
171 + (merged to 'next' on 2014-01-06 at d5cecbb)
172 + + Add MirBSD support to the build system.
173
174 + Will merge to 'master'.
175
73 -* tm/fetch-prune (2013-12-20) 2 commits
74 - - fetch --prune: run prune before fetching
75 - - fetch --prune: always print header url
176
77 - Fetching 'frotz' branch with "git fetch", while having
78 - 'frotz/nitfol' remote-tracking branch from an earlier fetch, would
79 - error out, primarily because the command has not been told to
80 - remove anything on our side. In such a case, "git fetch --prune"
81 - can be used to remove 'frotz/nitfol' to make room to fetch and
82 - store 'frotz' remote-tracking branch.
177 +* jk/credential-plug-leak (2014-01-02) 1 commit
178 + (merged to 'next' on 2014-01-06 at 88e29a3)
179 + + Revert "prompt: clean up strbuf usage"
180
84 - Will merge to 'next'.
181 + An earlier "clean-up" introduced an unnecessary memory leak.
182
183 + Will merge to 'master'.
184
87 -* jk/oi-delta-base (2013-12-26) 2 commits
88 - - cat-file: provide %(deltabase) batch format
89 - - sha1_object_info_extended: provide delta base sha1s
185
91 - Teach "cat-file --batch" to show delta-base object name for a
92 - packed object that is represented as a delta.
186 +* jk/http-auth-tests-robustify (2014-01-02) 1 commit
187 + (merged to 'next' on 2014-01-06 at 7e87bba)
188 + + use distinct username/password for http auth tests
189
94 - Will merge to 'next'.
190 + Using the same username and password during the tests would not
191 + catch a potential breakage of sending one when we should be sending
192 + the other.
193
194 + Will merge to 'master'.
195
97 -* jk/sha1write-void (2013-12-26) 1 commit
98 - - do not pretend sha1write returns errors
196
100 - Code clean-up.
197 +* km/gc-eperm (2014-01-02) 1 commit
198 + (merged to 'next' on 2014-01-06 at fe107de)
199 + + gc: notice gc processes run by other users
200
102 - Will merge to 'next'.
201 + A "gc" process running as a different user should be able to stop a
202 + new "gc" process from starting.
203
204 + Will merge to 'master'.
205
105 -* jl/submodule-recursive-checkout (2013-12-26) 5 commits
106 - - Teach checkout to recursively checkout submodules
107 - - submodule: teach unpack_trees() to update submodules
108 - - submodule: teach unpack_trees() to repopulate submodules
109 - - submodule: teach unpack_trees() to remove submodule contents
110 - - submodule: prepare for recursive checkout of submodules
206
207 +* rr/completion-branch-config (2014-01-06) 4 commits
208 + (merged to 'next' on 2014-01-06 at ed9eecc)
209 + + completion: fix remote.pushdefault
210 + + completion: fix branch.autosetup(merge|rebase)
211 + + completion: introduce __gitcomp_nl_append ()
212 + + zsh completion: find matching custom bash completion
213
113 -* mh/safe-create-leading-directories (2013-12-26) 5 commits
114 - - rename_ref(): fix a mkdir()/rmdir() race
115 - - safe_create_leading_directories(): fix a mkdir/rmdir race
116 - - safe_create_leading_directories(): add "slash" pointer
117 - - safe_create_leading_directories(): reduce scope of local variable
118 - - safe_create_leading_directories(): modernize format of "if" chaining
214 + Two-level configuration variable names in "branch.*" and "remote.*"
215 + hierarchies whose variables are predominantly three-level where not
216 + completed by hitting a <TAB> in bash and zsh completions.
217
120 - Code clean-up and protection against concurrent write access to the
121 - ref namespace.
218 + Will merge to 'master'.
219
123 - Will merge to 'next'.
220
221 +* ss/builtin-cleanup (2014-01-06) 3 commits
222 + (merged to 'next' on 2014-01-06 at ffcac50)
223 + + builtin/help.c: speed up is_git_command() by checking for builtin commands first
224 + + builtin/help.c: call load_command_list() only when it is needed
225 + + git.c: consistently use the term "builtin" instead of "internal command"
226
126 -* nd/add-empty-fix (2013-12-26) 1 commit
127 - - add: don't complain when adding empty project root
227 + "git help $cmd" unnecessarily enumerated potential command names
228 + from the filesystem, even when $cmd is known to be a built-in.
229
129 - "git add -A" (no other arguments) in a totally empty working tree
130 - used to emit an error.
230 + Ideas for further optimization, primarily by killing the use of
231 + is_in_cmdlist(), were suggested in the discussion, but they can
232 + come as follow-ups on top of this series.
233
132 - Will merge to 'next'.
234 + Will merge to 'master'.
235
236
135 -* nd/commit-tree-constness (2013-12-26) 1 commit
136 - - commit.c: make "tree" a const pointer in commit_tree*()
237 +* ss/safe-create-leading-dir-with-slash (2014-01-06) 1 commit
238 + - safe_create_leading_directories(): on Windows, \ can separate path components
239
138 - Code clean-up.
240
140 - Will merge to 'next'.
241 +* vm/octopus-merge-bases-simplify (2014-01-03) 1 commit
242 + (merged to 'next' on 2014-01-06 at 35df672)
243 + + get_octopus_merge_bases(): cleanup redundant variable
244 +
245 + Will merge to 'master'.
246 +
247 +
248 +* fp/submodule-checkout-mode (2014-01-06) 2 commits
249 + - DONOTMERGE: needs sign-off
250 + - git-submodule.sh: support 'checkout' as a valid update mode
251 +
252 + Need to pick up a rerolled one.
253
254 --------------------------------------------------
255 [Stalled]
256
257 +* jc/graph-post-root-gap (2013-12-30) 3 commits
258 + - WIP: document what we want at the end
259 + - graph: remove unused code a bit
260 + - graph: stuff the current commit into graph->columns[]
261 +
262 + This was primarily a RFH ($gmane/239580).
263 +
264 +
265 +* fc/transport-helper-fixes (2013-12-09) 6 commits
266 + - remote-bzr: support the new 'force' option
267 + - test-hg.sh: tests are now expected to pass
268 + - transport-helper: check for 'forced update' message
269 + - transport-helper: add 'force' to 'export' helpers
270 + - transport-helper: don't update refs in dry-run
271 + - transport-helper: mismerge fix
272 +
273 + Updates transport-helper, fast-import and fast-export to allow the
274 + ref mapping and ref deletion in a way similar to the natively
275 + supported transports.
276 +
277 + Reported to break t5541.
278 + Will hold.
279 +
280 +
281 +* fc/completion (2013-12-09) 1 commit
282 + - completion: fix completion of certain aliases
283 +
284 + SZEDER Gábor noticed that this breaks "git -c var=val alias" and
285 + also suggested a better description of the change.
286 +
287 + Will hold.
288 +
289 +
290 * mo/subtree-split-updates (2013-12-10) 3 commits
291 - subtree: add --edit option
292 - subtree: allow --squash and --message with push
@@ -164,14 +309,14 @@ of the repositories listed at
309 I think a reroll is coming, so this may need to be replaced, but I
310 needed some practice with heavy conflict resolution. It conflicts
311 with two changes to "git add" that have been scheduled for Git 2.0
167 - quite badly, and I think I got the resolution right this time (a
168 - few nights ago I tried and failed and that was why it hasn't been
169 - merged to 'pu' so far).
312 + quite badly, and I think I got the resolution right this time.
313
314
172 -* kb/fast-hashmap (2013-12-18) 18 commits
315 +* kb/fast-hashmap (2014-01-03) 19 commits
316 - hashmap.h: make sure map entries are tightly packed
174 - - hashmap.h: Use 'unsigned int' for hash-codes everywhere
317 + (merged to 'next' on 2014-01-03 at dc85001)
318 + + name-hash: retire unused index_name_exists()
319 + + hashmap.h: Use 'unsigned int' for hash-codes everywhere
320 (merged to 'next' on 2013-12-16 at bff99b1)
321 + Drop unnecessary #includes from test-hashmap
322 + Add test-hashmap to .gitignore
@@ -318,7 +463,146 @@ of the repositories listed at
463 --------------------------------------------------
464 [Cooking]
465
321 -* jk/pack-bitmap (2013-12-26) 23 commits
466 +* bc/log-decoration (2013-12-20) 1 commit
467 + (merged to 'next' on 2014-01-03 at ff8873f)
468 + + log: properly handle decorations with chained tags
469 +
470 + "git log --decorate" did not handle a tag pointed by another tag
471 + nicely.
472 +
473 + Will merge to 'master'.
474 +
475 +
476 +* jh/rlimit-nofile-fallback (2013-12-18) 1 commit
477 + (merged to 'next' on 2014-01-03 at b56ae0c)
478 + + get_max_fd_limit(): fall back to OPEN_MAX upon getrlimit/sysconf failure
479 +
480 + When we figure out how many file descriptors to allocate for
481 + keeping packfiles open, a system with non-working getrlimit() could
482 + cause us to die(), but because we make this call only to get a
483 + rough estimate of how many is available and we do not even attempt
484 + to use up all file descriptors available ourselves, it is nicer to
485 + fall back to a reasonable low value rather than dying.
486 +
487 + Will merge to 'master'.
488 +
489 +
490 +* rt/bfg-ad-in-filter-branch-doc (2013-12-18) 1 commit
491 + (merged to 'next' on 2014-01-03 at 2a45e3b)
492 + + docs: add filter-branch notes on The BFG
493 +
494 + Will merge to 'master'.
495 +
496 +
497 +* sb/diff-orderfile-config (2013-12-18) 3 commits
498 + (merged to 'next' on 2014-01-03 at 744eba7)
499 + + diff: add diff.orderfile configuration variable
500 + + diff: let "git diff -O" read orderfile from any file and fail properly
501 + + t4056: add new tests for "git diff -O"
502 +
503 + Allow "git diff -O<file>" to be configured with a new configuration
504 + variable.
505 +
506 + Will merge to 'master'.
507 +
508 +
509 +* nd/daemon-informative-errors-typofix (2013-12-20) 1 commit
510 + (merged to 'next' on 2014-01-03 at 1b87648)
511 + + daemon: be strict at parsing parameters --[no-]informative-errors
512 +
513 + Will merge to 'master'.
514 +
515 +
516 +* tm/fetch-prune (2014-01-03) 2 commits
517 + (merged to 'next' on 2014-01-03 at a58c6b4)
518 + + fetch --prune: Run prune before fetching
519 + + fetch --prune: always print header url
520 +
521 + Fetching 'frotz' branch with "git fetch", while having
522 + 'frotz/nitfol' remote-tracking branch from an earlier fetch, would
523 + error out, primarily because the command has not been told to
524 + remove anything on our side. In such a case, "git fetch --prune"
525 + can be used to remove 'frotz/nitfol' to make room to fetch and
526 + store 'frotz' remote-tracking branch.
527 +
528 + Will merge to 'master'.
529 +
530 +
531 +* jk/oi-delta-base (2013-12-26) 2 commits
532 + (merged to 'next' on 2014-01-06 at 8cf3ed2)
533 + + cat-file: provide %(deltabase) batch format
534 + + sha1_object_info_extended: provide delta base sha1s
535 +
536 + Teach "cat-file --batch" to show delta-base object name for a
537 + packed object that is represented as a delta.
538 +
539 + Will merge to 'master'.
540 +
541 +
542 +* jk/sha1write-void (2013-12-26) 1 commit
543 + (merged to 'next' on 2014-01-06 at d8cd8ff)
544 + + do not pretend sha1write returns errors
545 +
546 + Code clean-up.
547 +
548 + Will merge to 'master'.
549 +
550 +
551 +* jl/submodule-recursive-checkout (2013-12-26) 5 commits
552 + - Teach checkout to recursively checkout submodules
553 + - submodule: teach unpack_trees() to update submodules
554 + - submodule: teach unpack_trees() to repopulate submodules
555 + - submodule: teach unpack_trees() to remove submodule contents
556 + - submodule: prepare for recursive checkout of submodules
557 +
558 + What is the doneness of this one???
559 +
560 +
561 +* mh/safe-create-leading-directories (2014-01-06) 17 commits
562 + - rename_tmp_log(): on SCLD_VANISHED, retry
563 + - rename_tmp_log(): limit the number of remote_empty_directories() attempts
564 + - rename_tmp_log(): handle a possible mkdir/rmdir race
565 + - rename_ref(): extract function rename_tmp_log()
566 + - remove_dir_recurse(): handle disappearing files and directories
567 + - remove_dir_recurse(): tighten condition for removing unreadable dir
568 + - lock_ref_sha1_basic(): if locking fails with ENOENT, retry
569 + - lock_ref_sha1_basic(): on SCLD_VANISHED, retry
570 + - safe_create_leading_directories(): add new error value SCLD_VANISHED
571 + - cmd_init_db(): when creating directories, handle errors conservatively
572 + - safe_create_leading_directories(): introduce enum for return values
573 + - safe_create_leading_directories(): always restore slash at end of loop
574 + - safe_create_leading_directories(): split on first of multiple slashes
575 + - safe_create_leading_directories(): rename local variable
576 + - safe_create_leading_directories(): add explicit "slash" pointer
577 + - safe_create_leading_directories(): reduce scope of local variable
578 + - safe_create_leading_directories(): fix format of "if" chaining
579 +
580 + Code clean-up and protection against concurrent write access to the
581 + ref namespace.
582 +
583 + Is ready for 'next', with or without minor nitfix.
584 +
585 +
586 +* nd/add-empty-fix (2013-12-26) 1 commit
587 + (merged to 'next' on 2014-01-06 at 88a78c9)
588 + + add: don't complain when adding empty project root
589 +
590 + "git add -A" (no other arguments) in a totally empty working tree
591 + used to emit an error.
592 +
593 + Will merge to 'master'.
594 +
595 +
596 +* nd/commit-tree-constness (2013-12-26) 1 commit
597 + (merged to 'next' on 2014-01-06 at a177c9f)
598 + + commit.c: make "tree" a const pointer in commit_tree*()
599 +
600 + Code clean-up.
601 +
602 + Will merge to 'master'.
603 +
604 +
605 +* jk/pack-bitmap (2013-12-30) 21 commits
606 - pack-bitmap: implement optional name_hash cache
607 - t/perf: add tests for pack bitmaps
608 - t: add basic bitmap functionality tests
@@ -334,41 +618,43 @@ of the repositories listed at
618 - pack-bitmap: add support for bitmap indexes
619 - documentation: add documentation for the bitmap format
620 - ewah: compressed bitmap implementation
337 - - compat/mingw.h: teach PRIx64 format to the MinGW and msvc builds
621 - compat: add endianness helpers
622 - sha1_file: export `git_open_noatime`
623 - revision: allow setting custom limiter function
624 - pack-objects: factor out name_hash
625 - pack-objects: refactor the packing list
626 - revindex: export new APIs
344 - + sha1write: make buffer const-correct
345 - (this branch is tangled with jk/name-pack-after-byte-representation.)
627
628 Borrows the bitmap index into packfiles from JGit to speed up
629 enumeration of objects involved in a commit range without having to
630 fully traverse the history.
631
632 + Will merge to 'next'.
633 +
634
635 * ap/path-max (2013-12-16) 1 commit
353 - - Prevent buffer overflows when path is too long
636 + (merged to 'next' on 2014-01-03 at affc620)
637 + + Prevent buffer overflows when path is too long
638
355 - Will merge to 'next'.
639 + Will merge to 'master'.
640
641
642 * mh/path-max (2013-12-18) 2 commits
359 - - builtin/prune.c: use strbuf to avoid having to worry about PATH_MAX
360 - - prune-packed: use strbuf to avoid having to worry about PATH_MAX
643 + (merged to 'next' on 2014-01-03 at 5227c9b)
644 + + builtin/prune.c: use strbuf to avoid having to worry about PATH_MAX
645 + + prune-packed: use strbuf to avoid having to worry about PATH_MAX
646
647 A few places where we relied on a fixed length buffer to hold
648 pathnames in these two programs have been converted to use strbuf.
649
365 - Will merge to 'next'.
650 + Will merge to 'master'.
651
652
653 * nv/commit-gpgsign-config (2013-12-17) 3 commits
369 - - test the commit.gpgsign config option
370 - - commit-tree: add and document --no-gpg-sign
371 - - Add the commit.gpgsign option to sign all commits
654 + (merged to 'next' on 2014-01-03 at 9780cbb)
655 + + test the commit.gpgsign config option
656 + + commit-tree: add and document --no-gpg-sign
657 + + Add the commit.gpgsign option to sign all commits
658
659 Introduce commit.gpgsign configuration variable to force every
660 commit to be GPG signed. The variable cannot be overriden from the
@@ -376,10 +662,10 @@ of the repositories listed at
662 "git commit" and "git commit-tree", but I am not convinced that it
663 is a good idea to sprinkle support for --no-gpg-sign everywhere.
664
379 - Will merge to 'next'.
380 -
665
382 -* cc/replace-object-info (2013-12-12) 10 commits
666 +* cc/replace-object-info (2013-12-30) 11 commits
667 + (merged to 'next' on 2014-01-03 at 4473803)
668 + + replace info: rename 'full' to 'long' and clarify in-code symbols
669 (merged to 'next' on 2013-12-17 at aeb9e18)
670 + Documentation/git-replace: describe --format option
671 + builtin/replace: unset read_replace_refs
@@ -398,92 +684,42 @@ of the repositories listed at
684 obtain the metainfo (e.g. type & size) about the object, leading
685 callers to weird inconsistencies.
686
401 - Has this been reviewed sufficiently?
402 -
403 - Will merge to 'next'.
404 -
405 -
406 -* fc/completion (2013-12-09) 1 commit
407 - - completion: fix completion of certain aliases
408 -
409 - SZEDER Gábor noticed that this breaks "git -c var=val alias" and
410 - also suggested a better description of the change.
411 -
412 - Will hold.
413 -
414 -
415 -* fc/remote-helper-fixes (2013-12-26) 5 commits
416 - (merged to 'next' on 2013-12-26 at ce5f872)
417 - + remote-hg: test 'shared_path' in a moved clone
418 - (merged to 'next' on 2013-12-17 at aa4dc07)
419 - + remote-hg: add tests for special filenames
420 - + remote-hg: fix 'shared path' path
421 - + remote-helpers: add extra safety checks
422 - + remote-hg: avoid buggy strftime()
423 -
687 Will merge to 'master'.
688
689
427 -* jk/cat-file-regression-fix (2013-12-12) 2 commits
428 - (merged to 'next' on 2013-12-13 at 3713e01)
429 - + cat-file: handle --batch format with missing type/size
430 - + cat-file: pass expand_data to print_object_or_die
431 -
432 - "git cat-file --batch=", an admittedly useless command, did not
433 - behave very well.
434 -
435 - Will merge to 'master'.
436 -
437 -
438 -* jk/pull-rebase-using-fork-point (2013-12-10) 2 commits
439 - (merged to 'next' on 2013-12-13 at 1862c12)
440 - + rebase: use reflog to find common base with upstream
441 - + pull: use merge-base --fork-point when appropriate
442 -
443 - Will merge to 'master'.
444 -
445 -
446 -* jk/rev-parse-double-dashes (2013-12-09) 2 commits
447 - (merged to 'next' on 2013-12-13 at d26bac7)
448 - + rev-parse: be more careful with munging arguments
449 - + rev-parse: correctly diagnose revision errors before "--"
450 -
451 - "git rev-parse <revs> -- <paths>" did not implement the usual
452 - disambiguation rules the commands in the "git log" family used in
453 - the same way.
454 -
455 - Will merge to 'master'.
456 -
457 -
458 -* nd/shallow-clone (2013-12-10) 28 commits
459 - - git-clone.txt: remove shallow clone limitations
460 - - prune: clean .git/shallow after pruning objects
461 - - clone: use git protocol for cloning shallow repo locally
462 - - send-pack: support pushing from a shallow clone via http
463 - - receive-pack: support pushing to a shallow clone via http
464 - - smart-http: support shallow fetch/clone
465 - - remote-curl: pass ref SHA-1 to fetch-pack as well
466 - - send-pack: support pushing to a shallow clone
467 - - receive-pack: allow pushes that update .git/shallow
468 - - connected.c: add new variant that runs with --shallow-file
469 - - add GIT_SHALLOW_FILE to propagate --shallow-file to subprocesses
470 - - receive/send-pack: support pushing from a shallow clone
471 - - receive-pack: reorder some code in unpack()
472 - - fetch: add --update-shallow to accept refs that update .git/shallow
473 - - upload-pack: make sure deepening preserves shallow roots
474 - - fetch: support fetching from a shallow repository
475 - - clone: support remote shallow repository
476 - - fetch-pack.h: one statement per bitfield declaration
477 - - fetch-pack.c: move shallow update code out of fetch_pack()
478 - - shallow.c: steps 6 and 7 to select new commits for .git/shallow
479 - - shallow.c: the 8 steps to select new commits for .git/shallow
480 - - shallow.c: extend setup_*_shallow() to accept extra shallow commits
481 - - connect.c: teach get_remote_heads to parse "shallow" lines
482 - - make the sender advertise shallow commits to the receiver
483 - - clone: prevent --reference to a shallow repository
484 - - send-pack: forbid pushing from a shallow repository
485 - - remote.h: replace struct extra_have_objects with struct sha1_array
486 - - transport.h: remove send_pack prototype, already defined in send-pack.h
690 +* nd/shallow-clone (2014-01-06) 30 commits
691 + (merged to 'next' on 2014-01-06 at 3dc7fab)
692 + + shallow: remove unused code
693 + + send-pack.c: mark a file-local function static
694 + (merged to 'next' on 2014-01-03 at a776065)
695 + + git-clone.txt: remove shallow clone limitations
696 + + prune: clean .git/shallow after pruning objects
697 + + clone: use git protocol for cloning shallow repo locally
698 + + send-pack: support pushing from a shallow clone via http
699 + + receive-pack: support pushing to a shallow clone via http
700 + + smart-http: support shallow fetch/clone
701 + + remote-curl: pass ref SHA-1 to fetch-pack as well
702 + + send-pack: support pushing to a shallow clone
703 + + receive-pack: allow pushes that update .git/shallow
704 + + connected.c: add new variant that runs with --shallow-file
705 + + add GIT_SHALLOW_FILE to propagate --shallow-file to subprocesses
706 + + receive/send-pack: support pushing from a shallow clone
707 + + receive-pack: reorder some code in unpack()
708 + + fetch: add --update-shallow to accept refs that update .git/shallow
709 + + upload-pack: make sure deepening preserves shallow roots
710 + + fetch: support fetching from a shallow repository
711 + + clone: support remote shallow repository
712 + + fetch-pack.h: one statement per bitfield declaration
713 + + fetch-pack.c: move shallow update code out of fetch_pack()
714 + + shallow.c: steps 6 and 7 to select new commits for .git/shallow
715 + + shallow.c: the 8 steps to select new commits for .git/shallow
716 + + shallow.c: extend setup_*_shallow() to accept extra shallow commits
717 + + connect.c: teach get_remote_heads to parse "shallow" lines
718 + + make the sender advertise shallow commits to the receiver
719 + + clone: prevent --reference to a shallow repository
720 + + send-pack: forbid pushing from a shallow repository
721 + + remote.h: replace struct extra_have_objects with struct sha1_array
722 + + transport.h: remove send_pack prototype, already defined in send-pack.h
723
724 Fetching from a shallow-cloned repository used to be forbidden,
725 primarily because the codepaths involved were not carefully vetted
@@ -492,40 +728,9 @@ of the repositories listed at
728 way (i.e. the receiver become a shallow repository with truncated
729 history).
730
495 - Will merge to 'next'.
496 -
497 -
498 -* tg/diff-no-index-refactor (2013-12-16) 4 commits
499 - (merged to 'next' on 2013-12-17 at 009d8d8)
500 - + diff: avoid some nesting
501 - + diff: add test for --no-index executed outside repo
502 - (merged to 'next' on 2013-12-13 at 523f7c4)
503 - + diff: don't read index when --no-index is given
504 - + diff: move no-index detection to builtin/diff.c
505 -
506 - "git diff ../else/where/A ../else/where/B" when ../else/where is
507 - clearly outside the repository, and "git diff --no-index A B", do
508 - not have to look at the index at all, but we used to read the index
509 - unconditionally.
510 -
731 Will merge to 'master'.
732
733
514 -* fc/transport-helper-fixes (2013-12-09) 6 commits
515 - - remote-bzr: support the new 'force' option
516 - - test-hg.sh: tests are now expected to pass
517 - - transport-helper: check for 'forced update' message
518 - - transport-helper: add 'force' to 'export' helpers
519 - - transport-helper: don't update refs in dry-run
520 - - transport-helper: mismerge fix
521 -
522 - Updates transport-helper, fast-import and fast-export to allow the
523 - ref mapping and ref deletion in a way similar to the natively
524 - supported transports.
525 -
526 - Will hold. Reported to break t5541.
527 -
528 -
734 * jn/git-gui-chmod+x (2013-11-25) 1 commit
735 - git-gui: chmod +x po2msg, windows/git-gui.sh
736
@@ -540,24 +745,6 @@ of the repositories listed at
745 tree.
746
747
543 -* jk/name-pack-after-byte-representation (2013-12-16) 3 commits
544 - (merged to 'next' on 2013-12-17 at 0bc385c)
545 - + pack-objects doc: treat output filename as opaque
546 - (merged to 'next' on 2013-12-09 at 247b2d0)
547 - + pack-objects: name pack files after trailer hash
548 - + sha1write: make buffer const-correct
549 - (this branch is tangled with jk/pack-bitmap.)
550 -
551 - Two packfiles that contain the same set of objects have
552 - traditionally been named identically, but that made repacking a
553 - repository that is already fully packed without any cruft with a
554 - different packing parameter cumbersome. Update the convention to
555 - name the packfile after the bytestream representation of the data,
556 - not after the set of objects in it.
557 -
558 - Will merge to 'master'.
559 -
560 -
748 * nd/negative-pathspec (2013-12-06) 3 commits
749 (merged to 'next' on 2013-12-12 at 9f340c8)
750 + pathspec.c: support adding prefix magic to a pathspec with mnemonic magic
@@ -567,19 +754,6 @@ of the repositories listed at
754 Introduce "negative pathspec" magic, to allow "git log -- . ':!dir'" to
755 tell us "I am interested in everything but 'dir' directory".
756
570 - Will cook in 'next'.
571 -
572 -
573 -* zk/difftool-counts (2013-12-16) 2 commits
574 - (merged to 'next' on 2013-12-16 at 0e0d235)
575 - + diff.c: fix some recent whitespace style violations
576 - (merged to 'next' on 2013-12-12 at ba35694)
577 - + difftool: display the number of files in the diff queue in the prompt
578 -
579 - Show the total number of paths and the number of paths shown so far
580 - when "git difftool" prompts to launch an external diff tool, which
581 - would give users some sense of progress.
582 -
757 Will merge to 'master'.
758
759
@@ -590,29 +764,7 @@ of the repositories listed at
764 evil-merged with other topics that introduce new uses of
765 prefix/suffix-cmp functions.
766
593 -
594 -* jc/push-refmap (2013-12-04) 3 commits
595 - (merged to 'next' on 2013-12-12 at 71e358f)
596 - + push: also use "upstream" mapping when pushing a single ref
597 - + push: use remote.$name.push as a refmap
598 - + builtin/push.c: use strbuf instead of manual allocation
599 -
600 - Make "git push origin master" update the same ref that would be
601 - updated by our 'master' when "git push origin" (no refspecs) is run
602 - while the 'master' branch is checked out, which makes "git push"
603 - more symmetric to "git fetch" and more usable for the triangular
604 - workflow.
605 -
606 - Will merge to 'master'.
607 -
608 -
609 -* js/gnome-keyring (2013-12-16) 1 commit
610 - (merged to 'next' on 2013-12-17 at 422fd61)
611 - + contrib/git-credential-gnome-keyring.c: small stylistic cleanups
612 -
613 - Style fix.
614 -
615 - Will merge to 'master'.
767 + Will merge to 'next' and cook until Git 2.0.
768
769
770 * gj/push-more-verbose-advice (2013-11-13) 1 commit