git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
thread overview below | download mbox.gz: |
* Re: make profile issue on Git 2.1.0
  2014-08-18  2:35  6% make profile issue on Git 2.1.0 Andrés Sicard-Ramírez
@ 2014-08-19  6:12  0% ` Jeff King
  0 siblings, 0 replies; 10+ results
From: Jeff King @ 2014-08-19  6:12 UTC (permalink / raw)
  To: Andrés Sicard-Ramírez; +Cc: Andi Kleen, Junio C Hamano, git

On Sun, Aug 17, 2014 at 09:35:29PM -0500, Andrés Sicard-Ramírez wrote:

> I have the following issue on Git 2.1.0:
> 
> $ make prefix=/some-directory profile
> ...
> make[2]: Entering directory `/home/asr/src/git/git-2.1.0/t/perf'
> rm -rf test-results
> ./run
> === Running 9 tests in this tree ===
> error: No $GIT_PERF_REPO defined, and your build directory is not a repo
> error: No $GIT_PERF_REPO defined, and your build directory is not a repo
> error: No $GIT_PERF_REPO defined, and your build directory is not a repo
> error: No $GIT_PERF_REPO defined, and your build directory is not a repo
> error: No $GIT_PERF_REPO defined, and your build directory is not a repo
> error: No $GIT_PERF_REPO defined, and your build directory is not a repo
> error: No $GIT_PERF_REPO defined, and your build directory is not a repo
> error: No $GIT_PERF_REPO defined, and your build directory is not a repo
> error: No $GIT_PERF_REPO defined, and your build directory is not a repo
> cannot open test-results/p0000-perf-lib-sanity.subtests: No such file
> or directory at ./aggregate.perl line 77.
> make[2]: *** [perf] Error 2
> 
> I hadn't issues running the same command on Git 2.0.2.

This is because v2.1.0 started using "make perf" to feed the profile
builds, but it doesn't work on tarballs.

Maybe we should do this:

-- >8 --
Subject: Makefile: make perf tests optional for profile build

The perf tests need a repository to operate on; if none is
defined, we fall back to the repository containing our build
directory.  That fails, though, for an exported tarball of
git.git, which has no repository.

Since 5d7fd6d we run the perf tests as part of "make
profile". Therefore "make profile" fails out of the box on
released tarballs of v2.1.0.

We can fix this by making the perf tests optional; if they
are skipped, we still run the regular test suite, which
should give a lot of profile data (and is what we used to do
prior to 5d7fd6d anyway).

Signed-off-by: Jeff King <peff@peff.net>
---
As a side note, while testing this I noticed that the "make perf" run
goes a lot faster if you set GIT_PERF_REPEAT_COUNT=1. This is bad for
actually measuring things, but probably fine for profile feedback. I
don't use the profile builds myself, though, so I will leave it to
somebody who cares more to investigate whether such a change would be a
good idea.

 Makefile | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 2320de5..9f984a9 100644
--- a/Makefile
+++ b/Makefile
@@ -1659,7 +1659,11 @@ endif
 profile:: profile-clean
 	$(MAKE) PROFILE=GEN all
 	$(MAKE) PROFILE=GEN -j1 test
-	$(MAKE) PROFILE=GEN -j1 perf
+	@if test -n "$$GIT_PERF_REPO" || test -d .git; then \
+		$(MAKE) PROFILE=GEN -j1 perf; \
+	else \
+		echo "Skipping profile of perf tests..."; \
+	fi
 	$(MAKE) PROFILE=USE all
 
 profile-fast: profile-clean
-- 
2.1.0.346.ga0367b9

^ permalink raw reply related	[relevance 0%]

* make profile issue on Git 2.1.0
@ 2014-08-18  2:35  6% Andrés Sicard-Ramírez
  2014-08-19  6:12  0% ` Jeff King
  0 siblings, 1 reply; 10+ results
From: Andrés Sicard-Ramírez @ 2014-08-18  2:35 UTC (permalink / raw)
  To: git

Hi,

I have the following issue on Git 2.1.0:

$ make prefix=/some-directory profile
...
make[2]: Entering directory `/home/asr/src/git/git-2.1.0/t/perf'
rm -rf test-results
./run
=== Running 9 tests in this tree ===
error: No $GIT_PERF_REPO defined, and your build directory is not a repo
error: No $GIT_PERF_REPO defined, and your build directory is not a repo
error: No $GIT_PERF_REPO defined, and your build directory is not a repo
error: No $GIT_PERF_REPO defined, and your build directory is not a repo
error: No $GIT_PERF_REPO defined, and your build directory is not a repo
error: No $GIT_PERF_REPO defined, and your build directory is not a repo
error: No $GIT_PERF_REPO defined, and your build directory is not a repo
error: No $GIT_PERF_REPO defined, and your build directory is not a repo
error: No $GIT_PERF_REPO defined, and your build directory is not a repo
cannot open test-results/p0000-perf-lib-sanity.subtests: No such file
or directory at ./aggregate.perl line 77.
make[2]: *** [perf] Error 2


I hadn't issues running the same command on Git 2.0.2.

Thanks,

-- 
Andrés

^ permalink raw reply	[relevance 6%]

* [ANNOUNCE] Git v2.1.0-rc0
@ 2014-07-27 23:18  1% Junio C Hamano
  0 siblings, 0 replies; 10+ results
From: Junio C Hamano @ 2014-07-27 23:18 UTC (permalink / raw)
  To: git; +Cc: Linux Kernel

An early preview release Git v2.1.0-rc0 is now available for testing
at the usual places.

The tarballs are found at:

    https://www.kernel.org/pub/software/scm/git/testing/

The following public repositories all have a copy of the 'v2.1.0-rc0'
tag and the 'master' branch that the tag points at:

  url = https://kernel.googlesource.com/pub/scm/git/git
  url = git://repo.or.cz/alt-git.git
  url = https://code.google.com/p/git-core/
  url = git://git.sourceforge.jp/gitroot/git-core/git.git
  url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core
  url = https://github.com/gitster/git

Git v2.1 Release Notes (draft)
==============================

Backward compatibility notes
----------------------------

 * The default value we give to the environment variable LESS has been
   changed from "FRSX" to "FRX", losing "S" (chop long lines instead
   of wrapping).  Existing users who prefer not to see line-wrapped
   output may want to set

     $ git config core.pager "less -S"

   to restore the traditional behaviour.  It is expected that people
   find output from the most subcommands easier to read with the new
   default, except for "blame" which tends to produce really long
   lines.  To override the new default only for "git blame", you can
   do this:

     $ git config pager.blame "less -S"

 * A few disused directories in contrib/ have been retired.


Updates since v2.0
------------------

UI, Workflows & Features

 * Since the very beginning of Git, we gave the LESS environment a
   default value "FRSX" when we spawn "less" as the pager.  "S" (chop
   long lines instead of wrapping) has been removed from this default
   set of options, because it is more or less a personal taste thing,
   as opposed to others that have good justifications (i.e. "R" is
   very much justified because many kinds of output we produce are
   colored and "FX" is justified because output we produce is often
   shorter than a page).

 * The logic and data used to compute the display width needed for
   UTF-8 strings have been updated to match Unicode 7.0 better.

 * HTTP-based transports learned to propagate the error messages from
   the webserver better to the client coming over the HTTP transport.

 * The completion script for bash (in contrib/) has been updated to
   handle aliases that define complex sequence of commands better.

 * The "core.preloadindex" configuration variable is by default
   enabled, allowing modern platforms to take advantage of the
   multiple cores they have.

 * "git clone" applies the "if cloning from a local disk, physically
   copy repository using hardlinks, unless otherwise told not to with
   --no-local" optimization when url.*.insteadOf mechanism rewrites a
   "git clone $URL" that refers to a repository over the network to a
   clone from a local disk.

 * "git commit --date=<date>" option learned to read from more
   timestamp formats, including "--date=now".

 * The `core.commentChar` configuration variable is used to specify a
   custom comment character other than the default "#" to be used in
   the commit log editor.  This can be set to `auto` to attempt to
   choose a different character that does not conflict with what
   already starts a line in the message being edited for cases like
   "git commit --amend".

 * "git format-patch" learned --signature-file=<file> to take the mail
   signature from.

 * "git grep" learned grep.fullname configuration variable to force
   "--full-name" to be default.  This may cause regressions on
   scripted users that do not expect this new behaviour.

 * "git imap-send" learned to ask the credential helper for auth
   material.

 * "git log" and friends now understand the value "auto" set to the
   "log.decorate" configuration variable to enable the "--decorate"
   option automatically when the output is sent to tty.

 * "git merge" without argument, even when there is an upstream
   defined for the current branch, refused to run until
   merge.defaultToUpstream is set to true.  Flip the default of that
   configuration variable to true.

 * "git mergetool" learned to drive the vimdiff3 backend.

 * mergetool.prompt used to default to 'true', always asking "do you
   really want to run the tool on this path?".  Among the two
   purposes this prompt serves, ignore the use case to confirm that
   the user wants to view particular path with the named tool, and
   redefine the meaning of the prompt only to confirm the choice of
   the tool made by the autodetection (for those who configured the
   tool explicitly, the prompt shown for the latter purpose is
   simply annoying).

   Strictly speaking, this is a backward incompatible change and the
   users need to explicitly set the variable to 'true' if they want
   to resurrect the now-ignored use case.

 * "git replace" learned the "--edit" subcommand to create a
   replacement by editing an existing object.

 * "git replace" learned a "--graft" option to rewrite parents of a
   commit.

 * "git send-email" learned "--to-cover" and "--cc-cover" options, to
   tell it to copy To: and Cc: headers found in the first input file
   when emitting later input files.

 * "git svn" learned to cope with malformed timestamps with only one
   digit in the hour part, e.g. 2014-01-07T5:01:02.048176Z, emitted
   by some broken subversion server implementations.

 * "git tag" when editing the tag message shows the name of the tag
   being edited as a comment in the editor.

 * "git tag" learned to pay attention to "tag.sort" configuration, to
   be used as the default sort order when no --sort=<value> the option
   is given.

 * "git verify-commit" command to check GPG signature in signed
   commits, in a way similar to "git verify-tag" is used to check
   signed tags, was added.


Performance, Internal Implementation, etc.

 * Build procedure for 'subtree' (in contrib/) has been cleaned up.

 * The support for the profile-feedback build, which has been left
   bit-rotten for quite a while, has been updated.

 * An experimental format to use two files (the base file and
   incremental changes relative to it) to represent the index has been
   introduced; this may reduce I/O cost of rewriting a large index
   when only small part of the working tree changes.

 * Effort to shrink the size of patches Windows folks maintain on top
   by upstreaming them continues.

 * Patches maintained by msysgit folks for Windows port are being
   upstreamed here a bit by bit.

 * The leaf function to check validity of a refname format has been
   micro-optimized, using SSE2 instructions when available.  A few
   breakages during its development have been caught and fixed already
   but there might remain some more still; please test and report if
   you find any.

 * The `core.deltabasecachelimit` used to default to 16 MiB , but this
   proved to be too small, and has been bumped to 96 MiB.

 * "git blame" has been optimized greatly by reorganising the data
   structure that is used to keep track of the work to be done.

 * "git diff" that compares 3-or-more trees (e.g. parents and the
   result of a merge) have been optimized.

 * The API to update/delete references are being converted to handle
   updates to multiple references in a transactional way.  As an
   example, "update-ref --stdin [-z]" has been updated to use this
   API.

 * skip_prefix() and strip_suffix() API functions are used a lot more
   widely throughout the codebase now.

 * Parts of the test scripts can be skipped by using a range notation,
   e.g. "sh t1234-test.sh --run='1-4 6 8-'" to omit test piece 5 and 7
   and run everything else.


Also contains various documentation updates and code clean-ups.


Fixes since v2.0
----------------

