text: Welcome to the first issue of "What's cooking" report for the new year.
  Advertising
  Here are the topics that have been cooking. Commits prefixed with '-' are only in 'pu' (proposed updates) while commits prefixed with '+' are in 'next'. You can find the changes described here in the integration branches of the repositories listed at -------------------------------------------------- [Graduated to "master"] * fc/remote-helper-fixes (2013-12-26) 5 commits (merged to 'next' on 2013-12-26 at ce5f872) + remote-hg: test 'shared_path' in a moved clone (merged to 'next' on 2013-12-17 at aa4dc07) + remote-hg: add tests for special filenames + remote-hg: fix 'shared path' path + remote-helpers: add extra safety checks + remote-hg: avoid buggy strftime() * jc/push-refmap (2013-12-04) 3 commits (merged to 'next' on 2013-12-12 at 71e358f) + push: also use "upstream" mapping when pushing a single ref + push: use remote.$name.push as a refmap + builtin/push.c: use strbuf instead of manual allocationk/cat-file-regression-fix (2013-12-12) 2 commits (merged to 'next' on 2013-12-13 at 3713e01) + cat-file: handle --batch format with missing type/size + cat-file: pass expand_data to print_object_or_die "git cat-file --batch=", an admittedly useless command, did not behave very well. * jk/name-pack-after-byte-representation (2013-12-16) 3 commits (merged to 'next' on 2013-12-17 at 0bc385c) + pack-objects doc: treat output filename as opaque (merged to 'next' on 2013-12-09 at 247b2d0) + pack-objects: name pack files after trailer hash + sha1write: make buffer const-correct (this branch is tangled with jk/pack-bitmap.) Two packfiles that contain the same set of objects have traditionally been named identically, but that made repacking a repository that is already fully packed without any cruft with a different packing parameter cumbersome. Update the convention to name the packfile after the bytestream representation of the data, not after the set of objects in it. * jk/pull-rebase-using-fork-point (2013-12-10) 2 commits (merged to 'next' on 2013-12-13 at 1862c12) + rebase: use reflog to find common base with upstream + pull: use merge-base --fork-point when appropriate * jk/rev-parse-double-dashes (2013-12-09) 2 commits (merged to 'next' on 2013-12-13 at d26bac7) + rev-parse: be more careful with munging arguments + rev-parse: correctly diagnose revision errors before "--" "git rev-parse <revs> -- <paths>" did not implement the usual disambiguation rules the commands in the "git log" family used in the same way. * js/gnome-keyring (2013-12-16) 1 commit (merged to 'next' on 2013-12-17 at 422fd61) + contrib/git-credential-gnome-keyring.c: small stylistic cleanups Style fix. * tg/diff-no-index-refactor (2013-12-16) 4 commits (merged to 'next' on 2013-12-17 at 009d8d8) + diff: avoid some nesting + diff: add test for --no-index executed outside repo (merged to 'next' on 2013-12-13 at 523f7c4) + diff: don't read index when --no-index is given + diff: move no-index detection to builtin/diff.c "git diff ../else/where/A ../else/where/B" when ../else/where is clearly outside the repository, and "git diff --no-index A B", do not have to look at the index at all, but we used to read the index unconditionally. * zk/difftool-counts (2013-12-16) 2 commits (merged to 'next' on 2013-12-16 at 0e0d235) + diff.c: fix some recent whitespace style violations (merged to 'next' on 2013-12-12 at ba35694) + difftool: display the number of files in the diff queue in the prompt Show the total number of paths and the number of paths shown so far when "git difftool" prompts to launch an external diff tool, which would give users some sense of progress. -------------------------------------------------- [New Topics] * ta/format-user-manual-as-an-article (2014-01-06) 1 commit (merged to 'next' on 2014-01-06 at 37858f6) + user-manual: improve html and pdf formatting Update the way the user-manual is formatted via AsciiDoc to save trees. Will merge to 'master'. * bm/merge-base-octopus-dedup (2013-12-30) 2 commits (merged to 'next' on 2014-01-06 at 355d62b) + merge-base --octopus: reduce the result from get_octopus_merge_bases() + merge-base: separate "--independent" codepath into its own helper "git merge-base --octopus" used to leave cleaning up suboptimal result to the caller, but now it does the clean-up itself. Will merge to 'master'. * jk/test-framework-updates (2014-01-02) 3 commits (merged to 'next' on 2014-01-06 at f81f373) + t0000: drop "known breakage" test + t0000: simplify HARNESS_ACTIVE hack + t0000: set TEST_OUTPUT_DIRECTORY for sub-tests The basic test used to leave unnecessary trash directories in the t/ directory. Will merge to 'master'. * js/lift-parent-count-limit (2013-12-27) 1 commit (merged to 'next' on 2014-01-06 at b74133c) + Remove the line length limit for graft files There is no reason to have a hardcoded upper limit of the number of parents for an octopus merge, created via the graft mechanism. Will merge to 'master'. * ap/remote-hg-skip-null-bookmarks (2014-01-02) 1 commit - remote-hg: do not fail on invalid bookmarks Reported to break tests ($gmane/240005) Expecting a reroll. * bs/mirbsd (2014-01-02) 1 commit (merged to 'next' on 2014-01-06 at d5cecbb) + Add MirBSD support to the build system. Will merge to 'master'. * jk/credential-plug-leak (2014-01-02) 1 commit (merged to 'next' on 2014-01-06 at 88e29a3) + Revert "prompt: clean up strbuf usage" An earlier "clean-up" introduced an unnecessary memory leak. Will merge to 'master'. * jk/http-auth-tests-robustify (2014-01-02) 1 commit (merged to 'next' on 2014-01-06 at 7e87bba) + use distinct username/password for http auth tests Using the same username and password during the tests would not catch a potential breakage of sending one when we should be sending the other. Will merge to 'master'. * km/gc-eperm (2014-01-02) 1 commit (merged to 'next' on 2014-01-06 at fe107de) + gc: notice gc processes run by other users A "gc" process running as a different user should be able to stop a new "gc" process from starting. Will merge to 'master'. * rr/completion-branch-config (2014-01-06) 4 commits (merged to 'next' on 2014-01-06 at ed9eecc) + completion: fix remote.pushdefault + completion: fix branch.autosetup(merge|rebase) + completion: introduce __gitcomp_nl_append () + zsh completion: find matching custom bash completion Two-level configuration variable names in "branch.*" and "remote.*" hierarchies whose variables are predominantly three-level where not completed by hitting a <TAB> in bash and zsh completions. Will merge to 'master'. * ss/builtin-cleanup (2014-01-06) 3 commits (merged to 'next' on 2014-01-06 at ffcac50) + builtin/help.c: speed up is_git_command() by checking for builtin commands first + builtin/help.c: call load_command_list() only when it is needed + git.c: consistently use the term "builtin" instead of "internal command" "git help $cmd" unnecessarily enumerated potential command names from the filesystem, even when $cmd is known to be a built-in. Ideas for further optimization, primarily by killing the use of is_in_cmdlist(), were suggested in the discussion, but they can come as follow-ups on top of this series. Will merge to 'master'. * ss/safe-create-leading-dir-with-slash (2014-01-06) 1 commit - safe_create_leading_directories(): on Windows, \ can separate path components * vm/octopus-merge-bases-simplify (2014-01-03) 1 commit (merged to 'next' on 2014-01-06 at 35df672) + get_octopus_merge_bases(): cleanup redundant variable Will merge to 'master'. * fp/submodule-checkout-mode (2014-01-06) 2 commits - DONOTMERGE: needs sign-off - git-submodule.sh: support 'checkout' as a valid update mode Need to pick up a rerolled one. -------------------------------------------------- [Stalled] * jc/graph-post-root-gap (2013-12-30) 3 commits - WIP: document what we want at the end - graph: remove unused code a bit - graph: stuff the current commit into graph->columns[] This was primarily a RFH ($gmane/239580). *. Will hold. * fc/completion (2013-12-09) 1 commit - completion: fix completion of certain aliases SZEDER Gábor noticed that this breaks "git -c var=val alias" and also suggested a better description of the change. Will hold. * mo/subtree-split-updates (2013-12-10) 3 commits - subtree: add --edit option - subtree: allow --squash and --message with push - subtree: support split --rejoin --squash Comments? *). * jc/create-directories-microopt (2013-11-11) 1 commit - checkout: most of the time we have good leading directories Of unknown value until tested on non-Linux platforms (especially Windows). Will hold. *. It appears that the discussion stalled. *.. */log-decoration (2013-12-20) 1 commit (merged to 'next' on 2014-01-03 at ff8873f) + log: properly handle decorations with chained tags "git log --decorate" did not handle a tag pointed by another tag nicely. Will merge to 'master'. * jh/rlimit-nofile-fallback (2013-12-18) 1 commit (merged to 'next' on 2014-01-03 at b56ae0c) + get_max_fd_limit(): fall back to OPEN_MAX upon getrlimit/sysconf failure. Will merge to 'master'. * rt/bfg-ad-in-filter-branch-doc (2013-12-18) 1 commit (merged to 'next' on 2014-01-03 at 2a45e3b) + docs: add filter-branch notes on The BFG Will merge to 'master'. * sb/diff-orderfile-config (2013-12-18) 3 commits (merged to 'next' on 2014-01-03 at 744eba7) + diff: add diff.orderfile configuration variable + diff: let "git diff -O" read orderfile from any file and fail properly + t4056: add new tests for "git diff -O" Allow "git diff -O<file>" to be configured with a new configuration variable. Will merge to 'master'. * nd/daemon-informative-errors-typofix (2013-12-20) 1 commit (merged to 'next' on 2014-01-03 at 1b87648) + daemon: be strict at parsing parameters --[no-]informative-errors Will merge to 'master'. * tm/fetch-prune (2014-01-03) 2 commits (merged to 'next' on 2014-01-03 at a58c6b4) + fetch --prune: Run prune before fetching + fetch --prune: always print header url Fetching 'frotz' branch with "git fetch", while having 'frotz/nitfol' remote-tracking branch from an earlier fetch, would error out, primarily because the command has not been told to remove anything on our side. In such a case, "git fetch --prune" can be used to remove 'frotz/nitfol' to make room to fetch and store 'frotz' remote-tracking branch. Will merge to 'master'. * jk/oi-delta-base (2013-12-26) 2 commits (merged to 'next' on 2014-01-06 at 8cf3ed2) + cat-file: provide %(deltabase) batch format + sha1_object_info_extended: provide delta base sha1s Teach "cat-file --batch" to show delta-base object name for a packed object that is represented as a delta. Will merge to 'master'. * jk/sha1write-void (2013-12-26) 1 commit (merged to 'next' on 2014-01-06 at d8cd8ff) + do not pretend sha1write returns errors Code clean-up. Will merge to 'master'. * What is the doneness of this one??? * mh/safe-create-leading-directories (2014-01-06) 17 commits - rename_tmp_log(): on SCLD_VANISHED, retry - rename_tmp_log(): limit the number of remote_empty_directories() attempts - rename_tmp_log(): handle a possible mkdir/rmdir race - rename_ref(): extract function rename_tmp_log() - remove_dir_recurse(): handle disappearing files and directories - remove_dir_recurse(): tighten condition for removing unreadable dir - lock_ref_sha1_basic(): if locking fails with ENOENT, retry - lock_ref_sha1_basic(): on SCLD_VANISHED, retry - safe_create_leading_directories(): add new error value SCLD_VANISHED - cmd_init_db(): when creating directories, handle errors conservatively - safe_create_leading_directories(): introduce enum for return values - safe_create_leading_directories(): always restore slash at end of loop - safe_create_leading_directories(): split on first of multiple slashes - safe_create_leading_directories(): rename local variable - safe_create_leading_directories(): add explicit "slash" pointer - safe_create_leading_directories(): reduce scope of local variable - safe_create_leading_directories(): fix format of "if" chaining Code clean-up and protection against concurrent write access to the ref namespace. Is ready for 'next', with or without minor nitfix. * nd/add-empty-fix (2013-12-26) 1 commit (merged to 'next' on 2014-01-06 at 88a78c9) + add: don't complain when adding empty project root "git add -A" (no other arguments) in a totally empty working tree used to emit an error. Will merge to 'master'. * nd/commit-tree-constness (2013-12-26) 1 commit (merged to 'next' on 2014-01-06 at a177c9f) + commit.c: make "tree" a const pointer in commit_tree*() Code clean-up. Will merge to 'master'. * jk/pack-bitmap (2013-12-30) 21 commits - Borrows the bitmap index into packfiles from JGit to speed up enumeration of objects involved in a commit range without having to fully traverse the history. Will merge to 'next'. * ap/path-max (2013-12-16) 1 commit (merged to 'next' on 2014-01-03 at affc620) + Prevent buffer overflows when path is too long Will merge to 'master'. * mh/path-max (2013-12-18) 2 commits (merged to 'next' on 2014-01-03 at 5227c9b) + builtin/prune.c: use strbuf to avoid having to worry about PATH_MAX + prune-packed: use strbuf to avoid having to worry about PATH_MAX A few places where we relied on a fixed length buffer to hold pathnames in these two programs have been converted to use strbuf. Will merge to 'master'. *. * cc/replace-object-info (2013-12-30) 11 commits (merged to 'next' on 2014-01-03 at 4473803) + replace info: rename 'full' to 'long' and clarify in-code symbols (merged to 'next' on 2013-12-17 at aeb9e18) + Documentation/git-replace: describe --format option + builtin/replace: unset read_replace_refs + t6050: add tests for listing with --format + builtin/replace: teach listing using short, medium or full formats + sha1_file: perform object replacement in sha1_object_info_extended() + t6050: show that git cat-file --batch fails with replace objects + sha1_object_info_extended(): add an "unsigned flags" parameter + sha1_file.c: add lookup_replace_object_extended() to pass flags + replace_object: don't check read_replace_refs twice + rename READ_SHA1_FILE_REPLACE flag to LOOKUP_REPLACE_OBJECT read_sha1_file() that is the workhorse to read the contents given an object name honoured object replacements, but there is no corresponding mechanism to sha1_object_info() that is used to obtain the metainfo (e.g. type & size) about the object, leading callers to weird inconsistencies. Will merge to 'master'. * nd/shallow-clone (2014-01-06) 30 commits (merged to 'next' on 2014-01-06 at 3dc7fab) + shallow: remove unused code + send-pack.c: mark a file-local function static (merged to 'next' on 2014-01-03 at a776065) + git-clone.txt: remove shallow clone limitations + prune: clean .git/shallow after pruning objects + clone: use git protocol for cloning shallow repo locally + send-pack: support pushing from a shallow clone via http + receive-pack: support pushing to a shallow clone via http + smart-http: + fetch-pack.h: one statement per bitfield declaration + fetch-pack.c: move shallow update code out of fetch_pack() + shallow.c: steps 6 and 7 to select new commits for .git/shallow + shallow.c: the 8 steps to select new commits for .git/shallow + shallow.c: extend setup_*_shallow() to accept extra shallow commits + connect.c: teach get_remote_heads to parse "shallow" lines + make the sender advertise shallow commits to the receiver + clone: prevent --reference to a shallow repository + send-pack: forbid pushing from a shallow repository + remote.h: replace struct extra_have_objects with struct sha1_array + transport.h: remove send_pack prototype, already defined in send-pack.h). Will merge to 'master'. * jn/git-gui-chmod+x (2013-11-25) 1 commit - git-gui: chmod +x po2msg, windows/git-gui.sh Parked here until I get the same change back from the upstream git-gui tree. * jn/gitk-chmod+x (2013-11-25) 1 commit - gitk: chmod +x po2msg Parked here until I get the same change back from the upstream gitk tree. * nd/negative-pathspec (2013-12-06) 3 commits (merged to 'next' on 2013-12-12 at 9f340c8) + pathspec.c: support adding prefix magic to a pathspec with mnemonic magic + Support pathspec magic :(exclude) and its short form :! + glossary-content.txt: rephrase magic signature part Introduce "negative pathspec" magic, to allow "git log -- . ':!dir'" to tell us "I am interested in everything but 'dir' directory". Will merge to 'master'. * cc/starts-n-ends-with-endgame (2013-12-05) 1 commit - strbuf: remove prefixcmp() and suffixcmp() Endgame for the cc/starts-n-ends-with topic; this needs to be evil-merged with other topics that introduce new uses of prefix/suffix-cmp functions. Will merge to 'next' and cook. * tr/merge-recursive-index-only (2013-10-28) 3 commits - merge-recursive: -Xindex-only to leave worktree unchanged - merge-recursive: internal flag to avoid touching the worktree - merge-recursive: remove dead conditional in update_stages() Will hold until using script appears. *. -------------------------------------------------- [Discarded] * aa/transport-non-positive-depth-only (2013-11-26) 1 commit . transport: catch non positive --depth option value * cc/remote-remove-redundant-postfixcmp (2013-11-06) 2 commits . Rename suffixcmp() to has_suffix() and invert its result . builtin/remote: remove postfixcmp() and use suffixcmp() instead * th/reflog-annotated-tag (2013-10-28) 1 commit . reflog: handle lightweight and annotated tags equally "git log -g $annotated_tag", when there is no reflog history, should have produced a single output entry (i.e. the ref creation event), but instead showed the history leading to the tag. Broken at the design level. Any reflog entry that points at a non commit needs to be handled with new code that does not exist yet, and lifting the "this code handles only commits" without adding such code does not solve anything. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at