From 8ada99f9fd1379db936b344585c41b26a6b88308 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Tue, 2 Sep 2014 15:03:39 -0700 Subject: [PATCH] What's cooking (2014/09 #01) --- whats-cooking.txt | 788 +++++++++++++++++++++++++++++------------------------- 1 file changed, 424 insertions(+), 364 deletions(-) diff --git a/whats-cooking.txt b/whats-cooking.txt index 9c2ab75941..fc47c632e8 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,22 +1,17 @@ To: git@vger.kernel.org Bcc: lwn@lwn.net -Subject: What's cooking in git.git (Aug 2014, #04; Tue, 26) -X-master-at: 4109c28e055dba27d73cefb956bea5e611f66ec0 -X-next-at: 11be0d652a0216982fcd6503ffcadf94f8ac3fd9 +Subject: What's cooking in git.git (Sep 2014, #01; Tue, 2) +X-master-at: 85f083786fe37f280ca30fc0b74498b22b322c6d +X-next-at: 7c4bc81ba6302d4dd40821b46578580afbcdf4b5 -What's cooking in git.git (Aug 2014, #04; Tue, 26) +What's cooking in git.git (Sep 2014, #01; Tue, 2) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with '-' are only in 'pu' (proposed updates) while commits prefixed with '+' are in 'next'. -The 'maint' branch now is for the 2.1.x maintenance track, and a few -fixes for recent regressions have been merged to 'maint' and 'master'. -The 'next' has been rewound, while kicking a couple of topics back -to 'pu' per topic owners' requests. I still haven't caught up with -new topics and rerolls that came late in the last cycle yet but -hopefully I can in the coming days. +The first batch of topics have graduated to 'master'. You can find the changes described here in the integration branches of the repositories listed at @@ -26,125 +21,280 @@ of the repositories listed at -------------------------------------------------- [Graduated to "master"] -* jk/diff-tree-t-fix (2014-08-20) 1 commit - (merged to 'next' on 2014-08-21 at 0f652d6) - + intersect_paths: respect mode in git's tree-sort +* bc/archive-pax-header-mode (2014-08-04) 1 commit + (merged to 'next' on 2014-08-26 at 51fca1a) + + archive: honor tar.umask even for pax headers + + Originally merged to 'next' on 2014-08-13 + + Implementations of "tar" that do not understand an extended pax + header would extract the contents of it in a regular file; make + sure the permission bits of this file follows the same tar.umask + configuration setting. + + +* jc/reopen-lock-file (2014-07-14) 1 commit + (merged to 'next' on 2014-08-26 at c5a5a12) + + lockfile: allow reopening a closed but still locked file + + Originally merged to 'next' on 2014-07-21 + + Needed in the "commit -p" code path to update the cache tree in the + index (e.g. for dt/cache-tree-repair topic). + + +* jk/pretty-empty-format (2014-07-30) 3 commits + (merged to 'next' on 2014-08-26 at 1eb7cc3) + + pretty: make empty userformats truly empty + + pretty: treat "--format=" as an empty userformat + + revision: drop useless string offset when parsing "--pretty" + + Originally merged to 'next' on 2014-08-13 + + "git log --pretty/format=" with an empty format string did not mean + the more obvious "No output whatsoever" but "Use default format", + which was counterintuitive. + + +* mm/config-edit-global (2014-07-25) 3 commits + (merged to 'next' on 2014-08-26 at 3a47fc5) + + commit: advertise config --global --edit on guessed identity + + home_config_paths(): let the caller ignore xdg path + + config --global --edit: create a template file if needed + + Originally merged to 'next' on 2014-07-31 + + Start "git config --edit --global" from a skeletal per-user + configuration file contents, instead of a total blank, when the + user does not already have any. This immediately reduces the need + for a later "Have you forgotten setting core.user?" and we can add + more to the template as we gain more experience. + + +* pr/remotes-in-hashmap (2014-07-30) 1 commit + (merged to 'next' on 2014-08-26 at 2052a31) + + use a hashmap to make remotes faster + + Originally merged to 'next' on 2014-08-13 + + Optimize remotes configuration look-up in a repository with very + many remotes defined. - Fix (rarely used) "git diff-tree -t" regression in 2.0. +* rs/init-no-duplicate-real-path (2014-07-28) 1 commit + (merged to 'next' on 2014-08-26 at c66e1c4) + + init: avoid superfluous real_path() calls -* jk/fix-profile-feedback-build (2014-08-19) 1 commit - (merged to 'next' on 2014-08-21 at b282021) - + Makefile: make perf tests optional for profile build + Originally merged to 'next' on 2014-07-31 - Fix profile-feedback build broken in 2.1 for tarball releases. +* rs/strbuf-getcwd (2014-08-26) 10 commits + (merged to 'next' on 2014-08-26 at 11be0d6) + + use strbuf_add_absolute_path() to add absolute paths + + abspath: convert absolute_path() to strbuf + + use xgetcwd() to set $GIT_DIR + + use xgetcwd() to get the current directory or die + + wrapper: add xgetcwd() + + abspath: convert real_path_internal() to strbuf + + abspath: use strbuf_getcwd() to remember original working directory + + setup: convert setup_git_directory_gently_1 et al. to strbuf + + unix-sockets: use strbuf_getcwd() + + strbuf: add strbuf_getcwd() + (this branch is tangled with nd/lock-paths-absolute.) + + Originally merged to 'next' on 2014-08-18 + + Reduce the use of fixed sized buffer passed to getcwd() calls + by introducing xgetcwd() helper. -* jk/pack-shallow-always-without-bitmap (2014-08-12) 1 commit - (merged to 'next' on 2014-08-21 at e04c935) - + pack-objects: turn off bitmaps when we see --shallow lines - Reachability bitmaps do not work with shallow operations. - Fixes regression in 2.0. +* ta/config-set (2014-07-29) 2 commits + (merged to 'next' on 2014-08-26 at 81395f9) + + test-config: add tests for the config_set API + + add `config_set` API for caching config-like files + (this branch is used by ta/config-set-1 and ta/config-set-2.) + + Originally merged to 'next' on 2014-08-13 + + Add in-core caching layer to let us avoid reading the same + configuration files number of times. + + +* ta/pretty-parse-config (2014-08-04) 1 commit + (merged to 'next' on 2014-08-26 at 901e8c2) + + pretty.c: make git_pretty_formats_config return -1 on git_config_string failure + + Originally merged to 'next' on 2014-08-13 -------------------------------------------------- [New Topics] -* et/spell-poll-infinite-with-minus-one-only (2014-08-22) 1 commit - - upload-pack: keep poll(2)'s timeout to -1 +* bb/date-iso-strict (2014-08-29) 1 commit + - pretty: provide a strict ISO 8601 date format - We used to pass -1000 to poll(2), expecting it to also mean "no - timeout", which should be spelled as -1. - Will merge to 'next'. +* jk/commit-author-parsing (2014-08-29) 6 commits + - determine_author_info(): copy getenv output + - determine_author_info(): reuse parsing functions + - date: use strbufs in date-formatting functions + - record_author_date(): use find_commit_header() + - record_author_date(): fix memory leak on malformed commit + - commit: provide a function to find a header in a buffer -* jk/make-simplify-dependencies (2014-08-25) 2 commits - - Makefile: use `find` to determine static header dependencies - - i18n: treat "make pot" as an explicitly-invoked target +* jk/contrib-subtree-make-all (2014-08-18) 1 commit + - subtree: make "all" default target of Makefile - Admit that keeping LIB_H up-to-date, only for those that do not use - the automatically generated dependencies, is a losing battle, and - make it conservative by making everything depend on anything. - Will merge to 'next'. +* jk/fast-export-anonymize (2014-08-28) 2 commits + - docs/fast-export: explain --anonymize more completely + - teach fast-export an --anonymize option -* jk/prompt-stash-could-be-packed (2014-08-25) 1 commit - - git-prompt: do not look for refs/stash in $GIT_DIR +* jk/index-pack-threading-races (2014-08-29) 1 commit + - index-pack: fix race condition with duplicate bases - The prompt script checked $GIT_DIR/ref/stash file to see if there - is a stash, which was a no-no. - Will merge to 'next'. +* jk/send-pack-many-refspecs (2014-08-26) 1 commit + - send-pack: take refspecs over stdin -* jk/prune-top-level-refs-after-packing (2014-08-25) 1 commit - - pack-refs: prune top-level refs like "refs/foo" +* jp/index-with-corrupt-stages (2014-08-29) 2 commits + - read_index_unmerged(): remove unnecessary loop index adjustment + - read_index_from(): catch out of order entries when reading an index file - After "pack-refs --prune" packed refs at the top-level, it failed - to prune them. - Will merge to 'next'. +* jt/timer-settime (2014-08-29) 9 commits + - use timer_settime() for new platforms + - autoconf: check for timer_settime() + - autoconf: check for struct itimerspec + - autoconf: check for struct sigevent + - autoconf: check for struct timespec + - autoconf: check for timer_t + - autoconf: check for setitimer() + - autoconf: check for struct itimerval + - git-compat-util.h: add missing semicolon after struct itimerval + Need a rerolled one. -* jk/fast-import-fixes (2014-08-25) 2 commits - - fast-import: fix buffer overflow in dump_tags - - fast-import: clean up pack_data pointer in end_packfile - With sufficiently long refnames, fast-import could have overflown - an on-stack buffer. +* mb/build-contrib-svn-fe (2014-08-28) 1 commit + - contrib/svn-fe: fix Makefile - Will merge to 'next'. +* mb/fast-import-delete-root (2014-08-29) 2 commits + - fast-import: fix segfault in store_tree() + - t9300: test filedelete command -* nd/fetch-pass-quiet-to-gc-child-process (2014-08-18) 2 commits - - fetch: silence git-gc if --quiet is given - - fetch: convert argv_gc_auto to struct argv_array - Progress output from "git gc --auto" was visible in "git fetch -q". +* mm/discourage-commit-a-to-finish-conflict-resolution (2014-08-28) 1 commit + - merge, pull: stop advising 'commit -a' in case of conflict - Will merge to 'next'. +* sp/pack-protocol-doc-on-shallow (2014-08-28) 1 commit + (merged to 'next' on 2014-08-29 at b1ae451) + + Document LF appearing in shallow command during send-pack/receive-pack -* rs/list-optim (2014-08-25) 2 commits - - walker: avoid quadratic list insertion in mark_complete - - sha1_name: avoid quadratic list insertion in handle_one_ref + Will merge to 'master'. - Fix a couple of "accumulate into a sorted list" to "accumulate and - then sort the list". - Will merge to 'next'. +* ah/grammofix (2014-09-02) 1 commit + - grammofix in user-facing messages -* sb/mailsplit-dead-code-removal (2014-08-13) 1 commit - - mailsplit.c: remove dead code +* da/styles (2014-09-02) 1 commit + - stylefix: asterisks stick to the variable, not the type - Will merge to 'next'. +* da/use-rev-parse-verify-quiet-in-stash (2014-09-02) 1 commit + - stash: prefer --quiet over shell redirection -* tb/pretty-format-cd-date-format (2014-08-21) 1 commit - - pretty: note that %cd respects the --date= option - Documentation update. +* mk/reachable-protect-detached-head (2014-09-02) 2 commits + - SQUASH??? + - reachable.c: add HEAD to reachability starting commits - Will merge to 'next'. +* rs/furhter-uses-of-skip-prefix (2014-09-02) 2 commits + - pack-write: simplify index_pack_lockfile using skip_prefix() and xstrfmt() + - connect: simplify check_ref() using skip_prefix() and starts_with() -* jk/name-decoration-alloc (2014-08-26) 3 commits - - log-tree: use FLEX_ARRAY in name_decoration - - log-tree: make name_decoration hash static - - log-tree: make add_name_decoration a public function - The API to allocate the structure to keep track of commit - decoration was cumbersome to use, inviting lazy code to - overallocate memory. +* rs/merge-tree-simplify (2014-09-02) 1 commit + - merge-tree: remove unused df_conflict arguments + + +* rs/simplify-config-include (2014-09-02) 1 commit + - config: simplify git_config_include() - Will merge to 'next'. + +* rs/simplify-http-walker (2014-09-02) 1 commit + - http-walker: simplify process_alternates_response() using strbuf + + +* tb/crlf-tests (2014-09-02) 3 commits + - MinGW: update tests to handle a native eol of crlf + - Makefile: propagate NATIVE_CRLF to C + - t0027: Tests for core.eol=native, eol=lf, eol=crlf -------------------------------------------------- [Stalled] +* jk/pack-bitmap (2014-08-04) 1 commit + - pack-bitmap: do not use gcc packed attribute + + Hold, waiting for Karsten's replacement. + + +* nd/multiple-work-trees (2014-07-29) 39 commits + . checkout --to: do not touch existing target directory + . checkout: prefix --to argument properly when cwd is moved + . environment.c: fix incorrect git_graft_file initialization + . checkout --to: fix dangling pointers in remove_junk() + . checkout: no auto-detach if the ref is already checked out + . prune --repos: fix uninitialized access + . checkout: no need to call check_linked_checkouts if head_ref is NULL + . gitrepository-layout.txt: s/ignored/ignored if/ + . checkout: don't require a work tree when checking out into a new one + . git_path(): keep "info/sparse-checkout" per work-tree + . count-objects: report unused files in $GIT_DIR/repos/... + . gc: support prune --repos + . gc: factor out gc.pruneexpire parsing code + . gc: style change -- no SP before closing parenthesis + . prune: strategies for linked checkouts + . checkout: detach if the branch is already checked out elsewhere + . checkout: clean up half-prepared directories in --to mode + . checkout: support checking out into a new working directory + . use new wrapper write_file() for simple file writing + . wrapper.c: wrapper to open a file, fprintf then close + . setup.c: support multi-checkout repo setup + . setup.c: detect $GIT_COMMON_DIR check_repository_format_gently() + . setup.c: convert check_repository_format_gently to use strbuf + . setup.c: detect $GIT_COMMON_DIR in is_git_directory() + . setup.c: convert is_git_directory() to use strbuf + . git-stash: avoid hardcoding $GIT_DIR/logs/.... + . *.sh: avoid hardcoding $GIT_DIR/hooks/... + . git-sh-setup.sh: use rev-parse --git-path to get $GIT_DIR/objects + . $GIT_COMMON_DIR: a new environment variable + . commit: use SEQ_DIR instead of hardcoding "sequencer" + . fast-import: use git_path() for accessing .git dir instead of get_git_dir() + . reflog: avoid constructing .lock path with git_path + . *.sh: respect $GIT_INDEX_FILE + . git_path(): be aware of file relocation in $GIT_DIR + . path.c: group git_path(), git_pathdup() and strbuf_git_path() together + . path.c: rename vsnpath() to do_git_path() + . git_snpath(): retire and replace with strbuf_git_path() + . path.c: make get_pathname() call sites return const char * + . path.c: make get_pathname() return strbuf instead of static buffer + + A replacement for contrib/workdir/git-new-workdir that does not + rely on symbolic links and make sharing of objects and refs safer + by making the borrowee and borrowers aware of each other. + + Reroll posted, but haven't picked up yet. How would this interact + with rr/transaction series which is pretty much all about the refs? + + * cb/mergetool-difftool (2014-07-21) 2 commits - difftool: don't assume that default sh is sane - mergetool: don't require a work tree for --tool-help @@ -155,12 +305,6 @@ of the repositories listed at Will be rerolled. -* ta/config-add-to-empty-or-true-fix (2014-08-18) 1 commit - - make config --add behave correctly for empty and NULL values - - Will be rerolled. - - * rr/mergetool-temporary-filename-tweak (2014-08-21) 1 commit - Allow the user to change the temporary file name for mergetool @@ -233,6 +377,8 @@ of the repositories listed at A new filter to programatically edit the tail end of the commit log messages. + Reroll exists, but haven't had time to pick it up yet. + * mh/lockfile (2014-04-15) 25 commits . trim_last_path_elm(): replace last_path_elm() @@ -261,7 +407,6 @@ of the repositories listed at . api-lockfile: expand the documentation . unable_to_lock_die(): rename function from unable_to_lock_index_die() - Ejected from 'pu' to unclutter. Expecting a reroll. @@ -379,6 +524,110 @@ of the repositories listed at -------------------------------------------------- [Cooking] +* ta/config-add-to-empty-or-true-fix (2014-08-18) 1 commit + (merged to 'next' on 2014-08-29 at d219212) + + make config --add behave correctly for empty and NULL values + + We may want to undo the "a^" bit along the lines of $gmane/255445 + + +* et/spell-poll-infinite-with-minus-one-only (2014-08-22) 1 commit + - upload-pack: keep poll(2)'s timeout to -1 + + We used to pass -1000 to poll(2), expecting it to also mean "no + timeout", which should be spelled as -1. + + Will merge to 'next'. + + +* jk/make-simplify-dependencies (2014-08-26) 3 commits + - Makefile: drop CHECK_HEADER_DEPENDENCIES code + - Makefile: use `find` to determine static header dependencies + - i18n: treat "make pot" as an explicitly-invoked target + + Admit that keeping LIB_H up-to-date, only for those that do not use + the automatically generated dependencies, is a losing battle, and + make it conservative by making everything depend on anything. + + Will merge to 'next'. + + +* jk/prompt-stash-could-be-packed (2014-08-25) 1 commit + (merged to 'next' on 2014-08-29 at 526e3bd) + + git-prompt: do not look for refs/stash in $GIT_DIR + + The prompt script checked $GIT_DIR/ref/stash file to see if there + is a stash, which was a no-no. + + Will merge to 'master'. + + +* jk/prune-top-level-refs-after-packing (2014-08-25) 1 commit + - pack-refs: prune top-level refs like "refs/foo" + + After "pack-refs --prune" packed refs at the top-level, it failed + to prune them. + + Will merge to 'next'. + + +* jk/fast-import-fixes (2014-08-25) 2 commits + - fast-import: fix buffer overflow in dump_tags + - fast-import: clean up pack_data pointer in end_packfile + + With sufficiently long refnames, fast-import could have overflown + an on-stack buffer. + + Will merge to 'next'. + + +* nd/fetch-pass-quiet-to-gc-child-process (2014-08-18) 2 commits + - fetch: silence git-gc if --quiet is given + - fetch: convert argv_gc_auto to struct argv_array + + Progress output from "git gc --auto" was visible in "git fetch -q". + + Will merge to 'next'. + + +* rs/list-optim (2014-08-25) 2 commits + - walker: avoid quadratic list insertion in mark_complete + - sha1_name: avoid quadratic list insertion in handle_one_ref + + Fix a couple of "accumulate into a sorted list" to "accumulate and + then sort the list". + + Will merge to 'next'. + + +* sb/mailsplit-dead-code-removal (2014-08-13) 1 commit + (merged to 'next' on 2014-08-29 at 4f9ca4f) + + mailsplit.c: remove dead code + + Will merge to 'master'. + + +* tb/pretty-format-cd-date-format (2014-08-21) 1 commit + (merged to 'next' on 2014-08-29 at ab8ccd4) + + pretty: note that %cd respects the --date= option + + Documentation update. + + Will merge to 'master'. + + +* jk/name-decoration-alloc (2014-08-27) 3 commits + - log-tree: use FLEX_ARRAY in name_decoration + - log-tree: make name_decoration hash static + - log-tree: make add_name_decoration a public function + + The API to allocate the structure to keep track of commit + decoration was cumbersome to use, inviting lazy code to + overallocate memory. + + Will merge to 'next'. + + * br/http-init-fix (2014-08-21) 2 commits - http: style fixes for curl_multi_init error check - http.c: die if curl_*_init fails @@ -386,7 +635,8 @@ of the repositories listed at Will merge to 'next'. -* br/imap-send-simplify-tunnel-child-process (2014-08-20) 2 commits +* br/imap-send-simplify-tunnel-child-process (2014-09-02) 3 commits + - imap-send: simplify v_issue_imap_cmd() and get_cmd_result() using starts_with() - imap-send.c: imap_folder -> imap_server_conf.folder - git-imap-send: simplify tunnel construction @@ -394,10 +644,11 @@ of the repositories listed at * jc/config-mak-document-darwin-vs-macosx (2014-08-15) 1 commit - - config.mak.uname: add hint on uname_R for MacOS X + (merged to 'next' on 2014-08-29 at 55e28af) + + config.mak.uname: add hint on uname_R for MacOS X (this branch uses km/no-apple-common-crypto-on-darwin-8-and-below.) - Will merge to 'next'. + Will merge to 'master'. * jn/unpack-trees-checkout-m-carry-deletion (2014-08-25) 3 commits @@ -409,12 +660,13 @@ of the repositories listed at * km/no-apple-common-crypto-on-darwin-8-and-below (2014-08-15) 1 commit - - config.mak.uname: set NO_APPLE_COMMON_CRYPTO on older systems + (merged to 'next' on 2014-08-29 at 8abb416) + + config.mak.uname: set NO_APPLE_COMMON_CRYPTO on older systems (this branch is used by jc/config-mak-document-darwin-vs-macosx.) Build automation for older versions of MacOS X. - Will merge to 'next'. + Will merge to 'master'. * nd/large-blobs (2014-08-18) 5 commits @@ -442,67 +694,77 @@ of the repositories listed at * nd/strbuf-utf8-replace (2014-08-11) 1 commit - - utf8.c: fix strbuf_utf8_replace() consuming data beyond input string + (merged to 'next' on 2014-08-29 at 5d1ddf4) + + utf8.c: fix strbuf_utf8_replace() consuming data beyond input string - Will merge to 'next'. + Will merge to 'master'. * rs/clean-menu-item-defn (2014-08-18) 1 commit - - clean: use f(void) instead of f() to declare a pointer to a function without arguments + (merged to 'next' on 2014-08-29 at 88c1a9d) + + clean: use f(void) instead of f() to declare a pointer to a function without arguments - Will merge to 'next'. + Will merge to 'master'. * rs/inline-compat-path-macros (2014-08-18) 1 commit - - turn path macros into inline function + (merged to 'next' on 2014-08-29 at 5705ad5) + + turn path macros into inline function - Will merge to 'next'. + Will merge to 'master'. * rs/refresh-beyond-symlink (2014-08-10) 1 commit - - read-cache: check for leading symlinks when refreshing index + (merged to 'next' on 2014-08-29 at 90a4a8b) + + read-cache: check for leading symlinks when refreshing index "git add x" where x that used to be a directory has become a symbolic link to a directory misbehaved. - Will merge to 'next'. + Will merge to 'master'. * sb/blame-msg-i18n (2014-08-12) 1 commit - - builtin/blame.c: add translation to warning about failed revision walk + (merged to 'next' on 2014-08-29 at 5b33466) + + builtin/blame.c: add translation to warning about failed revision walk - Will merge to 'next'. + Will merge to 'master'. * sb/plug-leaks (2014-08-10) 2 commits - - clone.c: don't leak memory in cmd_clone - - remote.c: don't leak the base branch name in format_tracking_info + (merged to 'next' on 2014-08-29 at e42f0b8) + + clone.c: don't leak memory in cmd_clone + + remote.c: don't leak the base branch name in format_tracking_info - Will merge to 'next'. + Will merge to 'master'. * sb/prepare-revision-walk-error-check (2014-08-12) 1 commit - - prepare_revision_walk(): check for return value in all places + (merged to 'next' on 2014-08-29 at fb82508) + + prepare_revision_walk(): check for return value in all places - Will merge to 'next'. + Will merge to 'master'. * so/rebase-doc (2014-08-12) 1 commit - - Documentation/git-rebase.txt: -f forces a rebase that would otherwise be a no-op + (merged to 'next' on 2014-08-29 at 77cfce1) + + Documentation/git-rebase.txt: -f forces a rebase that would otherwise be a no-op May need description on what makes various modes of operation to decide that the request can become a "no-op". - Will merge to 'next'. + Will merge to 'master'. -* sp/stream-clean-filter (2014-08-22) 4 commits - - convert: stream from fd to required clean filter instead of mmap - - memory_limit_check(): allow a limit that does not fit in "int" - - sha1_file.c: introduce GIT_MMAP_LIMIT to limit mmap size +* sp/stream-clean-filter (2014-08-28) 6 commits + - convert: stream from fd to required clean filter to reduce used address space + - copy_fd(): do not close the input file descriptor + - mmap_limit: introduce GIT_MMAP_LIMIT to allow testing expected mmap size + - memory_limit: use git_env_ulong() to parse GIT_ALLOC_LIMIT + - config.c: add git_env_ulong() to parse environment variable - convert: drop arguments other than 'path' from would_convert_to_git() - Reroll posted but haven't had time to look at it yet. + Rerolled. * jc/push-cert (2014-08-25) 20 commits @@ -546,98 +808,70 @@ of the repositories listed at * tf/imap-send-create (2014-08-25) 2 commits - - imap-send: create target mailbox if it is missing - - imap-send: clarify CRAM-MD5 vs LOGIN documentation - - Will merge to 'next'. - - -* bc/archive-pax-header-mode (2014-08-04) 1 commit - (merged to 'next' on 2014-08-26 at 51fca1a) - + archive: honor tar.umask even for pax headers - - Originally merged to 'next' on 2014-08-13 - - Implementations of "tar" that do not understand an extended pax - header would extract the contents of it in a regular file; make - sure the permission bits of this file follows the same tar.umask - configuration setting. + (merged to 'next' on 2014-08-29 at 8390945) + + imap-send: create target mailbox if it is missing + + imap-send: clarify CRAM-MD5 vs LOGIN documentation Will merge to 'master'. * bc/imap-send-doc (2014-08-05) 1 commit - - imap-send doc: omit confusing "to use imap-send" modifier + (merged to 'next' on 2014-08-29 at 2ea514b) + + imap-send doc: omit confusing "to use imap-send" modifier - Will merge to 'next'. + Will merge to 'master'. * jc/apply-ws-prefix (2014-08-07) 3 commits - - apply: omit ws check for excluded paths - - apply: hoist use_patch() helper for path exclusion up - - apply: use the right attribute for paths in non-Git patches + (merged to 'next' on 2014-08-29 at 67967d3) + + apply: omit ws check for excluded paths + + apply: hoist use_patch() helper for path exclusion up + + apply: use the right attribute for paths in non-Git patches Applying a patch not generated by Git in a subdirectory used to check the whitespace breakage using the attributes for incorrect paths. Also whitespace checks were performed even for paths excluded via "git apply --exclude=" mechanism. - Will merge to 'next'. + Will merge to 'master'. * jk/command-line-config-empty-string (2014-08-05) 1 commit - - config: teach "git -c" to recognize an empty string + (merged to 'next' on 2014-08-29 at 74f04af) + + config: teach "git -c" to recognize an empty string "git -c section.var command" and "git -c section.var= command" should pass the configuration differently (the former should be a boolean true, the latter should be an empty string). - Will merge to 'next'. - - -* jk/pack-bitmap (2014-08-04) 1 commit - - pack-bitmap: do not use gcc packed attribute - - Hold, waiting for Karsten's replacement. - - -* jk/pretty-empty-format (2014-07-30) 3 commits - (merged to 'next' on 2014-08-26 at 1eb7cc3) - + pretty: make empty userformats truly empty - + pretty: treat "--format=" as an empty userformat - + revision: drop useless string offset when parsing "--pretty" - - Originally merged to 'next' on 2014-08-13 - - "git log --pretty/format=" with an empty format string did not mean - the more obvious "No output whatsoever" but "Use default format", - which was counterintuitive. - Will merge to 'master'. * la/init-doc (2014-08-08) 7 commits - - Documentation: git-init: flesh out example - - Documentation: git-init: template directory: reword and cross-reference - - Documentation: git-init: reword parenthetical statements - - Documentation: git-init: --separate-git-dir: clarify - - Documentation: git-init: template directory: reword - - Documentation: git-init: list items facelift - - Documentation: git-init: typographical fixes + (merged to 'next' on 2014-08-29 at 2cf846b) + + Documentation: git-init: flesh out example + + Documentation: git-init: template directory: reword and cross-reference + + Documentation: git-init: reword parenthetical statements + + Documentation: git-init: --separate-git-dir: clarify + + Documentation: git-init: template directory: reword + + Documentation: git-init: list items facelift + + Documentation: git-init: typographical fixes - Will merge to 'next'. + Will merge to 'master'. * lf/bundle-exclusion (2014-08-07) 1 commit - - bundle: fix exclusion of annotated tags + (merged to 'next' on 2014-08-29 at d84b102) + + bundle: fix exclusion of annotated tags - Will merge to 'next'. + Will merge to 'master'. * mm/log-branch-desc-plug-leak (2014-08-07) 1 commit - - builtin/log.c: fix minor memory leak + (merged to 'next' on 2014-08-29 at 3580add) + + builtin/log.c: fix minor memory leak - Will merge to 'next'. + Will merge to 'master'. * ta/config-set-1 (2014-08-07) 8 commits @@ -649,7 +883,7 @@ of the repositories listed at - add line number and file name info to `config_set` - config.c: fix accuracy of line number in errors - config.c: mark error and warnings strings for translation - (this branch is used by ta/config-set-2; uses ta/config-set.) + (this branch is used by ta/config-set-2.) Will merge to 'next'. @@ -670,43 +904,24 @@ of the repositories listed at - read-cache.c: replace `git_config()` with `git_config_get_*()` family - http-backend.c: replace `git_config()` with `git_config_get_bool()` family - daemon.c: replace `git_config()` with `git_config_get_bool()` family - (this branch uses ta/config-set and ta/config-set-1.) + (this branch uses ta/config-set-1.) Will merge to 'next'. -* ta/pretty-parse-config (2014-08-04) 1 commit - (merged to 'next' on 2014-08-26 at 901e8c2) - + pretty.c: make git_pretty_formats_config return -1 on git_config_string failure - - Originally merged to 'next' on 2014-08-13 - - Will merge to 'master'. - - * jk/stash-list-p (2014-08-07) 1 commit - - stash: default listing to working-tree diff + (merged to 'next' on 2014-08-29 at db94527) + + stash: default listing to working-tree diff Teach "git stash list -p" to show the difference between the base commit version and the working tree version, which is in line with what "git show" gives. - Will merge to 'next'. - - -* pr/remotes-in-hashmap (2014-07-30) 1 commit - (merged to 'next' on 2014-08-26 at 2052a31) - + use a hashmap to make remotes faster - - Originally merged to 'next' on 2014-08-13 - - Optimize remotes configuration look-up in a repository with very - many remotes defined. - Will merge to 'master'. -* rs/ref-transaction-multi (2014-07-31) 5 commits +* rs/ref-transaction-multi (2014-08-27) 6 commits + - ### rs/ref-transaction-multi - refs.c: make the *_packed_refs functions static - refs.c: make repack_without_refs static - remote.c: use a transaction for deleting refs @@ -720,7 +935,8 @@ of the repositories listed at No more nitpicks and better design suggestions? -* rs/ref-transaction-rename (2014-07-31) 5 commits +* rs/ref-transaction-rename (2014-08-27) 6 commits + - ### rs/ref-transaction-rename - refs.c: rollback the lockfile before we die() in repack_without_refs - refs.c: update rename_ref to use a transaction - refs.c: use packed refs when deleting refs during a transaction @@ -735,33 +951,8 @@ of the repositories listed at No more nitpicks and better design suggestions? -* mm/config-edit-global (2014-07-25) 3 commits - (merged to 'next' on 2014-08-26 at 3a47fc5) - + commit: advertise config --global --edit on guessed identity - + home_config_paths(): let the caller ignore xdg path - + config --global --edit: create a template file if needed - - Originally merged to 'next' on 2014-07-31 - - Start "git config --edit --global" from a skeletal per-user - configuration file contents, instead of a total blank, when the - user does not already have any. This immediately reduces the need - for a later "Have you forgotten setting core.user?" and we can add - more to the template as we gain more experience. - - Will merge to 'master'. - - -* rs/init-no-duplicate-real-path (2014-07-28) 1 commit - (merged to 'next' on 2014-08-26 at c66e1c4) - + init: avoid superfluous real_path() calls - - Originally merged to 'next' on 2014-07-31 - - Will merge to 'master'. - - -* rs/ref-transaction-reflog (2014-07-23) 15 commits +* rs/ref-transaction-reflog (2014-08-27) 16 commits + - ### rs/ref-transaction-reflog - refs.c: allow deleting refs with a broken sha1 - refs.c: remove lock_any_ref_for_update - refs.c: make unlock_ref/close_ref/commit_ref static @@ -785,55 +976,20 @@ of the repositories listed at No more nitpicks and better design suggestions? -* rs/strbuf-getcwd (2014-08-26) 10 commits - (merged to 'next' on 2014-08-26 at 11be0d6) - + use strbuf_add_absolute_path() to add absolute paths - + abspath: convert absolute_path() to strbuf - + use xgetcwd() to set $GIT_DIR - + use xgetcwd() to get the current directory or die - + wrapper: add xgetcwd() - + abspath: convert real_path_internal() to strbuf - + abspath: use strbuf_getcwd() to remember original working directory - + setup: convert setup_git_directory_gently_1 et al. to strbuf - + unix-sockets: use strbuf_getcwd() - + strbuf: add strbuf_getcwd() - (this branch is tangled with nd/lock-paths-absolute.) - - Originally merged to 'next' on 2014-08-18 - - Reduce the use of fixed sized buffer passed to getcwd() calls - by introducing xgetcwd() helper. - - Will merge to 'master'. - - * jc/not-mingw-cygwin (2014-07-21) 2 commits - - test prerequisites: enumerate with commas - - test prerequisites: eradicate NOT_FOO + (merged to 'next' on 2014-08-29 at 0d00bb7) + + test prerequisites: enumerate with commas + + test prerequisites: eradicate NOT_FOO We have been using NOT_{MINGW,CYGWIN} test prerequisites long before Peff invented support for negated prerequisites e.g. !MINGW and we still add more uses of the former. Convert them to the latter to avoid confusion. - Will merge to 'next'. - - -* ta/config-set (2014-07-29) 2 commits - (merged to 'next' on 2014-08-26 at 81395f9) - + test-config: add tests for the config_set API - + add `config_set` API for caching config-like files - (this branch is used by ta/config-set-1 and ta/config-set-2.) - - Originally merged to 'next' on 2014-08-13 - - Add in-core caching layer to let us avoid reading the same - configuration files number of times. - Will merge to 'master'. -* rs/ref-transaction-1 (2014-07-16) 20 commits +* rs/ref-transaction-1 (2014-08-27) 20 commits - refs.c: make delete_ref use a transaction - refs.c: make prune_ref use a transaction to delete the ref - refs.c: remove lock_ref_sha1 @@ -850,78 +1006,18 @@ of the repositories listed at - commit.c: use ref transactions for updates - replace.c: use the ref transaction functions for updates - tag.c: use ref transactions when doing updates - - refs.c: add transaction.status and track OPEN/CLOSED/ERROR + - refs.c: add transaction.status and track OPEN/CLOSED - refs.c: make ref_transaction_begin take an err argument - refs.c: update ref_transaction_delete to check for error and return status - refs.c: change ref_transaction_create to do error checking and return status (this branch is used by rs/ref-transaction, rs/ref-transaction-multi, rs/ref-transaction-reflog and rs/ref-transaction-rename.) The second batch of the transactional ref update series. - - No more nitpicks and better design suggestions? - - -* jc/reopen-lock-file (2014-07-14) 1 commit - (merged to 'next' on 2014-08-26 at c5a5a12) - + lockfile: allow reopening a closed but still locked file - - Originally merged to 'next' on 2014-07-21 - - Needed in the "commit -p" code path to update the cache tree in the - index (e.g. for dt/cache-tree-repair topic). - - Will merge to 'master'. + A hopefully final reroll exists but haven't picked it up yet. -* nd/multiple-work-trees (2014-07-29) 39 commits - - checkout --to: do not touch existing target directory - - checkout: prefix --to argument properly when cwd is moved - - environment.c: fix incorrect git_graft_file initialization - - checkout --to: fix dangling pointers in remove_junk() - - checkout: no auto-detach if the ref is already checked out - - prune --repos: fix uninitialized access - - checkout: no need to call check_linked_checkouts if head_ref is NULL - - gitrepository-layout.txt: s/ignored/ignored if/ - - checkout: don't require a work tree when checking out into a new one - - git_path(): keep "info/sparse-checkout" per work-tree - - count-objects: report unused files in $GIT_DIR/repos/... - - gc: support prune --repos - - gc: factor out gc.pruneexpire parsing code - - gc: style change -- no SP before closing parenthesis - - prune: strategies for linked checkouts - - checkout: detach if the branch is already checked out elsewhere - - checkout: clean up half-prepared directories in --to mode - - checkout: support checking out into a new working directory - - use new wrapper write_file() for simple file writing - - wrapper.c: wrapper to open a file, fprintf then close - - setup.c: support multi-checkout repo setup - - setup.c: detect $GIT_COMMON_DIR check_repository_format_gently() - - setup.c: convert check_repository_format_gently to use strbuf - - setup.c: detect $GIT_COMMON_DIR in is_git_directory() - - setup.c: convert is_git_directory() to use strbuf - - git-stash: avoid hardcoding $GIT_DIR/logs/.... - - *.sh: avoid hardcoding $GIT_DIR/hooks/... - - git-sh-setup.sh: use rev-parse --git-path to get $GIT_DIR/objects - - $GIT_COMMON_DIR: a new environment variable - - commit: use SEQ_DIR instead of hardcoding "sequencer" - - fast-import: use git_path() for accessing .git dir instead of get_git_dir() - - reflog: avoid constructing .lock path with git_path - - *.sh: respect $GIT_INDEX_FILE - - git_path(): be aware of file relocation in $GIT_DIR - - path.c: group git_path(), git_pathdup() and strbuf_git_path() together - - path.c: rename vsnpath() to do_git_path() - - git_snpath(): retire and replace with strbuf_git_path() - - path.c: make get_pathname() call sites return const char * - - path.c: make get_pathname() return strbuf instead of static buffer - - A replacement for contrib/workdir/git-new-workdir that does not - rely on symbolic links and make sharing of objects and refs safer - by making the borrowee and borrowers aware of each other. - - Kicked back to 'pu'. - - -* dt/cache-tree-repair (2014-07-14) 4 commits +* dt/cache-tree-repair (2014-09-02) 5 commits + - cache-tree: propagate invalidation up when punting (merged to 'next' on 2014-08-26 at 6faccdb) + cache-tree: Write updated cache-tree after commit + cache-tree: subdirectory tests @@ -933,7 +1029,8 @@ of the repositories listed at Add a few more places in "commit" and "checkout" that make sure that the cache-tree is fully populated in the index. - Will merge to 'master'. + The tip one is a proposed fix for $gmane/256285, but it is not + quite right yet. * hv/submodule-config (2014-06-30) 4 commits @@ -945,7 +1042,8 @@ of the repositories listed at Kicked back to 'pu'. -* rs/ref-transaction (2014-07-17) 12 commits +* rs/ref-transaction (2014-08-27) 14 commits + - ### rs/ref-transaction - refs.c: fix handling of badly named refs - refs.c: make write_ref_sha1 static - fetch.c: change s_update_ref to use a ref transaction @@ -958,6 +1056,7 @@ of the repositories listed at - refs.c: add an err argument to delete_ref_loose - wrapper.c: add a new function unlink_or_msg - wrapper.c: simplify warn_if_unremovable + - ### rs/ref-transaction-1 (this branch is used by rs/ref-transaction-multi, rs/ref-transaction-reflog and rs/ref-transaction-rename; uses rs/ref-transaction-1.) @@ -978,42 +1077,3 @@ of the repositories listed at is left out of 'master' for now. Will hold. - --------------------------------------------------- -[Discarded] - -* jh/submodule-tests (2014-04-17) 1 commit - . t7410: 210 tests for various 'git submodule update' scenarios - - -* nd/path-max-is-better-than-hardcoded-magic-1024 (2014-07-17) 1 commit - . abspath.c: use PATH_MAX in real_path_internal() - - rs/strbuf-getcwd topic covers this codepath in a better way. - - -* jn/header-dependencies (2014-08-10) 1 commit - . Update hard-coded header dependencies - - Replaced by jk/make-simplify-dependencies topic. - - -* sb/unpack-trees-dead-code-removal (2014-08-12) 2 commits - . SQUASH??? - . unpack-tree.c: remove dead code - - Replaced by jn/unpack-trees-checkout-m-carry-deletion topic. - - -* mm/config-message-i18n (2014-08-01) 1 commit - . config.c: mark error and warnings strings for translation - - Now at the bottom of ta/config-set-1 topic. - - -* nd/lock-paths-absolute (2014-08-01) 3 commits - . lockfile.c: store absolute path - . lockfile.c: remove PATH_MAX limit in resolve_symlink() - . lockfile.c: remove PATH_MAX limitation (except in resolve_symlink) - - Will drop and ask Michael to possibly cooperate and merge with mh/lockfile. -- 2.11.4.GIT