Unless otherwise noted, all the fixes since v2.0 in the maintenance
track are contained in this release (see the maintenance releases'
notes for details).

 * We used to unconditionally disable the pager in the pager process
   we spawn to feed out output, but that prevented people who want to
   run "less" within "less" from doing so.
   (merge c0459ca je/pager-do-not-recurse later to maint).

 * Tools that read diagnostic output in our standard error stream do
   not want to see terminal control sequence (e.g. erase-to-eol).
   Detect them by checking if the standard error stream is connected
   to a tty.
   (merge 38de156 mn/sideband-no-ansi later to maint).

 * Mishandling of patterns in .gitignore that has trailing SPs quoted
   with backslashes (e.g. ones that end with "\ ") have been
   corrected.
   (merge 97c1364be6b pb/trim-trailing-spaces later to maint).

 * Reworded the error message given upon a failure to open an existing
   loose object file due to e.g. permission issues; it was reported as
   the object being corrupt, but that is not quite true.
   (merge d6c8a05 jk/report-fail-to-read-objects-better later to maint).

 * "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.
   (merge e3fa568 jc/revision-dash-count-parsing later to maint).

 * Code to avoid adding the same alternate object store twice was
   subtly broken for a long time, but nobody seems to have noticed.
   (merge 80b4785 rs/fix-alt-odb-path-comparison later to maint).
   (merge 539e750 ek/alt-odb-entry-fix later to maint).

 * The "%<(10,trunc)%s" pretty format specifier in the log family of
   commands is used to truncate the string to a given length (e.g. 10
   in the example) with padding to column-align the output, but did
   not take into account that number of bytes and number of display
   columns are different.
   (merge 7d50987 as/pretty-truncate later to maint).

 * "%G" (nothing after G) is an invalid pretty format specifier, but
   the parser did not notice it as garbage.
   (merge 958b2eb jk/pretty-G-format-fixes later to maint).

 * A handful of code paths had to read the commit object more than
   once when showing header fields that are usually not parsed.  The
   internal data structure to keep track of the contents of the commit
   object has been updated to reduce the need for this double-reading,
   and to allow the caller find the length of the object.
   (merge 218aa3a jk/commit-buffer-length later to maint).

 * The "mailmap.file" configuration option did not support the tilde
   expansion (i.e. ~user/path and ~/path).
   (merge 9352fd5 ow/config-mailmap-pathname later to maint).

 * The completion scripts (in contrib/) 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".
   (merge 8fee872 jk/complete-merge-pull later to maint).

 * The unix-domain socket used by the sample credential cache daemon
   tried to unlink an existing stale one at a wrong path, if the path
   to the socket was given as an overlong path that does not fit in
   sun_path member of the sockaddr_un structure.
   (merge 2869b3e rs/fix-unlink-unix-socket later to maint).

 * An ancient rewrite passed a wrong pointer to a curl library
   function in a rarely used code path.
   (merge 479eaa8 ah/fix-http-push later to maint).

 * "--ignore-space-change" option of "git apply" ignored the spaces
   at the beginning of line too aggressively, which is inconsistent
   with the option of the same name "diff" and "git diff" have.
   (merge 14d3bb4 jc/apply-ignore-whitespace later to maint).

 * "git blame" miscounted number of columns needed to show localized
   timestamps, resulting in jaggy left-side-edge of the source code
   lines in its output.
   (merge dd75553 jx/blame-align-relative-time later to maint).

 * "git blame" assigned the blame to the copy in the working-tree if
   the repository is set to core.autocrlf=input and the file used CRLF
   line endings.
   (merge 4d4813a bc/blame-crlf-test later to maint).

 * "git clone -b brefs/tags/bar" would have mistakenly thought we were
   following a single tag, even though it was a name of the branch,
   because it incorrectly used strstr().
   (merge 60a5f5f jc/fix-clone-single-starting-at-a-tag later to maint).

 * "git commit --allow-empty-messag -C $commit" did not work when the
   commit did not have any log message.
   (merge 076cbd6 jk/commit-C-pick-empty later to maint).

 * "git diff --find-copies-harder" sometimes pretended as if the mode
   bits have changed for paths that are marked with assume-unchanged
   bit.
   (merge 5304810 jk/diff-files-assume-unchanged later to maint).

 * "filter-branch" left an empty single-parent commit that results when
   all parents of a merge commit gets mapped to the same commit, even
   under "--prune-empty".
   (merge 79bc4ef cb/filter-branch-prune-empty-degenerate-merges later to maint).

 * "git format-patch" did not enforce the rule that the "--follow"
   option from the log/diff family of commands must be used with
   exactly one pathspec.
   (merge dd63f16 jk/diff-follow-must-take-one-pathspec later to maint).

 * "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.
   (merge 62aad18 nd/daemonize-gc later to maint).

 * "git grep -O" to show the lines that hit in the pager did not work
   well with case insensitive search.  We now spawn "less" with its
   "-I" option when it is used as the pager (which is the default).
   (merge f7febbe sk/spawn-less-case-insensitively-from-grep-O-i later to maint).

 * We used to disable threaded "git index-pack" on platforms without
   thread-safe pread(); use a different workaround for such
   platforms to allow threaded "git index-pack".
   (merge 3953949 nd/index-pack-one-fd-per-thread later to maint).

 * The error reporting from "git index-pack" has been improved to
   distinguish missing objects from type errors.
   (merge 77583e7 jk/index-pack-report-missing later to maint).

 * "log --show-signature" incorrectly decided the color to paint a
   mergetag that was and was not correctly validated.
   (merge 42c55ce mg/fix-log-mergetag-color later to maint).

 * "log --show-signature" did not pay attention to "--graph" option.
   (merge cf3983d zk/log-graph-showsig later to maint).

 * "git mailinfo" used to read beyond the end of header string while
   parsing an incoming e-mail message to extract the patch.
   (merge b1a013d rs/mailinfo-header-cmp later to maint).

 * On a case insensitive filesystem, merge-recursive incorrectly
   deleted the file that is to be renamed to a name that is the same
   except for case differences.
   (merge baa37bf dt/merge-recursive-case-insensitive later to maint).

 * Merging changes into a file that ends in an incomplete line made the
   last line into a complete one, even when the other branch did not
   change anything around the end of file.
   (merge ba31180 mk/merge-incomplete-files later to maint).

 * "git pack-objects" unnecessarily copied the previous contents when
   extending the hashtable, even though it will populate the table
   from scratch anyway.
   (merge fb79947 rs/pack-objects-no-unnecessary-realloc later to maint).

 * Recent updates to "git repack" started to duplicate objects that
   are in packfiles marked with .keep flag into the new packfile by
   mistake.
   (merge d078d85 jk/repack-pack-keep-objects later to maint).

 * "git rerere forget" did not work well when merge.conflictstyle
   was set to a non-default value.
   (merge de3d8bb fc/rerere-conflict-style later to maint).

 * "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.
   (merge e6bea66 jl/remote-rm-prune later to maint).

 * "git log --exclude=<glob> --all | git shortlog" worked as expected,
   but "git shortlog --exclude=<glob> --all", which is supposed to be
   identical to the above pipeline, was not accepted at the command
   line argument parser level.
   (merge eb07774 jc/shortlog-ref-exclude later to maint).

 * The autostash mode of "git rebase -i" did not restore the dirty
   working tree state if the user aborted the interactive rebase by
   emptying the insn sheet.
   (merge ddb5432 rr/rebase-autostash-fix later to maint).

 * "git rebase --fork-point" did not filter out patch-identical
   commits correctly.

 * During "git rebase --merge", a conflicted patch could not be
   skipped with "--skip" if the next one also conflicted.
   (merge 95104c7 bc/fix-rebase-merge-skip later to maint).

 * "git show -s" (i.e. show log message only) used to incorrectly emit
   an extra blank line after a merge commit.
   (merge ad2f725 mk/show-s-no-extra-blank-line-for-merges later to maint).

 * "git status", even though it is a read-only operation, tries to
   update the index with refreshed lstat(2) info to optimize future
   accesses to the working tree opportunistically, but this could
   race with a "read-write" operation that modify the index while it
   is running.  Detect such a race and avoid overwriting the index.
   (merge 426ddee ym/fix-opportunistic-index-update-race later to maint).

 * "git status" (and "git commit") behaved as if changes in a modified
   submodule are not there if submodule.*.ignore configuration is set,
   which was misleading.  The configuration is only to unclutter diff
   output during the course of development, and should not to hide
   changes in the "status" output to cause the users forget to commit
   them.
   (merge c215d3d jl/status-added-submodule-is-never-ignored later to maint).

 * Documentation for "git submodule sync" forgot to say that the subcommand
   can take the "--recursive" option.
   (merge 9393ae7 mc/doc-submodule-sync-recurse later to maint).

 * "git update-index --cacheinfo" in 2.0 release crashed on a
   malformed command line.
   (merge c8e1ee4 jc/rev-parse-argh-dashed-multi-words later to maint).

 * The mode to run tests with HTTP server tests disabled was broken.
   (merge afa53fe na/no-http-test-in-the-middle later to maint).

----------------------------------------------------------------

Changes since v2.0.0, 643 non-merge changes from 80 contributors,
are as follows:

Abbaad Haider (1):
      http-push.c: make CURLOPT_IOCTLDATA a usable pointer

Alexey Shumkin (5):
      t4205 (log-pretty-formats): don't hardcode SHA-1 in expected outputs
      t4041, t4205, t6006, t7102: don't hardcode tested encoding value
      t4205 (log-pretty-format): use `tformat` rather than `format`
      t4205, t6006: add tests that fail with i18n.logOutputEncoding set
      pretty.c: format string with truncate respects logOutputEncoding

Anders Kaseorg (1):
      gitk: Allow displaying time zones from author and commit dates timestamps

Andi Kleen (4):
      Use BASIC_FLAGS for profile feedback
      Don't define away __attribute__ on gcc
      Run the perf test suite for profile feedback too
      Fix profile feedback with -jN and add profile-fast

Andreas Schwab (1):
      grep: add grep.fullName config variable

Ben Walton (1):
      compat/bswap.h: fix endianness detection

Brian Gesiak (14):
      strbuf: use _rtrim and _ltrim in strbuf_trim
      api-strbuf.txt: add docs for _trim and _ltrim
      builtin/ls-remote.c: rearrange xcalloc arguments
      builtin/remote.c: rearrange xcalloc arguments
      commit.c: rearrange xcalloc arguments
      config.c: rearrange xcalloc arguments
      diff.c: rearrange xcalloc arguments
      http-push.c: rearrange xcalloc arguments
      imap-send.c: rearrange xcalloc arguments
      notes.c: rearrange xcalloc arguments
      pack-revindex.c: rearrange xcalloc arguments
      reflog-walk.c: rearrange xcalloc arguments
      remote.c: rearrange xcalloc arguments
      transport-helper.c: rearrange xcalloc arguments

Cezary Zawadka (1):
      Windows: allow using UNC path for git repository

Charles Bailey (3):
      compat/bswap.h: detect endianness on more platforms that don't use BYTE_ORDER
      filter-branch: eliminate duplicate mapped parents
      Fix contrib/subtree Makefile to patch #! line

Christian Couder (16):
      replace: make sure --edit results in a different object
      replace: refactor checking ref validity
      replace: die early if replace ref already exists
      replace: add tests for --edit
      replace: add --edit to usage string
      Documentation: replace: describe new --edit option
      commit: add for_each_mergetag()
      replace: cleanup redirection style in tests
      replace: add --graft option
      replace: add test for --graft
      Documentation: replace: add --graft option
      contrib: add convert-grafts-to-replace-refs.sh
      replace: remove signature when using --graft
      replace: add test for --graft with signed commit
      replace: check mergetags when using --graft
      replace: add test for --graft with a mergetag

Dan Albert (1):
      imap-send: use git-credential

David Aguilar (3):
      gitk: Honor TMPDIR when viewing external diffs
      gitk: Use mktemp -d to avoid predictable temporary directories
      gitk: Catch mkdtemp errors

David Kastrup (2):
      blame: large-scale performance rewrite
      Bump core.deltaBaseCacheLimit to 96m

David Turner (7):
      docs: document RUN_SETUP_GENTLY and clarify RUN_SETUP
      merge-recursive.c: fix case-changing merge bug
      mv: allow renaming to fix case on case insensitive filesystems
      refs.c: optimize check_refname_component()
      refs.c: SSE2 optimizations for check_refname_component
      refs.c: handle REFNAME_REFSPEC_PATTERN at end of page
      refs: fix valgrind suppression file

Elia Pinto (62):
      t9365-continuing-queries.sh: use the $( ... ) construct for command substitution
      test-gitmw-lib.sh: use the $( ... ) construct for command substitution
      t7900-subtree.sh: use the $( ... ) construct for command substitution
      appp.sh: use the $( ... ) construct for command substitution
      git-pull.sh: use the $( ... ) construct for command substitution
      git-rebase--merge.sh: use the $( ... ) construct for command substitution
      git-rebase.sh: use the $( ... ) construct for command substitution
      git-stash.sh: use the $( ... ) construct for command substitution
      git-web--browse.sh: use the $( ... ) construct for command substitution
      lib-credential.sh: use the $( ... ) construct for command substitution
      lib-cvs.sh: use the $( ... ) construct for command substitution
      lib-gpg.sh: use the $( ... ) construct for command substitution
      p5302-pack-index.sh: use the $( ... ) construct for command substitution
      t0001-init.sh: use the $( ... ) construct for command substitution
      t0010-racy-git.sh: use the $( ... ) construct for command substitution
      t0020-crlf.sh: use the $( ... ) construct for command substitution
      t0025-crlf-auto.sh: use the $( ... ) construct for command substitution
      t0026-eol-config.sh: use the $( ... ) construct for command substitution
      t0030-stripspace.sh: use the $( ... ) construct for command substitution
      t0300-credentials.sh: use the $( ... ) construct for command substitution
      t1000-read-tree-m-3way.sh: use the $( ... ) construct for command substitution
      t1001-read-tree-m-2way.sh: use the $( ... ) construct for command substitution
      t1002-read-tree-m-u-2way.sh: use the $( ... ) construct for command substitution
      t1003-read-tree-prefix.sh: use the $( ... ) construct for command substitution
      t1004-read-tree-m-u-wf.sh: use the $( ... ) construct for command substitution
      t1020-subdirectory.sh: use the $( ... ) construct for command substitution
      t1050-large.sh: use the $( ... ) construct for command substitution
      t3905-stash-include-untracked.sh: use the $( ... ) construct for command substitution
      t3910-mac-os-precompose.sh: use the $( ... ) construct for command substitution
      t4006-diff-mode.sh: use the $( ... ) construct for command substitution
      t4010-diff-pathspec.sh: use the $( ... ) construct for command substitution
      t4012-diff-binary.sh: use the $( ... ) construct for command substitution
      t4013-diff-various.sh: use the $( ... ) construct for command substitution
      t4014-format-patch.sh: use the $( ... ) construct for command substitution
      t4036-format-patch-signer-mime.sh: use the $( ... ) construct for command substitution
      t4038-diff-combined.sh: use the $( ... ) construct for command substitution
      t4057-diff-combined-paths.sh: use the $( ... ) construct for command substitution
      t4116-apply-reverse.sh: use the $( ... ) construct for command substitution
      t4119-apply-config.sh: use the $( ... ) construct for command substitution
      t4204-patch-id.sh: use the $( ... ) construct for command substitution
      t5000-tar-tree.sh: use the $( ... ) construct for command substitution
      scripts: "export VAR=VALUE" construct is not portable
      check_bindir: avoid "test <cond> -a/-o <cond>"
      contrib/examples/git-clone.sh: avoid "test <cond> -a/-o <cond>"
      contrib/examples/git-commit.sh: avoid "test <cond> -a/-o <cond>"
      contrib/examples/git-merge.sh: avoid "test <cond> -a/-o <cond>"
      contrib/examples/git-repack.sh: avoid "test <cond> -a/-o <cond>"
      contrib/examples/git-resolve.sh: avoid "test <cond> -a/-o <cond>"
      git-bisect.sh: avoid "test <cond> -a/-o <cond>"
      git-mergetool.sh: avoid "test <cond> -a/-o <cond>"
      git-rebase--interactive.sh: avoid "test <cond> -a/-o <cond>"
      t/lib-httpd.sh: avoid "test <cond> -a/-o <cond>"
      t/t0025-crlf-auto.sh: avoid "test <cond> -a/-o <cond>"
      t/t0026-eol-config.sh: avoid "test <cond> -a/-o <cond>"
      t/t4102-apply-rename.sh: avoid "test <cond> -a/-o <cond>"
      t/t5000-tar-tree.sh: avoid "test <cond> -a/-o <cond>"
      t/t5403-post-checkout-hook.sh: avoid "test <cond> -a/-o <cond>"
      t/t5538-push-shallow.sh: avoid "test <cond> -a/-o <cond>"
      t/t9814-git-p4-rename.sh: avoid "test <cond> -a/-o <cond>"
      t/test-lib-functions.sh: avoid "test <cond> -a/-o <cond>"
      git-submodule.sh: avoid "test <cond> -a/-o <cond>"
      submodule.c: use the ARRAY_SIZE macro

