1 To: git@vger.kernel.org
3 Subject: What's cooking in git.git (Jul 2013, #06; Thu, 18)
4 X-master-at: b72c6161f1f34985e4a13f8c4c9ba9e55b3d1496
5 X-next-at: 6b4ca9f6d2ab38b0a886be8faea27be3a50ef9e1
7 What's cooking in git.git (Jul 2013, #06; Thu, 18)
8 --------------------------------------------------
10 Here are the topics that have been cooking. Commits prefixed with
11 '-' are only in 'pu' (proposed updates) while commits prefixed with
14 A handful of code and documentation clean-up patches have been
17 You can find the changes described here in the integration branches
18 of the repositories listed at
20 http://git-blame.blogspot.com/p/git-public-repositories.html
22 --------------------------------------------------
23 [Graduated to "master"]
25 * bc/commit-invalid-utf8 (2013-07-09) 3 commits
26 (merged to 'next' on 2013-07-11 at a2ee572)
27 + commit: reject non-characters
28 + commit: reject overlong UTF-8 sequences
29 + commit: reject invalid UTF-8 codepoints
31 Tighten up autodetection of UTF-8 encoded strings.
34 * bc/push-match-many-refs (2013-07-08) 1 commit
35 (merged to 'next' on 2013-07-11 at df4d56d)
36 + remote.c: avoid O(m*n) behavior in match_push_refs
38 Pushing to repositories with many refs employed O(m*n) algorithm
39 where n is the number of refs on the receiving end.
42 * bc/send-email-use-port-as-separate-param (2013-07-04) 1 commit
43 (merged to 'next' on 2013-07-09 at a569eb5)
44 + send-email: provide port separately from hostname
46 Pass port number as a separate argument when send-email initializes
47 Net::SMTP, instead of as a part of the hostname, i.e. host:port.
48 This allows GSSAPI codepath to match with the hostname given.
51 * bp/mediawiki-preview (2013-07-08) 7 commits
52 (merged to 'next' on 2013-07-12 at 870890a)
53 + git-remote-mediawiki: add preview subcommand into git mw
54 + git-remote-mediawiki: add git-mw command
55 + git-remote-mediawiki: factoring code between git-remote-mediawiki and Git::Mediawiki
56 + git-remote-mediawiki: update tests to run with the new bin-wrapper
57 + git-remote-mediawiki: add a git bin-wrapper for developement
58 + wrap-for-bin: make bin-wrappers chainable
59 + git-remote-mediawiki: introduction of Git::Mediawiki.pm
61 Add a command to allow previewing the contents locally before
62 pushing it out, when working with a MediaWiki remote.
64 I personally do not think this belongs to Git. If you are working
65 on a set of AsciiDoc source files, you sure do want to locally
66 format to preview what you will be pushing out, and if you are
67 working on a set of C or Java source files, you do want to test it
68 before pushing it out, too. That kind of thing belongs to your
69 build script, not to your SCM.
71 But I'll let it pass, as this is only a contrib/ thing.
74 * cp/submodule-custom-update (2013-07-03) 1 commit
75 (merged to 'next' on 2013-07-09 at 3d27516)
76 + submodule update: allow custom command to update submodule working tree
78 In addition to the choice from "rebase, merge, or checkout-detach",
79 allow a custom command to be used in "submodule update" to update
80 the working tree of submodules.
83 * es/overlapping-range-set (2013-07-09) 2 commits
84 (merged to 'next' on 2013-07-11 at 3df5a94)
85 + range_set: fix coalescing bug when range is a subset of another
86 + t4211: fix broken test when one -L range is subset of another
89 * fg/submodule-clone-depth (2013-07-03) 1 commit
90 (merged to 'next' on 2013-07-09 at ab156f3)
91 + Add --depth to submodule update/add
93 Allow shallow-cloning of submodules with "git submodule update".
96 * jc/revert-clone-doc-update-for-push-from-shallow (2013-07-15) 1 commit
97 + Revert "git-clone.txt: remove the restriction on pushing from a shallow clone"
100 * jk/fetch-pack-many-refs (2013-07-02) 3 commits
101 (merged to 'next' on 2013-07-09 at a53b7c7)
102 + fetch-pack: avoid quadratic behavior in rev_list_push
103 + commit.c: make compare_commits_by_commit_date global
104 + fetch-pack: avoid quadratic list insertion in mark_complete
106 Fetching between repositories with many refs employed O(n^2)
107 algorithm to match up the common objects, which has been corrected.
110 * jk/format-patch-from (2013-07-03) 2 commits
111 (merged to 'next' on 2013-07-09 at 6ed86d5)
112 + teach format-patch to place other authors into in-body "From"
113 + pretty.c: drop const-ness from pretty_print_context
115 "git format-patch" learned "--from[=whom]" option, which sets the
116 "From: " header to the specified person (or the person who runs the
117 command, if "=whom" part is missing) and move the original author
118 information to an in-body From: header as necessary.
121 * jk/in-pack-size-measurement (2013-07-12) 10 commits
122 (merged to 'next' on 2013-07-12 at 5ba720f)
123 + pack-revindex: radix-sort the revindex
124 + pack-revindex: use unsigned to store number of objects
125 + cat-file: split --batch input lines on whitespace
126 + cat-file: add %(objectsize:disk) format atom
127 + cat-file: add --batch-check=<format>
128 + cat-file: refactor --batch option parsing
129 + cat-file: teach --batch to stream blob objects
130 + t1006: modernize output comparisons
131 + teach sha1_object_info_extended a "disk_size" query
132 + zero-initialize object_info structs
133 (this branch is used by jk/cat-file-batch-optim.)
135 Allow on-disk footprint of objects in packfiles (often they are a
136 lot smaller than their true size, when expressed as deltas).
139 * jk/maint-clone-shared-no-connectivity-validation (2013-07-08) 1 commit
140 (merged to 'next' on 2013-07-11 at 8183412)
141 + clone: drop connectivity check for local clones
142 (this branch is used by jk/clone-shared-no-connectivity-validation.)
144 "git clone -s/-l" is a filesystem level copy and does not offer any
145 protection against source repository being corrupt. While the
146 connectivity validation checks commits and trees being readable, it
147 made the otherwise instantaneous local modes of clone much more
148 expensive, without protecting blob data from bitflips.
151 * mv/merge-ff-tristate (2013-07-02) 1 commit
152 (merged to 'next' on 2013-07-09 at c32b95d)
153 + merge: handle --ff/--no-ff/--ff-only as a tri-state option
155 The configuration variable "merge.ff" was cleary a tri-state to
156 choose one from "favor fast-forward when possible", "always create
157 a merge even when the history could fast-forward" and "do not
158 create any merge, only update when the history fast-forwards", but
159 the command line parser did not implement the usual convention of
160 "last one wins, and command line overrides the configuration"
164 * rr/rebase-reflog-message-reword (2013-06-23) 2 commits
165 (merged to 'next' on 2013-07-11 at 59921e0)
166 + rebase -i: use a better reflog message
167 + rebase: use a better reflog message
169 "git rebase [-i]" used to leave just "rebase" as its reflog message
170 for some operations. This rewords them to be more informative.
173 * rs/mailmap-himself (2013-07-17) 1 commit
174 + .mailmap: René Scharfe has a new email address
177 * sb/mailmap-updates (2013-07-17) 3 commits
178 + .mailmap: combine more (email, name) to individual persons
179 (merged to 'next' on 2013-07-15 at 61c965a)
180 + .mailmap: Combine more (email, name) to individual persons
181 + .mailmap: Map email addresses to names
183 --------------------------------------------------
186 * db/show-ref-head (2013-07-17) 1 commit
187 (merged to 'next' on 2013-07-18 at 73797d0)
188 + show-ref: make --head always show the HEAD ref
190 The "--head" option to "git show-ref" was only to add "HEAD" to the
191 list of candidate refs to be filtered by the usual rules
192 (e.g. "--heads" that only show refs under refs/heads). Change the
193 meaning of the option to always show "HEAD" regardless of what
194 filtering will be applied to any other ref (this is a backward
195 incompatible change, so I may need to add an entry to the Release
198 Will merge to 'master'.
201 * dw/request-pull-diag (2013-07-17) 1 commit
202 (merged to 'next' on 2013-07-18 at d4406de)
203 + request-pull: improve error message for invalid revision args
205 Will merge to 'master'.
208 * es/blame-L-breakage (2013-07-17) 6 commits
209 (merged to 'next' on 2013-07-18 at cfd871a)
210 + blame-options.txt: explain that -L <start> and <end> are optional
211 + blame-options.txt: place each -L option variation on its own line
212 + t8001/t8002 (blame): add blame -L :funcname tests
213 + t8001/t8002 (blame): add blame -L tests
214 + t8001/t8002 (blame): modernize style
215 + line-range: fix "blame -L X,-N" regression
217 The refactoring made for parsing "-L" option recently to support
218 "git log -L" seems to have broken "git blame -L X,-5" to show 5
221 Will merge to 'master'.
224 * jc/diff-filter-negation (2013-07-17) 6 commits
225 - diff: deprecate -q option to diff-files
226 - diff: allow lowercase letter to specify what change class to exclude
227 - diff: reject unknown change class given to --diff-filter
228 - diff: preparse --diff-filter string argument
229 - diff: factor out match_filter()
230 - diff: pass the whole diff_options to diffcore_apply_filter()
231 (this branch is used by jc/diff-2.0-remove-q-synonym-for-no-deletion.)
233 Teach "git diff --diff-filter" to express "I do not want to see
234 these classes of changes" more directly by listing only the
235 unwanted ones in lowercase (e.g. "--diff-filter=d" will show
236 everything but deletion) and deprecate "diff-files -q" which did
237 the same thing as "--diff-filter=d".
239 Waiting for comments.
242 * mh/packed-refs-do-one-ref-recursion (2013-07-17) 1 commit
243 - do_one_ref(): save and restore value of current_ref
248 * ml/avoid-using-grep-on-crlf-files (2013-07-18) 1 commit
249 - test-lib.sh - define and use GREP_STRIPS_CR
251 On systems that understand a CRLF as a line ending, tests in this
252 script that worked on files with CRLF line endings using "grep" to
253 extract matching lines may lose the CR at the end of lines that
254 match, causing the actual output not to match the expected output.
256 Waiting for success reports from folks on various flavours of
260 * ml/cygwin-updates (2013-07-15) 2 commits
261 - Use compat/regex on Cygwin
262 - Cygwin has trustable filemode
264 This seems to depend heavily on Cygwin version differences.
267 * mm/diff-no-patch-synonym-to-s (2013-07-17) 6 commits
268 (merged to 'next' on 2013-07-18 at 3b893d6)
269 + Documentation/git-log.txt: capitalize section names
270 + Documentation: move description of -s, --no-patch to diff-options.txt
271 + Documentation/git-show.txt: include common diff options, like git-log.txt
272 + diff: allow --patch & cie to override -s/--no-patch
273 + diff: allow --no-patch as synonym for -s
274 + t4000-diff-format.sh: modernize style
276 "git show -s" was less discoverable than it should be.
278 Will merge to 'master'.
281 * nd/magic-pathspec (2013-07-17) 47 commits
282 - t6131 - skip tests if on case-insensitive file system
283 - parse_pathspec: accept :(icase)path syntax
284 - pathspec: support :(glob) syntax
285 - pathspec: make --literal-pathspecs disable pathspec magic
286 - pathspec: support :(literal) syntax for noglob pathspec
287 - kill limit_pathspec_to_literal() as it's only used by parse_pathspec()
288 - parse_pathspec: preserve prefix length via PATHSPEC_PREFIX_ORIGIN
289 - parse_pathspec: make sure the prefix part is wildcard-free
290 - rename field "raw" to "_raw" in struct pathspec
291 - tree-diff: remove the use of pathspec's raw[] in follow-rename codepath
292 - remove match_pathspec() in favor of match_pathspec_depth()
293 - remove init_pathspec() in favor of parse_pathspec()
294 - remove diff_tree_{setup,release}_paths
295 - convert common_prefix() to use struct pathspec
296 - convert add_files_to_cache to take struct pathspec
297 - convert {read,fill}_directory to take struct pathspec
298 - convert refresh_index to take struct pathspec
299 - convert report_path_error to take struct pathspec
300 - checkout: convert read_tree_some to take struct pathspec
301 - convert unmerge_cache to take struct pathspec
302 - convert run_add_interactive to use struct pathspec
303 - convert read_cache_preload() to take struct pathspec
304 - line-log: convert to use parse_pathspec
305 - reset: convert to use parse_pathspec
306 - add: convert to use parse_pathspec
307 - check-ignore: convert to use parse_pathspec
308 - archive: convert to use parse_pathspec
309 - ls-files: convert to use parse_pathspec
310 - rm: convert to use parse_pathspec
311 - checkout: convert to use parse_pathspec
312 - rerere: convert to use parse_pathspec
313 - status: convert to use parse_pathspec
314 - commit: convert to use parse_pathspec
315 - clean: convert to use parse_pathspec
316 - guard against new pathspec magic in pathspec matching code
317 - parse_pathspec: support prefixing original patterns
318 - parse_pathspec: support stripping/checking submodule paths
319 - parse_pathspec: support stripping submodule trailing slashes
320 - parse_pathspec: add special flag for max_depth feature
321 - convert some get_pathspec() calls to parse_pathspec()
322 - parse_pathspec: add PATHSPEC_PREFER_{CWD,FULL} flags
323 - parse_pathspec: save original pathspec for reporting
324 - add parse_pathspec() that converts cmdline args to struct pathspec
325 - pathspec: add copy_pathspec
326 - pathspec: i18n-ize error strings in pathspec parsing code
327 - move struct pathspec and related functions to pathspec.[ch]
328 - clean: remove unused variable "seen"
330 Use "struct pathspec" interface in more places, instead of array of
331 characters, the latter of which cannot express magic pathspecs
332 (e.g. ":(icase)makefile" that matches both Makefile and makefile).
334 Will merge to 'next'.
337 * rh/template-updates (2013-07-15) 3 commits
338 - templates: spell ASCII in uppercase in pre-commit hook
339 - templates: Reformat pre-commit hook's message
340 - templates: Use heredoc in pre-commit hook
342 This is an earlier part of a 6 patch series, with log message
346 * sb/misc-fixes (2013-07-15) 3 commits
347 - diff.c: Do not initialize a variable, which gets reassigned anyway.
348 - commit: Fix a memory leak in determine_author_info
349 - daemon.c:handle: Remove unneeded check for null pointer.
351 Assorted code cleanups and a minor fix.
353 Will merge to 'next'.
356 * sb/parse-object-buffer-eaten (2013-07-17) 1 commit
357 (merged to 'next' on 2013-07-18 at 364689c)
358 + parse_object_buffer: correct freeing the buffer
360 Will merge to 'master'.
363 * tr/do-not-call-submodules-subprojects (2013-07-18) 2 commits
364 (merged to 'next' on 2013-07-18 at 6386fd5)
365 + show-branch: fix description of --date-order
366 + apply, entry: speak of submodules instead of subprojects
368 Will merge to 'master'.
371 * tr/protect-low-3-fds (2013-07-17) 2 commits
372 (merged to 'next' on 2013-07-18 at 504d972)
373 + git: ensure 0/1/2 are open in main()
374 + daemon/shell: refactor redirection of 0/1/2 from /dev/null
376 When "git" is spawned in such a way that any of the low 3 file
377 descriptors is closed, our first open() may yield file descriptor 2,
378 and writing error message to it would screw things up in a big way.
380 Will merge to 'master'.
383 * jc/diff-2.0-remove-q-synonym-for-no-deletion (2013-07-18) 1 commit
384 - diff: remove "diff-files -q" at Git 2.0 version boundary
385 (this branch uses jc/diff-filter-negation.)
387 This obviously has to wait until Git 2.0.
389 --------------------------------------------------
392 * rj/read-default-config-in-show-ref-pack-refs (2013-06-17) 3 commits
393 - ### DONTMERGE: needs better explanation on what config they need
394 - pack-refs.c: Add missing call to git_config()
395 - show-ref.c: Add missing call to git_config()
397 The changes themselves are probably good, but it is unclear what
398 basic setting needs to be read for which exact operation.
400 Waiting for clarification.
404 * jh/shorten-refname (2013-05-07) 4 commits
405 - t1514: refname shortening is done after dereferencing symbolic refs
406 - shorten_unambiguous_ref(): Fix shortening refs/remotes/origin/HEAD to origin
407 - t1514: Demonstrate failure to correctly shorten "refs/remotes/origin/HEAD"
408 - t1514: Add tests of shortening refnames in strict/loose mode
410 When remotes/origin/HEAD is not a symbolic ref, "rev-parse
411 --abbrev-ref remotes/origin/HEAD" ought to show "origin", not
412 "origin/HEAD", which is fixed with this series (if it is a symbolic
413 ref that points at remotes/origin/something, then it should show
414 "origin/something" and it already does).
416 Expecting a reroll, as an early part of a larger series.
420 * jl/submodule-mv (2013-04-23) 5 commits
421 . submodule.c: duplicate real_path's return value
422 . rm: delete .gitmodules entry of submodules removed from the work tree
423 . Teach mv to update the path entry in .gitmodules for moved submodules
424 . Teach mv to move submodules using a gitfile
425 . Teach mv to move submodules together with their work trees
427 "git mv A B" when moving a submodule A does "the right thing",
428 inclusing relocating its working tree and adjusting the paths in
429 the .gitmodules file.
431 Ejected from 'pu', as it conflicts with nd/magic-pathspec.
434 * jk/list-objects-sans-blobs (2013-06-06) 4 commits
435 . archive: ignore blob objects when checking reachability
436 . list-objects: optimize "revs->blob_objects = 0" case
437 . upload-archive: restrict remote objects with reachability check
438 . clear parsed flag when we free tree buffers
440 Attempt to allow "archive --remote=$there $arbitrary_sha1" while
441 keeping the reachability safety.
443 Seems to break some tests in a trivial and obvious way.
446 * mg/more-textconv (2013-05-10) 7 commits
447 - grep: honor --textconv for the case rev:path
448 - grep: allow to use textconv filters
449 - t7008: demonstrate behavior of grep with textconv
450 - cat-file: do not die on --textconv without textconv filters
451 - show: honor --textconv for blobs
452 - diff_opt: track whether flags have been set explicitly
453 - t4030: demonstrate behavior of show with textconv
455 Make "git grep" and "git show" pay attention to --textconv when
456 dealing with blob objects.
458 I thought this was pretty well designed and executed, but it seems
459 there are some doubts on the list; kicked back to 'pu'.
462 * mh/multimail (2013-07-15) 2 commits
463 - post-receive-email: deprecate script in favor of git-multimail
464 - git-multimail: an improved replacement for post-receive-email
466 An enhanced "post-receive" hook to send e-mail messages.
468 Will wait for the review for the tip one to settle and then merge.
471 * jc/format-patch (2013-04-22) 2 commits
472 - format-patch: --inline-single
473 - format-patch: rename "no_inline" field
475 A new option to send a single patch to the standard output to be
476 appended at the bottom of a message. I personally have no need for
477 this, but it was easy enough to cobble together. Tests, docs and
478 stripping out more MIMEy stuff are left as exercises to interested
481 Not ready for inclusion.
483 Will discard unless we hear from anybody who is interested in
484 tying its loose ends.
487 * jk/gitweb-utf8 (2013-04-08) 4 commits
488 - gitweb: Fix broken blob action parameters on blob/commitdiff pages
489 - gitweb: Don't append ';js=(0|1)' to external links
490 - gitweb: Make feed title valid utf8
491 - gitweb: Fix utf8 encoding for blob_plain, blobdiff_plain, commitdiff_plain, and patch
493 Various fixes to gitweb.
495 Drew Northup volunteered to take a look into this.
499 * jc/show-branch (2013-06-07) 5 commits
500 - show-branch: use commit slab to represent bitflags of arbitrary width
501 - show-branch.c: remove "all_mask"
502 - show-branch.c: abstract out "flags" operation
503 - show-branch.c: lift all_mask/all_revs to a global static
504 - show-branch.c: update comment style
506 Waiting for the final step to lift the hard-limit before sending it out.
508 --------------------------------------------------
511 * rr/send-email-ssl-verify (2013-07-18) 1 commit
512 - send-email: be explicit with SSL certificate verification
514 Waiting for test reports.
517 * es/check-mailmap (2013-07-13) 2 commits
518 - t4203: test check-mailmap command invocation
519 - builtin: add git-check-mailmap command
521 A new command to allow scripts to query the mailmap information.
523 Will merge to 'next'.
526 * jc/check-x-z (2013-07-11) 4 commits
527 (merged to 'next' on 2013-07-15 at 62751bc)
528 + check-attr -z: a single -z should apply to both input and output
529 + check-ignore -z: a single -z should apply to both input and output
530 + check-attr: the name of the character is NUL, not NULL
531 + check-ignore: the name of the character is NUL, not NULL
533 "git check-ignore -z" applied the NUL termination to both its input
534 (with --stdin) and its output, but "git check-attr -z" ignored the
535 option on the output side.
537 This is potentially a backward incompatible fix. I am tempted to
538 merge this to and keep it in 'next' for a while to see if anybody
539 screams before deciding if we want to do anything to help existing
540 users (there may be none).
542 Waiting for failure reports ;-)
545 * jk/cat-file-batch-optim (2013-07-18) 9 commits
546 - Fix some sparse warnings
547 - sha1_object_info_extended: pass object_info to helpers
548 - sha1_object_info_extended: make type calculation optional
549 - packed_object_info: make type lookup optional
550 - packed_object_info: hoist delta type resolution to helper
551 - sha1_loose_object_info: make type lookup optional
552 - sha1_object_info_extended: rename "status" to "type"
553 - cat-file: disable object/refname ambiguity check for batch mode
554 - Merge branch 'nd/warn-ambiguous-object-name' into jk/cat-file-batch-optim
556 If somebody wants to only know on-disk footprint of an object
557 without having to know its type or payload size, we can bypass a
558 lot of code to cheaply learn it.
560 Will merge to 'next'.
563 * jk/t0008-sigpipe-fix (2013-07-12) 1 commit
564 (merged to 'next' on 2013-07-15 at cead4b2)
565 + t0008: avoid SIGPIPE race condition on fifo
567 Fix for recent test breakage on 'master'.
569 Will merge to 'master'.
572 * mk/upload-pack-off-by-one-dead-code-removal (2013-07-15) 1 commit
573 (merged to 'next' on 2013-07-15 at a8f55a2)
574 + upload-pack: remove a piece of dead code
576 Will merge to 'master'.
579 * tf/gitweb-ss-tweak (2013-07-15) 4 commits
580 - gitweb: make search help link less ugly
581 - gitweb: omit the repository owner when it is unset
582 - gitweb: vertically centre contents of page footer
583 - gitweb: ensure OPML text fits inside its box
585 Waiting for comments.
588 * tr/fd-gotcha-fixes (2013-07-12) 2 commits
589 (merged to 'next' on 2013-07-18 at 30f4fdf)
590 + run-command: dup_devnull(): guard against syscalls failing
591 + git_mkstemps: correctly test return value of open()
593 Two places we did not check return value (expected to be a file
594 descriptor) correctly.
596 Will merge to 'master'.
599 * jc/mailmap-case-insensitivity (2013-07-15) 9 commits
600 (merged to 'next' on 2013-07-18 at 83341ac)
601 + mailmap: style fixes
602 + mailmap: debug: avoid passing NULL to fprintf() '%s' conversion specification
603 + mailmap: debug: eliminate -Wformat field precision type warning
604 + mailmap: debug: fix malformed fprintf() format conversion specification
605 + mailmap: debug: fix out-of-order fprintf() arguments
606 + mailmap: do not downcase mailmap entries
607 + t4203: demonstrate loss of uppercase characters in canonical email
608 + mailmap: do not lose single-letter names
609 + t4203: demonstrate loss of single-character name in mailmap entry
611 The mailmap mechanism unnecessarily downcased the e-mail addresses
612 in the output, and also ignored the human name when it is a single
615 This now has become Eric Sunshine's series, even though it still is
618 Will merge to 'master'.
621 * ms/fetch-prune-configuration (2013-07-18) 1 commit
622 - fetch: make --prune configurable
624 Allow fetch.prune and remote.*.prune configuration variables to be set,
625 and "git fetch" to behave as if "--prune" is given.
627 Will merge to 'next'.
630 * jk/gcc-function-attributes (2013-07-09) 3 commits
631 (merged to 'next' on 2013-07-12 at 5a7081f)
632 + wt-status: use "format" function attribute for status_printf
633 + use "sentinel" function attribute for variadic lists
634 + add missing "format" function attributes
636 Use the function attributes extension to catch mistakes in use of
637 our own variadic functions that use NULL sentinel at the end
638 (i.e. like execl(3)) and format strings (i.e. like printf(3)).
640 Will merge to 'master'.
643 * km/http-curl-config-per-url (2013-07-12) 2 commits
644 - config: add support for http.<url>.* settings
645 - http.c: fix parsing of http.sslCertPasswordProtected variable
647 Allows custom curl configuration per URL when talking over http.
649 There is a reroll that needs to be picked up after discussion.
652 * hv/config-from-blob (2013-07-12) 5 commits
653 (merged to 'next' on 2013-07-15 at 9ab7f3f)
654 + do not die when error in config parsing of buf occurs
655 + teach config --blob option to parse config from database
656 + config: make parsing stack struct independent from actual data source
657 + config: drop cf validity check in get_next_char()
658 + config: factor out config file stack management
660 Allow configuration data to be read from in-tree blob objects,
661 which would help working in a bare repository and submodule
664 Will merge to 'master'.
667 * jc/name-rev-exact-ref (2013-07-18) 5 commits
668 (merged to 'next' on 2013-07-18 at c8bc00c)
669 + describe: fix --contains when a tag is given as input
670 + name-rev: differentiate between tags and commits they point at
671 (merged to 'next' on 2013-07-11 at fd5b30c)
672 + describe: use argv-array
673 + name-rev: allow converting the exact object name at the tip of a ref
674 + name-ref: factor out name shortening logic from name_ref()
676 Corrects the longstanding sloppiness in the implementation of
677 name-rev that conflated "we take commit-ish" and "differences
678 between tags and commits do not matter".
680 Will merge to 'master'.
683 * km/svn-1.8-serf-only (2013-07-07) 2 commits
684 (merged to 'next' on 2013-07-12 at 70e0b95)
685 + git-svn: allow git-svn fetching to work using serf
686 + Git.pm: add new temp_is_locked function
688 Subversion 1.8.0 that was recently released breaks older subversion
689 clients coming over http/https in various ways.
691 Are people on older Subversion happy with this change?
694 * tr/merge-recursive-index-only (2013-07-07) 3 commits
695 - merge-recursive: -Xindex-only to leave worktree unchanged
696 - merge-recursive: untangle double meaning of o->call_depth
697 - merge-recursive: remove dead conditional in update_stages()
700 * jc/push-cas (2013-07-17) 6 commits
701 - t5533: test "push --lockref"
702 - push --lockref: tie it all together
703 - push --lockref: implement logic to populate old_sha1_expect[]
704 - remote.c: add command line option parser for "--lockref"
705 - builtin/push.c: use OPT_BOOL, not OPT_BOOLEAN
706 - cache.h: move remote/connect API out of it
708 Allow a safer "rewind of the remote tip" push than blind "--force",
709 by requiring that the overwritten remote ref to be unchanged since
710 the new history to replace it was prepared.
712 The machinery is more or less ready. The "--force" option is again
713 the big red button to override any safety, thanks to J6t's sanity
714 (the original round allowed --lockref to defeat --force). The
715 logic to choose the default for --lockref is suitable only for the
716 simplest workflows, and may hurt users more than help them.
718 Waiting for comments.
721 * nd/const-struct-cache-entry (2013-07-09) 1 commit
722 (merged to 'next' on 2013-07-15 at 9ce0122)
723 + Convert "struct cache_entry *" to "const ..." wherever possible
725 Will merge to 'master'.
728 * es/contacts (2013-07-03) 3 commits
729 - contrib: contacts: interpret committish akin to format-patch
730 - contrib: contacts: add ability to parse from committish
731 - contrib: add git-contacts helper
733 A helper to read from a set of format-patch output files or a range
734 of commits and find those who may have insights to the code that
735 the changes touch by running a series of "git blame" commands.
737 Still needs to add mailmap support and other niceties but the
738 basics already look sound, and the enhancements can be done
739 in-tree. Assuming that "git contact" is something we may want to
740 have as a member of the official set of commands someday, that is.
742 Perhaps this should be rebased on es/check-mailmap to utilize it.
745 * jc/pull-training-wheel (2013-07-18) 1 commit
746 - pull: require choice between rebase/merge on non-fast-forward pull
748 Make "git pull" (without arguments that say what branch to
749 integrate from where) refuse with "it does not fast forward; choose
750 between 'pull --merge' and 'pull --rebase'".
754 http://thread.gmane.org/gmane.comp.version-control.git/225146/focus=225326
755 http://thread.gmane.org/gmane.comp.version-control.git/225146/focus=229221
762 * jk/fast-import-empty-ls (2013-06-23) 4 commits
763 - fast-import: allow moving the root tree
764 - fast-import: allow ls or filecopy of the root tree
765 - fast-import: set valid mode on root tree in "ls"
766 - t9300: document fast-import empty path issues
772 * rj/cygwin-clarify-use-of-cheating-lstat (2013-07-18) 1 commit
773 - cygwin: Remove the Win32 l/stat() implementation
775 Waiting for the discussion to settle.
778 * jc/reflog-doc (2013-06-19) 1 commit
779 - setup_reflog_action: document the rules for using GIT_REFLOG_ACTION
781 Document rules to use GIT_REFLOG_ACTION variable in the scripted
782 Porcelain. git-rebase--interactive locally violates this, but it
783 is a leaf user that does not call out to or dot-sources other
784 scripts, so fixing it is not all that urgent.
787 * mh/ref-races-optim-invalidate-cached (2013-06-20) 1 commit
788 - refs: do not invalidate the packed-refs cache unnecessarily
790 This requires the platform lstat() to be correct to avoid false
794 * jx/clean-interactive (2013-06-26) 16 commits
795 (merged to 'next' on 2013-07-12 at 61dd42d)
796 + test: run testcases with POSIX absolute paths on Windows
797 + test: add t7301 for git-clean--interactive
798 + git-clean: add documentation for interactive git-clean
799 + git-clean: add ask each interactive action
800 + git-clean: add select by numbers interactive action
801 + git-clean: add filter by pattern interactive action
802 + git-clean: use a git-add-interactive compatible UI
803 + git-clean: add colors to interactive git-clean
804 + git-clean: show items of del_list in columns
805 + git-clean: add support for -i/--interactive
806 (merged to 'next' on 2013-06-26 at f7be2d8)
807 + git-clean: refactor git-clean into two phases
808 + write_name{_quoted_relative,}(): remove redundant parameters
809 + quote_path_relative(): remove redundant parameter
810 + quote.c: substitute path_relative with relative_path
811 + path.c: refactor relative_path(), not only strip prefix
812 + test: add test cases for relative_path
814 Add "interactive" mode to "git clean".
816 The early part to refactor relative path related helper functions
819 Will merge to 'master'.
822 * jn/add-2.0-u-A-sans-pathspec (2013-04-26) 1 commit
823 - git add: -u/-A now affects the entire working tree
825 Will cook in 'next' until Git 2.0.
828 * jc/core-checkstat-2.0 (2013-05-06) 1 commit
829 - core.statinfo: remove as promised in Git 2.0
831 Will cook in 'next' until Git 2.0.
834 * jc/push-2.0-default-to-simple (2013-06-18) 1 commit
835 - push: switch default from "matching" to "simple"
837 Will cook in 'next' until Git 2.0.
840 * jc/add-2.0-ignore-removal (2013-04-22) 1 commit
841 - git add <pathspec>... defaults to "-A"
843 Updated endgame for "git add <pathspec>" that defaults to "--all"
844 aka "--no-ignore-removal".
846 Will cook in 'next' until Git 2.0.