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
'+' 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
--------------------------------------------------
[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=<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 -<count>" 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 <refspec> 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
"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
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
- 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
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 <refspec> 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'.
- 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 <cond> -a/-o <cond>"
- - t/test-lib-functions.sh: avoid "test <cond> -a/-o <cond>"
- - t/t9814-git-p4-rename.sh: avoid "test <cond> -a/-o <cond>"
- - t/t5538-push-shallow.sh: avoid "test <cond> -a/-o <cond>"
- - t/t5403-post-checkout-hook.sh: avoid "test <cond> -a/-o <cond>"
- - t/t5000-tar-tree.sh: avoid "test <cond> -a/-o <cond>"
- - t/t4102-apply-rename.sh: avoid "test <cond> -a/-o <cond>"
- - t/t0026-eol-config.sh: avoid "test <cond> -a/-o <cond>"
- - t/t0025-crlf-auto.sh: avoid "test <cond> -a/-o <cond>"
- - t/lib-httpd.sh: avoid "test <cond> -a/-o <cond>"
- - git-rebase--interactive.sh: avoid "test <cond> -a/-o <cond>"
- - git-mergetool.sh: avoid "test <cond> -a/-o <cond>"
- - git-bisect.sh: avoid "test <cond> -a/-o <cond>"
- - contrib/examples/git-resolve.sh: avoid "test <cond> -a/-o <cond>"
- - contrib/examples/git-repack.sh: avoid "test <cond> -a/-o <cond>"
- - contrib/examples/git-merge.sh: avoid "test <cond> -a/-o <cond>"
- - contrib/examples/git-commit.sh: avoid "test <cond> -a/-o <cond>"
- - contrib/examples/git-clone.sh: avoid "test <cond> -a/-o <cond>"
- - check_bindir: avoid "test <cond> -a/-o <cond>"
-
-
-* jc/revision-dash-count-parsing (2014-06-09) 1 commit
- (merged to 'next' on 2014-06-10 at 1aeca19)
- + revision: parse "git log -<count>" 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 <cond> -a/-o <cond>"
+ + t/test-lib-functions.sh: avoid "test <cond> -a/-o <cond>"
+ + t/t9814-git-p4-rename.sh: avoid "test <cond> -a/-o <cond>"
+ + t/t5538-push-shallow.sh: avoid "test <cond> -a/-o <cond>"
+ + t/t5403-post-checkout-hook.sh: avoid "test <cond> -a/-o <cond>"
+ + t/t5000-tar-tree.sh: avoid "test <cond> -a/-o <cond>"
+ + t/t4102-apply-rename.sh: avoid "test <cond> -a/-o <cond>"
+ + t/t0026-eol-config.sh: avoid "test <cond> -a/-o <cond>"
+ + t/t0025-crlf-auto.sh: avoid "test <cond> -a/-o <cond>"
+ + t/lib-httpd.sh: avoid "test <cond> -a/-o <cond>"
+ + git-rebase--interactive.sh: avoid "test <cond> -a/-o <cond>"
+ + git-mergetool.sh: avoid "test <cond> -a/-o <cond>"
+ + git-bisect.sh: avoid "test <cond> -a/-o <cond>"
+ + contrib/examples/git-resolve.sh: avoid "test <cond> -a/-o <cond>"
+ + contrib/examples/git-repack.sh: avoid "test <cond> -a/-o <cond>"
+ + contrib/examples/git-merge.sh: avoid "test <cond> -a/-o <cond>"
+ + contrib/examples/git-commit.sh: avoid "test <cond> -a/-o <cond>"
+ + contrib/examples/git-clone.sh: avoid "test <cond> -a/-o <cond>"
+ + check_bindir: avoid "test <cond> -a/-o <cond>"
+
+ 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
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
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
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
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