Ephrim Khong (1):
      sha1_file: do not add own object directory as alternate

Eric Wong (1):
      config: preserve config file permissions on edits

Erik Faye-Lund (1):
      send-email: recognize absolute path on Windows

Fabian Ruch (1):
      sequencer: signal failed ff as an aborted, not a conflicted merge

Felipe Contreras (13):
      fast-export: improve argument parsing
      fast-export: add new --refspec option
      transport-helper: add support for old:new refspec
      transport-helper: add support to push symbolic refs
      fast-import: add support to delete refs
      fast-export: add support to delete refs
      transport-helper: add support to delete branches
      transport-helper: remove unnecessary strbuf resets
      mergetools: add vimdiff3 mode
      mergetool: run prompt only if guessed tool
      merge: enable defaulttoupstream by default
      rerere: fix for merge.conflictstyle
      silence a bunch of format-zero-length warnings

Ilya Bobyr (4):
      test-lib: document short options in t/README
      test-lib: tests skipped by GIT_SKIP_TESTS say so
      test-lib: '--run' to run only specific tests
      gitk: Replace SHA1 entry field on keyboard paste

Jacek Konieczny (1):
      pull: do not abuse 'break' inside a shell 'case'

Jacob Keller (2):
      tag: fix --sort tests to use cat<<-\EOF format
      tag: support configuring --sort via .gitconfig

James Denholm (6):
      contrib/subtree/Makefile: scrap unused $(gitdir)
      contrib/subtree/Makefile: use GIT-VERSION-FILE
      contrib/subtree/Makefile: s/libexecdir/gitexecdir/
      contrib/subtree/Makefile: clean up rules to generate documentation
      contrib/subtree/Makefile: clean up rule for "clean"
      contrib/subtree: allow adding an annotated tag

Jason St. John (1):
      Documentation: use "command-line" when used as a compound adjective, and fix other minor grammatical issues

Jean-Jacques Lafay (1):
      git tag --contains: avoid stack overflow

Jeff King (131):
      run_external_diff: use an argv_array for the environment
      run_external_diff: clean up error handling
      run_external_diff: drop fflush(NULL)
      run_external_diff: hoist common bits out of conditional
      run_external_diff: refactor cmdline setup logic
      commit: do not complain of empty messages from -C
      t3910: show failure of core.precomposeunicode with decomposed filenames
      replace: refactor command-mode determination
      replace: use OPT_CMDMODE to handle modes
      replace: factor object resolution out of replace_object
      replace: add --edit option
      commit: use split_ident_line to compare author/committer
      pretty: make show_ident_date public
      commit: print "Date" line when the user has set date
      commit: accept more date formats for "--date"
      inline constant return from error() function
      let clang use the constant-return error() macro
      grep: use run-command's "dir" option for --open-files-in-pager
      t/lib-httpd: require SANITY prereq
      index-pack: distinguish missing objects from type errors
      run_diff_files: do not look at uninitialized stat data
      run-command: store an optional argv_array
      run_column_filter: use argv_array
      git_connect: use argv_array
      get_helper: use run-command's internal argv_array
      get_exporter: use argv_array
      get_importer: use run-command's internal argv_array
      argv-array: drop "detach" code
      open_sha1_file: report "most interesting" errno
      move "--follow needs one pathspec" rule to diff_setup_done
      format-patch: make newline after signature conditional
      daemon/config: factor out duplicate xstrdup_tolower
      test-lib: preserve GIT_CURL_VERBOSE from the environment
      t/lib-httpd: use write_script to copy CGI scripts
      t5550: test display of remote http error messages
      strbuf: add strbuf_tolower function
      http: extract type/subtype portion of content-type
      http: optionally extract charset parameter from content-type
      strbuf: add strbuf_reencode helper
      remote-curl: reencode http error messages
      http: default text charset to iso-8859-1
      t5537: re-drop http tests
      error_resolve_conflict: rewrap advice message
      error_resolve_conflict: drop quotations around operation
      update-index: fix segfault with missing --cacheinfo argument
      repack: do not accidentally pack kept objects by default
      repack: respect pack.writebitmaps
      repack: s/write_bitmap/&s/ in code
      pack-objects: stop respecting pack.writebitmaps
      repack: simplify handling of --write-bitmap-index
      repack: introduce repack.writeBitmaps config option
      commit_tree: take a pointer/len pair rather than a const strbuf
      replace dangerous uses of strbuf_attach
      alloc: include any-object allocations in alloc_report
      commit: push commit_index update into alloc_commit_node
      do not create "struct commit" with xcalloc
      logmsg_reencode: return const buffer
      sequencer: use logmsg_reencode in get_message
      t7700: drop explicit --no-pack-kept-objects from .keep test
      provide a helper to free commit buffer
      provide a helper to set the commit buffer
      provide helpers to access the commit buffer
      use get_cached_commit_buffer where appropriate
      use get_commit_buffer to avoid duplicate code
      convert logmsg_reencode to get_commit_buffer
      use get_commit_buffer everywhere
      commit-slab: provide a static initializer
      commit: convert commit->buffer to a slab
      commit: record buffer length in cache
      reuse cached commit buffer when parsing signatures
      t7510: stop referring to master in later tests
      t7510: test a commit signed by an unknown key
      t7510: check %G* pretty-format output
      pretty: avoid reading past end-of-string with "%G"
      parse_diff_color_slot: drop ofs parameter
      daemon: mark some strings as const
      avoid using skip_prefix as a boolean
      strbuf: add xstrfmt helper
      use xstrfmt in favor of manual size calculations
      use xstrdup instead of xmalloc + strcpy
      use xstrfmt to replace xmalloc + sprintf
      use xstrfmt to replace xmalloc + strcpy/strcat
      setup_git_env: use git_pathdup instead of xmalloc + sprintf
      sequencer: use argv_array_pushf
      merge: use argv_array when spawning merge strategy
      walker_fetch: fix minor memory leak
      unique_path: fix unlikely heap overflow
      refactor skip_prefix to return a boolean
      apply: use skip_prefix instead of raw addition
      fast-import: fix read of uninitialized argv memory
      transport-helper: avoid reading past end-of-string
      use skip_prefix to avoid magic numbers
      use skip_prefix to avoid repeating strings
      fast-import: use skip_prefix for parsing input
      daemon: use skip_prefix to avoid magic numbers
      stat_opt: check extra strlen call
      fast-import: refactor parsing of spaces
      fetch-pack: refactor parsing in get_ack
      git: avoid magic number with skip_prefix
      use skip_prefix to avoid repeated calculations
      http-push: refactor parsing of remote object names
      setup_git_env(): introduce git_path_from_env() helper
      move "%G" format test from t7510 to t6006
      replace: replace spaces with tabs in indentation
      avoid double close of descriptors handed to run_command
      replace: use argv_array in export_object
      replace: add a --raw mode for --edit
      add strip_suffix function
      implement ends_with via strip_suffix
      replace has_extension with ends_with
      use strip_suffix instead of ends_with in simple cases
      index-pack: use strip_suffix to avoid magic numbers
      strbuf: implement strbuf_strip_suffix
      verify-pack: use strbuf_strip_suffix
      prepare_packed_git_one: refactor duplicate-pack check
      t7300: repair filesystem permissions with test_when_finished
      remote-curl: do not complain on EOF from parent git
      remote-curl: use error instead of fprintf(stderr)
      remote-curl: mark helper-protocol errors more clearly
      tag: use skip_prefix instead of magic numbers
      alloc: write out allocator definitions
      move setting of object->type to alloc_* functions
      parse_object_buffer: do not set object type
      add object_as_type helper for casting objects
      alloc: factor out commit index
      object_as_type: set commit index
      diff-tree: avoid lookup_unknown_object
      prio-queue: factor out compare and swap operations
      prio-queue: make output stable with respect to insertion
      paint_down_to_common: use prio_queue
      t5539: update a flaky test

Jens Lehmann (21):
      status/commit: show staged submodules regardless of ignore config
      commit -m: commit staged submodules regardless of ignore config
      git-gui: show staged submodules regardless of ignore config
      git-gui: tolerate major version changes when comparing the git version
      gitk: Show staged submodules regardless of ignore config
      test-lib: add test_dir_is_empty()
      t/Makefile: check helper scripts for non-portable shell commands too
      t/Makefile: always test all lint targets when running tests
      submodules: add the lib-submodule-update.sh test library
      checkout: call the new submodule update test framework
      apply: add t4137 for submodule updates
      read-tree: add t1013 for submodule updates
      reset: add t7112 for submodule updates
      bisect: add t6041 for submodule updates
      merge: add t7613 for submodule updates
      rebase: add t3426 for submodule updates
      pull: add t5572 for submodule updates
      cherry-pick: add t3512 for submodule updates
      am: add t4255 for submodule updates
      stash: add t3906 for submodule updates
      revert: add t3513 for submodule updates

Jens Lindström (3):
      remote rm: delete remote configuration as the last
      remote: repack packed-refs once when deleting multiple refs
      remote prune: optimize "dangling symref" check/warning

Jeremiah Mahler (7):
      format-patch: add "--signature-file=<file>" option
      t9138-git-svn-authors-prog.sh fixups
      Documentation: wording fixes in the user manual and glossary
      t/t7810-grep.sh: remove duplicate test_config()
      api-strbuf.txt minor typos
      name-hash.c: replace cache_name_compare() with memcmp(3)
      cleanup duplicate name_compare() functions

Jiang Xin (2):
      blame: fix broken time_buf paddings in relative timestamp
      blame: dynamic blame_date_width for different locales

Johannes Schindelin (2):
      git grep -O -i: if the pager is 'less', pass the '-I' option
      Win32: let mingw_execve() return an int

Johannes Sixt (1):
      fix brown paper bag breakage in t5150-request-pull.sh

John Keeping (4):
      completion: add a note that merge options are shared
      completion: add missing options for git-merge
      rebase--am: use --cherry-pick instead of --ignore-if-in-upstream
      rebase: omit patch-identical commits with --fork-point

Jonathan McCrohan (1):
      git-instaweb: add support for Apache 2.4

Jonathan Nieder (4):
      contrib: remove vim support instructions
      contrib: remove git-diffall
      test-lint: find unportable sed, echo, test, and export usage after &&
      test doc: test_write_lines does not split its arguments

Junio C Hamano (49):
      apply --ignore-space-change: lines with and without leading whitespaces do not match
      send-email: windows drive prefix (e.g. C:) appears only at the beginning
      mergetool: document the default for --[no-]prompt
      compat/bswap.h: restore preference __BIG_ENDIAN over BIG_ENDIAN
      CodingGuidelines: once it is in, it is not worth the code churn
      CodingGuidelines: give an example for case/esac statement
      CodingGuidelines: give an example for redirection
      CodingGuidelines: give an example for control statements
      CodingGuidelines: give an example for shell function preamble
      CodingGuidelines: do not call the conditional statement "if()"
      CodingGuidelines: on comparison
      CodingGuidelines: on splitting a long line
      CodingGuidelines: avoid "test <cond> -a/-o <cond>"
      scripts: more "export VAR=VALUE" fixes
      Git 1.9.4
      fetch doc: update introductory part for clarity
      fetch doc: update note on '+' in front of the refspec
      fetch doc: remove notes on outdated "mixed layout"
      First batch for 2.1
      shortlog: allow --exclude=<glob> to be passed
      fetch doc: on pulling multiple refspecs
      fetch doc: update refspec format description
      fetch doc: remove "short-cut" section
      fetch doc: add a section on configured remote-tracking branches
      fetch: allow explicit --refmap to override configuration
      Second batch for 2.1
      Update draft release notes to 2.1
      test: turn EXPENSIVE into a lazy prerequisite
      test: turn USR_BIN_TIME into a lazy prerequisite
      t3302: coding style updates
      t3302: do not chdir around in the primary test process
      t3302: drop unnecessary NOT_EXPENSIVE pseudo-prerequisite
      t3419: drop unnecessary NOT_EXPENSIVE pseudo-prerequisite
      revision: parse "git log -<count>" more carefully
      t0008: do not depend on 'echo' handling backslashes specially
      Third batch for 2.1
      git-submodule.sh: avoid "echo" path-like values
      Fourth batch for 2.1
      builtin/clone.c: detect a clone starting at a tag correctly
      Git 2.0.1
      Fifth batch for 2.1
      Sixth batch for 2.1
      Start preparing for 2.0.2
      Seventh batch for 2.1
      Git 2.0.2
      Eighth batch for 2.1
      Ninth batch for 2.1
      Git 2.0.3
      Git 2.1.0-rc0

Jörn Engel (1):
      pager: do allow spawning pager recursively

Karsten Blees (46):
      MSVC: link dynamically to the CRT
      Win32 dirent: remove unused dirent.d_ino member
      Win32 dirent: remove unused dirent.d_reclen member
      Win32 dirent: change FILENAME_MAX to MAX_PATH
      Win32 dirent: clarify #include directives
      Win32 dirent: improve dirent implementation
      Win32: move main macro to a function
      Win32: support Unicode console output
      Win32: detect console streams more reliably
      Win32: warn if the console font doesn't support Unicode
      Win32: add Unicode conversion functions
      Win32: Thread-safe windows console output
      Win32: fix broken pipe detection
      Win32: reliably detect console pipe handles
      Win32: simplify internal mingw_spawn* APIs
      Win32: fix potential multi-threading issue
      MinGW: disable CRT command line globbing
      Win32: Unicode arguments (outgoing)
      Win32: Unicode arguments (incoming)
      trace: move trace declarations from cache.h to new trace.h
      trace: consistently name the format parameter
      trace: remove redundant printf format attribute
      symlinks: remove PATH_MAX limitation
      hashmap: factor out getting a hash code from a SHA1
      hashmap: improve struct hashmap member documentation
      hashmap: add simplified hashmap_get_from_hash() API
      hashmap: add string interning API
      cache.h: rename cache_def_free to cache_def_clear
      trace: improve trace performance
      Documentation/git.txt: improve documentation of 'GIT_TRACE*' variables
      sha1_file: change GIT_TRACE_PACK_ACCESS logging to use trace API
      trace: add infrastructure to augment trace output with additional info
      trace: disable additional trace output for unit tests
      trace: add current timestamp to all trace output
      trace: move code around, in preparation to file:line output
      trace: add 'file:line' to all trace output
      trace: add high resolution timer function to debug performance issues
      trace: add trace_performance facility to debug performance issues
      git: add performance tracing for git's main() function to debug scripts
      wt-status: simplify performance measurement by using getnanotime()
      progress: simplify performance measurement by using getnanotime()
      api-trace.txt: add trace API documentation
      Win32: Unicode file name support (except dirent)
      Win32: Unicode file name support (dirent)
      MinGW: fix compile error due to missing ELOOP
      config: use chmod() instead of fchmod()

