From: Junio C Hamano Date: Fri, 20 Jun 2014 22:24:00 +0000 (-0700) Subject: What's cooking (2014/06 #05) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7e1a7bb363c2ed39341ba55f3458a4034a31203d;p=thirdparty%2Fgit.git What's cooking (2014/06 #05) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index f9e367a993..6389926c65 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,10 +1,10 @@ To: git@vger.kernel.org Bcc: lwn@lwn.net -Subject: What's cooking in git.git (Jun 2014, #04; Tue, 17) -X-master-at: cb682f8cfe63ecd0da08a526f404d295e51e3ab1 -X-next-at: f681aa8b2164b7263bd68f49cd3bebd6bf560b78 +Subject: What's cooking in git.git (Jun 2014, #05; Fri, 20) +X-master-at: 786a89d3477c339676ed36d5d2d7507251344952 +X-next-at: e727dec93ab54c06c072aed01968580556da9191 -What's cooking in git.git (Jun 2014, #04; Tue, 17) +What's cooking in git.git (Jun 2014, #05; Fri, 20) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with @@ -12,9 +12,10 @@ Here are the topics that have been cooking. Commits prefixed with '+' are in 'next'. Many topics that have been cooking in 'next' during the previous -cycle, totalling close to 300 individual patches, are in 'master' -now. We have also accumulated some fixes we need to merge down to -'maint' and cut a v2.0.1 sometime next week. +cycle and also some new topics since this cycle opened, totalling +slightly more than 300 individual patches are in 'master' now. We +have also accumulated some fixes we need to merge down to 'maint' +and cut a v2.0.1 sometime next week. You can find the changes described here in the integration branches of the repositories listed at @@ -24,528 +25,161 @@ of the repositories listed at -------------------------------------------------- [Graduated to "master"] -* mt/patch-id-stable (2014-06-10) 1 commit - - patch-id: change default to stable - - Teaches "git patch-id" to compute the patch ID that does not change - when the files in a single patch is reordered. As this new algorithm - is backward incompatible, the last bit to flip it to be the default - is left out of 'master' for now. - - -* as/pretty-truncate (2014-05-21) 5 commits - (merged to 'next' on 2014-06-10 at d8147a2) - + pretty.c: format string with truncate respects logOutputEncoding - + t4205, t6006: add tests that fail with i18n.logOutputEncoding set - + t4205 (log-pretty-format): use `tformat` rather than `format` - + t4041, t4205, t6006, t7102: don't hardcode tested encoding value - + t4205 (log-pretty-formats): don't hardcode SHA-1 in expected outputs - - Originally merged to 'next' on 2014-05-23 - - -* bg/xcalloc-nmemb-then-size (2014-05-27) 12 commits - (merged to 'next' on 2014-06-10 at eddb5bc) - + transport-helper.c: rearrange xcalloc arguments - + remote.c: rearrange xcalloc arguments - + reflog-walk.c: rearrange xcalloc arguments - + pack-revindex.c: rearrange xcalloc arguments - + notes.c: rearrange xcalloc arguments - + imap-send.c: rearrange xcalloc arguments - + http-push.c: rearrange xcalloc arguments - + diff.c: rearrange xcalloc arguments - + config.c: rearrange xcalloc arguments - + commit.c: rearrange xcalloc arguments - + builtin/remote.c: rearrange xcalloc arguments - + builtin/ls-remote.c: rearrange xcalloc arguments - - Originally merged to 'next' on 2014-06-06 - - Like calloc(3), xcalloc() takes nmemb and then size. - - -* cb/byte-order (2014-05-30) 3 commits - (merged to 'next' on 2014-06-10 at 63db8ee) - + compat/bswap.h: fix endianness detection - + compat/bswap.h: restore preference __BIG_ENDIAN over BIG_ENDIAN - + compat/bswap.h: detect endianness on more platforms that don't use BYTE_ORDER - - Originally merged to 'next' on 2014-05-30 - - Compatibility enhancement for Solaris. - - -* cc/replace-edit (2014-05-19) 10 commits - (merged to 'next' on 2014-06-10 at ff69722) - + Documentation: replace: describe new --edit option - + replace: add --edit to usage string - + replace: add tests for --edit - + replace: die early if replace ref already exists - + replace: refactor checking ref validity - + replace: make sure --edit results in a different object - + replace: add --edit option - + replace: factor object resolution out of replace_object - + replace: use OPT_CMDMODE to handle modes - + replace: refactor command-mode determination - (this branch is used by cc/replace-graft.) - - Originally merged to 'next' on 2014-05-19 - - "git replace" learns a new "--edit" option. - - -* dt/refs-check-refname-component-optim (2014-06-05) 1 commit - (merged to 'next' on 2014-06-10 at 4560669) - + refs.c: optimize check_refname_component() - (this branch is used by dt/refs-check-refname-component-sse42.) - - Originally merged to 'next' on 2014-06-06 - - -* fc/remote-helper-refmap (2014-04-21) 8 commits - (merged to 'next' on 2014-06-10 at 8cd8cf8) - + transport-helper: remove unnecessary strbuf resets - + transport-helper: add support to delete branches - + fast-export: add support to delete refs - + fast-import: add support to delete refs - + transport-helper: add support to push symbolic refs - + transport-helper: add support for old:new refspec - + fast-export: add new --refspec option - + fast-export: improve argument parsing - - Originally merged to 'next' on 2014-04-22 - - Allow remote-helper/fast-import based transport to rename the refs - while transferring the history. - - -* ib/test-selectively-run (2014-06-06) 4 commits - (merged to 'next' on 2014-06-10 at 1235570) - + t0000-*.sh: fix the GIT_SKIP_TESTS sub-tests - + test-lib: '--run' to run only specific tests - + test-lib: tests skipped by GIT_SKIP_TESTS say so - + test-lib: document short options in t/README - - Originally merged to 'next' on 2014-06-06 - - Allow specifying only certain individual test pieces to be run - using a range notation (e.g. "t1234-test.sh --run='1-4 6 8 9-'"). - - -* jk/argv-array-for-child-process (2014-05-15) 7 commits - (merged to 'next' on 2014-06-10 at 07a167b) - + argv-array: drop "detach" code - + get_importer: use run-command's internal argv_array - + get_exporter: use argv_array - + get_helper: use run-command's internal argv_array - + git_connect: use argv_array - + run_column_filter: use argv_array - + run-command: store an optional argv_array - - Originally merged to 'next' on 2014-05-21 - - -* jk/complete-merge-pull (2014-05-27) 2 commits - (merged to 'next' on 2014-06-10 at d1524c5) - + completion: add missing options for git-merge - + completion: add a note that merge options are shared - - Originally merged to 'next' on 2014-06-06 - - The completion code did not know about quite a few options that are - common between "git merge" and "git pull", and a couple of options - unique to "git merge". - - -* jk/daemon-tolower (2014-05-23) 1 commit - (merged to 'next' on 2014-06-10 at f3c549d) - + daemon/config: factor out duplicate xstrdup_tolower - - Originally merged to 'next' on 2014-05-23 - - -* jk/diff-files-assume-unchanged (2014-05-15) 1 commit - (merged to 'next' on 2014-06-10 at 984862b) - + run_diff_files: do not look at uninitialized stat data - - Originally merged to 'next' on 2014-05-21 - - -* jk/diff-follow-must-take-one-pathspec (2014-05-20) 1 commit - (merged to 'next' on 2014-06-10 at 0cd28d7) - + move "--follow needs one pathspec" rule to diff_setup_done - - Originally merged to 'next' on 2014-05-23 - - -* jk/do-not-run-httpd-tests-as-root (2014-05-12) 1 commit - (merged to 'next' on 2014-06-10 at 745b05c) - + t/lib-httpd: require SANITY prereq - - Originally merged to 'next' on 2014-05-21 - - -* jk/error-resolve-conflict-advice (2014-06-03) 2 commits - (merged to 'next' on 2014-06-10 at 713ebe0) - + error_resolve_conflict: drop quotations around operation - + error_resolve_conflict: rewrap advice message - - Originally merged to 'next' on 2014-06-06 - - -* jk/http-errors (2014-05-27) 8 commits - (merged to 'next' on 2014-06-10 at 30e9212) - + http: default text charset to iso-8859-1 - + remote-curl: reencode http error messages - + strbuf: add strbuf_reencode helper - + http: optionally extract charset parameter from content-type - + http: extract type/subtype portion of content-type - + t5550: test display of remote http error messages - + t/lib-httpd: use write_script to copy CGI scripts - + test-lib: preserve GIT_CURL_VERBOSE from the environment - - Originally merged to 'next' on 2014-06-06 - - Propagate the error messages from the webserver better to the - client coming over the HTTP transport. - - -* jk/report-fail-to-read-objects-better (2014-05-15) 1 commit - (merged to 'next' on 2014-06-10 at 299ea28) - + open_sha1_file: report "most interesting" errno - - Originally merged to 'next' on 2014-05-21 - - -* jk/strbuf-tolower (2014-05-23) 1 commit - (merged to 'next' on 2014-06-10 at 01e6983) - + strbuf: add strbuf_tolower function - - Originally merged to 'next' on 2014-05-23 - - -* jl/remote-rm-prune (2014-05-27) 3 commits - (merged to 'next' on 2014-06-10 at 13259ff) - + remote prune: optimize "dangling symref" check/warning - + remote: repack packed-refs once when deleting multiple refs - + remote rm: delete remote configuration as the last - - Originally merged to 'next' on 2014-06-06 - - "git remote rm" and "git remote prune" can involve removing many - refs at once, which is not a very efficient thing to do when very - many refs exist in the packed-refs file. - - -* jl/status-added-submodule-is-never-ignored (2014-04-07) 2 commits - (merged to 'next' on 2014-06-10 at fc63847) - + commit -m: commit staged submodules regardless of ignore config - + status/commit: show staged submodules regardless of ignore config - - Originally merged to 'next' on 2014-06-06 - - submodule.*.ignore and diff.ignoresubmodules are used to ignore all - submodule changes in "diff" output, but it can be confusing to - apply these configuration values to status and commit. - - This is a backward-incompatible change, but should be so in a good - way (aka bugfix). - - -* jm/dedup-test-config (2014-06-05) 1 commit - (merged to 'next' on 2014-06-10 at 8966f54) - + t/t7810-grep.sh: remove duplicate test_config() - - Originally merged to 'next' on 2014-06-06 - - -* jm/doc-wording-tweaks (2014-05-28) 1 commit - (merged to 'next' on 2014-06-10 at 5f2e094) - + Documentation: wording fixes in the user manual and glossary - - Originally merged to 'next' on 2014-06-06 - - -* jm/format-patch-mail-sig (2014-05-27) 2 commits - (merged to 'next' on 2014-06-10 at 310f59e) - + format-patch: add "--signature-file=" option - + format-patch: make newline after signature conditional - - Originally merged to 'next' on 2014-06-06 - - -* jm/instaweb-apache-24 (2014-05-27) 1 commit - (merged to 'next' on 2014-06-10 at ecf2048) - + git-instaweb: add support for Apache 2.4 - - Originally merged to 'next' on 2014-06-06 - - -* jm/t9138-style-fix (2014-05-27) 1 commit - (merged to 'next' on 2014-06-10 at 034f13d) - + t9138-git-svn-authors-prog.sh fixups - - Originally merged to 'next' on 2014-06-06 - - -* lt/log-auto-decorate (2014-05-30) 1 commit - (merged to 'next' on 2014-06-10 at f149f4a) - + git log: support "auto" decorations - - Originally merged to 'next' on 2014-06-06 - - -* nd/daemonize-gc (2014-05-27) 1 commit - (merged to 'next' on 2014-06-10 at 6fae7b0) - + gc --auto: do not lock refs in the background - - Originally merged to 'next' on 2014-06-06 - - "git gc --auto" was recently changed to run in the background to - give control back early to the end-user sitting in front of the - terminal, but it forgot that housekeeping involving reflogs should - be done without other processes competing for accesses to the refs. - - -* ow/config-mailmap-pathname (2014-05-27) 1 commit - (merged to 'next' on 2014-06-10 at aba4ca2) - + config: respect '~' and '~user' in mailmap.file - - Originally merged to 'next' on 2014-06-06 - - mailmap.file configuration names a pathname, hence should honor - ~/path and ~user/path as its value. - - -* rr/rebase-autostash-fix (2014-05-20) 2 commits - (merged to 'next' on 2014-06-10 at afd0c29) - + rebase -i: test "Nothing to do" case with autostash - + rebase -i: handle "Nothing to do" case with autostash - - Originally merged to 'next' on 2014-05-21 - - -* rs/pack-objects-no-unnecessary-realloc (2014-06-02) 1 commit - (merged to 'next' on 2014-06-10 at abae695) - + pack-objects: use free()+xcalloc() instead of xrealloc()+memset() - - Originally merged to 'next' on 2014-06-06 - - Avoid unnecessary copy of previous contents when extending the - hashtable used in pack-objects. - +* jc/test-lazy-prereq (2014-06-13) 6 commits + (merged to 'next' on 2014-06-10 at 4f774f7) + + t3419: drop unnecessary NOT_EXPENSIVE pseudo-prerequisite + + t3302: drop unnecessary NOT_EXPENSIVE pseudo-prerequisite + + t3302: do not chdir around in the primary test process + + t3302: coding style updates + + test: turn USR_BIN_TIME into a lazy prerequisite + + test: turn EXPENSIVE into a lazy prerequisite -* rs/read-ref-at (2014-06-03) 1 commit - (merged to 'next' on 2014-06-10 at f58f2fc) - + refs.c: change read_ref_at to use the reflog iterators + Test-script clean-up. - Originally merged to 'next' on 2014-06-06 +* jc/revision-dash-count-parsing (2014-06-09) 1 commit + (merged to 'next' on 2014-06-10 at 1aeca19) + + revision: parse "git log -" more carefully -* sh/enable-preloadindex (2014-06-03) 1 commit - (merged to 'next' on 2014-06-10 at 7cedf2d) - + environment.c: enable core.preloadindex by default + "git log -2master" is a common typo that shows two commits starting + from whichever random branch that is not 'master' that happens to + be checked out currently. - Originally merged to 'next' on 2014-06-06 +* jm/api-strbuf-doc (2014-06-09) 1 commit + (merged to 'next' on 2014-06-10 at 831aa30) + + api-strbuf.txt minor typos -* sk/test-cmp-bin (2014-06-04) 1 commit - (merged to 'next' on 2014-06-10 at 020a475) - + t5000, t5003: do not use test_cmp to compare binary files - Originally merged to 'next' on 2014-06-06 +* mt/send-email-cover-to-cc (2014-06-10) 3 commits + (merged to 'next' on 2014-06-10 at 6bb1465) + + t9001: avoid non-portable '\n' with sed + + test/send-email: to-cover, cc-cover tests + + git-send-email: two new options: to-cover, cc-cover + Originally merged to 'next' on 2014-06-10 -* sk/wincred (2014-05-14) 2 commits - (merged to 'next' on 2014-06-10 at 8d03e5a) - + wincred: avoid overwriting configured variables - + wincred: add install target + "git send-email" learns two new options. - Originally merged to 'next' on 2014-05-21 +* rs/more-starts-with (2014-06-09) 1 commit + (merged to 'next' on 2014-06-10 at efcd02e) + + Use starts_with() for C strings instead of memcmp() -* sk/windows-unc-path (2014-06-10) 1 commit - (merged to 'next' on 2014-06-10 at 3598cc6) - + Windows: allow using UNC path for git repository - (this branch is used by sk/mingw-main, sk/mingw-uni-console and sk/mingw-unicode-spawn-args.) - Originally merged to 'next' on 2014-05-21 +* tb/t5551-clone-notice-to-stderr (2014-06-09) 1 commit + (merged to 'next' on 2014-06-10 at 374082c) + + t5551: fix the 50,000 tag test -* ta/string-list-init (2014-06-06) 1 commit - (merged to 'next' on 2014-06-10 at bf209ff) - + string-list: spell all values out that are given to a string_list initializer - Originally merged to 'next' on 2014-06-06 +* jc/fetch-pull-refmap (2014-06-12) 10 commits + (merged to 'next' on 2014-06-12 at 5428530) + + docs: Explain the purpose of fetch's and pull's parameter. + (merged to 'next' on 2014-06-10 at 13c13ae) + + fetch: allow explicit --refmap to override configuration + + fetch doc: add a section on configured remote-tracking branches + + fetch doc: remove "short-cut" section + + fetch doc: update refspec format description + + fetch doc: on pulling multiple refspecs + + fetch doc: remove notes on outdated "mixed layout" + + fetch doc: update note on '+' in front of the refspec + + fetch doc: move FETCH_HEAD material lower and add an example + + fetch doc: update introductory part for clarity -------------------------------------------------- [New Topics] -* fr/sequencer-fail-with-not-one-upon-no-ff (2014-06-09) 1 commit - (merged to 'next' on 2014-06-16 at 29734cc) - + sequencer: signal failed ff as an aborted, not a conflicted merge +* dt/refs-check-refname-component-sse (2014-06-18) 1 commit + (merged to 'next' on 2014-06-20 at d286027) + + refs.c: SSE2 optimizations for check_refname_component - Will merge to 'master'. + Further micro-optimization of a leaf-function. -* hv/submodule-config (2014-06-13) 6 commits - - SQUASH compilation fix - - do not die on error of parsing fetchrecursesubmodules option - - use new config API for worktree configurations of submodules - - extract functions for submodule config set and lookup - - implement submodule config cache for lookup of submodule names - - hashmap: add enum for hashmap free_entries option - - -* mc/git-p4-prepare-p4-only (2014-06-13) 1 commit - (merged to 'next' on 2014-06-16 at 3c05e19) - + git-p4: fix submit in non --prepare-p4-only mode +* tb/unicode-7.0-display-width (2014-06-18) 1 commit + (merged to 'next' on 2014-06-20 at 111b246) + + Update of unicode_width.h to Unicode Version 7.0 Will merge to 'master'. -* sk/mingw-unicode-spawn-args (2014-06-16) 6 commits - - Win32: Unicode arguments (incoming) - - Win32: Unicode arguments (outgoing) - - MinGW: disable CRT command line globbing - - Win32: fix potential multi-threading issue - - Win32: simplify internal mingw_spawn* APIs - - Win32: let mingw_execve() return an int - (this branch uses sk/mingw-main and sk/mingw-uni-console.) - - -* sp/complete-ext-alias (2014-06-13) 1 commit - (merged to 'next' on 2014-06-16 at 399679e) - + completion: handle '!f() { ... }; f' and "!sh -c '...' -" aliases +* ye/http-extract-charset (2014-06-17) 1 commit + (merged to 'next' on 2014-06-20 at 9492bae) + + http: fix charset detection of extract_content_type() Will merge to 'master'. -* bc/fix-rebase-merge-skip (2014-06-16) 1 commit - - rebase--merge: fix --skip with two conflicts in a row - - "git rebase --skip" did not work well when it stopped due to a - conflict twice in a row. +* jk/skip-prefix (2014-06-20) 18 commits + - http-push: refactor parsing of remote object names + - imap-send: use skip_prefix instead of using magic numbers + - use skip_prefix to avoid repeated calculations + - git: avoid magic number with skip_prefix + - fetch-pack: refactor parsing in get_ack + - fast-import: refactor parsing of spaces + - stat_opt: check extra strlen call + - daemon: use skip_prefix to avoid magic numbers + - fast-import: use skip_prefix for parsing input + - use skip_prefix to avoid repeating strings + - use skip_prefix to avoid magic numbers + - transport-helper: avoid reading past end-of-string + - fast-import: fix read of uninitialized argv memory + - apply: use skip_prefix instead of raw addition + - refactor skip_prefix to return a boolean + - avoid using skip_prefix as a boolean + - daemon: mark some strings as const + - parse_diff_color_slot: drop ofs parameter Will merge to 'next'. -* jl/submodule-tests (2014-06-16) 16 commits - - revert: add t3513 for submodule updates - - stash: add t3906 for submodule updates - - am: add t4255 for submodule updates - - cherry-pick: add t3512 for submodule updates - - pull: add t5572 for submodule updates - - SQUASH??? - - rebase: add t3426 for submodule updates - - merge: add t7613 for submodule updates - - bisect: add t6041 for submodule updates - - reset: add t7112 for submodule updates - - read-tree: add t1013 for submodule updates - - apply: add t4137 for submodule updates - - checkout: call the new submodule update test framework - - submodules: Add the lib-submodule-update.sh test library - - SQUASH??? - - test-lib: add test_dir_is_empty() - - Expecting a reroll. - - -* mc/doc-submodule-sync-recurse (2014-06-13) 1 commit - - submodule: document "sync --recursive" +* jk/xstrfmt (2014-06-19) 10 commits + - unique_path: fix unlikely heap overflow + - walker_fetch: fix minor memory leak + - merge: use argv_array when spawning merge strategy + - sequencer: use argv_array_pushf + - setup_git_env: use git_pathdup instead of xmalloc + sprintf + - use xstrfmt to replace xmalloc + strcpy/strcat + - use xstrfmt to replace xmalloc + sprintf + - use xstrdup instead of xmalloc + strcpy + - use xstrfmt in favor of manual size calculations + - strbuf: add xstrfmt helper Will merge to 'next'. -* pb/trim-trailing-spaces (2014-06-13) 1 commit - - t0008: do not depend on 'echo' handling backslashes specially +* jm/dedup-name-compare (2014-06-20) 2 commits + - cleanup duplicate name_compare() functions + - name-hash.c: replace cache_name_compare() with memcmp(3) Will merge to 'next'. -* po/error-message-style (2014-06-16) 1 commit - - doc: state coding guideline for error message punctuation +* kb/perf-trace (2014-06-17) 11 commits + . git: add performance tracing for git's main() function to debug scripts + . trace: add trace_performance facility to debug performance issues + . trace: add high resolution timer function to debug performance issues + . trace: add 'file:line' to all trace output + . trace: move code around, in preparation to file:line output + . trace: add current timestamp to all trace output + . trace: add infrastructure to augment trace output with additional info + . trace: factor out printing to the trace file + . trace: remove redundant printf format attribute + . trace: consistently name the format parameter + . trace: move trace declarations from cache.h to new trace.h - Expecting a reroll. - - -* rs/blame-refactor (2014-06-13) 2 commits - - blame: simplify prepare_lines() - - blame: factor out get_next_line() - - Will merge to 'next'. - - -* rs/ref-transaction (2014-06-17) 48 commits - - refs.c: make write_ref_sha1 static - - fetch.c: change s_update_ref to use a ref transaction - - refs.c: propagate any errno==ENOTDIR from _commit back to the callers - - refs.c: pass a skip list to name_conflict_fn - - refs.c: call lock_ref_sha1_basic directly from commit - - refs.c: move the check for valid refname to lock_ref_sha1_basic - - refs.c: pass NULL as *flags to read_ref_full - - refs.c: pass the ref log message to _create/delete/update instead of _commit - - 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 - - refs.c: remove the update_ref_write function - - refs.c: remove the update_ref_lock function - - refs.c: make lock_ref_sha1 static - - walker.c: use ref transaction for ref updates - - fast-import.c: use a ref transaction when dumping tags - - receive-pack.c: use a reference transaction for updating the refs - - refs.c: change update_ref to use a transaction - - branch.c: use ref transaction for all ref updates - - fast-import.c: change update_branch to use ref transactions - - sequencer.c: use ref transactions for all ref updates - - 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: 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 - - refs.c: change ref_transaction_update() to do error checking and return status - - refs.c: remove the onerr argument to ref_transaction_commit - - update-ref: use err argument to get error from ref_transaction_commit - - refs.c: make update_ref_write update a strbuf on failure - - refs.c: add an err argument to delete_ref_loose - - refs.c: make ref_update_reject_duplicates take a strbuf argument for errors - - refs.c: log_ref_write should try to return meaningful errno - - refs.c: make resolve_ref_unsafe set errno to something meaningful on error - - refs.c: commit_packed_refs to return a meaningful errno on failure - - refs.c: make remove_empty_directories alwasy set errno to something sane - - refs.c: verify_lock should set errno to something meaningful - - refs.c: make sure log_ref_setup returns a meaningful errno - - refs.c: add an err argument to repack_without_refs - - lockfile.c: make lock_file return a meaningful errno on failurei - - lockfile.c: add a new public function unable_to_lock_message - - refs.c: add a strbuf argument to ref_transaction_commit for error logging - - refs.c: allow passing NULL to ref_transaction_free - - refs.c: constify the sha arguments for ref_transaction_create|delete|update - - refs.c: ref_transaction_commit should not free the transaction - - refs.c: remove ref_transaction_rollback - - -* ye/doc-http-proto (2014-06-16) 1 commit - - http-protocol.txt: Basic Auth is defined in RFC 2617, not RFC 2616 - - Will merge to 'next'. - - -* jk/pretty-G-format-fixes (2014-06-17) 5 commits - - pretty: avoid reading past end-of-string with "%G" - - t7510: check %G* pretty-format output - - t7510: test a commit signed by an unknown key - - t7510: use consistent &&-chains in loop - - t7510: stop referring to master in later tests +-------------------------------------------------- +[Stalled] +* mg/verify-commit (2014-06-10) 3 commits + - verify-commit: scriptable commit signature verification + - gpg-interface: provide access to the payload + - pretty: free the gpg status buf -* tb/unicode-7.0 (2014-06-17) 1 commit - - Update of unicode_width.h to Unicode Version 7.0 + What is queued here is v1; v2 exists but I skipped it. + Expecting a reroll. --------------------------------------------------- -[Stalled] * cc/replace-graft (2014-06-09) 5 commits - DONTMERGE: wise to wait for peff's commit->buffer length series @@ -557,6 +191,8 @@ of the repositories listed at "git replace" learned a "--graft" option to rewrite parents of a commit. + Expecting a reroll on top of jk/commit-buffer-length. + * ab/add-interactive-show-diff-func-name (2014-05-12) 2 commits - SQUASH??? git-add--interactive: Preserve diff heading when splitting hunks @@ -615,47 +251,6 @@ of the repositories listed at but after that I do not recall seeing any updates. -* jh/submodule-tests (2014-04-17) 1 commit - - t7410: 210 tests for various 'git submodule update' scenarios - - More or less abandoned. Will drop. - - -* nd/multiple-work-trees (2014-03-25) 28 commits - - count-objects: report unused files in $GIT_DIR/repos/... - - gc: support prune --repos - - gc: style change -- no SP before closing bracket - - 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. - - * mh/lockfile (2014-04-15) 25 commits - trim_last_path_elm(): replace last_path_elm() - resolve_symlink(): take a strbuf parameter @@ -705,8 +300,6 @@ of the repositories listed at - merge-recursive: remove dead conditional in update_stages() (this branch is used by tr/remerge-diff.) - Will hold. - * tr/remerge-diff (2014-02-26) 5 commits . log --remerge-diff: show what the conflict resolution changed @@ -848,22 +441,215 @@ of the repositories listed at Waiting for the final step to lift the hard-limit before sending it out. +* jh/submodule-tests (2014-04-17) 1 commit + - t7410: 210 tests for various 'git submodule update' scenarios + + More or less abandoned. Will drop. + + +* nd/multiple-work-trees (2014-03-25) 28 commits + . count-objects: report unused files in $GIT_DIR/repos/... + . gc: support prune --repos + . gc: style change -- no SP before closing bracket + . 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. + + -------------------------------------------------- [Cooking] -* jc/fetch-pull-refmap (2014-06-12) 10 commits - (merged to 'next' on 2014-06-12 at 5428530) - + docs: Explain the purpose of fetch's and pull's parameter. - (merged to 'next' on 2014-06-10 at 13c13ae) - + fetch: allow explicit --refmap to override configuration - + fetch doc: add a section on configured remote-tracking branches - + fetch doc: remove "short-cut" section - + fetch doc: update refspec format description - + fetch doc: on pulling multiple refspecs - + fetch doc: remove notes on outdated "mixed layout" - + fetch doc: update note on '+' in front of the refspec - + fetch doc: move FETCH_HEAD material lower and add an example - + fetch doc: update introductory part for clarity +* fr/sequencer-fail-with-not-one-upon-no-ff (2014-06-09) 1 commit + (merged to 'next' on 2014-06-16 at 29734cc) + + sequencer: signal failed ff as an aborted, not a conflicted merge + + Will merge to 'master'. + + +* hv/submodule-config (2014-06-13) 6 commits + - SQUASH compilation fix + - do not die on error of parsing fetchrecursesubmodules option + - use new config API for worktree configurations of submodules + - extract functions for submodule config set and lookup + - implement submodule config cache for lookup of submodule names + - hashmap: add enum for hashmap free_entries option + + +* mc/git-p4-prepare-p4-only (2014-06-13) 1 commit + (merged to 'next' on 2014-06-16 at 3c05e19) + + git-p4: fix submit in non --prepare-p4-only mode + + Will merge to 'master'. + + +* sk/mingw-unicode-spawn-args (2014-06-16) 6 commits + - Win32: Unicode arguments (incoming) + - Win32: Unicode arguments (outgoing) + - MinGW: disable CRT command line globbing + - Win32: fix potential multi-threading issue + - Win32: simplify internal mingw_spawn* APIs + - Win32: let mingw_execve() return an int + (this branch uses sk/mingw-main and sk/mingw-uni-console.) + + +* sp/complete-ext-alias (2014-06-13) 1 commit + (merged to 'next' on 2014-06-16 at 399679e) + + completion: handle '!f() { ... }; f' and "!sh -c '...' -" aliases + + Will merge to 'master'. + + +* bc/fix-rebase-merge-skip (2014-06-16) 1 commit + (merged to 'next' on 2014-06-20 at 01f81f5) + + rebase--merge: fix --skip with two conflicts in a row + + "git rebase --skip" did not work well when it stopped due to a + conflict twice in a row. + + Will merge to 'master'. + + +* jl/submodule-tests (2014-06-20) 15 commits + - revert: add t3513 for submodule updates + - stash: add t3906 for submodule updates + - am: add t4255 for submodule updates + - cherry-pick: add t3512 for submodule updates + - pull: add t5572 for submodule updates + - rebase: add t3426 for submodule updates + - merge: add t7613 for submodule updates + - bisect: add t6041 for submodule updates + - reset: add t7112 for submodule updates + - read-tree: add t1013 for submodule updates + - apply: add t4137 for submodule updates + - checkout: call the new submodule update test framework + - SQUASH??? + - submodules: Add the lib-submodule-update.sh test library + - test-lib: add test_dir_is_empty() + + +* mc/doc-submodule-sync-recurse (2014-06-13) 1 commit + (merged to 'next' on 2014-06-20 at 04815e3) + + submodule: document "sync --recursive" + + Will merge to 'master'. + + +* pb/trim-trailing-spaces (2014-06-13) 1 commit + (merged to 'next' on 2014-06-20 at 6985153) + + t0008: do not depend on 'echo' handling backslashes specially + + Will merge to 'master'. + + +* po/error-message-style (2014-06-16) 1 commit + - doc: state coding guideline for error message punctuation + + Expecting a reroll. + + +* rs/blame-refactor (2014-06-13) 2 commits + (merged to 'next' on 2014-06-20 at ddaa722) + + blame: simplify prepare_lines() + + blame: factor out get_next_line() + + Will merge to 'master'. + + +* rs/ref-transaction (2014-06-20) 48 commits + - refs.c: make write_ref_sha1 static + - fetch.c: change s_update_ref to use a ref transaction + - refs.c: propagate any errno==ENOTDIR from _commit back to the callers + - refs.c: pass a skip list to name_conflict_fn + - refs.c: call lock_ref_sha1_basic directly from commit + - refs.c: move the check for valid refname to lock_ref_sha1_basic + - refs.c: pass NULL as *flags to read_ref_full + - refs.c: pass the ref log message to _create/delete/update instead of _commit + - refs.c: add an err argument to delete_ref_loose + - 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 + - refs.c: remove the update_ref_write function + - refs.c: remove the update_ref_lock function + - refs.c: make lock_ref_sha1 static + - walker.c: use ref transaction for ref updates + - fast-import.c: use a ref transaction when dumping tags + - receive-pack.c: use a reference transaction for updating the refs + - refs.c: change update_ref to use a transaction + - branch.c: use ref transaction for all ref updates + - fast-import.c: change update_branch to use ref transactions + - sequencer.c: use ref transactions for all ref updates + - 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: 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 + - refs.c: change ref_transaction_update() to do error checking and return status + - refs.c: remove the onerr argument to ref_transaction_commit + - update-ref: use err argument to get error from ref_transaction_commit + - refs.c: make update_ref_write update a strbuf on failure + - refs.c: make ref_update_reject_duplicates take a strbuf argument for errors + - refs.c: log_ref_write should try to return meaningful errno + - refs.c: make resolve_ref_unsafe set errno to something meaningful on error + - refs.c: commit_packed_refs to return a meaningful errno on failure + - refs.c: make remove_empty_directories always set errno to something sane + - refs.c: verify_lock should set errno to something meaningful + - refs.c: make sure log_ref_setup returns a meaningful errno + - refs.c: add an err argument to repack_without_refs + - lockfile.c: make lock_file return a meaningful errno on failurei + - lockfile.c: add a new public function unable_to_lock_message + - refs.c: add a strbuf argument to ref_transaction_commit for error logging + - refs.c: allow passing NULL to ref_transaction_free + - refs.c: constify the sha arguments for ref_transaction_create|delete|update + - refs.c: ref_transaction_commit should not free the transaction + - refs.c: remove ref_transaction_rollback + + Updated in response to review comments from Michael. + + Seems to be getting ready for 'next'. + + +* ye/doc-http-proto (2014-06-16) 1 commit + (merged to 'next' on 2014-06-20 at 24f347d) + + http-protocol.txt: Basic Auth is defined in RFC 2617, not RFC 2616 + + Will merge to 'master'. + + +* jk/pretty-G-format-fixes (2014-06-17) 5 commits + (merged to 'next' on 2014-06-20 at f504bbc) + + pretty: avoid reading past end-of-string with "%G" + + t7510: check %G* pretty-format output + + t7510: test a commit signed by an unknown key + + t7510: use consistent &&-chains in loop + + t7510: stop referring to master in later tests Will merge to 'master'. @@ -903,54 +689,39 @@ of the repositories listed at - ewah: fix constness of ewah_read_mmap -* ep/avoid-test-a-o (2014-06-10) 21 commits - - git-submodule.sh: avoid "echo" path-like values - - SQUASH: misconversion breakage fix - - git-submodule.sh: avoid "test -a/-o " - - t/test-lib-functions.sh: avoid "test -a/-o " - - t/t9814-git-p4-rename.sh: avoid "test -a/-o " - - t/t5538-push-shallow.sh: avoid "test -a/-o " - - t/t5403-post-checkout-hook.sh: avoid "test -a/-o " - - t/t5000-tar-tree.sh: avoid "test -a/-o " - - t/t4102-apply-rename.sh: avoid "test -a/-o " - - t/t0026-eol-config.sh: avoid "test -a/-o " - - t/t0025-crlf-auto.sh: avoid "test -a/-o " - - t/lib-httpd.sh: avoid "test -a/-o " - - git-rebase--interactive.sh: avoid "test -a/-o " - - git-mergetool.sh: avoid "test -a/-o " - - git-bisect.sh: avoid "test -a/-o " - - contrib/examples/git-resolve.sh: avoid "test -a/-o " - - contrib/examples/git-repack.sh: avoid "test -a/-o " - - contrib/examples/git-merge.sh: avoid "test -a/-o " - - contrib/examples/git-commit.sh: avoid "test -a/-o " - - contrib/examples/git-clone.sh: avoid "test -a/-o " - - check_bindir: avoid "test -a/-o " - - -* jc/revision-dash-count-parsing (2014-06-09) 1 commit - (merged to 'next' on 2014-06-10 at 1aeca19) - + revision: parse "git log -" more carefully - - "git log -2master" is a common typo that shows two commits starting - from whichever random branch that is not 'master' that happens to - be checked out currently. +* ep/avoid-test-a-o (2014-06-19) 20 commits + (merged to 'next' on 2014-06-20 at c47322b) + + git-submodule.sh: avoid "echo" path-like values + + git-submodule.sh: avoid "test -a/-o " + + t/test-lib-functions.sh: avoid "test -a/-o " + + t/t9814-git-p4-rename.sh: avoid "test -a/-o " + + t/t5538-push-shallow.sh: avoid "test -a/-o " + + t/t5403-post-checkout-hook.sh: avoid "test -a/-o " + + t/t5000-tar-tree.sh: avoid "test -a/-o " + + t/t4102-apply-rename.sh: avoid "test -a/-o " + + t/t0026-eol-config.sh: avoid "test -a/-o " + + t/t0025-crlf-auto.sh: avoid "test -a/-o " + + t/lib-httpd.sh: avoid "test -a/-o " + + git-rebase--interactive.sh: avoid "test -a/-o " + + git-mergetool.sh: avoid "test -a/-o " + + git-bisect.sh: avoid "test -a/-o " + + contrib/examples/git-resolve.sh: avoid "test -a/-o " + + contrib/examples/git-repack.sh: avoid "test -a/-o " + + contrib/examples/git-merge.sh: avoid "test -a/-o " + + contrib/examples/git-commit.sh: avoid "test -a/-o " + + contrib/examples/git-clone.sh: avoid "test -a/-o " + + check_bindir: avoid "test -a/-o " + + Update tests and scripts to avoid "test ... -a ...", which is often + more error-prone than "test ... && test ...". + + Squashed misconversion fix-up into git-submodule.sh updates. Will merge to 'master'. -* jc/test-lazy-prereq (2014-06-13) 7 commits +* jc/test-lazy-prereq (2014-06-13) 1 commit - tests: drop GIT_*_TIMING_TESTS environment variable support - (merged to 'next' on 2014-06-10 at 4f774f7) - + t3419: drop unnecessary NOT_EXPENSIVE pseudo-prerequisite - + t3302: drop unnecessary NOT_EXPENSIVE pseudo-prerequisite - + t3302: do not chdir around in the primary test process - + t3302: coding style updates - + test: turn USR_BIN_TIME into a lazy prerequisite - + test: turn EXPENSIVE into a lazy prerequisite - - Test-script clean-up. The last step might be controversial. - - Will merge to 'master' except for the last one. * jk/commit-buffer-length (2014-06-13) 18 commits @@ -981,20 +752,6 @@ of the repositories listed at Will merge to 'master'. -* jm/api-strbuf-doc (2014-06-09) 1 commit - (merged to 'next' on 2014-06-10 at 831aa30) - + api-strbuf.txt minor typos - - Will merge to 'master'. - - -* rs/more-starts-with (2014-06-09) 1 commit - (merged to 'next' on 2014-06-10 at efcd02e) - + Use starts_with() for C strings instead of memcmp() - - Will merge to 'master'. - - * sk/mingw-dirent (2014-06-09) 5 commits - Win32 dirent: improve dirent implementation - Win32 dirent: clarify #include directives @@ -1022,13 +779,6 @@ of the repositories listed at Now, are Windows folks happy with all four mingw topics? -* tb/t5551-clone-notice-to-stderr (2014-06-09) 1 commit - (merged to 'next' on 2014-06-10 at 374082c) - + t5551: fix the 50,000 tag test - - Will merge to 'master'. - - * jk/repack-pack-keep-objects (2014-06-10) 3 commits (merged to 'next' on 2014-06-16 at 89716c9) + repack: s/write_bitmap/&s/ in code @@ -1054,15 +804,6 @@ of the repositories listed at Will merge to 'master'. -* mg/verify-commit (2014-06-10) 3 commits - - verify-commit: scriptable commit signature verification - - gpg-interface: provide access to the payload - - pretty: free the gpg status buf - - What is queued here is v1; v2 exists but I skipped it. - Expecting a reroll. - - * nd/init-restore-env (2014-06-10) 1 commit (merged to 'next' on 2014-06-16 at ecbbfca) + git potty: restore environments after alias expansion @@ -1084,28 +825,12 @@ of the repositories listed at Will drop, as I heard from Paul that these are queued in his tree. -* mt/send-email-cover-to-cc (2014-06-10) 3 commits - (merged to 'next' on 2014-06-10 at 6bb1465) - + t9001: avoid non-portable '\n' with sed - + test/send-email: to-cover, cc-cover tests - + git-send-email: two new options: to-cover, cc-cover - - Originally merged to 'next' on 2014-06-10 - - Will merge to 'master'. - - * mt/patch-id-stable (2014-06-10) 1 commit - patch-id: change default to stable --------------------------------------------------- -[Discarded] - -* jl/submodule-recursive-checkout (2013-12-26) 5 commits - . Teach checkout to recursively checkout submodules - . submodule: teach unpack_trees() to update submodules - . submodule: teach unpack_trees() to repopulate submodules - . submodule: teach unpack_trees() to remove submodule contents - . submodule: prepare for recursive checkout of submodules - - Dropped for now to make room for another topic ($gmane/251521) + Teaches "git patch-id" to compute the patch ID that does not change + when the files in a single patch is reordered. As this new algorithm + is backward incompatible, the last bit to flip it to be the default + is left out of 'master' for now. + * mt/patch-id-stable (2014-06-10) 1 commit + - patch-id: change default to stable