What's cooking (2013/12 #04)

Junio C Hamano committed Dec 17, 2013 at 15:57 UTC 5d352bc39593f6677a609dc24cdfcc3f509d0f6c
1 file changed +287 -342
whats-cooking.txt
+287 -342
@@ -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, #03; Thu, 12)
4 -X-master-at: d7aced95cd681b761468635f8d2a8b82d7ed26fd
5 -X-next-at: aaad5e77ff44962de7a1fccb0c9def6b6dd228aa
3 +Subject: What's cooking in git.git (Dec 2013, #04; Tue, 17)
4 +X-master-at: 7794a680e63a2a11b73cb1194653662f2769a792
5 +X-next-at: 3e57c29e689448252d8f77d1a49492e7b4cdbfa4
6
7 -What's cooking in git.git (Dec 2013, #03; Thu, 12)
7 +What's cooking in git.git (Dec 2013, #04; Tue, 17)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -17,146 +17,141 @@ of the repositories listed at
17 http://git-blame.blogspot.com/p/git-public-repositories.html
18
19 --------------------------------------------------
20 -[New Topics]
20 +[Graduated to "master"]
21
22 * bc/doc-merge-no-op-revert (2013-12-09) 1 commit
23 - - Documentation: document pitfalls with 3-way merge
23 + (merged to 'next' on 2013-12-13 at 6e0ce64)
24 + + Documentation: document pitfalls with 3-way merge
25
25 - Will merge to 'next'.
26
27 +* cc/starts-n-ends-with (2013-12-05) 4 commits
28 + (merged to 'next' on 2013-12-12 at 76ee567)
29 + + replace {pre,suf}fixcmp() with {starts,ends}_with()
30 + + strbuf: introduce starts_with() and ends_with()
31 + + builtin/remote: remove postfixcmp() and use suffixcmp() instead
32 + + environment: normalize use of prefixcmp() by removing " != 0"
33 + (this branch is used by cc/starts-n-ends-with-endgame.)
34
28 -* cc/replace-object-info (2013-12-12) 10 commits
29 - - Documentation/git-replace: describe --format option
30 - - builtin/replace: unset read_replace_refs
31 - - t6050: add tests for listing with --format
32 - - builtin/replace: teach listing using short, medium or full formats
33 - - sha1_file: perform object replacement in sha1_object_info_extended()
34 - - t6050: show that git cat-file --batch fails with replace objects
35 - - sha1_object_info_extended(): add an "unsigned flags" parameter
36 - - sha1_file.c: add lookup_replace_object_extended() to pass flags
37 - - replace_object: don't check read_replace_refs twice
38 - - rename READ_SHA1_FILE_REPLACE flag to LOOKUP_REPLACE_OBJECT
35 + Remove a few duplicate implementations of prefix/suffix comparison
36 + functions, and rename them to starts_with and ends_with.
37
40 - read_sha1_file() that is the workhorse to read the contents given
41 - an object name honoured object replacements, but there is no
42 - corresponding mechanism to sha1_object_info() that is used to
43 - obtain the metainfo (e.g. type & size) about the object, leading
44 - callers to weird inconsistencies.
38
46 - Will merge to 'next'.
39 +* fc/trivial (2013-12-09) 4 commits
40 + (merged to 'next' on 2013-12-13 at eeead16)
41 + + remote: fix status with branch...rebase=preserve
42 + + fetch: add missing documentation
43 + + t: trivial whitespace cleanups
44 + + abspath: trivial style fix
45
46
49 -* fc/completion (2013-12-09) 1 commit
50 - - completion: fix completion of certain aliases
47 +* jk/t5000-gzip-simplify (2013-12-04) 1 commit
48 + (merged to 'next' on 2013-12-09 at e9010f1)
49 + + t5000: simplify gzip prerequisite checks
50
52 - Will merge to 'next'.
51 + Test fix.
52
53
55 -* fc/remote-helper-fixes (2013-12-09) 4 commits
56 - - remote-hg: add tests for special filenames
57 - - remote-hg: fix 'shared path' path
58 - - remote-helpers: add extra safety checks
59 - - remote-hg: avoid buggy strftime()
54 +* jl/commit-v-strip-marker (2013-12-05) 1 commit
55 + (merged to 'next' on 2013-12-09 at 2b85e9e)
56 + + commit -v: strip diffs and submodule shortlogs from the commit message
57
61 - Will merge to 'next'.
58 + "git commit -v" appends the patch to the log message before
59 + editing, and then removed the patch when the editor returned
60 + control. However, the patch was not stripped correctly when the
61 + first modified path was a submodule.
62
63
64 -* fc/trivial (2013-12-09) 4 commits
65 - - remote: fix status with branch...rebase=preserve
66 - - fetch: add missing documentation
67 - - t: trivial whitespace cleanups
68 - - abspath: trivial style fix
64 +* kb/doc-exclude-directory-semantics (2013-12-09) 1 commit
65 + (merged to 'next' on 2013-12-09 at e54b2ec)
66 + + gitignore.txt: clarify recursive nature of excluded directories
67
70 - Will merge to 'next'.
68
69 +* kn/gitweb-extra-branch-refs (2013-12-12) 4 commits
70 + (merged to 'next' on 2013-12-12 at ae75b02)
71 + + gitweb: Denote non-heads, non-remotes branches
72 + + gitweb: Add a feature for adding more branch refs
73 + + gitweb: Return 1 on validation success instead of passed input
74 + + gitweb: Move check-ref-format code into separate function
75
73 -* jk/cat-file-regression-fix (2013-12-12) 2 commits
74 - - cat-file: handle --batch format with missing type/size
75 - - cat-file: pass expand_data to print_object_or_die
76 + Allow gitweb to be configured to show refs out of refs/heads/ as if
77 + they were branches.
78
77 - Will merge to 'next'.
79
80 +* mm/mv-file-to-no-such-dir-with-slash (2013-12-04) 1 commit
81 + (merged to 'next' on 2013-12-09 at f33bc0b)
82 + + mv: let 'git mv file no-such-dir/' error out
83
80 -* jk/pull-rebase-using-fork-point (2013-12-10) 2 commits
81 - - rebase: use reflog to find common base with upstream
82 - - pull: use merge-base --fork-point when appropriate
84
84 - Will merge to 'next'.
85 +* nd/gettext-vsnprintf (2013-12-04) 1 commit
86 + (merged to 'next' on 2013-12-09 at e99106e)
87 + + gettext.c: detect the vsnprintf bug at runtime
88
89
87 -* jk/rev-parse-double-dashes (2013-12-09) 2 commits
88 - - rev-parse: be more careful with munging arguments
89 - - rev-parse: correctly diagnose revision errors before "--"
90 +* nd/remove-opt-boolean (2013-12-09) 1 commit
91 + (merged to 'next' on 2013-12-13 at 26f46cc)
92 + + parse-options: remove OPT_BOOLEAN
93
91 - "git rev-parse <revs> -- <paths>" did not implement the usual
92 - disambiguation rules the commands in the "git log" family used in
93 - the same way.
94
95 - Will merge to 'next'.
95 +* nd/transport-positive-depth-only (2013-12-06) 1 commit
96 + (merged to 'next' on 2013-12-12 at f953cb8)
97 + + clone,fetch: catch non positive --depth option value
98
99 + "git fetch --depth=0" was a no-op, and was silently
100 + ignored. Diagnose it as an error.
101
98 -* mo/subtree-split-updates (2013-12-10) 3 commits
99 - - subtree: add --edit option
100 - - subtree: allow --squash and --message with push
101 - - subtree: support split --rejoin --squash
102
103 - Comments?
103 +* tb/clone-ssh-with-colon-for-port (2013-12-09) 10 commits
104 + (merged to 'next' on 2013-12-12 at ae4ae39)
105 + + git_connect(): use common return point
106 + + connect.c: refactor url parsing
107 + + git_connect(): refactor the port handling for ssh
108 + + git fetch: support host:/~repo
109 + + t5500: add test cases for diag-url
110 + + git fetch-pack: add --diag-url
111 + + git_connect: factor out discovery of the protocol and its parts
112 + + git_connect: remove artificial limit of a remote command
113 + + t5601: add tests for ssh
114 + + t5601: remove clear_ssh, refactor setup_ssh_wrapper
115
116 + Be more careful when parsing remote repository URL given in the
117 + scp-style host:path notation.
118
106 -* nd/remove-opt-boolean (2013-12-09) 1 commit
107 - - parse-options: remove OPT_BOOLEAN
119
109 - Will merge to 'next'.
120 +* tr/send-email-ssl (2013-12-04) 3 commits
121 + (merged to 'next' on 2013-12-09 at facb859)
122 + + send-email: set SSL options through IO::Socket::SSL::set_client_defaults
123 + + send-email: --smtp-ssl-cert-path takes an argument
124 + + send-email: pass Debug to Net::SMTP::SSL::new
125
126 + SSL-related options were not passed correctly to underlying socket
127 + layer in "git send-email".
128
112 -* nd/shallow-clone (2013-12-10) 28 commits
113 - - git-clone.txt: remove shallow clone limitations
114 - - prune: clean .git/shallow after pruning objects
115 - - clone: use git protocol for cloning shallow repo locally
116 - - send-pack: support pushing from a shallow clone via http
117 - - receive-pack: support pushing to a shallow clone via http
118 - - smart-http: support shallow fetch/clone
119 - - remote-curl: pass ref SHA-1 to fetch-pack as well
120 - - send-pack: support pushing to a shallow clone
121 - - receive-pack: allow pushes that update .git/shallow
122 - - connected.c: add new variant that runs with --shallow-file
123 - - add GIT_SHALLOW_FILE to propagate --shallow-file to subprocesses
124 - - receive/send-pack: support pushing from a shallow clone
125 - - receive-pack: reorder some code in unpack()
126 - - fetch: add --update-shallow to accept refs that update .git/shallow
127 - - upload-pack: make sure deepening preserves shallow roots
128 - - fetch: support fetching from a shallow repository
129 - - clone: support remote shallow repository
130 - - fetch-pack.h: one statement per bitfield declaration
131 - - fetch-pack.c: move shallow update code out of fetch_pack()
132 - - shallow.c: steps 6 and 7 to select new commits for .git/shallow
133 - - shallow.c: the 8 steps to select new commits for .git/shallow
134 - - shallow.c: extend setup_*_shallow() to accept extra shallow commits
135 - - connect.c: teach get_remote_heads to parse "shallow" lines
136 - - make the sender advertise shallow commits to the receiver
137 - - clone: prevent --reference to a shallow repository
138 - - send-pack: forbid pushing from a shallow repository
139 - - remote.h: replace struct extra_have_objects with struct sha1_array
140 - - transport.h: remove send_pack prototype, already defined in send-pack.h
129 +--------------------------------------------------
130 +[New Topics]
131
142 - Fetching from a shallow-cloned repository used to be forbidden,
143 - primarily because the codepaths involved were not carefully vetted
144 - and we did not bother supporting such usage. This attempts to allow
145 - object transfer out of a shallow-cloned repository in a controlled
146 - way (i.e. the receiver become a shallow repository with truncated
147 - history).
132 +* ap/path-max (2013-12-16) 1 commit
133 + - Prevent buffer overflows when path is too long
134
135 + Will merge to 'next'.
136
150 -* tg/diff-no-index-refactor (2013-12-12) 2 commits
151 - - diff: don't read index when --no-index is given
152 - - diff: move no-index detection to builtin/diff.c
137
154 - "git diff ../else/where/A ../else/where/B" when ../else/where is
155 - clearly outside the repository, and "git diff --no-index A B", do
156 - not have to look at the index at all, but we used to read the index
157 - unconditionally.
138 +* mh/path-max (2013-12-17) 1 commit
139 + - prune-packed: use strbuf to avoid having to worry about PATH_MAX
140
159 - Will merge to 'next'.
141 + This is my rewrite of Michael's patch to prune-packed (which still
142 + had a hardcoded PATH_MAX limitation) using strbuf. Tweaking of the
143 + other patch in the same series ($gmane/239386) for prune is left as
144 + an exercise to the readers ;-)
145 +
146 +--------------------------------------------------
147 +[Stalled]
148 +
149 +* mo/subtree-split-updates (2013-12-10) 3 commits
150 + - subtree: add --edit option
151 + - subtree: allow --squash and --message with push
152 + - subtree: support split --rejoin --squash
153 +
154 + Comments?
155
156
157 * hv/submodule-ignore-fix (2013-12-06) 4 commits
@@ -177,114 +172,33 @@ of the repositories listed at
172 few nights ago I tried and failed and that was why it hasn't been
173 merged to 'pu' so far).
174
180 ---------------------------------------------------
181 -[Graduated to "master"]
175
183 -* cl/p4-use-diff-tree (2013-11-22) 1 commit
184 - (merged to 'next' on 2013-12-06 at fc3c89e)
185 - + git p4: Use git diff-tree instead of format-patch
186 -
187 - Originally merged to 'next' on 2013-11-27
188 -
189 -
190 -* cn/thin-push-capability (2013-11-25) 1 commit
191 - (merged to 'next' on 2013-12-06 at a7ae524)
192 - + send-pack: don't send a thin pack to a server which doesn't support it
193 -
194 - Allow receive-pack to insist on receiving a fat pack from "git
195 - push" clients.
196 -
197 -
198 -* jk/remove-deprecated (2013-12-05) 6 commits
199 - (merged to 'next' on 2013-12-06 at c0c91a2)
200 - + Sync with 1.8.5
201 - + stop installing git-tar-tree link
202 - + peek-remote: remove deprecated alias of ls-remote
203 - + lost-found: remove deprecated command
204 - + tar-tree: remove deprecated command
205 - + repo-config: remove deprecated alias for "git config"
206 - (this branch is used by cc/starts-n-ends-with and cc/starts-n-ends-with-endgame.)
207 -
208 - Remove commands that have long been deprecated.
209 -
210 -
211 -* jn/scripts-updates (2013-11-26) 7 commits
212 - (merged to 'next' on 2013-12-06 at 60a7026)
213 - + remove #!interpreter line from shell libraries
214 - + test: replace shebangs with descriptions in shell libraries
215 - + test: make FILEMODE a lazy prereq
216 - + contrib: remove git-p4import
217 - + mark contributed hooks executable
218 - + mark perl test scripts executable
219 - + mark Windows build scripts executable
220 -
221 -
222 -* mh/fetch-tags-in-addition-to-normal-refs (2013-10-30) 23 commits
223 - (merged to 'next' on 2013-12-06 at 3b9c44a)
224 - + fetch: improve the error messages emitted for conflicting refspecs
225 - + handle_duplicate(): mark error message for translation
226 - + ref_remote_duplicates(): extract a function handle_duplicate()
227 - + ref_remove_duplicates(): simplify loop logic
228 - + t5536: new test of refspec conflicts when fetching
229 - + ref_remove_duplicates(): avoid redundant bisection
230 - + git-fetch.txt: improve description of tag auto-following
231 - + fetch-options.txt: simplify ifdef/ifndef/endif usage
232 - + fetch, remote: properly convey --no-prune options to subprocesses
233 - + builtin/remote.c:update(): use struct argv_array
234 - + builtin/remote.c: reorder function definitions
235 - + query_refspecs(): move some constants out of the loop
236 - + fetch --prune: prune only based on explicit refspecs
237 - + fetch --tags: fetch tags *in addition to* other stuff
238 - + fetch: only opportunistically update references based on command line
239 - + get_expanded_map(): avoid memory leak
240 - + get_expanded_map(): add docstring
241 - + builtin/fetch.c: reorder function definitions
242 - + get_ref_map(): rename local variables
243 - + api-remote.txt: correct section "struct refspec"
244 - + t5510: check that "git fetch --prune --tags" does not prune branches
245 - + t5510: prepare test refs more straightforwardly
246 - + t5510: use the correct tag name in test
247 -
248 - Originally merged to 'next' on 2013-11-06
249 -
250 - The "--tags" option to "git fetch" used to be literally a synonym to
251 - a "refs/tags/*:refs/tags/*" refspec, which meant that (1) as an
252 - explicit refspec given from the command line, it silenced the lazy
253 - "git fetch" default that is configured, and (2) also as an explicit
254 - refspec given from the command line, it interacted with "--prune"
255 - to remove any tag that the remote we are fetching from does not
256 - have.
257 -
258 - This demotes it to an option; with it, we fetch all tags in
259 - addition to what would be fetched without the option, and it does
260 - not interact with the decision "--prune" makes to see what
261 - remote-tracking refs the local has are missing the remote
262 - counterpart.
263 -
264 -
265 -* rs/doc-submitting-patches (2013-11-27) 1 commit
266 - (merged to 'next' on 2013-12-06 at 0628818)
267 - + SubmittingPatches: document how to handle multiple patches
268 -
269 -
270 -* tr/commit-slab-cleanup (2013-12-02) 3 commits
271 - (merged to 'next' on 2013-12-06 at faee247)
272 - + commit-slab: sizeof() the right type in xrealloc
273 - + commit-slab: declare functions "static inline"
274 - + commit-slab: document clear_$slabname()
275 -
276 -
277 -* tr/config-multivalue-lift-max (2013-12-06) 1 commit
278 - (merged to 'next' on 2013-12-06 at 92afee2)
279 - + config: arbitrary number of matches for --unset and --replace-all
280 -
281 -
282 -* tr/doc-git-cherry (2013-11-27) 1 commit
283 - (merged to 'next' on 2013-12-06 at 9a1ba7a)
284 - + Documentation: revamp git-cherry(1)
176 +* kb/fast-hashmap (2013-12-16) 17 commits
177 + - hashmap.h: make sure map entries are tightly packed
178 + (merged to 'next' on 2013-12-16 at bff99b1)
179 + + Drop unnecessary #includes from test-hashmap
180 + + Add test-hashmap to .gitignore
181 + (merged to 'next' on 2013-12-06 at f90be3d)
182 + + read-cache.c: fix memory leaks caused by removed cache entries
183 + + builtin/update-index.c: cleanup update_one
184 + + fix 'git update-index --verbose --again' output
185 + + remove old hash.[ch] implementation
186 + + name-hash.c: remove cache entries instead of marking them CE_UNHASHED
187 + + name-hash.c: use new hash map implementation for cache entries
188 + + name-hash.c: remove unreferenced directory entries
189 + + name-hash.c: use new hash map implementation for directories
190 + + diffcore-rename.c: use new hash map implementation
191 + + diffcore-rename.c: simplify finding exact renames
192 + + diffcore-rename.c: move code around to prepare for the next patch
193 + + buitin/describe.c: use new hash map implementation
194 + + add a hashtable implementation that supports O(1) removal
195 + + submodule: don't access the .gitmodules cache entry after removing it
196 +
197 + Improvements to our hash table to get it to meet the needs of the
198 + msysgit fscache project, with some nice performance improvements.
199 +
200 + The tip one does not seem to have reached concensus (yet).
201
286 ---------------------------------------------------
287 -[Stalled]
202
203 * jc/create-directories-microopt (2013-11-11) 1 commit
204 - checkout: most of the time we have good leading directories
@@ -295,15 +209,6 @@ of the repositories listed at
209 Will hold.
210
211
298 -* nv/commit-gpgsign-config (2013-11-06) 1 commit
299 - - Add the commit.gpgsign option to sign all commits
300 -
301 - Introduce commit.gpgsign configuration variable to force every
302 - commit to be GPG signed.
303 -
304 - Needs tests, perhaps?
305 -
306 -
212 * jt/commit-fixes-footer (2013-10-30) 1 commit
213 - commit: Add -f, --fixes <commit> option to add Fixes: line
214
@@ -448,6 +353,150 @@ of the repositories listed at
353 --------------------------------------------------
354 [Cooking]
355
356 +* nv/commit-gpgsign-config (2013-12-17) 3 commits
357 + - test the commit.gpgsign config option
358 + - commit-tree: add and document --no-gpg-sign
359 + - Add the commit.gpgsign option to sign all commits
360 +
361 + Introduce commit.gpgsign configuration variable to force every
362 + commit to be GPG signed. The variable cannot be overriden from the
363 + command line of some of the commands that create commits except for
364 + "git commit" and "git commit-tree", but I am not convinced that it
365 + is a good idea to sprinkle support for --no-gpg-sign everywhere.
366 +
367 + Will merge to 'next'.
368 +
369 +
370 +* cc/replace-object-info (2013-12-12) 10 commits
371 + (merged to 'next' on 2013-12-17 at aeb9e18)
372 + + Documentation/git-replace: describe --format option
373 + + builtin/replace: unset read_replace_refs
374 + + t6050: add tests for listing with --format
375 + + builtin/replace: teach listing using short, medium or full formats
376 + + sha1_file: perform object replacement in sha1_object_info_extended()
377 + + t6050: show that git cat-file --batch fails with replace objects
378 + + sha1_object_info_extended(): add an "unsigned flags" parameter
379 + + sha1_file.c: add lookup_replace_object_extended() to pass flags
380 + + replace_object: don't check read_replace_refs twice
381 + + rename READ_SHA1_FILE_REPLACE flag to LOOKUP_REPLACE_OBJECT
382 +
383 + read_sha1_file() that is the workhorse to read the contents given
384 + an object name honoured object replacements, but there is no
385 + corresponding mechanism to sha1_object_info() that is used to
386 + obtain the metainfo (e.g. type & size) about the object, leading
387 + callers to weird inconsistencies.
388 +
389 + Has this been reviewed sufficiently?
390 +
391 + Will merge to 'next'.
392 +
393 +
394 +* fc/completion (2013-12-09) 1 commit
395 + - completion: fix completion of certain aliases
396 +
397 + SZEDER Gábor noticed that this breaks "git -c var=val alias" and
398 + also suggested a better description of the change.
399 +
400 + Will hold.
401 +
402 +
403 +* fc/remote-helper-fixes (2013-12-09) 4 commits
404 + (merged to 'next' on 2013-12-17 at aa4dc07)
405 + + remote-hg: add tests for special filenames
406 + + remote-hg: fix 'shared path' path
407 + + remote-helpers: add extra safety checks
408 + + remote-hg: avoid buggy strftime()
409 +
410 + Expecting follow-up test additions.
411 +
412 +
413 +* jk/cat-file-regression-fix (2013-12-12) 2 commits
414 + (merged to 'next' on 2013-12-13 at 3713e01)
415 + + cat-file: handle --batch format with missing type/size
416 + + cat-file: pass expand_data to print_object_or_die
417 +
418 + "git cat-file --batch=", an admittedly useless command, did not
419 + behave very well.
420 +
421 + Will merge to 'master'.
422 +
423 +
424 +* jk/pull-rebase-using-fork-point (2013-12-10) 2 commits
425 + (merged to 'next' on 2013-12-13 at 1862c12)
426 + + rebase: use reflog to find common base with upstream
427 + + pull: use merge-base --fork-point when appropriate
428 +
429 + Will merge to 'master'.
430 +
431 +
432 +* jk/rev-parse-double-dashes (2013-12-09) 2 commits
433 + (merged to 'next' on 2013-12-13 at d26bac7)
434 + + rev-parse: be more careful with munging arguments
435 + + rev-parse: correctly diagnose revision errors before "--"
436 +
437 + "git rev-parse <revs> -- <paths>" did not implement the usual
438 + disambiguation rules the commands in the "git log" family used in
439 + the same way.
440 +
441 + Will merge to 'master'.
442 +
443 +
444 +* nd/shallow-clone (2013-12-10) 28 commits
445 + - git-clone.txt: remove shallow clone limitations
446 + - prune: clean .git/shallow after pruning objects
447 + - clone: use git protocol for cloning shallow repo locally
448 + - send-pack: support pushing from a shallow clone via http
449 + - receive-pack: support pushing to a shallow clone via http
450 + - smart-http: support shallow fetch/clone
451 + - remote-curl: pass ref SHA-1 to fetch-pack as well
452 + - send-pack: support pushing to a shallow clone
453 + - receive-pack: allow pushes that update .git/shallow
454 + - connected.c: add new variant that runs with --shallow-file
455 + - add GIT_SHALLOW_FILE to propagate --shallow-file to subprocesses
456 + - receive/send-pack: support pushing from a shallow clone
457 + - receive-pack: reorder some code in unpack()
458 + - fetch: add --update-shallow to accept refs that update .git/shallow
459 + - upload-pack: make sure deepening preserves shallow roots
460 + - fetch: support fetching from a shallow repository
461 + - clone: support remote shallow repository
462 + - fetch-pack.h: one statement per bitfield declaration
463 + - fetch-pack.c: move shallow update code out of fetch_pack()
464 + - shallow.c: steps 6 and 7 to select new commits for .git/shallow
465 + - shallow.c: the 8 steps to select new commits for .git/shallow
466 + - shallow.c: extend setup_*_shallow() to accept extra shallow commits
467 + - connect.c: teach get_remote_heads to parse "shallow" lines
468 + - make the sender advertise shallow commits to the receiver
469 + - clone: prevent --reference to a shallow repository
470 + - send-pack: forbid pushing from a shallow repository
471 + - remote.h: replace struct extra_have_objects with struct sha1_array
472 + - transport.h: remove send_pack prototype, already defined in send-pack.h
473 +
474 + Fetching from a shallow-cloned repository used to be forbidden,
475 + primarily because the codepaths involved were not carefully vetted
476 + and we did not bother supporting such usage. This attempts to allow
477 + object transfer out of a shallow-cloned repository in a controlled
478 + way (i.e. the receiver become a shallow repository with truncated
479 + history).
480 +
481 + Will merge to 'next'.
482 +
483 +
484 +* tg/diff-no-index-refactor (2013-12-16) 4 commits
485 + (merged to 'next' on 2013-12-17 at 009d8d8)
486 + + diff: avoid some nesting
487 + + diff: add test for --no-index executed outside repo
488 + (merged to 'next' on 2013-12-13 at 523f7c4)
489 + + diff: don't read index when --no-index is given
490 + + diff: move no-index detection to builtin/diff.c
491 +
492 + "git diff ../else/where/A ../else/where/B" when ../else/where is
493 + clearly outside the repository, and "git diff --no-index A B", do
494 + not have to look at the index at all, but we used to read the index
495 + unconditionally.
496 +
497 + Will merge to 'master'.
498 +
499 +
500 * fc/transport-helper-fixes (2013-12-09) 6 commits
501 - remote-bzr: support the new 'force' option
502 - test-hg.sh: tests are now expected to pass
@@ -460,7 +509,7 @@ of the repositories listed at
509 ref mapping and ref deletion in a way similar to the natively
510 supported transports.
511
463 - Will merge to 'next'.
512 + Will hold. Reported to break t5541.
513
514
515 * jn/git-gui-chmod+x (2013-11-25) 1 commit
@@ -477,7 +526,9 @@ of the repositories listed at
526 tree.
527
528
480 -* jk/name-pack-after-byte-representation (2013-12-05) 2 commits
529 +* jk/name-pack-after-byte-representation (2013-12-16) 3 commits
530 + (merged to 'next' on 2013-12-17 at 0bc385c)
531 + + pack-objects doc: treat output filename as opaque
532 (merged to 'next' on 2013-12-09 at 247b2d0)
533 + pack-objects: name pack files after trailer hash
534 + sha1write: make buffer const-correct
@@ -499,19 +550,15 @@ of the repositories listed at
550 + Support pathspec magic :(exclude) and its short form :!
551 + glossary-content.txt: rephrase magic signature part
552
502 - Introduce "negative pathspec" magic, to allow "git log . ':!dir'" to
553 + Introduce "negative pathspec" magic, to allow "git log -- . ':!dir'" to
554 tell us "I am interested in everything but 'dir' directory".
555
505 -
506 -* nd/transport-positive-depth-only (2013-12-06) 1 commit
507 - (merged to 'next' on 2013-12-12 at f953cb8)
508 - + clone,fetch: catch non positive --depth option value
509 -
510 - "git fetch --depth=0" was a no-op, and was silently
511 - ignored. Diagnose it as an error.
556 + Will cook in 'next'.
557
558
514 -* zk/difftool-counts (2013-12-06) 1 commit
559 +* zk/difftool-counts (2013-12-16) 2 commits
560 + (merged to 'next' on 2013-12-16 at 0e0d235)
561 + + diff.c: fix some recent whitespace style violations
562 (merged to 'next' on 2013-12-12 at ba35694)
563 + difftool: display the number of files in the diff queue in the prompt
564
@@ -519,36 +566,15 @@ of the repositories listed at
566 when "git difftool" prompts to launch an external diff tool, which
567 would give users some sense of progress.
568
522 -
523 -* jl/commit-v-strip-marker (2013-12-05) 1 commit
524 - (merged to 'next' on 2013-12-09 at 2b85e9e)
525 - + commit -v: strip diffs and submodule shortlogs from the commit message
526 -
527 - "git commit -v" appends the patch to the log message before
528 - editing, and then removed the patch when the editor returned
529 - control. However, the patch was not stripped correctly when the
530 - first modified path was a submodule.
531 -
532 -
533 -* cc/starts-n-ends-with (2013-12-05) 4 commits
534 - (merged to 'next' on 2013-12-12 at 76ee567)
535 - + replace {pre,suf}fixcmp() with {starts,ends}_with()
536 - + strbuf: introduce starts_with() and ends_with()
537 - + builtin/remote: remove postfixcmp() and use suffixcmp() instead
538 - + environment: normalize use of prefixcmp() by removing " != 0"
539 - (this branch is used by cc/starts-n-ends-with-endgame.)
540 -
541 - Remove a few duplicate implementations of prefix/suffix comparison
542 - functions, and rename them to starts_with and ends_with.
569 + Will merge to 'master'.
570
571
572 * cc/starts-n-ends-with-endgame (2013-12-05) 1 commit
573 - strbuf: remove prefixcmp() and suffixcmp()
547 - (this branch uses cc/starts-n-ends-with.)
574
549 - Endgame for the above topic, that needs to be evil-merged with
550 - other topics that introduce new uses of prefix/suffix-cmp
551 - functions.
575 + Endgame for the cc/starts-n-ends-with topic; this needs to be
576 + evil-merged with other topics that introduce new uses of
577 + prefix/suffix-cmp functions.
578
579
580 * jc/push-refmap (2013-12-04) 3 commits
@@ -563,72 +589,15 @@ of the repositories listed at
589 more symmetric to "git fetch" and more usable for the triangular
590 workflow.
591
566 -
567 -* jk/t5000-gzip-simplify (2013-12-04) 1 commit
568 - (merged to 'next' on 2013-12-09 at e9010f1)
569 - + t5000: simplify gzip prerequisite checks
570 -
571 - Test fix.
592 + Will merge to 'master'.
593
594
574 -* js/gnome-keyring (2013-12-04) 1 commit
575 - - contrib/git-credential-gnome-keyring.c: small stylistic cleanups
595 +* js/gnome-keyring (2013-12-16) 1 commit
596 + (merged to 'next' on 2013-12-17 at 422fd61)
597 + + contrib/git-credential-gnome-keyring.c: small stylistic cleanups
598
599 Style fix.
600
579 -
580 -* kn/gitweb-extra-branch-refs (2013-12-12) 4 commits
581 - (merged to 'next' on 2013-12-12 at ae75b02)
582 - + gitweb: Denote non-heads, non-remotes branches
583 - + gitweb: Add a feature for adding more branch refs
584 - + gitweb: Return 1 on validation success instead of passed input
585 - + gitweb: Move check-ref-format code into separate function
586 -
587 - Allow gitweb to be configured to show refs out of refs/heads/ as if
588 - they were branches.
589 -
590 -
591 -* mm/mv-file-to-no-such-dir-with-slash (2013-12-04) 1 commit
592 - (merged to 'next' on 2013-12-09 at f33bc0b)
593 - + mv: let 'git mv file no-such-dir/' error out
594 -
595 -
596 -* nd/gettext-vsnprintf (2013-12-04) 1 commit
597 - (merged to 'next' on 2013-12-09 at e99106e)
598 - + gettext.c: detect the vsnprintf bug at runtime
599 -
600 -
601 -* tr/send-email-ssl (2013-12-04) 3 commits
602 - (merged to 'next' on 2013-12-09 at facb859)
603 - + send-email: set SSL options through IO::Socket::SSL::set_client_defaults
604 - + send-email: --smtp-ssl-cert-path takes an argument
605 - + send-email: pass Debug to Net::SMTP::SSL::new
606 -
607 - SSL-related options were not passed correctly to underlying socket
608 - layer in "git send-email".
609 -
610 -
611 -* tb/clone-ssh-with-colon-for-port (2013-12-09) 10 commits
612 - (merged to 'next' on 2013-12-12 at ae4ae39)
613 - + git_connect(): use common return point
614 - + connect.c: refactor url parsing
615 - + git_connect(): refactor the port handling for ssh
616 - + git fetch: support host:/~repo
617 - + t5500: add test cases for diag-url
618 - + git fetch-pack: add --diag-url
619 - + git_connect: factor out discovery of the protocol and its parts
620 - + git_connect: remove artificial limit of a remote command
621 - + t5601: add tests for ssh
622 - + t5601: remove clear_ssh, refactor setup_ssh_wrapper
623 -
624 - Be more careful when parsing remote repository URL given in the
625 - scp-style host:path notation.
626 -
627 -
628 -* kb/doc-exclude-directory-semantics (2013-12-09) 1 commit
629 - (merged to 'next' on 2013-12-09 at e54b2ec)
630 - + gitignore.txt: clarify recursive nature of excluded directories
631 -
601 Will merge to 'master'.
602
603
@@ -642,7 +611,7 @@ of the repositories listed at
611 topmost patch is a rebase of jc/push-2.0-default-to-simple on top
612 of it.
613
645 - Will cook in 'next'.
614 + Will cook in 'next' until Git 2.0.
615
616
617 * tr/merge-recursive-index-only (2013-10-28) 3 commits
@@ -653,30 +622,6 @@ of the repositories listed at
622 Will hold until using script appears.
623
624
656 -* kb/fast-hashmap (2013-12-09) 15 commits
657 - - hashmap.h: make sure map entries are tightly packed
658 - (merged to 'next' on 2013-12-06 at f90be3d)
659 - + read-cache.c: fix memory leaks caused by removed cache entries
660 - + builtin/update-index.c: cleanup update_one
661 - + fix 'git update-index --verbose --again' output
662 - + remove old hash.[ch] implementation
663 - + name-hash.c: remove cache entries instead of marking them CE_UNHASHED
664 - + name-hash.c: use new hash map implementation for cache entries
665 - + name-hash.c: remove unreferenced directory entries
666 - + name-hash.c: use new hash map implementation for directories
667 - + diffcore-rename.c: use new hash map implementation
668 - + diffcore-rename.c: simplify finding exact renames
669 - + diffcore-rename.c: move code around to prepare for the next patch
670 - + buitin/describe.c: use new hash map implementation
671 - + add a hashtable implementation that supports O(1) removal
672 - + submodule: don't access the .gitmodules cache entry after removing it
673 -
674 - Improvements to our hash table to get it to meet the needs of the
675 - msysgit fscache project, with some nice performance improvements.
676 -
677 - The tip one does not seem to have reached concensus (yet).
678 -
679 -
625 * jn/add-2.0-u-A-sans-pathspec (2013-04-26) 1 commit
626 (merged to 'next' on 2013-12-06 at ead2ec8)
627 + git add: -u/-A now affects the entire working tree