Kirill Smelkov (20):
      combine-diff: move show_log_first logic/action out of paths scanning
      combine-diff: move changed-paths scanning logic into its own function
      tree-diff: no need to manually verify that there is no mode change for a path
      tree-diff: no need to pass match to skip_uninteresting()
      tree-diff: show_tree() is not needed
      tree-diff: consolidate code for emitting diffs and recursion in one place
      tree-diff: don't assume compare_tree_entry() returns -1,0,1
      tree-diff: move all action-taking code out of compare_tree_entry()
      tree-diff: rename compare_tree_entry -> tree_entry_pathcmp
      tree-diff: show_path prototype is not needed anymore
      tree-diff: simplify tree_entry_pathcmp
      tree-diff: remove special-case diff-emitting code for empty-tree cases
      tree-diff: diff_tree() should now be static
      tree-diff: rework diff_tree interface to be sha1 based
      tree-diff: no need to call "full" diff_tree_sha1 from show_path()
      tree-diff: reuse base str(buf) memory on sub-tree recursion
      Portable alloca for Git
      tree-diff: rework diff_tree() to generate diffs for multiparent cases as well
      combine-diff: speed it up, by using multiparent diff tree-walker directly
      mingw: activate alloca

Linus Torvalds (1):
      git log: support "auto" decorations

Luis R. Rodriguez (1):
      git.c: treat RUN_SETUP_GENTLY and RUN_SETUP as mutually exclusive

Marc Branchaud (2):
      fetch doc: move FETCH_HEAD material lower and add an example
      docs: Explain the purpose of fetch's and pull's <refspec> parameter.

Matthew Chen (1):
      submodule: document "sync --recursive"

Matthieu Moy (4):
      git-remote-mediawiki: allow stop/start-ing the test server
      git-remote-mediawiki: fix encoding issue for UTF-8 media files
      pager: remove 'S' from $LESS by default
      rebase -i: test "Nothing to do" case with autostash

Max Kirillov (5):
      git-show: fix 'git show -s' to not add extra terminator after merge commit
      gitk: Switch to patch mode when searching for line origin
      gitk: Add visiblerefs option, which lists always-shown branches
      t6023-merge-file.sh: fix and mark as broken invalid tests
      git-merge-file: do not add LF at EOF while applying unrelated change

Maxime Coste (2):
      git-p4: Do not include diff in spec file when just preparing p4
      git-p4: fix submit in non --prepare-p4-only mode

Michael Barabanov (1):
      use local cloning if insteadOf makes a local URL

Michael Haggerty (27):
      t1400: fix name and expected result of one test
      t1400: provide more usual input to the command
      parse_arg(): really test that argument is properly terminated
      t1400: add some more tests involving quoted arguments
      refs.h: rename the action_on_err constants
      update_refs(): fix constness
      update-ref --stdin: read the whole input at once
      parse_cmd_verify(): copy old_sha1 instead of evaluating <oldvalue> twice
      update-ref.c: extract a new function, parse_refname()
      update-ref --stdin: improve error messages for invalid values
      update-ref --stdin: make error messages more consistent
      update-ref --stdin: simplify error messages for missing oldvalues
      t1400: test that stdin -z update treats empty <newvalue> as zeros
      update-ref.c: extract a new function, parse_next_sha1()
      update-ref --stdin -z: deprecate interpreting the empty string as zeros
      t1400: test one mistake at a time
      update-ref --stdin: improve the error message for unexpected EOF
      update-ref --stdin: harmonize error messages
      refs: add a concept of a reference transaction
      update-ref --stdin: reimplement using reference transactions
      refs: remove API function update_refs()
      struct ref_update: rename field "ref_name" to "refname"
      struct ref_update: store refname as a FLEX_ARRAY
      ref_transaction_commit(): simplify code using temporary variables
      struct ref_update: add a lock field
      struct ref_update: add a type field
      ref_transaction_commit(): work with transaction->updates in place

Michael J Gruber (7):
      t7510: use consistent &&-chains in loop
      gpg-interface: provide clear helper for struct signature_check
      gpg-interface: provide access to the payload
      verify-commit: scriptable commit signature verification
      t7510: exit for loop with test result
      t7510: test verify-commit
      log: correctly identify mergetag signature verification status

Michael Naumov (1):
      sideband.c: do not use ANSI control sequence on non-terminal

Michael S. Tsirkin (6):
      git-send-email: two new options: to-cover, cc-cover
      test/send-email: to-cover, cc-cover tests
      rebase --keep-empty -i: add test
      test: add test_write_lines helper
      patch-id: make it stable against hunk reordering
      patch-id-test: test stable and unstable behaviour

Nguyễn Thái Ngọc Duy (40):
      index-pack: work around thread-unsafe pread()
      ewah: fix constness of ewah_read_mmap
      ewah: delete unused ewah_read_mmap_native declaration
      sequencer: do not update/refresh index if the lock cannot be held
      config: be strict on core.commentChar
      commit: allow core.commentChar=auto for character auto selection
      gc --auto: do not lock refs in the background
      git potty: restore environments after alias expansion
      read-cache: new API write_locked_index instead of write_index/write_cache
      read-cache: relocate and unexport commit_locked_index()
      read-cache: store in-memory flags in the first 12 bits of ce_flags
      read-cache: be strict about "changed" in remove_marked_cache_entries()
      read-cache: be specific what part of the index has changed
      update-index: be specific what part of the index has changed
      resolve-undo: be specific what part of the index has changed
      unpack-trees: be specific what part of the index has changed
      cache-tree: mark istate->cache_changed on cache tree invalidation
      cache-tree: mark istate->cache_changed on cache tree update
      cache-tree: mark istate->cache_changed on prime_cache_tree()
      entry.c: update cache_changed if refresh_cache is set in checkout_entry()
      read-cache: save index SHA-1 after reading
      read-cache: split-index mode
      read-cache: mark new entries for split index
      read-cache: save deleted entries in split index
      read-cache: mark updated entries for split index
      split-index: the writing part
      split-index: the reading part
      split-index: do not invalidate cache-tree at read time
      split-index: strip pathname of on-disk replaced entries
      update-index: new options to enable/disable split index mode
      update-index --split-index: do not split if $GIT_DIR is read only
      rev-parse: add --shared-index-path to get shared index path
      read-tree: force split-index mode off on --index-output
      read-tree: note about dropping split-index mode or index version
      read-cache: force split index mode with GIT_TEST_SPLIT_INDEX
      t2104: make sure split index mode is off for the version test
      t1700: new tests for split-index mode
      dir.c: coding style fix
      dir.h: move struct exclude declaration to top level
      prep_exclude: remove the artificial PATH_MAX limit

Nick Alcock (1):
      t5538: move http push tests out to t5542

Pasha Bolokhov (1):
      dir.c:trim_trailing_spaces(): fix for " \ " sequence

Pat Thoyts (2):
      wincred: add install target
      wincred: avoid overwriting configured variables

Philip Oakley (1):
      doc: give some guidelines for error messages

Ramkumar Ramachandra (1):
      rebase -i: handle "Nothing to do" case with autostash

Ramsay Allan Jones (2):
      t0000-*.sh: fix the GIT_SKIP_TESTS sub-tests
      alloc.c: remove the alloc_raw_commit_node() function

René Scharfe (28):
      mailinfo: use strcmp() for string comparison
      pack-objects: use free()+xcalloc() instead of xrealloc()+memset()
      Use starts_with() for C strings instead of memcmp()
      blame: factor out get_next_line()
      blame: simplify prepare_lines()
      wt-status: use argv_array for environment
      wt-status: simplify building of summary limit argument
      sha1_file: replace PATH_MAX buffer with strbuf in prepare_packed_git_one()
      sha1_file: avoid overrunning alternate object base string
      t5000, t5003: simplify commit
      diff-tree: call free_commit_list() instead of duplicating its code
      line-log: use commit_list_append() instead of duplicating its code
      use strbuf_addbuf for adding strbufs
      use strbuf_addch for adding single characters
      merge: simplify merge_trivial() by using commit_list_append()
      commit: use commit_list_append() instead of duplicating its code
      fsck: simplify fsck_commit_buffer() by using commit_list_count()
      annotate: use argv_array
      strbuf: use strbuf_addstr() for adding C strings
      use commit_list_count() to count the members of commit_lists
      run-command: use internal argv_array of struct child_process in run_hook_ve()
      transport: simplify fetch_objs_via_rsync() using argv_array
      fast-import: use hashcmp() for SHA1 hash comparison
      bundle: use internal argv_array of struct child_process in create_bundle()
      remote-testsvn: use internal argv_array of struct child_process in cmd_import()
      unix-socket: remove stale socket before calling chdir()
      use xcalloc() to allocate zero-initialized memory
      use xmemdupz() to allocate copies of strings given by start and length

RomanBelinsky (1):
      SVN.pm::parse_svn_date: allow timestamps with a single-digit hour

Ronnie Sahlberg (27):
      sequencer.c: check for lock failure and bail early in fast_forward_to
      commit.c: check for lock error and return early
      refs.c: add new functions reflog_exists and delete_reflog
      checkout.c: use ref_exists instead of file_exist
      refs.c: change read_ref_at to use the reflog iterators
      enums: remove trailing ',' after last item in enum
      enums: remove trailing ',' after last item in enum
      refs.c: remove ref_transaction_rollback
      refs.c: ref_transaction_commit should not free the transaction
      refs.c: constify the sha arguments for ref_transaction_create|delete|update
      refs.c: allow passing NULL to ref_transaction_free
      refs.c: add a strbuf argument to ref_transaction_commit for error logging
      lockfile.c: add a new public function unable_to_lock_message
      lockfile.c: make lock_file return a meaningful errno on failurei
      refs.c: add an err argument to repack_without_refs
      refs.c: make sure log_ref_setup returns a meaningful errno
      refs.c: verify_lock should set errno to something meaningful
      refs.c: make remove_empty_directories always set errno to something sane
      refs.c: commit_packed_refs to return a meaningful errno on failure
      refs.c: make resolve_ref_unsafe set errno to something meaningful on error
      refs.c: log_ref_write should try to return meaningful errno
      refs.c: make ref_update_reject_duplicates take a strbuf argument for errors
      refs.c: make update_ref_write update a strbuf on failure
      update-ref: use err argument to get error from ref_transaction_commit
      refs.c: remove the onerr argument to ref_transaction_commit
      refs.c: change ref_transaction_update() to do error checking and return status
      refs.c: add a public is_branch function

Stefan Beller (3):
      .mailmap: map different names with the same email address together
      git.1: switch homepage for stats
      .mailmap: combine Stefan Beller's emails

Steffen Prohaska (1):
      completion: handle '!f() { ... }; f' and "!sh -c '...' -" aliases

Stepan Kasal (3):
      Revert "submodules: fix ambiguous absolute paths under Windows"
      t5000, t5003: do not use test_cmp to compare binary files
      mingw: avoid const warning

Stephen P. Smith (1):
      How to keep a project's canonical history correct.

Steve Hoelzer (1):
      environment.c: enable core.preloadindex by default

Tanay Abhra (4):
      string-list: spell all values out that are given to a string_list initializer
      imap-send: use skip_prefix instead of using magic numbers
      string-list: add string_list initializer helper function
      replace memset with string-list initializers

Theodore Leblond (1):
      compat/poll: sleep 1 millisecond to avoid busy wait

Thorsten Glaser (1):
      builtin/tag.c: show tag name to hint in the message editor

Torsten Bögershausen (7):
      utf8.c: use a table for double_width
      utf8: make it easier to auto-update git_wcwidth()
      t5551: fix the 50,000 tag test
      t9001: avoid non-portable '\n' with sed
      Update of unicode_width.h to Unicode Version 7.0
      t0025: rename the test files
      t0027: combinations of core.autocrlf, core.eol and text

Trần Ngọc Quân (1):
      l10n: Init Vietnamese translation

W. Trevor King (1):
      Documentation: mention config sources for @{upstream}

William Giokas (1):
      svn-fe: conform to pep8

Yi EungJun (2):
      http-protocol.txt: Basic Auth is defined in RFC 2617, not RFC 2616
      http: fix charset detection of extract_content_type()

Yiannis Marangos (2):
      wrapper.c: add xpread() similar to xread()
      read-cache.c: verify index file before we opportunistically update it

Zoltan Klinger (1):
      log: fix indentation for --graph --show-signature

brian m. carlson (3):
      blame: correctly handle files regardless of autocrlf
      rebase--merge: fix --skip with two conflicts in a row
      Documentation: fix missing text for rev-parse --verify

Øystein Walle (1):
      config: respect '~' and '~user' in mailmap.file

Øyvind A. Holm (1):
      .gitignore: "git-verify-commit" is a generated file

^ permalink raw reply	[relevance 1%]

* What's cooking in git.git (Jul 2014, #04; Tue, 22)
@ 2014-07-22 21:44  1% Junio C Hamano
  0 siblings, 0 replies; 10+ results
From: Junio C Hamano @ 2014-07-22 21:44 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking.  Commits prefixed with
'-' are only in 'pu' (proposed updates) while commits prefixed with
'+' are in 'next'.

We would need to start slowing down to prepare for -rc0 preview at
the end of this week and then feature freeze.  Some topics that
joined 'next' late may want to stay there for the remainder of this
cycle.  Many of the accumulated fixes have been flushed to 'maint'
and Git 2.0.2 has been tagged.

You can find the changes described here in the integration branches
of the repositories listed at

    http://git-blame.blogspot.com/p/git-public-repositories.html

--------------------------------------------------
[Graduated to "master"]

* ak/profile-feedback-build (2014-07-08) 4 commits
  (merged to 'next' on 2014-07-14 at c40e86e)
 + Fix profile feedback with -jN and add profile-fast
 + Run the perf test suite for profile feedback too
 + Don't define away __attribute__ on gcc
 + Use BASIC_FLAGS for profile feedback

 The support for the profile-feedback build, which has been left
 bit-rotten for quite a while, has been updated.


* cc/for-each-mergetag (2014-07-07) 1 commit
  (merged to 'next' on 2014-07-15 at c5dd3ee)
 + commit: add for_each_mergetag()
 (this branch is used by cc/replace-graft.)


* ek/alt-odb-entry-fix (2014-07-15) 1 commit
  (merged to 'next' on 2014-07-17 at a5f43e2)
 + sha1_file: do not add own object directory as alternate


* jk/alloc-commit-id (2014-07-13) 8 commits
  (merged to 'next' on 2014-07-16 at f14c01a)
 + diff-tree: avoid lookup_unknown_object
 + object_as_type: set commit index
 + alloc: factor out commit index
 + add object_as_type helper for casting objects
 + parse_object_buffer: do not set object type
 + move setting of object->type to alloc_* functions
 + alloc: write out allocator definitions
 + alloc.c: remove the alloc_raw_commit_node() function

 Make sure all in-core commit objects are assigned a unique number
 so that they can be annotated using the commit-slab API.


* jk/remote-curl-squelch-extra-errors (2014-07-10) 3 commits
  (merged to 'next' on 2014-07-14 at a2efa2f)
 + remote-curl: mark helper-protocol errors more clearly
 + remote-curl: use error instead of fprintf(stderr)
 + remote-curl: do not complain on EOF from parent git

 Show HTTP transfer errors from remote-curl helper more clearly to
 help avoid user confusion.


* jl/submodule-tests (2014-07-14) 14 commits
  (merged to 'next' on 2014-07-14 at 0c750bb)
 + 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
 + submodules: add the lib-submodule-update.sh test library
 + test-lib: add test_dir_is_empty()


* kb/avoid-fchmod-for-now (2014-07-16) 1 commit
  (merged to 'next' on 2014-07-17 at fc26c4b)
 + config: use chmod() instead of fchmod()

 Replace the only two uses of fchmod() with chmod() because the
 former does not work on Windows port and because luckily we can.


* kb/hashmap-updates (2014-07-07) 4 commits
  (merged to 'next' on 2014-07-15 at 6dd6611)
 + hashmap: add string interning API
 + hashmap: add simplified hashmap_get_from_hash() API
 + hashmap: improve struct hashmap member documentation
 + hashmap: factor out getting a hash code from a SHA1


* kb/perf-trace (2014-07-13) 17 commits
  (merged to 'next' on 2014-07-15 at 09ade08)
 + api-trace.txt: add trace API documentation
 + progress: simplify performance measurement by using getnanotime()
 + wt-status: simplify performance measurement by using getnanotime()
 + 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: disable additional trace output for unit tests
 + trace: add infrastructure to augment trace output with additional info
 + sha1_file: change GIT_TRACE_PACK_ACCESS logging to use trace API
 + Documentation/git.txt: improve documentation of 'GIT_TRACE*' variables
 + trace: improve trace performance
 + trace: remove redundant printf format attribute
 + trace: consistently name the format parameter
 + trace: move trace declarations from cache.h to new trace.h

 Show timestamps in GIT_TRACE output.


* nd/path-max-must-go (2014-07-14) 3 commits
  (merged to 'next' on 2014-07-15 at ce68dde)
 + prep_exclude: remove the artificial PATH_MAX limit
 + dir.h: move struct exclude declaration to top level
 + dir.c: coding style fix

 Lift arbitrary PATH_MAX limit in the code to enumerate paths in the
 working tree.


* rs/code-cleaning (2014-07-18) 7 commits
  (merged to 'next' on 2014-07-21 at 7312ddc)
 + remote-testsvn: use internal argv_array of struct child_process in cmd_import()
 + bundle: use internal argv_array of struct child_process in create_bundle()
 + fast-import: use hashcmp() for SHA1 hash comparison
 + transport: simplify fetch_objs_via_rsync() using argv_array
 + run-command: use internal argv_array of struct child_process in run_hook_ve()
 + use commit_list_count() to count the members of commit_lists
 + strbuf: use strbuf_addstr() for adding C strings


* rs/ref-transaction-0 (2014-07-14) 19 commits
  (merged to 'next' on 2014-07-14 at b21bcee)
 + 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
 (this branch is used by rs/ref-transaction and rs/ref-transaction-1.)

 Early part of the "ref transaction" topic.


* rs/unify-is-branch (2014-07-16) 1 commit
  (merged to 'next' on 2014-07-17 at 55f530b)
 + refs.c: add a public is_branch function


* sk/mingw-uni-fix (2014-07-15) 2 commits
  (merged to 'next' on 2014-07-17 at ffef7a1)
 + Win32: Unicode file name support (dirent)
 + Win32: Unicode file name support (except dirent)
 (this branch is used by sk/mingw-uni-fix-more.)

--------------------------------------------------
[New Topics]

* mb/local-clone-after-applying-insteadof (2014-07-17) 1 commit
  (merged to 'next' on 2014-07-21 at ebe07c2)
 + use local cloning if insteadOf makes a local URL

 Apply the "if cloning from a local disk, physically copy repository
 using hardlinks, unless otherwise told not to with --no-local"
 optimization when url.*.insteadOf mechanism rewrites a "git clone
 $URL" that refers to a repository over the network to a clone from
 a local disk.

 Will merge to 'master'.


* nd/path-max-is-better-than-hardcoded-magic-1024 (2014-07-17) 1 commit
 - abspath.c: use PATH_MAX in real_path_internal()

 Still being discussed.


* sk/mingw-uni-fix-more (2014-07-21) 14 commits
 - Win32: enable color output in Windows cmd.exe
 - Win32: patch Windows environment on startup
 - Win32: keep the environment sorted
 - Win32: use low-level memory allocation during initialization
 - Win32: reduce environment array reallocations
 - Win32: don't copy the environment twice when spawning child processes
 - Win32: factor out environment block creation
 - Win32: unify environment function names
 - Win32: unify environment case-sensitivity
 - Win32: fix environment memory leaks
 - Win32: Unicode environment (incoming)
 - Win32: Unicode environment (outgoing)
 - Revert "Windows: teach getenv to do a case-sensitive search"
 - tests: do not pass iso8859-1 encoded parameter

 Most of these are battle-tested in msysgit and are needed to
 complete what has been merged to 'master' already.

 A fix has been squashed into "Unicode environ (outgoing)"; is this
 now ready to go?


* sk/mingw-tests-workaround (2014-07-21) 6 commits
 - t800[12]: work around MSys limitation
 - t9902: mingw-specific fix for gitfile link files
 - t4210: skip command-line encoding tests on mingw
 - MinGW: disable legacy encoding tests
 - t0110/MinGW: skip tests that pass arbitrary bytes on the command line
 - MinGW: Skip test redirecting to fd 4
 (this branch is used by jc/not-mingw-cygwin.)

 Make tests pass on msysgit by mostly disabling ones that are
 infeasible on that platform.

 The t0110 one has been replaced; is this now ready to go?


* ta/string-list-init (2014-07-21) 2 commits
  (merged to 'next' on 2014-07-21 at 63e8891)
 + replace memset with string-list initializers
 + string-list: add string_list initializer helper function
 (this branch is tangled with ta/config-set.)

 Will merge to 'master'.


* 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


* rs/fix-unlink-unix-socket (2014-07-21) 1 commit
  (merged to 'next' on 2014-07-22 at fad8c29)
 + unix-socket: remove stale socket before calling chdir()

 The unix-domain socket used by the sample credential cache daemon
 tried to unlink an existing stale one at a wrong path, if the path
 to the socket was given as an overlong path that does not fit in
 sun_path member of the sockaddr_un structure.

 Will merge to 'master'.


* rs/strbuf-getcwd (2014-07-21) 4 commits
 - use xgetcwd() get the current directory or die
 - wrapper: add xgetcwd()
 - use strbuf_getcwd() to get the current working directory without fixed-sized buffers
 - strbuf: add strbuf_getcwd()

 Still being discussed.


* jc/not-mingw-cygwin (2014-07-21) 2 commits
 - test prerequisites: enumerate with commas
 - test prerequisites: eradicate NOT_FOO
 (this branch uses sk/mingw-tests-workaround.)

 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.


* jk/more-push-completion (2014-07-22) 3 commits
 - completion: complete `git push --force-with-lease=`
 - completion: add some missing options to `git push`
 - completion: complete "unstuck" `git push --recurse-submodules`

--------------------------------------------------
[Stalled]

* jk/tag-contains (2014-06-30) 8 commits
 . perf: add tests for tag --contains
 . tag: use commit_contains
 . commit: provide a fast multi-tip contains function
 . string-list: add pos to iterator callback
 . add functions for memory-efficient bitmaps
 . paint_down_to_common: use prio_queue
 . tag: factor out decision to stream tags
 . tag: allow --sort with -n

 Expecting a reroll.


* ab/add-interactive-show-diff-func-name (2014-05-12) 2 commits
 - SQUASH??? git-add--interactive: Preserve diff heading when splitting hunks
 - git-add--interactive: Preserve diff heading when splitting hunks

 Waiting for a reroll.


* jn/gitweb-utf8-in-links (2014-05-27) 1 commit
 - gitweb: Harden UTF-8 handling in generated links

 $gmane/250758?


* rh/prompt-tests (2014-06-05) 11 commits
 - t9904: new __git_ps1 tests for Zsh
 - test-lib: make it possible to override how test code is eval'd
 - lib-prompt-tests.sh: add variable for string that encodes percent in PS1
 - lib-prompt-tests.sh: put all tests inside a function
 - t9903: move prompt tests to a new lib-prompt-tests.sh file
 - t9903: move PS1 color code variable definitions to lib-bash.sh
 - t9903: include "Bash" in test names via new $shellname var
 - t9903: run pc mode tests again with PS1 expansion disabled
 - t9903: move test name prefix to a separate variable
 - t9903: put the Bash pc mode prompt test cases in a function
 - t9903: remove Zsh test from the suite of Bash prompt tests

 Expecting a reroll to limit the damage to test_eval_; also reported
 to be broken with older zsh that are still in the field ($gmane/251231).


* ss/userdiff-update-csharp-java (2014-06-02) 2 commits
 - userdiff: support Java try keyword
 - userdiff: support C# async methods and correct C# keywords

 Reviews sent; waiting for a response.


* cc/interpret-trailers (2014-05-28) 11 commits
 - Documentation: add documentation for 'git interpret-trailers'
 - trailer: add tests for commands in config file
 - trailer: execute command from 'trailer.<name>.command'
 - trailer: add tests for "git interpret-trailers"
 - trailer: add interpret-trailers command
 - trailer: put all the processing together and print
 - trailer: parse trailers from file or stdin
 - trailer: process command line trailer arguments
 - trailer: read and process config information
 - trailer: process trailers from input message and arguments
 - trailer: add data structures and basic functions

 A new filter to programatically edit the tail end of the commit log
 messages.

 What is the status of this one?  I think I saw reviews by Michael
 but after that I do not recall seeing any updates.


* mh/lockfile (2014-04-15) 25 commits
 . trim_last_path_elm(): replace last_path_elm()
 . resolve_symlink(): take a strbuf parameter
 . resolve_symlink(): use a strbuf for internal scratch space
 . change lock_file::filename into a strbuf
 . commit_lock_file(): use a strbuf to manage temporary space
 . try_merge_strategy(): use a statically-allocated lock_file object
 . try_merge_strategy(): remove redundant lock_file allocation
 . struct lock_file: declare some fields volatile
 . lockfile: avoid transitory invalid states
 . commit_lock_file(): die() if called for unlocked lockfile object
 . commit_lock_file(): inline temporary variable
 . remove_lock_file(): call rollback_lock_file()
 . lock_file(): exit early if lockfile cannot be opened
 . write_packed_entry_fn(): convert cb_data into a (const int *)
 . prepare_index(): declare return value to be (const char *)
 . delete_ref_loose(): don't muck around in the lock_file's filename
 . cache.h: define constants LOCK_SUFFIX and LOCK_SUFFIX_LEN
 . lockfile.c: document the various states of lock_file objects
 . lock_file(): always add lock_file object to lock_file_list
 . hold_lock_file_for_append(): release lock on errors
 . lockfile: unlock file if lockfile permissions cannot be adjusted
 . rollback_lock_file(): set fd to -1
 . rollback_lock_file(): do not clear filename redundantly
 . 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.


* bg/rebase-off-of-previous-branch (2014-04-16) 1 commit
 - git-rebase: print name of rev when using shorthand

 Teach "git rebase -" to report the concrete name of the branch
 (i.e. the previous one).

 But it stops short and does not do the same for "git rebase @{-1}".
 Expecting a reroll.


* tr/merge-recursive-index-only (2014-02-05) 3 commits
 - merge-recursive: -Xindex-only to leave worktree unchanged
 - merge-recursive: internal flag to avoid touching the worktree
 - merge-recursive: remove dead conditional in update_stages()
 (this branch is used by tr/remerge-diff.)


* tr/remerge-diff (2014-02-26) 5 commits
 . log --remerge-diff: show what the conflict resolution changed
 . name-hash: allow dir hashing even when !ignore_case
 . merge-recursive: allow storing conflict hunks in index
 . revision: fold all merge diff variants into an enum merge_diff_mode
 . combine-diff: do not pass revs->dense_combined_merges redundantly
 (this branch uses tr/merge-recursive-index-only.)

 "log -p" output learns a new way to let users inspect a merge
 commit by showing the differences between the automerged result
 with conflicts the person who recorded the merge would have seen
 and the final conflict resolution that was recorded in the merge.

 Needs to be rebased, now kb/fast-hashmap topic is in.


* jk/makefile (2014-02-05) 16 commits
 . FIXUP
 . move LESS/LV pager environment to Makefile
 . Makefile: teach scripts to include make variables
 . FIXUP
 . Makefile: auto-build C strings from make variables
 . Makefile: drop *_SQ variables
 . FIXUP
 . Makefile: add c-quote helper function
 . Makefile: introduce sq function for shell-quoting
 . Makefile: always create files via make-var
 . Makefile: store GIT-* sentinel files in MAKE/
 . Makefile: prefer printf to echo for GIT-*
 . Makefile: use tempfile/mv strategy for GIT-*
 . Makefile: introduce make-var helper function
 . Makefile: fix git-instaweb dependency on gitweb
 . Makefile: drop USE_GETTEXT_SCHEME from GIT-CFLAGS

 Simplify the Makefile rules and macros that exist primarily for
 quoting purposes, and make it easier to robustly express the
 dependency rules.

 Expecting a reroll.


* po/everyday-doc (2014-01-27) 1 commit
 - Make 'git help everyday' work

 This may make the said command to emit something, but the source is
 not meant to be formatted into a manual pages to begin with, and
 also its contents are a bit stale.  It may be a good first step in
 the right direction, but needs more work to at least get the
 mark-up right before public consumption.

 Will hold.


* rb/merge-prepare-commit-msg-hook (2014-01-10) 4 commits
 - merge: drop unused arg from abort_commit method signature
 - merge: make prepare_to_commit responsible for write_merge_state
 - t7505: ensure cleanup after hook blocks merge
 - t7505: add missing &&

 Expose more merge states (e.g. $GIT_DIR/MERGE_MODE) to hooks that
 run during "git merge".  The log message stresses too much on one
 hook, prepare-commit-msg, but it would equally apply to other hooks
 like post-merge, I think.

 Waiting for a reroll.


* jc/graph-post-root-gap (2013-12-30) 3 commits
 - WIP: document what we want at the end
 - graph: remove unused code a bit
 - graph: stuff the current commit into graph->columns[]

 This was primarily a RFH ($gmane/239580).


* tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
 - perf-lib: add test_perf_cleanup target
 - perf-lib: split starting the test from the execution

 Add test_perf_cleanup shell function to the perf suite, that allows
 the script writers to define a test with a clean-up action.

 Will hold.


* jc/show-branch (2014-03-24) 5 commits
 - show-branch: use commit slab to represent bitflags of arbitrary width
 - show-branch.c: remove "all_mask"
 - show-branch.c: abstract out "flags" operation
 - show-branch.c: lift all_mask/all_revs to a global static
 - show-branch.c: update comment style

 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.

--------------------------------------------------
[Cooking]

* jk/rebase-am-fork-point (2014-07-16) 2 commits
  (merged to 'next' on 2014-07-22 at 7648293)
 + rebase: omit patch-identical commits with --fork-point
 + rebase--am: use --cherry-pick instead of --ignore-if-in-upstream

 "git rebase --fork-point" did not filter out patch-identical
 commits correctly.

 Will merge to 'master'.


* jk/stable-prio-queue (2014-07-15) 4 commits
  (merged to 'next' on 2014-07-22 at 46e9bc3)
 + t5539: update a flaky test
 + paint_down_to_common: use prio_queue
 + prio-queue: make output stable with respect to insertion
 + prio-queue: factor out compare and swap operations

 Will merge to 'master'.


* jk/tag-sort (2014-07-17) 2 commits
  (merged to 'next' on 2014-07-21 at bc34738)
 + tag: support configuring --sort via .gitconfig
 + tag: fix --sort tests to use cat<<-\EOF format

 Will merge to 'master'.


* ta/config-set (2014-07-21) 3 commits
 - test-config: add tests for the config_set API
 - add `config_set` API for caching config-like files
 + string-list: add string_list initializer helper function
 (this branch is tangled with ta/string-list-init.)

 Almost there.


* rs/ref-transaction-1 (2014-07-16) 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
 - 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
 (this branch is used by rs/ref-transaction.)

 The second batch of the transactional ref update series.


* jc/reopen-lock-file (2014-07-14) 1 commit
  (merged to 'next' on 2014-07-21 at 8277dc9)
 + lockfile: allow reopening a closed but still locked file

 Needed in the "commit -p" code path to update the cache tree in the
 index.


* nd/multiple-work-trees (2014-07-17) 31 commits
  (merged to 'next' on 2014-07-17 at a29d310)
 + 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.

 Will cook in 'next'.


* dt/cache-tree-repair (2014-07-14) 4 commits
  (merged to 'next' on 2014-07-21 at e83db34)
 + cache-tree: Write updated cache-tree after commit
 + cache-tree: subdirectory tests
 + test-dump-cache-tree: invalid trees are not errors
 + cache-tree: create/update cache-tree on checkout

 Add a few more places in "commit" and "checkout" that make sure
 that the cache-tree is fully populated in the index.

 Will cook in 'next'.


* cc/replace-graft (2014-07-21) 9 commits
  (merged to 'next' on 2014-07-22 at 9b14090)
 + replace: add test for --graft with a mergetag
 + replace: check mergetags when using --graft
 + replace: add test for --graft with signed commit
 + replace: remove signature when using --graft
 + contrib: add convert-grafts-to-replace-refs.sh
 + Documentation: replace: add --graft option
 + replace: add test for --graft
 + replace: add --graft option
 + replace: cleanup redirection style in tests

 "git replace" learned a "--graft" option to rewrite parents of a
 commit.

 Will merge to 'master'.


* hv/submodule-config (2014-06-30) 4 commits
  (merged to 'next' on 2014-07-17 at 5e0ce45)
 + 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

 Will cook in 'next'.


* rs/ref-transaction (2014-07-17) 12 commits
 - 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
 - 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
 - wrapper.c: add a new function unlink_or_msg
 - wrapper.c: simplify warn_if_unremovable
 (this branch uses rs/ref-transaction-1.)


* jc/test-lazy-prereq (2014-06-13) 1 commit
 - tests: drop GIT_*_TIMING_TESTS environment variable support

 Test-script clean-up.

 Will hold.


* 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.

 Will hold.

^ permalink raw reply	[relevance 1%]

* Re: Git + mod_auth_kerb
  2014-07-21 23:17  0% ` brian m. carlson
@ 2014-07-22 16:41  0%   ` Jean-Francois Bouchard
  0 siblings, 0 replies; 10+ results
From: Jean-Francois Bouchard @ 2014-07-22 16:41 UTC (permalink / raw)
  To: Jean-Francois Bouchard, git

Hello,

Thanks for this info. This make a lot of sense system wise. For a user
point of view, it is a nightmare. Also, this break a lot of tools that
are waiting username/password authentication via HTTPS. (I name
Eclipse).

Also, I m not able to reproduce the kerberos login on Ubuntu 14.04. I
m asked to enter password even if a kerberos ticket is present and
this even when I've embedded the username in the URI.

Is there a better way to integrate Kerberos via HTTPS for git ?

Thanks,
JF

On Mon, Jul 21, 2014 at 7:17 PM, brian m. carlson
<sandals@crustytoothpaste.net> wrote:
> On Mon, Jul 21, 2014 at 05:06:50PM -0400, Jean-Francois Bouchard wrote:
>> Hello,
>>
>> We are currently working on a single sign on setup for our git install. We are
>> using git 2.0.2 (ubuntu) plus apache/2.2.22 mod_auth_kerb on the
>> server side. Here some scenario we are trying to accomplish :
>>
>> -Without Kerberos ticket stored.
>> Git ask for username/password.
>> Result = Authentication failed
>>
>> -Kerberos ticket in store and BAD password :
>> Git ask for username/password.
>> Result = Authentication failed
>>
>> -Kerberos ticket in Store entering good password :
>> Git ask for username/password.
>> Result = Authentication failed on some host, other works
>>
>> -Kerberos ticket in Store and embedding the username in the URI (aka
>> https://username@repo)
>> Git don't ask for anything or ask for password
>> Result = Works on some host, other request the password. (Will fail if
>> the kerberos ticket not in store)
>
> So git uses libcurl with CURLAUTH_ANY.  In order for authentication to
> work with libcurl, you have to supply a username.  If you specify it in
> the URL, the libcurl realizes that it can use Kerberos, and goes on its
> merry way.
>
> If you don't specify the username in the URL, git notices that
> authentication has failed, and asks the credential store for a username
> and password.  git does not know that a password is not needed, so the
> credential subsystem prompts for one anyway.
>
> I have mod_auth_kerb set up against Apache 2.4.9 at the moment, although
> I've used 2.2 before.  I always use a username in the URL, and if I get
> prompted for the password, I just Ctrl-C out and run kinit before
> pushing again.
>
> I don't have mod_auth_kerb set up to fall back to basic auth, but if you
> do, using a username and password should work properly.  You can use
> set the environment variable GIT_CURL_VERBOSE to 1 to see more
> information about what's actually going over the wire.
>
>> This is a very strange behaviour. It seems to be cause by the way
>> libcurl and git interact and the way the authentication goes
>> (Negociate first, then basic auth). I have tried to use the helper to
>> store invalid authentication information. With not much success.
>
> libcurl will always prefer something (anything) over basic auth, since
> basic auth is completely insecure unless you're using HTTPS.
>
> --
> brian m. carlson / brian with sandals: Houston, Texas, US
> +1 832 623 2791 | http://www.crustytoothpaste.net/~bmc | My opinion only
> OpenPGP: RSA v4 4096b: 88AC E9B2 9196 305B A994 7552 F1BA 225C 0223 B187

-- 


Avis de confidentialité

Les informations contenues dans le présent message et dans toute pièce qui 
lui est jointe sont confidentielles et peuvent être protégées par le secret 
professionnel. Ces informations sont à l’usage exclusif de son ou de ses 
destinataires. Si vous recevez ce message par erreur, veuillez s’il vous 
plait communiquer immédiatement avec l’expéditeur et en détruire tout 
exemplaire. De plus, il vous est strictement interdit de le divulguer, de 
le distribuer ou de le reproduire sans l’autorisation de l’expéditeur. 
Merci.

Confidentiality notice

This e-mail message and any attachment hereto contain confidential 
information which may be privileged and which is intended for the exclusive 
use of its addressee(s). If you receive this message in error, please 
inform sender immediately and destroy any copy thereof. Furthermore, any 
disclosure, distribution or copying of this message and/or any attachment 
hereto without the consent of the sender is strictly prohibited. Thank you.

^ permalink raw reply	[relevance 0%]

* Re: Git + mod_auth_kerb
  2014-07-21 21:06  6% Git + mod_auth_kerb Jean-Francois Bouchard
@ 2014-07-21 23:17  0% ` brian m. carlson
  2014-07-22 16:41  0%   ` Jean-Francois Bouchard
  0 siblings, 1 reply; 10+ results
From: brian m. carlson @ 2014-07-21 23:17 UTC (permalink / raw)
  To: Jean-Francois Bouchard; +Cc: git

[-- Attachment #1: Type: text/plain, Size: 2558 bytes --]

On Mon, Jul 21, 2014 at 05:06:50PM -0400, Jean-Francois Bouchard wrote:
> Hello,
> 
> We are currently working on a single sign on setup for our git install. We are
> using git 2.0.2 (ubuntu) plus apache/2.2.22 mod_auth_kerb on the
> server side. Here some scenario we are trying to accomplish :
> 
> -Without Kerberos ticket stored.
> Git ask for username/password.
> Result = Authentication failed
> 
> -Kerberos ticket in store and BAD password :
> Git ask for username/password.
> Result = Authentication failed
> 
> -Kerberos ticket in Store entering good password :
> Git ask for username/password.
> Result = Authentication failed on some host, other works
> 
> -Kerberos ticket in Store and embedding the username in the URI (aka
> https://username@repo)
> Git don't ask for anything or ask for password
> Result = Works on some host, other request the password. (Will fail if
> the kerberos ticket not in store)

So git uses libcurl with CURLAUTH_ANY.  In order for authentication to
work with libcurl, you have to supply a username.  If you specify it in
the URL, the libcurl realizes that it can use Kerberos, and goes on its
merry way.

If you don't specify the username in the URL, git notices that
authentication has failed, and asks the credential store for a username
and password.  git does not know that a password is not needed, so the
credential subsystem prompts for one anyway.

I have mod_auth_kerb set up against Apache 2.4.9 at the moment, although
I've used 2.2 before.  I always use a username in the URL, and if I get
prompted for the password, I just Ctrl-C out and run kinit before
pushing again.

I don't have mod_auth_kerb set up to fall back to basic auth, but if you
do, using a username and password should work properly.  You can use
set the environment variable GIT_CURL_VERBOSE to 1 to see more
information about what's actually going over the wire.

> This is a very strange behaviour. It seems to be cause by the way
> libcurl and git interact and the way the authentication goes
> (Negociate first, then basic auth). I have tried to use the helper to
> store invalid authentication information. With not much success.

libcurl will always prefer something (anything) over basic auth, since
basic auth is completely insecure unless you're using HTTPS.

-- 
brian m. carlson / brian with sandals: Houston, Texas, US
+1 832 623 2791 | http://www.crustytoothpaste.net/~bmc | My opinion only
OpenPGP: RSA v4 4096b: 88AC E9B2 9196 305B A994 7552 F1BA 225C 0223 B187

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[relevance 0%]

* Git + mod_auth_kerb
@ 2014-07-21 21:06  6% Jean-Francois Bouchard
  2014-07-21 23:17  0% ` brian m. carlson
  0 siblings, 1 reply; 10+ results
From: Jean-Francois Bouchard @ 2014-07-21 21:06 UTC (permalink / raw)
  To: git

Hello,

We are currently working on a single sign on setup for our git install. We are
using git 2.0.2 (ubuntu) plus apache/2.2.22 mod_auth_kerb on the
server side. Here some scenario we are trying to accomplish :

-Without Kerberos ticket stored.
Git ask for username/password.
Result = Authentication failed

-Kerberos ticket in store and BAD password :
Git ask for username/password.
Result = Authentication failed

-Kerberos ticket in Store entering good password :
Git ask for username/password.
Result = Authentication failed on some host, other works

-Kerberos ticket in Store and embedding the username in the URI (aka
https://username@repo)
Git don't ask for anything or ask for password
Result = Works on some host, other request the password. (Will fail if
the kerberos ticket not in store)

This is a very strange behaviour. It seems to be cause by the way
libcurl and git interact and the way the authentication goes
(Negociate first, then basic auth). I have tried to use the helper to
store invalid authentication information. With not much success.



Any idea ?

Thanks,

JF

-- 


Avis de confidentialité

Les informations contenues dans le présent message et dans toute pièce qui 
lui est jointe sont confidentielles et peuvent être protégées par le secret 
professionnel. Ces informations sont à l’usage exclusif de son ou de ses 
destinataires. Si vous recevez ce message par erreur, veuillez s’il vous 
plait communiquer immédiatement avec l’expéditeur et en détruire tout 
exemplaire. De plus, il vous est strictement interdit de le divulguer, de 
le distribuer ou de le reproduire sans l’autorisation de l’expéditeur. 
Merci.

Confidentiality notice

This e-mail message and any attachment hereto contain confidential 
information which may be privileged and which is intended for the exclusive 
use of its addressee(s). If you receive this message in error, please 
inform sender immediately and destroy any copy thereof. Furthermore, any 
disclosure, distribution or copying of this message and/or any attachment 
hereto without the consent of the sender is strictly prohibited. Thank you.

^ permalink raw reply	[relevance 6%]

* Re: What's cooking in git.git (Jul 2014, #03; Wed, 16)
  2014-07-16 22:01  1% What's cooking in git.git (Jul 2014, #03; Wed, 16) Junio C Hamano
@ 2014-07-16 22:36  0% ` Junio C Hamano
  0 siblings, 0 replies; 10+ results
From: Junio C Hamano @ 2014-07-16 22:36 UTC (permalink / raw)
  To: Git Mailing List

On Wed, Jul 16, 2014 at 3:01 PM, Junio C Hamano <gitster@pobox.com> wrote:
> Here are the topics that have been cooking.  Commits prefixed with
> '-' are only in 'pu' (proposed updates) while commits prefixed with
> '+' are in 'next'.
>
> We would need to start slowing down to prepare for -rc0 preview at
> the end of this week and then feature freeze.  Some topics that
> joined 'next' late may want to stay there for the remainder of this
> cycle.  Many of the accumulated fixes have been flushed to 'maint'
> and Git 2.0.2 has been tagged.

Oops; I've been hoping that we will have -rc0 at the end of next week,
not this week.

^ permalink raw reply	[relevance 0%]

* [ANNOUNCE] Git v2.0.2
@ 2014-07-16 22:02  7% Junio C Hamano
  0 siblings, 0 replies; 10+ results
From: Junio C Hamano @ 2014-07-16 22:02 UTC (permalink / raw)
  To: git; +Cc: Linux Kernel

The latest maintenance release Git v2.0.2 is now available at
the usual places.

The tarballs are found at:

    https://www.kernel.org/pub/software/scm/git/

The following public repositories all have a copy of the 'v2.0.2'
tag and the 'maint' branch that the tag points at:

  url = https://kernel.googlesource.com/pub/scm/git/git
  url = git://repo.or.cz/alt-git.git
  url = https://code.google.com/p/git-core/
  url = git://git.sourceforge.jp/gitroot/git-core/git.git
  url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core
  url = https://github.com/gitster/git

Git v2.0.2 Release Notes
========================

 * Documentation for "git submodule sync" forgot to say that the subcommand
   can take the "--recursive" option.

 * Mishandling of patterns in .gitignore that has trailing SPs quoted
   with backslashes (e.g. ones that end with "\ ") have been
   corrected.

 * Recent updates to "git repack" started to duplicate objects that
   are in packfiles marked with .keep flag into the new packfile by
   mistake.

 * "git clone -b brefs/tags/bar" would have mistakenly thought we were
   following a single tag, even though it was a name of the branch,
   because it incorrectly used strstr().

 * "%G" (nothing after G) is an invalid pretty format specifier, but
   the parser did not notice it as garbage.

 * Code to avoid adding the same alternate object store twice was
   subtly broken for a long time, but nobody seems to have noticed.

 * A handful of code paths had to read the commit object more than
   once when showing header fields that are usually not parsed.  The
   internal data structure to keep track of the contents of the commit
   object has been updated to reduce the need for this double-reading,
   and to allow the caller find the length of the object.

 * During "git rebase --merge", a conflicted patch could not be
   skipped with "--skip" if the next one also conflicted.

----------------------------------------------------------------

Changes since v2.0.1 are as follows:

Jeff King (27):
      repack: do not accidentally pack kept objects by default
      repack: respect pack.writebitmaps
      repack: s/write_bitmap/&s/ in code
      commit_tree: take a pointer/len pair rather than a const strbuf
      replace dangerous uses of strbuf_attach
      alloc: include any-object allocations in alloc_report
      commit: push commit_index update into alloc_commit_node
      do not create "struct commit" with xcalloc
      logmsg_reencode: return const buffer
      sequencer: use logmsg_reencode in get_message
      provide a helper to free commit buffer
      provide a helper to set the commit buffer
      provide helpers to access the commit buffer
      use get_cached_commit_buffer where appropriate
      use get_commit_buffer to avoid duplicate code
      convert logmsg_reencode to get_commit_buffer
      use get_commit_buffer everywhere
      commit-slab: provide a static initializer
      commit: convert commit->buffer to a slab
      commit: record buffer length in cache
      reuse cached commit buffer when parsing signatures
      t7510: stop referring to master in later tests
      t7510: test a commit signed by an unknown key
      t7510: check %G* pretty-format output
      pretty: avoid reading past end-of-string with "%G"
      move "%G" format test from t7510 to t6006
      t7300: repair filesystem permissions with test_when_finished

Junio C Hamano (4):
      t0008: do not depend on 'echo' handling backslashes specially
      builtin/clone.c: detect a clone starting at a tag correctly
      Start preparing for 2.0.2
      Git 2.0.2

Matthew Chen (1):
      submodule: document "sync --recursive"

Michael J Gruber (1):
      t7510: use consistent &&-chains in loop

Pasha Bolokhov (1):
      dir.c:trim_trailing_spaces(): fix for " \ " sequence

René Scharfe (2):
      sha1_file: avoid overrunning alternate object base string
      annotate: use argv_array

Ronnie Sahlberg (1):
      enums: remove trailing ',' after last item in enum

brian m. carlson (1):
      rebase--merge: fix --skip with two conflicts in a row

^ permalink raw reply	[relevance 7%]

* What's cooking in git.git (Jul 2014, #03; Wed, 16)
@ 2014-07-16 22:01  1% Junio C Hamano
  2014-07-16 22:36  0% ` Junio C Hamano
  0 siblings, 1 reply; 10+ results
From: Junio C Hamano @ 2014-07-16 22:01 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking.  Commits prefixed with
'-' are only in 'pu' (proposed updates) while commits prefixed with
'+' are in 'next'.

We would need to start slowing down to prepare for -rc0 preview at
the end of this week and then feature freeze.  Some topics that
joined 'next' late may want to stay there for the remainder of this
cycle.  Many of the accumulated fixes have been flushed to 'maint'
and Git 2.0.2 has been tagged.

You can find the changes described here in the integration branches
of the repositories listed at

    http://git-blame.blogspot.com/p/git-public-repositories.html

--------------------------------------------------
[New Topics]

* ek/alt-odb-entry-fix (2014-07-15) 1 commit
 - sha1_file: do not add own object directory as alternate

 Will merge to 'next'.


* jk/rebase-am-fork-point (2014-07-16) 2 commits
 - rebase: omit patch-identical commits with --fork-point
 - rebase--am: use --cherry-pick instead of --ignore-if-in-upstream

 Will merge to 'next'.


* jk/stable-prio-queue (2014-07-15) 4 commits
 - t5539: update a flaky test
 - paint_down_to_common: use prio_queue
 - prio-queue: make output stable with respect to insertion
 - prio-queue: factor out compare and swap operations


* jk/tag-sort (2014-07-13) 2 commits
 - tag: support configuring --sort via .gitconfig
 - tag: fix --sort tests to use cat<<-\EOF format

 v10 ($gmane/253695) needs to be picked up and replace these.


* nd/path-max-must-go (2014-07-14) 3 commits
  (merged to 'next' on 2014-07-15 at ce68dde)
 + prep_exclude: remove the artificial PATH_MAX limit
 + dir.h: move struct exclude declaration to top level
 + dir.c: coding style fix

 Will merge to 'master'.


* sk/mingw-uni-fix (2014-07-15) 3 commits
 - tests: do not pass iso8859-1 encoded parameter
 - Win32: Unicode file name support (dirent)
 - Win32: Unicode file name support (except dirent)

 Will merge to 'next'.


* ta/config-set (2014-07-15) 2 commits
 - test-config: add tests for the config_set API
 - add `config_set` API for caching config-like files

 Still being discussed.


* kb/avoid-fchmod-for-now (2014-07-16) 1 commit
 - config: use chmod() instead of fchmod()

 Replaces the only two uses of fchmod() with chmod() because the
 former does not work on Windows port and because luckily we can.


* rs/ref-transaction-1 (2014-07-16) 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
 - 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
 (this branch is used by rs/ref-transaction; uses rs/ref-transaction-0.)

 The second batch of the transactional ref update series.


* rs/unify-is-branch (2014-07-16) 1 commit
 - refs.c: add a public is_branch function

 Will merge to 'next'.

--------------------------------------------------
[Graduated to "master"]

* ah/fix-http-push (2014-07-13) 1 commit
  (merged to 'next' on 2014-07-14 at 5d06516)
 + http-push.c: make CURLOPT_IOCTLDATA a usable pointer

 An ancient rewrite passed a wrong pointer to a curl library
 function in a rarely used code path.


* cb/filter-branch-prune-empty-degenerate-merges (2014-07-01) 1 commit
  (merged to 'next' on 2014-07-10 at 860cfea)
 + filter-branch: eliminate duplicate mapped parents

 "filter-branch" left an empty single-parent commit that results when
 all parents of a merge commit gets mapped to the same commit, even
 under "--prune-empty".


* cc/replace-edit (2014-06-25) 3 commits
  (merged to 'next' on 2014-07-10 at 097cd5e)
 + replace: use argv_array in export_object
 + avoid double close of descriptors handed to run_command
 + replace: replace spaces with tabs in indentation
 (this branch is used by jk/replace-edit-raw.)

 Teach "git replace" an "--edit" mode.


* ep/submodule-code-cleanup (2014-06-30) 1 commit
  (merged to 'next' on 2014-07-10 at d4de30a)
 + submodule.c: use the ARRAY_SIZE macro


* jk/replace-edit-raw (2014-06-25) 1 commit
  (merged to 'next' on 2014-07-10 at b934bb0)
 + replace: add a --raw mode for --edit
 (this branch uses cc/replace-edit.)

 Teach "git replace --edit" mode a "--raw" option to allow
 editing the bare-metal representation data of objects.


* jk/skip-prefix (2014-07-10) 1 commit
  (merged to 'next' on 2014-07-14 at 0fbd06e)
 + tag: use skip_prefix instead of magic numbers
 (this branch is used by jk/tag-sort.)

 One more to an already graduated topic.


* jk/strip-suffix (2014-06-30) 9 commits
  (merged to 'next' on 2014-07-10 at e6cfa29)
 + prepare_packed_git_one: refactor duplicate-pack check
 + verify-pack: use strbuf_strip_suffix
 + strbuf: implement strbuf_strip_suffix
 + index-pack: use strip_suffix to avoid magic numbers
 + use strip_suffix instead of ends_with in simple cases
 + replace has_extension with ends_with
 + implement ends_with via strip_suffix
 + add strip_suffix function
 + sha1_file: replace PATH_MAX buffer with strbuf in prepare_packed_git_one()


* jl/test-lint-scripts (2014-07-10) 2 commits
  (merged to 'next' on 2014-07-14 at c03721c)
 + t/Makefile: always test all lint targets when running tests
 + t/Makefile: check helper scripts for non-portable shell commands too


* mg/fix-log-mergetag-color (2014-07-10) 1 commit
  (merged to 'next' on 2014-07-14 at e90dba1)
 + log: correctly identify mergetag signature verification status


* mk/merge-incomplete-files (2014-06-30) 2 commits
  (merged to 'next' on 2014-07-10 at d1115f4)
 + git-merge-file: do not add LF at EOF while applying unrelated change
 + t6023-merge-file.sh: fix and mark as broken invalid tests

 Merging changes into a file that ends in an incomplete line made the
 last line into a complete one, even when the other branch did not
 change anything around the end of file.


* nd/split-index (2014-06-13) 32 commits
  (merged to 'next' on 2014-07-08 at 49325ef)
 + t1700: new tests for split-index mode
 + t2104: make sure split index mode is off for the version test
 + read-cache: force split index mode with GIT_TEST_SPLIT_INDEX
 + read-tree: note about dropping split-index mode or index version
 + read-tree: force split-index mode off on --index-output
 + rev-parse: add --shared-index-path to get shared index path
 + update-index --split-index: do not split if $GIT_DIR is read only
 + update-index: new options to enable/disable split index mode
 + split-index: strip pathname of on-disk replaced entries
 + split-index: do not invalidate cache-tree at read time
 + split-index: the reading part
 + split-index: the writing part
 + read-cache: mark updated entries for split index
 + read-cache: save deleted entries in split index
 + read-cache: mark new entries for split index
 + read-cache: split-index mode
 + read-cache: save index SHA-1 after reading
 + entry.c: update cache_changed if refresh_cache is set in checkout_entry()
 + cache-tree: mark istate->cache_changed on prime_cache_tree()
 + cache-tree: mark istate->cache_changed on cache tree update
 + cache-tree: mark istate->cache_changed on cache tree invalidation
 + unpack-trees: be specific what part of the index has changed
 + resolve-undo: be specific what part of the index has changed
 + update-index: be specific what part of the index has changed
 + read-cache: be specific what part of the index has changed
 + read-cache: be strict about "changed" in remove_marked_cache_entries()
 + read-cache: store in-memory flags in the first 12 bits of ce_flags
 + read-cache: relocate and unexport commit_locked_index()
 + read-cache: new API write_locked_index instead of write_index/write_cache
 + sequencer: do not update/refresh index if the lock cannot be held
 + ewah: delete unused ewah_read_mmap_native declaration
 + ewah: fix constness of ewah_read_mmap
 (this branch is used by jc/reopen-lock-file.)

 An experiment to use two files (the base file and incremental
 changes relative to it) to represent the index to reduce I/O cost
 of rewriting a large index when only small part of the working tree
 changes.


* po/error-message-style (2014-07-10) 1 commit
  (merged to 'next' on 2014-07-14 at ed17678)
 + doc: give some guidelines for error messages


* rs/code-cleaning (2014-07-10) 5 commits
  (merged to 'next' on 2014-07-14 at d5a89c8)
 + fsck: simplify fsck_commit_buffer() by using commit_list_count()
 + commit: use commit_list_append() instead of duplicating its code
 + merge: simplify merge_trivial() by using commit_list_append()
 + use strbuf_addch for adding single characters
 + use strbuf_addbuf for adding strbufs


* tb/crlf-tests (2014-07-08) 2 commits
  (merged to 'next' on 2014-07-08 at 40764b7)
 + t0027: combinations of core.autocrlf, core.eol and text
 + t0025: rename the test files


* zk/log-graph-showsig (2014-07-09) 1 commit
  (merged to 'next' on 2014-07-14 at 4429c2e)
 + log: fix indentation for --graph --show-signature

 The "--show-signature" option did not pay much attention to
 "--graph".

--------------------------------------------------
[Stalled]

* jk/tag-contains (2014-06-30) 8 commits
 . perf: add tests for tag --contains
 . tag: use commit_contains
 . commit: provide a fast multi-tip contains function
 . string-list: add pos to iterator callback
 . add functions for memory-efficient bitmaps
 . paint_down_to_common: use prio_queue
 . tag: factor out decision to stream tags
 . tag: allow --sort with -n

 Expecting a reroll.


* ab/add-interactive-show-diff-func-name (2014-05-12) 2 commits
 - SQUASH??? git-add--interactive: Preserve diff heading when splitting hunks
 - git-add--interactive: Preserve diff heading when splitting hunks

 Waiting for a reroll.


* jn/gitweb-utf8-in-links (2014-05-27) 1 commit
 - gitweb: Harden UTF-8 handling in generated links

 $gmane/250758?


* rh/prompt-tests (2014-06-05) 11 commits
 - t9904: new __git_ps1 tests for Zsh
 - test-lib: make it possible to override how test code is eval'd
 - lib-prompt-tests.sh: add variable for string that encodes percent in PS1
 - lib-prompt-tests.sh: put all tests inside a function
 - t9903: move prompt tests to a new lib-prompt-tests.sh file
 - t9903: move PS1 color code variable definitions to lib-bash.sh
 - t9903: include "Bash" in test names via new $shellname var
 - t9903: run pc mode tests again with PS1 expansion disabled
 - t9903: move test name prefix to a separate variable
 - t9903: put the Bash pc mode prompt test cases in a function
 - t9903: remove Zsh test from the suite of Bash prompt tests

 Expecting a reroll to limit the damage to test_eval_; also reported
 to be broken with older zsh that are still in the field ($gmane/251231).


* ss/userdiff-update-csharp-java (2014-06-02) 2 commits
 - userdiff: support Java try keyword
 - userdiff: support C# async methods and correct C# keywords

 Reviews sent; waiting for a response.


* cc/interpret-trailers (2014-05-28) 11 commits
 - Documentation: add documentation for 'git interpret-trailers'
 - trailer: add tests for commands in config file
 - trailer: execute command from 'trailer.<name>.command'
 - trailer: add tests for "git interpret-trailers"
 - trailer: add interpret-trailers command
 - trailer: put all the processing together and print
 - trailer: parse trailers from file or stdin
 - trailer: process command line trailer arguments
 - trailer: read and process config information
 - trailer: process trailers from input message and arguments
 - trailer: add data structures and basic functions

 A new filter to programatically edit the tail end of the commit log
 messages.

 What is the status of this one?  I think I saw reviews by Michael
 but after that I do not recall seeing any updates.


* mh/lockfile (2014-04-15) 25 commits
 . trim_last_path_elm(): replace last_path_elm()
 . resolve_symlink(): take a strbuf parameter
 . resolve_symlink(): use a strbuf for internal scratch space
 . change lock_file::filename into a strbuf
 . commit_lock_file(): use a strbuf to manage temporary space
 . try_merge_strategy(): use a statically-allocated lock_file object
 . try_merge_strategy(): remove redundant lock_file allocation
 . struct lock_file: declare some fields volatile
 . lockfile: avoid transitory invalid states
 . commit_lock_file(): die() if called for unlocked lockfile object
 . commit_lock_file(): inline temporary variable
 . remove_lock_file(): call rollback_lock_file()
 . lock_file(): exit early if lockfile cannot be opened
 . write_packed_entry_fn(): convert cb_data into a (const int *)
 . prepare_index(): declare return value to be (const char *)
 . delete_ref_loose(): don't muck around in the lock_file's filename
 . cache.h: define constants LOCK_SUFFIX and LOCK_SUFFIX_LEN
 . lockfile.c: document the various states of lock_file objects
 . lock_file(): always add lock_file object to lock_file_list
 . hold_lock_file_for_append(): release lock on errors
 . lockfile: unlock file if lockfile permissions cannot be adjusted
 . rollback_lock_file(): set fd to -1
 . rollback_lock_file(): do not clear filename redundantly
 . 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.


* bg/rebase-off-of-previous-branch (2014-04-16) 1 commit
 - git-rebase: print name of rev when using shorthand

 Teach "git rebase -" to report the concrete name of the branch
 (i.e. the previous one).

 But it stops short and does not do the same for "git rebase @{-1}".
 Expecting a reroll.


* tr/merge-recursive-index-only (2014-02-05) 3 commits
 - merge-recursive: -Xindex-only to leave worktree unchanged
 - merge-recursive: internal flag to avoid touching the worktree
 - merge-recursive: remove dead conditional in update_stages()
 (this branch is used by tr/remerge-diff.)


* tr/remerge-diff (2014-02-26) 5 commits
 . log --remerge-diff: show what the conflict resolution changed
 . name-hash: allow dir hashing even when !ignore_case
 . merge-recursive: allow storing conflict hunks in index
 . revision: fold all merge diff variants into an enum merge_diff_mode
 . combine-diff: do not pass revs->dense_combined_merges redundantly
 (this branch uses tr/merge-recursive-index-only.)

 "log -p" output learns a new way to let users inspect a merge
 commit by showing the differences between the automerged result
 with conflicts the person who recorded the merge would have seen
 and the final conflict resolution that was recorded in the merge.

 Needs to be rebased, now kb/fast-hashmap topic is in.


* jk/makefile (2014-02-05) 16 commits
 . FIXUP
 . move LESS/LV pager environment to Makefile
 . Makefile: teach scripts to include make variables
 . FIXUP
 . Makefile: auto-build C strings from make variables
 . Makefile: drop *_SQ variables
 . FIXUP
 . Makefile: add c-quote helper function
 . Makefile: introduce sq function for shell-quoting
 . Makefile: always create files via make-var
 . Makefile: store GIT-* sentinel files in MAKE/
 . Makefile: prefer printf to echo for GIT-*
 . Makefile: use tempfile/mv strategy for GIT-*
 . Makefile: introduce make-var helper function
 . Makefile: fix git-instaweb dependency on gitweb
 . Makefile: drop USE_GETTEXT_SCHEME from GIT-CFLAGS

 Simplify the Makefile rules and macros that exist primarily for
 quoting purposes, and make it easier to robustly express the
 dependency rules.

 Expecting a reroll.


* po/everyday-doc (2014-01-27) 1 commit
 - Make 'git help everyday' work

 This may make the said command to emit something, but the source is
 not meant to be formatted into a manual pages to begin with, and
 also its contents are a bit stale.  It may be a good first step in
 the right direction, but needs more work to at least get the
 mark-up right before public consumption.

 Will hold.


* rb/merge-prepare-commit-msg-hook (2014-01-10) 4 commits
 - merge: drop unused arg from abort_commit method signature
 - merge: make prepare_to_commit responsible for write_merge_state
 - t7505: ensure cleanup after hook blocks merge
 - t7505: add missing &&

 Expose more merge states (e.g. $GIT_DIR/MERGE_MODE) to hooks that
 run during "git merge".  The log message stresses too much on one
 hook, prepare-commit-msg, but it would equally apply to other hooks
 like post-merge, I think.

 Waiting for a reroll.


* jc/graph-post-root-gap (2013-12-30) 3 commits
 - WIP: document what we want at the end
 - graph: remove unused code a bit
 - graph: stuff the current commit into graph->columns[]

 This was primarily a RFH ($gmane/239580).


* tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
 - perf-lib: add test_perf_cleanup target
 - perf-lib: split starting the test from the execution

 Add test_perf_cleanup shell function to the perf suite, that allows
 the script writers to define a test with a clean-up action.

 Will hold.


* jc/show-branch (2014-03-24) 5 commits
 - show-branch: use commit slab to represent bitflags of arbitrary width
 - show-branch.c: remove "all_mask"
 - show-branch.c: abstract out "flags" operation
 - show-branch.c: lift all_mask/all_revs to a global static
 - show-branch.c: update comment style

 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.

--------------------------------------------------
[Cooking]

* jc/reopen-lock-file (2014-07-14) 1 commit
 - lockfile: allow reopening a closed but still locked file

 Needed in the "commit -p" code path to update the cache tree in the
 index.


* jk/alloc-commit-id (2014-07-13) 8 commits
  (merged to 'next' on 2014-07-16 at f14c01a)
 + diff-tree: avoid lookup_unknown_object
 + object_as_type: set commit index
 + alloc: factor out commit index
 + add object_as_type helper for casting objects
 + parse_object_buffer: do not set object type
 + move setting of object->type to alloc_* functions
 + alloc: write out allocator definitions
 + alloc.c: remove the alloc_raw_commit_node() function

 Make sure all in-core commit objects are assigned a unique number
 so that they can be annotated using the commit-slab API.

 Will merge to 'master'.


* jk/remote-curl-squelch-extra-errors (2014-07-10) 3 commits
  (merged to 'next' on 2014-07-14 at a2efa2f)
 + remote-curl: mark helper-protocol errors more clearly
 + remote-curl: use error instead of fprintf(stderr)
 + remote-curl: do not complain on EOF from parent git

 Will merge to 'master'.


* rs/ref-transaction-0 (2014-07-14) 19 commits
  (merged to 'next' on 2014-07-14 at b21bcee)
 + 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
 (this branch is used by rs/ref-transaction and rs/ref-transaction-1.)

 Early part of the "ref transaction" topic.
 Will merge to 'master'.


* nd/multiple-work-trees (2014-07-14) 31 commits
 - 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.

 Will merge to 'next' and cook there for a while.


* ak/profile-feedback-build (2014-07-08) 4 commits
  (merged to 'next' on 2014-07-14 at c40e86e)
 + Fix profile feedback with -jN and add profile-fast
 + Run the perf test suite for profile feedback too
 + Don't define away __attribute__ on gcc
 + Use BASIC_FLAGS for profile feedback

 Will merge to 'master'.


* cc/for-each-mergetag (2014-07-07) 1 commit
  (merged to 'next' on 2014-07-15 at c5dd3ee)
 + commit: add for_each_mergetag()
 (this branch is used by cc/replace-graft.)

 Will merge to 'master'.


* dt/cache-tree-repair (2014-07-14) 4 commits
 - cache-tree: Write updated cache-tree after commit
 - cache-tree: subdirectory tests
 - test-dump-cache-tree: invalid trees are not errors
 - cache-tree: create/update cache-tree on checkout

 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 'next'.


* kb/hashmap-updates (2014-07-07) 4 commits
  (merged to 'next' on 2014-07-15 at 6dd6611)
 + hashmap: add string interning API
 + hashmap: add simplified hashmap_get_from_hash() API
 + hashmap: improve struct hashmap member documentation
 + hashmap: factor out getting a hash code from a SHA1

 Will merge to 'master'.


* cc/replace-graft (2014-07-07) 9 commits
 - replace: add test for --graft with a mergetag
 - replace: check mergetags when using --graft
 - replace: add test for --graft with signed commit
 - replace: remove signature when using --graft
 - contrib: add convert-grafts-to-replace-refs.sh
 - Documentation: replace: add --graft option
 - replace: add test for --graft
 - replace: add --graft option
 - replace: cleanup redirection style in tests
 (this branch uses cc/for-each-mergetag.)

 "git replace" learned a "--graft" option to rewrite parents of a
 commit.


* kb/perf-trace (2014-07-13) 17 commits
  (merged to 'next' on 2014-07-15 at 09ade08)
 + api-trace.txt: add trace API documentation
 + progress: simplify performance measurement by using getnanotime()
 + wt-status: simplify performance measurement by using getnanotime()
 + 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: disable additional trace output for unit tests
 + trace: add infrastructure to augment trace output with additional info
 + sha1_file: change GIT_TRACE_PACK_ACCESS logging to use trace API
 + Documentation/git.txt: improve documentation of 'GIT_TRACE*' variables
 + trace: improve trace performance
 + trace: remove redundant printf format attribute
 + trace: consistently name the format parameter
 + trace: move trace declarations from cache.h to new trace.h

 Will merge to 'master'.


* hv/submodule-config (2014-06-30) 4 commits
 - 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

 Will merge to 'next' and cook there for a while.


* jl/submodule-tests (2014-07-14) 14 commits
  (merged to 'next' on 2014-07-14 at 0c750bb)
 + 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
 + submodules: add the lib-submodule-update.sh test library
 + test-lib: add test_dir_is_empty()

 Will merge to 'master'.


* rs/ref-transaction (2014-07-16) 9 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
 (this branch uses rs/ref-transaction-0 and rs/ref-transaction-1.)


* jc/test-lazy-prereq (2014-06-13) 1 commit
 - tests: drop GIT_*_TIMING_TESTS environment variable support

 Test-script clean-up.

 Will hold.


* 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.

 Will hold.

^ permalink raw reply	[relevance 1%]

Results 1-10 of 10 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2014-07-16 22:01  1% What's cooking in git.git (Jul 2014, #03; Wed, 16) Junio C Hamano
2014-07-16 22:36  0% ` Junio C Hamano
2014-07-16 22:02  7% [ANNOUNCE] Git v2.0.2 Junio C Hamano
2014-07-21 21:06  6% Git + mod_auth_kerb Jean-Francois Bouchard
2014-07-21 23:17  0% ` brian m. carlson
2014-07-22 16:41  0%   ` Jean-Francois Bouchard
2014-07-22 21:44  1% What's cooking in git.git (Jul 2014, #04; Tue, 22) Junio C Hamano
2014-07-27 23:18  1% [ANNOUNCE] Git v2.1.0-rc0 Junio C Hamano
2014-08-18  2:35  6% make profile issue on Git 2.1.0 Andrés Sicard-Ramírez
2014-08-19  6:12  0% ` Jeff King

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).