Version v2.43.0; changes since v2.43.0-rc2:
-------------------------------------------

Alexander Shopov (1):
      l10n: bg.po: Updated Bulgarian translation (5579t)

Arkadii Yakovets (1):
      l10n: update uk localization for v2.43

Bagas Sanjaya (1):
      l10n: po-id for 2.43 (round 1)

Emir SARI (1):
      l10n: tr: v2.43.0

Jean-Noël Avila (1):
      l10n: fr: v2.43.0 rnd 2

Jordi Mas (1):
      l10n: Update Catalan translation

Junio C Hamano (1):
      Git 2.43

Peter Krefting (1):
      l10n: sv.po: Update Swedish translation (5579t)

Ralf Thielow (1):
      l10n: Update German translation

Teng Long (1):
      l10n: zh_CN: for git 2.43.0-rc1

Todd Zullinger (1):
      send-email: remove stray characters from usage

Victoria Dye (1):
      glossary: add definitions for dereference & peel

Yi-Jyun Pan (1):
      l10n: zh-TW: Git 2.43.0-rc1


Version v2.43.0-rc2; changes since v2.43.0-rc1:
-----------------------------------------------

Elijah Newren (1):
      RelNotes: minor wording fixes in 2.43.0 release notes

Junio C Hamano (1):
      Git 2.43-rc2


Version v2.43.0-rc1; changes since v2.43.0-rc0:
-----------------------------------------------

Aditya Neelamraju (1):
      clang-format: fix typo in comment

Andrei Rybak (1):
      SubmittingPatches: call gitk's command "Copy commit reference"

Emily Shaffer (2):
      t0091-bugreport: stop using i18ngrep
      bugreport: reject positional arguments

Jacob Stopak (1):
      Include gettext.h in MyFirstContribution tutorial

Jeff King (1):
      t: avoid perl's pack/unpack "Q" specifier

Johannes Schindelin (2):
      max_tree_depth: lower it for MSVC to avoid stack overflows
      ci: upgrade to using macos-13

Junio C Hamano (6):
      grep: -f <path> is relative to $cwd
      test framework: further deprecate test_i18ngrep
      tests: teach callers of test_i18ngrep to use test_grep
      A bit more before -rc1
      Prepare for -rc1
      Git 2.43-rc1

Karthik Nayak (3):
      revision: rename bit to `do_not_die_on_missing_objects`
      rev-list: move `show_commit()` to the bottom
      rev-list: add commit object support in `--missing` option

Linus Arver (1):
      strvec: drop unnecessary include of hex.h

Martin Ågren (1):
      git-merge-file doc: drop "-file" from argument placeholders

Michael Strawbridge (1):
      send-email: move validation code below process_address_list

Patrick Steinhardt (18):
      commit-graph: introduce envvar to disable commit existence checks
      commit: detect commits that exist in commit-graph but not in the ODB
      builtin/show-ref: convert pattern to a local variable
      builtin/show-ref: split up different subcommands
      builtin/show-ref: fix leaking string buffer
      builtin/show-ref: fix dead code when passing patterns
      builtin/show-ref: refactor `--exclude-existing` options
      builtin/show-ref: stop using global variable to count matches
      builtin/show-ref: stop using global vars for `show_one()`
      builtin/show-ref: refactor options for patterns subcommand
      builtin/show-ref: ensure mutual exclusiveness of subcommands
      builtin/show-ref: explicitly spell out different modes in synopsis
      builtin/show-ref: add new mode to check for reference existence
      t: use git-show-ref(1) to check for ref existence
      test-bloom: stop setting up Git directory twice
      shallow: fix memory leak when registering shallow roots
      setup: refactor `upgrade_repository_format()` to have common exit
      setup: fix leaking repository format

René Scharfe (4):
      parse-options: make CMDMODE errors more precise
      am: simplify --show-current-patch handling
      am, rebase: fix arghelp syntax of --empty
      reflog: fix expire --single-worktree

Robert Coup (1):
      upload-pack: add tracing for fetches

Taylor Blau (4):
      Documentation/gitformat-pack.txt: fix typo
      Documentation/gitformat-pack.txt: fix incorrect MIDX documentation
      list-objects: drop --unpacked non-commit objects from results
      pack-bitmap: drop --unpacked non-commit objects from results

Todd Zullinger (2):
      RelNotes: minor typo fixes in 2.43.0 draft
      RelNotes: improve wording of credential helper notes

brian m. carlson (1):
      merge-file: add an option to process object IDs


Version v2.43.0-rc0; changes since v2.42.1:
-------------------------------------------

Alyssa Ross (1):
      diff: fix --merge-base with annotated tags

Andy Koppe (8):
      pretty-formats: enclose options in angle brackets
      decorate: refactor format_decorations()
      decorate: avoid some unnecessary color overhead
      decorate: color each token separately
      pretty: add %(decorate[:<options>]) format
      pretty: add pointer and tag options to %(decorate)
      decorate: use commit color for HEAD arrow
      pretty: fix ref filtering for %(decorate) formats

Beat Bolli (1):
      unicode: update the width tables to Unicode 15.1

Calvin Wan (4):
      hex-ll: separate out non-hash-algo functions
      wrapper: reduce scope of remove_or_warn()
      config: correct bad boolean env value error message
      parse: separate out parsing functions from config.h

Christian Couder (9):
      pack-objects: allow `--filter` without `--stdout`
      t/helper: add 'find-pack' test-tool
      repack: refactor finishing pack-objects command
      repack: refactor finding pack prefix
      pack-bitmap-write: rebuild using new bitmap when remapping
      repack: add `--filter=<filter-spec>` option
      gc: add `gc.repackFilter` config option
      repack: implement `--filter-to` for storing filtered out objects
      gc: add `gc.repackFilterTo` config option

Derrick Stolee (9):
      maintenance: add get_random_minute()
      maintenance: use random minute in launchctl scheduler
      maintenance: use random minute in Windows scheduler
      maintenance: use random minute in cron scheduler
      maintenance: swap method locations
      maintenance: use random minute in systemd scheduler
      maintenance: fix systemd schedule overlaps
      maintenance: update schedule before config
      mailmap: change primary address for Derrick Stolee

Dorcas AnonoLitunya (1):
      t7601: use "test_path_is_file" etc. instead of "test -f"

Dragan Simic (2):
      diff --stat: add config option to limit filename width
      diff --stat: set the width defaults in a helper function

Drew DeVault (1):
      format-patch: --rfc honors what --subject-prefix sets

Elijah Newren (25):
      documentation: wording improvements
      documentation: fix small error
      documentation: fix typos
      documentation: fix apostrophe usage
      documentation: add missing words
      documentation: remove extraneous words
      documentation: fix subject/verb agreement
      documentation: employ consistent verb tense for a list
      documentation: fix verb tense
      documentation: fix adjective vs. noun
      documentation: fix verb vs. noun
      documentation: fix singular vs. plural
      documentation: whitespace is already generally plural
      documentation: fix choice of article
      documentation: add missing article
      documentation: remove unnecessary hyphens
      documentation: add missing hyphens
      documentation: use clearer prepositions
      documentation: fix punctuation
      documentation: fix capitalization
      documentation: fix whitespace issues
      documentation: add some commas where they are helpful
      documentation: add missing fullstops
      documentation: add missing quotes
      documentation: add missing parenthesis

Eric W. Biederman (1):
      bulk-checkin: only support blobs in index_bulk_checkin

Eric Wong (1):
      treewide: fix various bugs w/ OpenSSL 3+ EVP API

Isoken June Ibizugbe (1):
      builtin/branch.c: adjust error messages to coding guidelines

Jan Alexander Steffens (heftig) (6):
      submodule--helper: use submodule_from_path in set-{url,branch}
      submodule--helper: return error from set-url when modifying failed
      t7419: actually test the branch switching
      t7419, t7420: use test_cmp_config instead of grepping .gitmodules
      t7419: test that we correctly handle renamed submodules
      t7420: test that we correctly handle renamed submodules

Jason Hatton (1):
      Prevent git from rehashing 4GiB files

Javier Mora (2):
      git-status.txt: fix minor asciidoc format issue
      doc/git-bisect: clarify `git bisect run` syntax

Jeff King (96):
      sequencer: use repository parameter in short_commit_name()
      sequencer: mark repository argument as unused
      ref-filter: mark unused parameters in parser callbacks
      pack-bitmap: mark unused parameters in show_object callback
      worktree: mark unused parameters in each_ref_fn callback
      commit-graph: mark unused data parameters in generation callbacks
      ls-tree: mark unused parameter in callback
      stash: mark unused parameter in diff callback
      trace2: mark unused us_elapsed_absolute parameters
      trace2: mark unused config callback parameter
      test-trace2: mark unused argv/argc parameters
      grep: mark unused parameter in output function
      add-interactive: mark unused callback parameters
      negotiator/noop: mark unused callback parameters
      worktree: mark unused parameters in noop repair callback
      imap-send: mark unused parameters with NO_OPENSSL
      grep: mark unused parmaeters in pcre fallbacks
      credential: mark unused parameter in urlmatch callback
      fetch: mark unused parameter in ref_transaction callback
      bundle-uri: mark unused parameters in callbacks
      gc: mark unused descriptors in scheduler callbacks
      update-ref: mark unused parameter in parser callbacks
      merge: make xopts a strvec
      merge: simplify parsing of "-n" option
      format-patch: use OPT_STRING_LIST for to/cc options
      tree-walk: reduce stack size for recursive functions
      tree-walk: drop MAX_TRAVERSE_TREES macro
      tree-walk: rename "error" variable
      fsck: detect very large tree pathnames
      add core.maxTreeDepth config
      traverse_trees(): respect max_allowed_tree_depth
      read_tree(): respect max_allowed_tree_depth
      list-objects: respect max_allowed_tree_depth
      tree-diff: respect max_allowed_tree_depth
      lower core.maxTreeDepth default to 2048
      checkout-index: delay automatic setting of to_tempfile
      parse-options: prefer opt->value to globals in callbacks
      parse-options: mark unused "opt" parameter in callbacks
      merge: do not pass unused opt->value parameter
      parse-options: add more BUG_ON() annotations
      interpret-trailers: mark unused "unset" parameters in option callbacks
      parse-options: mark unused parameters in noop callback
      merge-ort: drop custom err() function
      merge-ort: stop passing "opt" to read_oid_strbuf()
      merge-ort: drop unused parameters from detect_and_process_renames()
      merge-ort: drop unused "opt" parameter from merge_check_renames_reusable()
      merge-ort: lowercase a few error messages
      fsmonitor: prefer repo_git_path() to git_pathdup()
      fsmonitor/win32: drop unused parameters
      fsmonitor: mark some maybe-unused parameters
      fsmonitor/win32: mark unused parameter in fsm_os__incompatible()
      fsmonitor: mark unused parameters in stub functions
      fsmonitor/darwin: mark unused parameters in system callback
      fsmonitor: mark unused hashmap callback parameters
      run-command: mark unused parameters in start_bg_wait callbacks
      commit-graph: factor out chain opening function
      commit-graph: check mixed generation validation when loading chain file
      t5324: harmonize sha1/sha256 graph chain corruption
      commit-graph: detect read errors when verifying graph chain
      commit-graph: tighten chain size check
      commit-graph: report incomplete chains during verification
      t6700: mark test as leak-free
      commit-reach: free temporary list in get_octopus_merge_bases()
      merge: free result of repo_get_merge_bases()
      commit-graph: move slab-clearing to close_commit_graph()
      commit-graph: free all elements of graph chain
      commit-graph: delay base_graph assignment in add_graph_to_chain()
      commit-graph: free graph struct that was not added to chain
      commit-graph: free write-context entries before overwriting
      commit-graph: free write-context base_graph_name during cleanup
      commit-graph: clear oidset after finishing write
      repack: free existing_cruft array after use
      chunk-format: note that pair_chunk() is unsafe
      t: add library for munging chunk-format files
      midx: stop ignoring malformed oid fanout chunk
      commit-graph: check size of oid fanout chunk
      midx: check size of oid lookup chunk
      commit-graph: check consistency of fanout table
      midx: check size of pack names chunk
      midx: enforce chunk alignment on reading
      midx: check size of object offset chunk
      midx: bounds-check large offset chunk
      midx: check size of revindex chunk
      commit-graph: check size of commit data chunk
      commit-graph: detect out-of-bounds extra-edges pointers
      commit-graph: bounds-check base graphs chunk
      commit-graph: check size of generations chunk
      commit-graph: bounds-check generation overflow chunk
      commit-graph: check bounds when accessing BDAT chunk
      commit-graph: check bounds when accessing BIDX chunk
      commit-graph: detect out-of-order BIDX offsets
      chunk-format: drop pair_chunk_unsafe()
      t5319: make corrupted large-offset test more robust
      doc/send-email: mention handling of "reply-to" with --compose
      Revert "send-email: extract email-parsing code into a subroutine"
      send-email: handle to/cc/bcc from --compose message

Johannes Schindelin (5):
      windows: ignore empty `PATH` elements
      is_Cygwin: avoid `exec`ing anything
      Move is_<platform> functions to the beginning
      Move the `_which` function (almost) to the top
      Work around Tcl's default `PATH` lookup

John Cai (3):
      merge-ort: initialize repo in index state
      attr: read attributes from HEAD when bare repo
      attr: add attr.tree for setting the treeish to read attributes from

Josh Soref (1):
      Documentation/git-status: add missing line breaks

Junio C Hamano (37):
      update-index: do not read HEAD and MERGE_HEAD unconditionally
      resolve-undo: allow resurrecting conflicted state that resolved to deletion
      update-index: use unmerge_index_entry() to support removal
      update-index: remove stale fallback code for "--unresolve"
      checkout/restore: refuse unmerging paths unless checking out of the index
      checkout/restore: add basic tests for --merge
      checkout: allow "checkout -m path" to unmerge removed paths
      pretty-formats: define "literal formatting code"
      Start the 2.43 cycle
      The second batch for 2.43
      The extra batch to update credenthal helpers
      The third batch
      The fourth batch
      The fifth batch
      The sixth batch
      The seventh batch
      update-index doc: v4 is OK with JGit and libgit2
      update-index: add --show-index-version
      test-tool: retire "index-version"
      The eighth batch
      The ninth batch
      The tenth batch
      The eleventh batch
      completion: loosen and document the requirement around completing alias
      The twelfth batch
      The thirteenth batch
      The fourteenth batch
      The fifteenth batch
      The sixteenth batch
      merge: introduce {copy|clear}_merge_options()
      stash: be careful what we store
      The seventeenth batch
      The eighteenth batch
      The nineteenth batch
      The twentieth batch
      The twenty-first batch
      The twenty-second batch

Kousik Sanagavarapu (3):
      t/t6300: cleanup test_atom
      t/t6300: introduce test_bad_atom
      ref-filter: add mailmap support

Kristoffer Haugsbakk (2):
      range-diff: treat notes like `log`
      grep: die gracefully when outside repository

Linus Arver (16):
      trailer tests: make test cases self-contained
      trailer test description: this tests --where=after, not --where=before
      trailer: add tests to check defaulting behavior with --no-* flags
      trailer doc: narrow down scope of --where and related flags
      trailer: trailer location is a place, not an action
      trailer --no-divider help: describe usual "---" meaning
      trailer --parse help: expose aliased options
      trailer --only-input: prefer "configuration variables" over "rules"
      trailer --parse docs: add explanation for its usefulness
      trailer --unfold help: prefer "reformat" over "join"
      trailer doc: emphasize the effect of configuration variables
      trailer doc: separator within key suppresses default separator
      trailer doc: <token> is a <key> or <keyAlias>, not both
      trailer: separate public from internal portion of trailer_iterator
      trailer: split process_input_file into separate pieces
      trailer: split process_command_line_args into separate functions

M Hickford (3):
      credential/libsecret: store new attributes
      credential/libsecret: erase matching creds only
      credential/wincred: erase matching creds only

Mark Levedahl (6):
      git gui Makefile - remove Cygwin modifications
      git-gui - remove obsolete Cygwin specific code
      git-gui - use cygstart to browse on Cygwin
      git-gui - use mkshortcut on Cygwin
      git-gui - re-enable use of hook scripts
      git-gui - use git-hook, honor core.hooksPath

Matthew McClain (1):
      git-p4 shouldn't attempt to store symlinks in LFS

Oswald Buddenhagen (10):
      t/lib-rebase: set_fake_editor(): fix recognition of reset's short command
      t/lib-rebase: set_fake_editor(): handle FAKE_LINES more consistently
      sequencer: simplify allocation of result array in todo_list_rearrange_squash()
      t/lib-rebase: improve documentation of set_fake_editor()
      format-patch: add --description-file option
      sequencer: beautify subject of reverts of reverts
      git-revert.txt: add discussion
      rebase: simplify code related to imply_merge()
      rebase: handle --strategy via imply_merge() as well
      rebase: move parse_opt_keep_empty() down

Patrick Steinhardt (1):
      revision: make pseudo-opt flags read via stdin behave consistently

Philippe Blain (2):
      completion: commit: complete configured trailer tokens
      completion: commit: complete trailers tokens more robustly

René Scharfe (9):
      subtree: disallow --no-{help,quiet,debug,branch,message}
      t1502, docs: disallow --no-help
      t1502: move optionspec help output to a file
      t1502: test option negation
      parse-options: show negatability of options in short help
      parse-options: factor out usage_indent() and usage_padding()
      parse-options: no --[no-]no-...
      parse-options: simplify usage_padding()
      parse-options: allow omitting option help text

Rubén Justo (2):
      branch: error message deleting a branch in use
      branch: error message checking out a branch in use

Sergey Organov (3):
      diff-merges: improve --diff-merges documentation
      diff-merges: introduce '--dd' option
      completion: complete '--dd'

Shuqi Liang (3):
      t1092: add tests for 'git check-attr'
      attr.c: read attributes in a sparse directory
      check-attr: integrate with sparse-index

Tang Yuyi (1):
      merge-tree: add -X strategy option

Taylor Blau (17):
      repack: move `pack_geometry` struct to the stack
      builtin/pack-objects.c: remove unnecessary strbuf_reset()
      builtin/pack-objects.c: support `--max-pack-size` with `--cruft`
      Documentation/gitformat-pack.txt: remove multi-cruft packs alternative
      Documentation/gitformat-pack.txt: drop mixed version section
      builtin/repack.c: extract structure to store existing packs
      builtin/repack.c: extract marking packs for deletion
      builtin/repack.c: extract redundant pack cleanup for --geometric
      builtin/repack.c: extract redundant pack cleanup for existing packs
      builtin/repack.c: extract `has_existing_non_kept_packs()`
      builtin/repack.c: store existing cruft packs separately
      builtin/repack.c: avoid directly inspecting "util"
      builtin/repack.c: extract common cruft pack loop
      t7700: split cruft-related tests to t7704
      builtin/repack.c: parse `--max-pack-size` with OPT_MAGNITUDE
      builtin/repack.c: implement support for `--max-cruft-size`
      builtin/repack.c: avoid making cruft packs preferred

Victoria Dye (4):
      ref-cache.c: fix prefix matching in ref iteration
      dir.[ch]: expose 'get_dtype'
      dir.[ch]: add 'follow_symlink' arg to 'get_dtype'
      files-backend.c: avoid stat in 'loose_fill_ref_dir'

Vipul Kumar (1):
      git-gui: Fix a typo in README

brian m. carlson (1):
      t: add a test helper to truncate files

Ævar Arnfjörð Bjarmason (1):
      Makefiles: change search through $(MAKEFLAGS) for GNU make 4.4

Štěpán Němec (5):
      doc: fix some typos, grammar and wording issues
      doc/diff-options: improve wording of the log.diffMerges mention
      git-jump: admit to passing merge mode args to ls-files
      doc/gitk: s/sticked/stuck/
      t/README: fix multi-prerequisite example

谢致邦 (XIE Zhibang) (2):
      doc: correct the 50 characters soft limit
      doc: correct the 50 characters soft limit (+)


Version v2.42.1; changes since v2.42.0:
---------------------------------------

Caleb Hill (1):
      git-clean doc: fix "without do cleaning" typo

Christian Hesse (2):
      t/lib-gpg: forcibly run a trustdb update
      t/t6300: drop magic filtering

Derrick Stolee (4):
      upload-pack: fix race condition in error messages
      scalar: add --[no-]src option
      setup: add discover_git_directory_reason()
      scalar reconfigure: help users remove buggy repos

Evan Gates (1):
      git-config: fix misworded --type=path explanation

Han Young (1):
      show doc: redirect user to git log manual instead of git diff-tree

Jacob Abel (1):
      builtin/worktree.c: fix typo in "forgot fetch" msg

Jeff King (17):
      hashmap: use expected signatures for comparison functions
      diff-files: avoid negative exit value
      diff: show usage for unknown builtin_diff_files() options
      diff: die when failing to read index in git-diff builtin
      diff: drop useless return from run_diff_{files,index} functions
      diff: drop useless return values in git-diff helpers
      diff: drop useless "status" parameter from diff_result_code()
      commit-graph: verify swapped zero/non-zero generation cases
      test-lib: ignore uninteresting LSan output
      ci: allow branch selection through "vars"
      ci: deprecate ci/config/allow-ref script
      http: factor out matching of curl http/2 trace lines
      http: update curl http/2 info matching for curl 8.3.0
      test-lib: set UBSAN_OPTIONS to match ASan
      decorate: add clear_decoration() function
      revision: clear decoration structs during release_revisions()
      daemon: free listen_addr before returning

Johannes Schindelin (12):
      rebase: allow overriding the maximal length of the generated labels
      ci: avoid building from the same commit in parallel
      ci(linux-asan-ubsan): let's save some time
      var: avoid a segmentation fault when `HOME` is unset
      completion(switch/checkout): treat --track and -t the same
      maintenance(systemd): support the Windows Subsystem for Linux
      ci: add a GitHub workflow to submit Coverity scans
      coverity: cache the Coverity Build Tool
      coverity: allow overriding the Coverity project
      coverity: support building on Windows
      coverity: allow running on macOS
      coverity: detect and report when the token or project is incorrect

Josip Sokcevic (1):
      diff-lib: fix check_removed when fsmonitor is on

Junio C Hamano (12):
      mv: fix error for moving directory to another
      diff: move the fallback "--exit-code" code down
      diff: mode-only change should be noticed by "--patch -w --exit-code"
      diff: teach "--stat -w --exit-code" to notice differences
      t4040: remove test that succeeded for a wrong reason
      diff: spell DIFF_INDEX_CACHED out when calling run_diff_index()
      diff: the -w option breaks --exit-code for --raw and other output modes
      transfer.unpackLimit: fetch/receive.unpackLimit takes precedence
      doc: update list archive reference to use lore.kernel.org
      commit: do not use cryptic "new_index" in end-user facing messages
      am: align placeholder for --whitespace option with apply
      Git 2.42.1

Kousik Sanagavarapu (1):
      ref-filter: sort numerically when ":size" is used

Mark Ruvald Pedersen (1):
      sequencer: truncate labels to accommodate loose refs

Michal Suchanek (1):
      git-push doc: more visibility for -q option

Naomi Ibe (1):
      builtin/add.c: clean up die() messages

Oswald Buddenhagen (6):
      t9001: fix indentation in test_no_confirm()
      sequencer: rectify empty hint in call of require_clean_work_tree()
      sequencer: fix error message on failure to copy SQUASH_MSG
      t3404-rebase-interactive.sh: fix typos in title of a rewording test
      sequencer: remove unreachable exit condition in pick_commits()
      am: fix error message in parse_opt_show_current_patch()

Patrick Steinhardt (4):
      upload-pack: fix exit code when denying fetch of unreachable object ID
      doc/git-worktree: mention "refs/rewritten" as per-worktree refs
      doc/git-repack: fix syntax for `-g` shorthand option
      doc/git-repack: don't mention nonexistent "--unpacked" option

Philippe Blain (1):
      completion: improve doc for complex aliases

Phillip Wood (7):
      rebase -i: move unlink() calls
      rebase -i: remove patch file after conflict resolution
      sequencer: use rebase_path_message()
      sequencer: factor out part of pick_commits()
      rebase: fix rewritten list for failed pick
      rebase --continue: refuse to commit after failed command
      rebase -i: fix adding failed command to the todo list

René Scharfe (5):
      name-rev: use OPT_HIDDEN_BOOL for --peel-tag
      grep: use OPT_INTEGER_F for --max-depth
      grep: reject --no-or
      diff --no-index: fix -R with stdin
      parse-options: drop unused parse_opt_ctx_t member

Sergey Organov (1):
      doc/diff-options: fix link to generating patch section

Taylor Blau (7):
      commit-graph: introduce `commit_graph_generation_from_graph()`
      t/t5318-commit-graph.sh: test generation zero transitions during fsck
      commit-graph: avoid repeated mixed generation number warnings
      leak tests: mark a handful of tests as leak-free
      leak tests: mark t3321-notes-stripspace.sh as leak-free
      leak tests: mark t5583-push-branches.sh as leak-free
      git-send-email.perl: avoid printing undef when validating addresses

Wesley Schwengle (2):
      git-push.txt: fix grammar
      git-svn: drop FakeTerm hack

Štěpán Němec (1):
      doc/cat-file: make synopsis and description less confusing

王常新 (1):
      merge-ort.c: fix typo 'neeed' to 'needed'


Version v2.42.0; changes since v2.42.0-rc2:
-------------------------------------------

Arkadii Yakovets (1):
      l10n: uk: update translation (2.42.0)

Bagas Sanjaya (1):
      l10n: po-id for 2.42 (round 1)

Dimitriy Ryazantcev (1):
      l10n: ru.po: update Russian translation

Emir SARI (1):
      l10n: tr: git 2.42.0

Jean-Noël Avila (2):
      l10n: fr v2.42.0 rnd 1
      l10n: fr v2.42.0 rnd 2

Jeff King (1):
      fsck: use enum object_type for fsck_walk callback

Jordi Mas (1):
      l10n: Update Catalan translation

Junio C Hamano (1):
      Git 2.42

Martin Ågren (4):
      notes doc: split up run-on sentences
      notes doc: tidy up `--no-stripspace` paragraph
      show-ref doc: fix carets in monospace
      rev-list-options: fix typo in `--stdin` documentation

Peter Krefting (1):
      l10n: sv.po: Update Swedish translation 5549t0f0u

Ralf Thielow (1):
      l10n: Update German translation

Teng Long (2):
      l10n: zh_CN: v2.42.0 round 1
      l10n: zh_CN: 2.42.0 round 2

Yi-Jyun Pan (1):
      l10n: zh_TW.po: Git 2.42


Version v2.42.0-rc2; changes since v2.42.0-rc1:
-----------------------------------------------

Jeff King (4):
      send-email: drop FakeTerm hack
      send-email: avoid creating more than one Term::ReadLine object
      repack: free geometry struct
      t4053: avoid writing to unopened pipe

Johannes Schindelin (3):
      t0040: declare non-tab indentation to be okay in this script
      win32: add a helper to run `git.exe` without a foreground window
      git maintenance: avoid console window in scheduled tasks on Windows

Junio C Hamano (1):
      Git 2.42-rc2

Oswald Buddenhagen (2):
      advice: handle "rebase" in error_resolve_conflict()
      t9001: remove excessive GIT_SEND_EMAIL_NOTTY=1

Phillip Wood (1):
      t4053: avoid race when killing background processes

René Scharfe (1):
      parse-options: disallow negating OPTION_SET_INT 0

Sebastian Thiel (1):
      mv: handle lstat() failure correctly


Version v2.42.0-rc1; changes since v2.42.0-rc0:
-----------------------------------------------

Adam Majer (1):
      doc: sha256 is no longer experimental

Eric Wong (5):
      sha256/gcrypt: fix build with SANITIZE=leak
      sha256/gcrypt: fix memory leak with SHA-256 repos
      sha256/gcrypt: die on gcry_md_open failures
      sha256: avoid functions deprecated in OpenSSL 3+
      avoid SHA-1 functions deprecated in OpenSSL 3+

Glen Choo (1):
      mailmap: change primary address for Glen Choo

Junio C Hamano (2):
      A few more topics before -rc1
      Git 2.42-rc1

Matthias Aßhauer (3):
      run-command: conditionally define locate_in_PATH()
      compat/mingw: implement a native locate_in_PATH()
      docs: update when `git bisect visualize` uses `gitk`

Phillip Wood (1):
      rebase --skip: fix commit message clean up when skipping squash

René Scharfe (1):
      bundle: use OPT_PASSTHRU_ARGV

Taylor Blau (5):
      t/lib-commit-graph.sh: allow `graph_read_expect()` in sub-directories
      t/lib-commit-graph.sh: avoid directory change in `graph_git_behavior()`
      t5318: avoid top-level directory changes
      t5328: avoid top-level directory changes
      t/lib-commit-graph.sh: avoid sub-shell in `graph_git_behavior()`

brian m. carlson (2):
      ident: don't consider '.' a crud
      gitignore: ignore clangd .cache directory


Version v2.42.0-rc0; changes since v2.41.0:
-------------------------------------------

Alejandro R. Sedeño (1):
      statinfo.h: move DTYPE defines from dir.h

Alex Henrie (4):
      wt-status: don't show divergence advice when committing
      remote: don't imply that integration is always required before pushing
      push: don't imply that integration is always required before pushing
      sequencer: finish parsing the todo list despite an invalid first line

Andreas Herrmann (3):
      configure.ac: don't overwrite NO_EXPAT option
      configure.ac: don't overwrite NO_CURL option
      configure.ac: always save NO_ICONV to config.status

Beat Bolli (2):
      trace2: fix a comment
      wrapper: use trace2 counters to collect fsync stats

Calvin Wan (13):
      strbuf: clarify API boundary
      strbuf: clarify dependency
      abspath: move related functions to abspath
      credential-store: move related functions to credential-store file
      object-name: move related functions to object-name
      path: move related function to path
      strbuf: remove global variable
      git-compat-util: move strbuf.c funcs to its header
      git-compat-util: move wrapper.c funcs to its header
      sane-ctype.h: create header for sane-ctype macros
      kwset: move translation table from ctype
      treewide: remove unnecessary includes for wrapper.h
      git-compat-util: move alloc macros to git-compat-util.h

D. Ben Knoble (2):
      i18n: mark more bundle.c strings for translation
      t4002: fix "diff can read from stdin" syntax

Derrick Stolee (7):
      add: check color.ui for interactive add
      add: test use of brackets when color is disabled
      repository: create disable_replace_refs()
      replace-objects: create wrapper around setting
      repository: create read_replace_refs setting
      packfile: delete .idx files before .pack files
      builtin/repack.c: only repack `.pack`s that exist

Elijah Newren (28):
      init-db: document existing bug with core.bare in template config
      init-db: remove unnecessary global variable
      init-db, clone: change unnecessary global into passed parameter
      setup: adopt shared init-db & clone code
      read-cache: move shared commit and ls-files code
      add: modify add_files_to_cache() to avoid globals
      read-cache: move shared add/checkout/commit code
      statinfo: move stat_{data,validity} functions from cache/read-cache
      run-command.h: move declarations for run-command.c from cache.h
      name-hash.h: move declarations for name-hash.c from cache.h
      sparse-index.h: move declarations for sparse-index.c from cache.h
      preload-index.h: move declarations for preload-index.c from elsewhere
      diff.h: move declaration for global in diff.c from cache.h
      merge.h: move declarations for merge.c from cache.h
      repository.h: move declaration of the_index from cache.h
      read-cache*.h: move declarations for read-cache.c functions from cache.h
      cache.h: remove this no-longer-used header
      log-tree: replace include of revision.h with simple forward declaration
      repository: remove unnecessary include of path.h
      diff.h: remove unnecessary include of oidset.h
      list-objects-filter-options.h: remove unneccessary include
      builtin.h: remove unneccessary includes
      git-compat-util.h: remove unneccessary include of wildmatch.h
      merge-ll: rename from ll-merge
      khash: name the structs that khash declares
      object-store-ll.h: split this header out of object-store.h
      hash-ll, hashmap: move oidhash() to hash-ll
      fsmonitor-ll.h: split this header out of fsmonitor.h

Eric Sunshine (1):
      fsck: avoid misleading variable name

Glen Choo (15):
      cocci: add headings to and reword README
      cocci: codify authoring and reviewing practices
      setup.c: don't setup in discover_git_directory()
      config: don't BUG when both kvi and source are set
      config: inline git_color_default_config
      urlmatch.h: use config_fn_t type
      config: add ctx arg to config_fn_t
      config.c: pass ctx in configsets
      config: pass ctx with config files
      config.c: pass ctx with CLI config
      trace2: plumb config kvi
      config: pass kvi to die_bad_number()
      config.c: remove config_reader from configsets
      config: add kvi.path, use it to evaluate includes
      config: pass source to config_parser_event_fn_t

Han Young (1):
      blame: allow --contents to work with bare repo

Jacob Abel (11):
      worktree add: include -B in usage docs
      t2400: cleanup created worktree in test
      t2400: refactor "worktree add" opt exclusion tests
      t2400: add tests to verify --quiet
      worktree add: add --orphan flag
      worktree add: introduce "try --orphan" hint
      worktree add: extend DWIM to infer --orphan
      worktree add: emit warn when there is a bad HEAD
      t2400: drop no-op `--sq` from rev-parse call
      builtin/worktree.c: convert tab in advice to space
      t2400: rewrite regex to avoid unintentional PCRE

Jacob Keller (1):
      fix cherry-pick/revert status when doing multiple commits

Jan Klötzke (1):
      ref-filter: handle nested tags in --points-at option

Jeff King (36):
      format-patch: free rev.message_id when exiting
      format-patch: free elements of rev.ref_message_ids list
      pathspec: factor out magic-to-name function
      diff: factor out --follow pathspec check
      diff: detect pathspec magic not supported by --follow
      ci: use clang for ASan/UBSan checks
      ci: run ASan/UBSan in a single job
      ci: drop linux-clang job
      commit: pass --no-divider to interpret-trailers
      http: handle both "h2" and "h2h3" in curl info lines
      var: mark unused parameters in git_var callbacks
      imap-send: use server conf argument in setup_curl()
      imap-send: drop unused parameter from imap_cmd_cb callback
      imap-send: drop unused fields from imap_cmd_cb
      refs.c: rename `ref_filter`
      ref-filter.h: provide `REF_FILTER_INIT`
      ref-filter: clear reachable list pointers after freeing
      ref-filter: add `ref_filter_clear()`
      ref-filter.c: parameterize match functions over patterns
      test-ref-store: drop unimplemented reflog-expire command
      do_for_each_ref_helper(): mark unused repository parameter
      http: mark unused parameters in curl callbacks
      http-push: mark unused parameter in xml callback
      am: mark unused keep_cr parameters
      count-objects: mark unused parameter in alternates callback
      revisions: drop unused "opt" parameter in "tweak" callbacks
      fsck: mark unused parameters in various fsck callbacks
      merge-tree: mark unused parameter in traverse callback
      replace: mark unused parameter in ref callback
      replace: mark unused parameter in each_mergetag_fn callback
      rev-parse: mark unused parameter in for_each_abbrev callback
      tag: mark unused parameters in each_tag_name_fn callbacks
      t/helper: mark unused callback void data parameters
      ref-filter: avoid parsing tagged objects in match_points_at()
      ref-filter: avoid parsing non-tags in match_points_at()
      ref-filter: simplify return type of match_points_at

Johan Ruokangas (1):
      gitignore.txt: use backticks instead of double quotes

Johannes Schindelin (3):
      do_read_index(): always mark index as initialized unless erroring out
      split-index: accept that a base index can be empty
      commit -a -m: allow the top-level tree to become empty again

John Cai (34):
      docs: clarify git-pack-refs --all will pack all refs
      pack-refs: teach --exclude option to exclude refs from being packed
      pack-refs: teach pack-refs --include option
      t0000-basic: modernize test format
      t0030-stripspace: modernize test format
      t3210-pack-refs: modernize test format
      t1001-read-tree-m-2way: modernize test format
      t1002-read-tree-m-u-2way: modernize test format
      t1006-cat-file: modernize test format
      t3500-cherry: modernize test format
      t3700-add: modernize test format
      t3903-stash: modernize test format
      t4002-diff-basic: modernize test format
      t4003-diff-rename-1: modernize test format
      t4004-diff-rename-symlink: modernize test format
      t4202-log: modernize test format
      t4206-log-follow-harder-copies: modernize test format
      t5300-pack-object: modernize test format
      t5301-sliding-window: modernize test format
      t5303-pack-corruption-resilience: modernize test format
      t5306-pack-nobase: modernize test format
      t6050-replace: modernize test format
      t7101-reset-empty-subdirs: modernize test format
      t7110-reset-merge: modernize test format
      t7111-reset-table: modernize test format
      t7201-co: modernize test format
      t7508-status: modernize test format
      t7600-merge: modernize test format
      t7700-repack: modernize test format
      t9100-git-svn-basic: modernize test format
      t9104-git-svn-follow-parent: modernize test format
      t9200-git-cvsexportcommit: modernize test format
      t9400-git-cvsserver-server: modernize test format
      docs: add git hash-object -t option's possible values

Jonathan Tan (1):
      CodingGuidelines: use octal escapes, not hex

Josip Sokcevic (1):
      diff-lib: honor override_submodule_config flag bit

Junio C Hamano (44):
      diff: fix interaction between the "-s" option and other options
      show-branch doc: say <ref>, not <reference>
      Start the 2.42 cycle
      The second batch for 2.42
      The third batch
      ll-merge: killing the external merge driver aborts the merge
      The fourth batch
      t6406: skip "external merge driver getting killed by a signal" test on Windows
      The fifth batch
      The sixth batch
      The seventh batch
      The eighth batch
      t6135: attr magic with path pattern
      tree-walk: lose base_offset that is never used in tree_entry_interesting
      tree-walk: drop unused base_offset from do_match()
      The ninth batch
      dir: match "attr" pathspec magic with correct paths
      The tenth batch
      The eleventh batch
      The twelfth batch
      gitignore.txt: mark up explanation of patterns consistently
      am: simplify parsing of "--[no-]keep-cr"
      branch: reject "--no-all" and "--no-remotes" early
      parse-options: introduce OPT_IPVERSION()
      fetch: reject --no-ipv[46]
      show-branch: --no-sparse should give dense output
      short help: allow multi-line opthelp
      remote: simplify "remote add --tags" help text
      short help: allow a gap smaller than USAGE_GAP
      show-branch: reject --[no-](topo|date)-order
      reset: reject --no-(mixed|soft|hard|merge|keep) option
      The thirteenth batch
      branch: update the message to refuse touching a branch in-use
      hex: retire get_sha1_hex()
      The fourteenth batch
      SubmittingPatches: choice of base for fixing an older maintenance track
      The fifteenth batch
      SubmittingPatches: explain why 'next' and above are inappropriate base
      SubmittingPatches: use of older maintenance tracks is an exception
      The sixteenth batch
      MyFirstContribution: refrain from self-iterating too much
      The seventeenth batch
      The eighteenth batch
      Git 2.42-rc0

Kousik Sanagavarapu (5):
      t/lib-gpg: introduce new prereq GPG2
      ref-filter: add new "signature" atom
      t4205: correctly test %(describe:abbrev=...)
      ref-filter: add multiple-option parsing functions
      ref-filter: add new "describe" atom

Kristoffer Haugsbakk (5):
      doc: tag: document `TAG_EDITMSG`
      t/t7004-tag: add regression test for successful tag creation
      tag: keep the message file in case ref transaction fails
      notes: update documentation for `use_default_notes`
      notes: move the documentation to the struct

Linus Arver (15):
      docs: typofixes
      doc: trailer: fix grammar
      doc: trailer: swap verb order
      doc: trailer: drop "commit message part" phrasing
      doc: trailer: examples: avoid the word "message" by itself
      doc: trailer: remove redundant phrasing
      doc: trailer: use angle brackets for <token> and <value>
      doc: trailer.<token>.command: emphasize deprecation
      doc: trailer: mention 'key' in DESCRIPTION
      doc: trailer: add more examples in DESCRIPTION
      SubmittingPatches: reword awkward phrasing
      SubmittingPatches: discuss subsystems separately from git.git
      SubmittingPatches: de-emphasize branches as starting points
      SubmittingPatches: emphasize need to communicate non-default starting points
      SubmittingPatches: simplify guidance for choosing a starting point

M Hickford (3):
      credential: avoid erasing distinct password
      credential: erase all matching credentials
      doc: gitcredentials: link to helper list

Martin Ågren (1):
      t0091-bugreport.sh: actually verify some content of report

Mike Hommey (2):
      commit-reach: fix memory leak in get_reachable_subset()
      mingw: use lowercase includes for some Windows headers

Patrick Steinhardt (17):
      fetch: drop unused DISPLAY_FORMAT_UNKNOWN enum value
      fetch: drop unneeded NULL-check for `remote_ref`
      fetch: pass through `fetch_config` directly
      fetch: use `fetch_config` to store "fetch.prune" value
      fetch: use `fetch_config` to store "fetch.pruneTags" value
      fetch: use `fetch_config` to store "fetch.showForcedUpdates" value
      fetch: use `fetch_config` to store "fetch.recurseSubmodules" value
      fetch: use `fetch_config` to store "fetch.parallel" value
      fetch: use `fetch_config` to store "submodule.fetchJobs" value
      t1006: don't strip timestamps from expected results
      t1006: modernize test style to use `test_cmp`
      strbuf: provide CRLF-aware helper to read until a specified delimiter
      cat-file: simplify reading from standard input
      cat-file: add option '-Z' that delimits input and output with NUL
      revision: reorder `read_revisions_from_stdin()`
      revision: small readability improvement for reading from stdin
      revision: handle pseudo-opts in `--stdin` mode

Petar Vutov (1):
      doc: highlight that .gitmodules does not support !command

Philippe Blain (30):
      revisions.txt: use description list for special refs
      revisions.txt: document more special refs
      completion: complete REVERT_HEAD and BISECT_HEAD
      git-merge.txt: modernize word choice in "True merge" section
      Documentation: document AUTO_MERGE
      completion: complete AUTO_MERGE
      completion: add comments describing __git_diff_* globals
      completion: complete --break-rewrites
      completion: complete --cc
      completion: complete --combined-all-paths
      completion: complete --compact-summary
      completion: complete --default-prefix
      completion: complete --find-copies
      completion: complete --find-object
      completion: complete --find-renames
      completion: complete --function-context
      completion: complete --ignore-matching-lines
      completion: complete --irreversible-delete
      completion: complete --ita-invisible-in-index and --ita-visible-in-index
      completion: complete --line-prefix
      completion: complete --no-relative
      completion: complete --no-stat
      completion: complete --output
      completion: complete --output-indicator-{context,new,old}
      completion: complete --unified
      completion: complete --ws-error-highlight
      completion: move --pickaxe-{all,regex} to __git_diff_common_options
      completion: complete --diff-merges, its options and --no-diff-merges
      completion: complete --remerge-diff
      diff.c: mention completion above add_diff_options

Phillip Wood (5):
      apply: improve error messages when reading patch
      diff --no-index: refuse to compare stdin to a directory
      diff --no-index: die on error reading stdin
      t4054: test diff --no-index with stdin
      diff --no-index: support reading from named pipes

René Scharfe (18):
      t1800: loosen matching of error message for bad shebang
      run-command: report exec error even on ENOENT
      ls-tree: fix documentation of %x format placeholder
      pretty: factor out expand_separator()
      strbuf: factor out strbuf_expand_step()
      replace strbuf_expand_dict_cb() with strbuf_expand_step()
      replace strbuf_expand() with strbuf_expand_step()
      strbuf: simplify strbuf_expand_literal_cb()
      ls-tree: simplify prefix handling
      pretty: avoid double negative in format_commit_item()
      pkt-line: add size parameter to packet_length()
      pretty: use strchr(3) in userformat_find_requirements()
      t6300: fix setup with GPGSSH but without GPG
      strbuf: use skip_prefix() in strbuf_addftime()
      ls-tree: fix --no-full-name
      describe: fix --no-exact-match
      pack-objects: fix --no-keep-true-parents
      pack-objects: fix --no-quiet

Rubén Justo (11):
      config: fix a leak in git_config_copy_or_rename_section_in_file
      remote: fix a leak in query_matches_negative_refspec
      branch: fix a leak in dwim_and_setup_tracking
      branch: fix a leak in inherit_tracking
      branch: fix a leak in check_tracking_branch
      branch: fix a leak in setup_tracking
      rev-parse: fix a leak with --abbrev-ref
      branch: fix a leak in setup_tracking
      branch: fix a leak in cmd_branch
      config: fix a leak in git_config_copy_or_rename_section_in_file
      tests: mark as passing with SANITIZE=leak

Sean Allred (5):
      show-ref doc: update for internal consistency
      ls-remote doc: remove redundant --tags example
      ls-remote doc: show peeled tags in examples
      ls-remote doc: explain what each example does
      ls-remote doc: document the output format

Shuqi Liang (2):
      diff-tree: integrate with sparse index
      worktree: integrate with sparse-index

Taylor Blau (48):
      object: add object_array initializer helper function
      pack-bitmap.c: extract `fill_in_bitmap()`
      pack-bitmap.c: use commit boundary during bitmap traversal
      builtin/submodule--helper.c: handle missing submodule URLs
      builtin/repack.c: only collect fully-formed packs
      reachable.c: extract `obj_is_recent()`
      gc: introduce `gc.recentObjectsHook`
      pack-bitmap.c: gracefully degrade on failure to load MIDX'd pack
      t7701: make annotated tag unreachable
      fsck: suppress commit-graph output with `--no-progress`
      fsck: suppress MIDX output with `--no-progress`
      commit-graph.c: extract `verify_one_commit_graph()`
      commit-graph.c: iteratively verify commit-graph chains
      commit-graph.c: pass progress to `verify_one_commit_graph()`
      commit-graph.c: avoid duplicated progress output during `verify`
      builtin/for-each-ref.c: add `--exclude` option
      refs: plumb `exclude_patterns` argument throughout
      refs/packed-backend.c: refactor `find_reference_location()`
      refs/packed-backend.c: implement jump lists to avoid excluded pattern(s)
      refs/packed-backend.c: add trace2 counters for jump list
      revision.h: store hidden refs in a `strvec`
      refs.h: let `for_each_namespaced_ref()` take excluded patterns
      refs.h: implement `hidden_refs_to_excludes()`
      builtin/receive-pack.c: avoid enumerating hidden references
      upload-pack.c: avoid enumerating hidden refs where possible
      ls-refs.c: avoid enumerating hidden refs where possible
      builtin/repack.c: avoid dir traversal in `collect_pack_filenames()`
      packfile.c: prevent overflow in `nth_packed_object_id()`
      packfile.c: prevent overflow in `load_idx()`
      packfile.c: use checked arithmetic in `nth_packed_object_offset()`
      midx.c: use `size_t`'s for fanout nr and alloc
      midx.c: prevent overflow in `nth_midxed_object_oid()`
      midx.c: prevent overflow in `nth_midxed_offset()`
      midx.c: store `nr`, `alloc` variables as `size_t`'s
      midx.c: prevent overflow in `write_midx_internal()`
      midx.c: prevent overflow in `fill_included_packs_batch()`
      pack-bitmap.c: ensure that eindex lookups don't overflow
      commit-graph.c: prevent overflow in `write_commit_graph_file()`
      commit-graph.c: prevent overflow in add_graph_to_chain()
      commit-graph.c: prevent overflow in `load_oid_from_graph()`
      commit-graph.c: prevent overflow in `fill_commit_graph_info()`
      commit-graph.c: prevent overflow in `fill_commit_in_graph()`
      commit-graph.c: prevent overflow in `load_tree_for_commit()`
      commit-graph.c: prevent overflow in `split_graph_merge_strategy()`
      commit-graph.c: prevent overflow in `merge_commit_graph()`
      commit-graph.c: prevent overflow in `write_commit_graph()`
      commit-graph.c: prevent overflow in `verify_commit_graph()`
      Documentation/RelNotes/2.42.0.txt: typofix

Teng Long (8):
      surround %s with quotes when failed to lookup commit
      notes.c: cleanup 'strbuf_grow' call in 'append_edit'
      notes.c: use designated initializers for clarity
      t3321: add test cases about the notes stripspace behavior
      notes.c: introduce '--separator=<paragraph-break>' option
      notes.c: append separator instead of insert by pos
      notes.c: introduce "--[no-]stripspace" option
      notes: introduce "--no-separator" option

Todd Zullinger (3):
      trace2 tests: fix PTHREADS prereq
      t/lib-gpg: fix ssh-keygen -Y check-novalidate with openssh-9.0
      t/lib-gpg: require GPGSSH for GPGSSH_VERIFYTIME prereq

Victoria Dye (3):
      config: use gitdir to get worktree config
      config: pass 'repo' directly to 'config_with_options()'
      repository: move 'repository_format_worktree_config' to repo scope

Vinayak Dev (1):
      docs: add necessary headers to Documentation/MFOW.txt

ZheNing Hu (1):
      ls-files: align format atoms with ls-tree

brian m. carlson (7):
      t: add a function to check executable bit
      var: add support for listing the shell
      var: format variable structure with C99 initializers
      var: adjust memory allocation for strings
      attr: expose and rename accessor functions
      var: add attributes files locations
      var: add config file locations


Version v2.41.0; changes since v2.41.0-rc2:
-------------------------------------------

Alexander Shopov (1):
      l10n: bg.po: Updated Bulgarian translation (5515t)

Arkadii Yakovets (3):
      l10n: uk: add initial translation
      l10n: uk: remove stale lines
      l10n: update uk localization

Bagas Sanjaya (1):
      l10n: po-id for 2.41 (round 1)

Benjamin Jorand (1):
      l10n: fr: fix translation of stash save help

Daniel Santos (1):
      l10n: TEAMS: Update pt_PT repo link

Emir SARI (1):
      l10n: tr: Update Turkish translations for 2.41.0

Jean-Noël Avila (2):
      l10n: fr.po v2.41.0 rnd1
      l10n: fr.po v2.41.0 rnd2

Jordi Mas (2):
      l10n: Update Catalan translation
      l10n: Update Catalan translation

Junio C Hamano (1):
      Git 2.41

Peter Krefting (1):
      l10n: sv.po: Update Swedish translation (5515t0f0u)

Ralf Thielow (1):
      l10n: Update German translation

Teng Long (1):
      l10n: zh_CN: Git 2.41.0 round #1

Yi-Jyun Pan (1):
      l10n: zh_TW.po: Git 2.41.0


Version v2.41.0-rc2; changes since v2.41.0-rc1:
-----------------------------------------------

Corentin Garcia (1):
      doc/git-config: add unit for http.lowSpeedLimit

Johannes Schindelin (2):
      rebase --update-refs: fix loops
      rebase -r: fix the total number shown in the progress

Junio C Hamano (5):
      tests: do not negate test_path_exists
      t2021: do not negate test_path_is_dir
      test: do not negate test_path_is_* to assert absense
      A few more topics after 2.41-rc1
      Git 2.41-rc2

Shuqi Liang (1):
      t1092: update a write-tree test


Version v2.41.0-rc1; changes since v2.41.0-rc0:
-----------------------------------------------

Christian Hesse (1):
      imap-send: include strbuf.h

Jeff King (1):
      t/lib-httpd: make CGIPassAuth support conditional

John Cai (1):
      attr: teach "--attr-source=<tree>" global option to "git"

Junio C Hamano (4):
      A bit more before -rc1
      send-email: clear the $message_id after validation
      t9001: mark the script as no longer leak checker clean
      Git 2.41-rc1

Taylor Blau (1):
      run-command.c: fix missing include under `NO_PTHREADS`

brian m. carlson (1):
      upload-pack: advertise capabilities when cloning empty repos


Version v2.41.0-rc0; changes since v2.40.1:
-------------------------------------------

Adam Johnson (1):
      ls-files: fix "--format" output of relative paths

Alex Henrie (5):
      rebase: add documentation and test for --no-rebase-merges
      rebase: deprecate --rebase-merges=""
      rebase: add a config option for --rebase-merges
      format-patch: correct documentation of --thread without an argument
      docs: rewrite the documentation of the text and eol attributes

Andreas Schwab (1):
      git-merge-tree.txt: replace spurious HTML entity

Andrei Rybak (19):
      t1005: assert output of ls-files
      t1006: assert error output of cat-file
      t1010: don't create unused files
      t1302: don't create unused file
      t1400: assert output of update-ref
      t1404: don't create unused file
      t1507: assert output of rev-parse
      t3060: fix mention of function prune_index
      t2107: fix mention of the_index.cache_changed
      t2024: fix loose/strict local base branch DWIM test
      t1300: drop duplicate test
      t1300: check stderr for "ignores pairs" tests
      t1300: add tests for missing keys
      t0300: don't create unused file
      t1300: fix config file syntax error descriptions
      t1300: don't create unused files
      t1450: don't create unused files
      t1502: don't create unused files
      t2019: don't create unused files

Andy Koppe (1):
      restore: fault --staged --worktree with merge opts

Beat Bolli (1):
      unicode: update the width tables to Unicode 15

Clement Mabileau (1):
      branch: improve error log on branch not found by checking remotes refs

Daniel Watson (1):
      SubmittingPatches: clarify MUA discussion with "the"

Derrick Stolee (18):
      object-file: reprepare alternates when necessary
      for-each-ref: add --stdin option
      for-each-ref: explicitly test no matches
      commit-graph: refactor compute_topological_levels()
      commit-graph: simplify compute_generation_numbers()
      commit-graph: return generation from memory
      commit-reach: implement ahead_behind() logic
      for-each-ref: add ahead-behind format atom
      commit-reach: add tips_reachable_from_bases()
      p2000: remove stray '--sparse' flag from test
      fetch: download bundles once, even with --all
      fsck: create scaffolding for rev-index checks
      fsck: check rev-index checksums
      fsck: check rev-index position values
      fsck: validate .rev file header
      fsck: verify checksums of all .bitmap files
      fsck: use local repository
      merge-tree: load default git config

Edwin Kofler (1):
      completion: suppress unwanted unescaping of `read`

Elijah Newren (94):
      treewide: ensure one of the appropriate headers is sourced first
      treewide: remove unnecessary git-compat-util.h includes in headers
      treewide: remove unnecessary cache.h includes
      treewide: remove unnecessary cache.h includes in source files
      alloc.h: move ALLOC_GROW() functions from cache.h
      hash.h: move some oid-related declarations from cache.h
      hex.h: move some hex-related declarations from cache.h
      cache.h: remove dependence on hex.h; make other files include it explicitly
      pretty.h: move has_non_ascii() declaration from commit.h
      ident.h: move ident-related declarations out of cache.h
      object.h: stop depending on cache.h; make cache.h depend on object.h
      dir.h: refactor to no longer need to include cache.h
      object-store.h: move struct object_info from cache.h
      replace-object.h: move read_replace_refs declaration from cache.h to here
      treewide: replace cache.h with more direct headers, where possible
      Remove unnecessary includes of builtin.h
      diff.h: remove unnecessary include of object.h
      t2021: fix platform-specific leftover cruft
      unpack-trees: heed requests to overwrite ignored files
      dir: separate public from internal portion of dir_struct
      dir: add a usage note to exclude_per_dir
      dir: mark output only fields of dir_struct as such
      unpack-trees: clean up some flow control
      sparse-checkout: avoid using internal API of unpack-trees
      sparse-checkout: avoid using internal API of unpack-trees, take 2
      unpack_trees: start splitting internal fields from public API
      unpack-trees: mark fields only used internally as internal
      unpack-trees: rewrap a few overlong lines from previous patch
      unpack-trees: special case read-tree debugging as internal usage
      unpack-trees: add usage notices around df_conflict_entry
      treewide: remove unnecessary cache.h inclusion from a few headers
      treewide: be explicit about dependence on gettext.h
      treewide: remove unnecessary inclusion of gettext.h
      treewide: remove unnecessary cache.h inclusion from several sources
      environment: move comment_line_char from cache.h
      abspath.h: move absolute path functions from cache.h
      cache.h: remove expand_user_path()
      path.h: move function declarations for path.c functions from cache.h
      wrapper.h: move declarations for wrapper.c functions from cache.h
      treewide: remove unnecessary includes of cache.h
      environment.h: move declarations for environment.c functions from cache.h
      treewide: remove cache.h inclusion due to environment.h changes
      setup.h: move declarations for setup.c functions from cache.h
      treewide: remove cache.h inclusion due to setup.h changes
      write-or-die.h: move declarations for write-or-die.c functions from cache.h
      csum-file.h: remove unnecessary inclusion of cache.h
      treewide: be explicit about dependence on trace.h & trace2.h
      treewide: be explicit about dependence on advice.h
      treewide: be explicit about dependence on convert.h
      treewide: be explicit about dependence on pack-revindex.h
      treewide: be explicit about dependence on oid-array.h
      treewide: be explicit about dependence on mem-pool.h
      treewide: remove unnecessary cache.h inclusion
      object-name.h: move declarations for object-name.c functions from cache.h
      treewide: remove cache.h inclusion due to object-name.h changes
      git-zlib: move declarations for git-zlib functions from cache.h
      treewide: remove cache.h inclusion due to git-zlib changes
      object-file.h: move declarations for object-file.c functions from cache.h
      treewide: remove cache.h inclusion due to object-file.h changes
      object.h: move some inline functions and defines from cache.h
      treewide: remove cache.h inclusion due to object.h changes
      editor: move editor-related functions and declarations into common file
      treewide: remove cache.h inclusion due to editor.h changes
      pager.h: move declarations for pager.c functions from cache.h
      treewide: remove cache.h inclusion due to pager.h changes
      cache.h: remove unnecessary includes
      treewide: remove double forward declaration of read_in_full
      treewide: reduce includes of cache.h in other headers
      mailmap, quote: move declarations of global vars to correct unit
      protocol.h: move definition of DEFAULT_GIT_PORT from cache.h
      treewide: be explicit about dependence on strbuf.h
      symlinks.h: move declarations for symlinks.c functions from cache.h
      packfile.h: move pack_window and pack_entry from cache.h
      server-info.h: move declarations for server-info.c functions from cache.h
      copy.h: move declarations for copy.c functions from cache.h
      base85.h: move declarations for base85.c functions from cache.h
      pkt-line.h: move declarations for pkt-line.c functions from cache.h
      match-trees.h: move declarations for match-trees.c functions from cache.h
      ws.h: move declarations for ws.c functions from cache.h
      versioncmp.h: move declarations for versioncmp.c functions from cache.h
      dir.h: move DTYPE defines from cache.h
      tree-diff.c: move S_DIFFTREE_IFXMIN_NEQ define from cache.h
      hash-ll.h: split out of hash.h to remove dependency on repository.h
      cache,tree: move cmp_cache_name_compare from tree.[ch] to read-cache.c
      cache,tree: move basic name compare functions from read-cache to tree
      treewide: remove cache.h inclusion due to previous changes
      cache.h: remove unnecessary headers
      fsmonitor: reduce includes of cache.h
      commit.h: reduce unnecessary includes
      object-store.h: reduce unnecessary includes
      diff.h: reduce unnecessary includes
      reftable: ensure git-compat-util.h is the first (indirect) include
      merge-ort: fix calling merge_finalize() with no intermediate merge
      t5583: fix shebang line

Emily Shaffer (1):
      mailmap: change primary address for Emily Shaffer

Eric Sunshine (1):
      tests: diagnose unclosed here-doc in chainlint.pl

Eric Wong (3):
      commit-reach: avoid NULL dereference
      fetch: support hideRefs to speed up connectivity checks
      fetch: pass --no-write-fetch-head to subprocesses

Fangyi Zhou (1):
      rebase: fix capitalisation autoSquash in i18n string

Felipe Contreras (16):
      advice: add diverging advice for novices
      test: simplify counts aggregation
      test: don't print aggregate-results command
      object-name: fix quiet @{u} parsing
      completion: prompt: use generic colors
      doc: remove GNU troff workaround
      doc: remove manpage-base-url workaround
      doc: asciidoc: remove custom header macro
      doc: simplify man version
      doc: set actual revdate for manpages
      doc: git-checkout: trivial callout cleanup
      doc: git-checkout: reorganize examples
      doc: remove custom callouts format
      doc: manpage: remove maximum title length
      doc: doc-diff: specify date
      test: rev-parse-upstream: add missing cmp

Glen Choo (10):
      config.c: plumb config_source through static fns
      config.c: don't assign to "cf_global" directly
      config.c: create config_reader and the_reader
      config.c: plumb the_reader through callbacks
      config.c: remove current_config_kvi
      config.c: remove current_parsing_scope
      config: report cached filenames in die_bad_number()
      config.c: rename "struct config_source cf"
      clone: error specifically with --local and symlinked objects
      setup: trace bare repository setups

Han Xin (2):
      negotiator/default: avoid stack overflow
      negotiator/skipping: fix some problems in mark_common()

Jacob Keller (2):
      blame: allow --contents to work with non-HEAD commit
      blame: use different author name for fake commit generated by --contents

Jeff King (82):
      ref-filter: drop unused atom parameter from get_worktree_path()
      ls-refs: drop config caching
      serve: use repository pointer to get config
      serve: mark unused parameters in virtual functions
      object-name: mark unused parameters in disambiguate callbacks
      http-backend: mark argc/argv unused
      http-backend: mark unused parameters in virtual functions
      ref-filter: mark unused callback parameters
      mark "pointless" data pointers in callbacks
      run-command: mark error routine parameters as unused
      mark unused parameters in signal handlers
      list-objects: mark unused callback parameters
      for_each_object: mark unused callback parameters
      prio-queue: mark unused parameters in comparison functions
      notes: mark unused callback parameters
      fetch-pack: mark unused parameter in callback function
      rewrite_parents(): mark unused callback parameter
      for_each_commit_graft(): mark unused callback parameter
      userformat_want_item(): mark unused parameter
      run_processes_parallel: mark unused callback parameters
      help: mark unused parameter in git_unknown_cmd_config()
      fsck: factor out index fsck
      fsck: check index files in all worktrees
      fsck: mention file path for index errors
      fsck: check even zero-entry index files
      drop pure pass-through config callbacks
      bundle: turn on --all-progress-implied by default
      bundle: let "-" mean stdin for reading operations
      bundle: document handling of "-" as stdin
      parse-options: consistently allocate memory in fix_filename()
      parse-options: use prefix_filename_except_for_dash() helper
      diff: factor out src/dst prefix setup
      t4013: add tests for diff prefix options
      diff: add --default-prefix option
      format-patch: do not respect diff.noprefix
      format-patch: add format.noprefix option
      add-patch: handle "* Unmerged path" lines
      rebase: prefer --default-prefix to --{src,dst}-prefix for format-patch
      mailmap: drop debugging code
      http: drop unused parameter from start_object_request()
      http: mark unused parameter in fill_active_slot() callbacks
      transport: mark unused parameters in fetch_refs_from_bundle()
      git_connect(): fix corner cases in downgrading v2 to v0
      fast-export: drop const when storing anonymized values
      fast-export: simplify initialization of anonymized hashmaps
      fast-export: factor out anonymized_entry creation
      fast-export: de-obfuscate --anonymize-map handling
      fast-export: drop data parameter from anonymous generators
      fast-export: drop unused parameter from anonymize_commit_message()
      pack-redundant: escalate deprecation warning to an error
      docs: document caveats of rev-list's object-name output
      fast-import: fix file access when run from subdir
      builtins: always pass prefix to parse_options()
      builtins: annotate always-empty prefix parameters
      builtins: mark unused prefix parameters
      mark "argv" as unused when we check argc
      t/helper: mark unused argv/argc arguments
      parse-options: drop parse_opt_unknown_cb()
      pack-redundant: document deprecation
      tests: run internal chain-linter under "make test"
      tests: replace chainlint subshell with a function
      tests: drop here-doc check from internal chain-linter
      tests: skip test_eval_ in internal chain-lint
      t/lib-httpd: pass PERL_PATH to CGI scripts
      v0 protocol: fix infinite loop when parsing multi-valued capabilities
      t5512: stop referring to "v1" protocol
      v0 protocol: fix sha1/sha256 confusion for capabilities^{}
      t5512: add v2 support for "ls-remote --symref" test
      t5512: allow any protocol version for filtered symref test
      t5512: test "ls-remote --heads --symref" filtering with v0 and v2
      v0 protocol: use size_t for capability length/offset
      gpg-interface: set trust level of missing key to "undefined"
      notes: clean up confusing NULL checks in init_notes()
      fetch_bundle_uri(): drop pointless NULL check
      t4212: avoid putting git on left-hand side of pipe
      parse_commit(): parse timestamp from end of line
      parse_commit(): handle broken whitespace-only timestamp
      parse_commit(): describe more date-parsing failure modes
      doc-diff: drop SOURCE_DATE_EPOCH override
      t7001: avoid git on upstream of pipe
      t7001: use "ls-files --format" instead of "cut"
      t: drop "verbose" helper function

Jiang Xin (1):
      object-info: init request_info before reading arg

Johannes Schindelin (7):
      split-index & fsmonitor: demonstrate a bug
      split-index; stop abusing the `base_oid` to strip the "link" extension
      fsmonitor: avoid overriding `cache_changed` bits
      unpack-trees: take care to propagate the split-index flag
      t3701: we don't need no Perl for `add -i` anymore
      t5563: prevent "ambiguous redirect"
      gitk: prevent overly long command lines

John Cai (1):
      name-rev: make --stdin hidden

John Keeping (1):
      format-patch: output header for empty commits

Josh Soref (1):
      subtree: support long global flags

Jouke Witteveen (1):
      send-email docs: Remove mention of discontinued gmail feature

Junio C Hamano (28):
      gpg-interface: lazily initialize and read the configuration
      bundle: don't blindly apply prefix_filename() to "-"
      Start the 2.41 cycle
      The second batch
      am: refer to format-patch in the documentation
      The third batch
      The fourth batch
      The fifth batch
      The sixth batch
      e-mail workflow: Message-ID is spelled with ID in both capital letters
      The seventh batch
      clone: propagate object-format when cloning from void
      The eighth batch
      The ninth batch
      The tenth batch
      The eleventh batch
      The twelfth batch
      The thirteenth batch
      doc: GIT_DEFAULT_HASH is and will be ignored during "clone"
      The fourteenth batch
      The fifteenth batch
      The sixteenth batch
      diff: refactor common tail part of dirstat computation
      diff: plug leaks in dirstat
      t9800: correct misuse of 'show -s --raw' in a test
      The seventeenth batch
      The eighteenth batch
      Git 2.41-rc0

Kristoffer Haugsbakk (5):
      config: tell the user that we expect an ASCII character
      doc: interpret-trailers: don’t use heredoc in examples
      doc: interpret-trailers: use input redirection
      doc: interpret-trailers: don’t use deprecated config
      doc: interpret-trailers: fix example

Linus Arver (1):
      MyFirstContribution: render literal *

M Hickford (3):
      credential/wincred: include wincred.h
      credential/wincred: store password_expiry_utc
      credential: new attribute oauth_refresh_token

Martin Ågren (2):
      gittutorial: drop early mention of origin
      gittutorial: wrap literal examples in backticks

Mathias Krause (1):
      grep: work around UTF-8 related JIT bug in PCRE2 <= 10.34

Matthew John Cheetham (3):
      t5563: add tests for basic and anoymous HTTP access
      http: read HTTP WWW-Authenticate response headers
      credential: add WWW-Authenticate header to cred requests

Maxim Cournoyer (3):
      send-email: extract execute_cmd from recipients_cmd
      send-email: add --header-cmd, --no-header-cmd options
      send-email: detect empty blank lines in command output

Michael J Gruber (1):
      t3070: make chain lint tester happy

Michael Strawbridge (2):
      send-email: refactor header generation functions
      send-email: expose header information to git-send-email's sendemail-validate hook

Mike Hommey (1):
      Handle some compiler versions containing a dash

Nico Rieck (1):
      gitk: escape file paths before piping to git log

Oswald Buddenhagen (5):
      sequencer: remove pointless rollback_lock_file()
      sequencer: rewrite save_head() in terms of write_message()
      sequencer: actually translate report in do_exec()
      messages: capitalization and punctuation exceptions
      t/t3501-revert-cherry-pick.sh: clarify scope of the file

Patrick Steinhardt (27):
      receive-pack: fix stale packfile locks when dying
      fetch: move reference width calculation into `display_state`
      fetch: move output format into `display_state`
      fetch: pass the full local reference name to `format_display`
      fetch: centralize handling of per-reference format
      fetch: centralize logic to print remote URL
      fetch: centralize printing of reference updates
      commit-graph: fix truncated generation numbers
      midx: fix segfault with no packs and invalid preferred pack
      repack: fix trying to use preferred pack in alternates
      repack: fix generating multi-pack-index with only non-local packs
      pack-objects: split out `--stdin-packs` tests into separate file
      pack-objects: fix error when packing same pack twice
      pack-objects: fix error when same packfile is included and excluded
      pack-objects: extend test coverage of `--stdin-packs` with alternates
      t/helper: allow chmtime to print verbosely without modifying mtime
      repack: honor `-l` when calculating pack geometry
      repack: disable writing bitmaps when doing a local repack
      fetch: fix `--no-recurse-submodules` with multi-remote fetches
      fetch: split out tests for output format
      fetch: add a test to exercise invalid output formats
      fetch: print left-hand side when fetching HEAD:foo
      fetch: refactor calculation of the display table width
      fetch: introduce `display_format` enum
      fetch: lift up parsing of "fetch.output" config variable
      fetch: move option related variables into main function
      fetch: introduce machine-parseable "porcelain" output format

Paul Eggert (1):
      git-compat-util: use gettimeofday(2) for time(2)

Phillip Wood (8):
      wildmatch: fix exponential behavior
      wildmatch: avoid undefined behavior
      wildmatch: hide internal return values
      rebase: stop reading and writing unnecessary strategy state
      sequencer: use struct strvec to store merge strategy options
      rebase -m: cleanup --strategy-option handling
      rebase -m: fix serialization of strategy options
      rebase: remove a couple of redundant strategy tests

Raghul Nanth A (1):
      describe: enable sparse index for describe

René Scharfe (6):
      archive: improve support for running in subdirectory
      t5000: use check_mtime()
      userdiff: support regexec(3) with multi-byte support
      date: remove approxidate_relative()
      get-tar-commit-id: use TYPEFLAG_GLOBAL_HEADER instead of magic value
      test-ctype: check EOF

Robin Jarry (1):
      send-email: export patch counters in validate environment

Rubén Justo (10):
      bisect: fix "reset" when branch is checked out elsewhere
      worktree: introduce is_shared_symref()
      branch: fix die_if_checked_out() when ignore_current_worktree
      rebase: refuse to switch to a branch already checked out elsewhere (test)
      switch: reject if the branch is already checked out elsewhere (test)
      branch: test for failures while renaming branches
      branch: use get_worktrees() in copy_or_rename_branch()
      branch: description for orphan branch errors
      branch: rename orphan branches in any worktree
      branch: avoid unnecessary worktrees traversals

SZEDER Gábor (6):
      treewide: include parse-options.h in source files
      treewide: remove unnecessary inclusions of parse-options.h from headers
      parse-options.h: use consistent name for the callback parameters
      parse-options.h: rename _OPT_CONTAINS_OR_WITH()'s parameters
      parse-options.h: use designated initializers in OPT_* macros
      cocci: remove 'unused.cocci'

Shuqi Liang (3):
      write-tree: integrate with sparse index
      t1092: add tests for `git diff-files`
      diff-files: integrate with sparse index

Siddharth Singh (1):
      hashmap.h: fix minor typo

Sohom Datta (1):
      docs: clarify git rm --cached function in gitignore note

Stanislav Malishevskiy (1):
      http: add support for different sslcert and sslkey types.

Tao Klerks (1):
      mergetool: new config guiDefault supports auto-toggling gui by DISPLAY

Taylor Blau (31):
      commit-graph: introduce `ensure_generations_valid()`
      pack-write.c: plug a leak in stage_tmp_packfiles()
      t5325: mark as leak-free
      pack-revindex: make `load_pack_revindex` take a repository
      pack-revindex: introduce GIT_TEST_REV_INDEX_DIE_ON_DISK
      pack-revindex: introduce `pack.readReverseIndex`
      config: enable `pack.writeReverseIndex` by default
      t: invert `GIT_TEST_WRITE_REV_INDEX`
      pack-write.c: plug a leak in stage_tmp_packfiles()
      builtin/repack.c: fix incorrect reference to '-C'
      builtin/gc.c: ignore cruft packs with `--keep-largest-pack`
      t/t5304-prune.sh: prepare for `gc --cruft` by default
      t/t6501-freshen-objects.sh: prepare for `gc --cruft` by default
      t/t6500-gc.sh: refactor cruft pack tests
      t/t6500-gc.sh: add additional test cases
      t/t9300-fast-import.sh: prepare for `gc --cruft` by default
      builtin/gc.c: make `gc.cruftPacks` enabled by default
      repository.h: drop unused `gc_cruft_packs`
      string-list: multi-delimiter `string_list_split_in_place()`
      string-list: introduce `string_list_setlen()`
      t/helper/test-hashmap.c: avoid using `strtok()`
      t/helper/test-oidmap.c: avoid using `strtok()`
      t/helper/test-json-writer.c: avoid using `strtok()`
      banned.h: mark `strtok()` and `strtok_r()` as banned
      credential.c: store "wwwauth[]" values in `credential_read()`
      t/lib-credential.sh: ensure credential helpers handle long headers
      contrib/credential: avoid fixed-size buffer in osxkeychain
      contrib/credential: remove 'gnome-keyring' credential helper
      contrib/credential: .gitignore libsecret build artifacts
      contrib/credential: avoid fixed-size buffer in libsecret
      contrib/credential: embiggen fixed-size buffer in wincred

Teng Long (1):
      push: introduce '--branches' option

William Sprent (2):
      builtin/sparse-checkout: remove NEED_WORK_TREE flag
      builtin/sparse-checkout: add check-rules command

ZheNing Hu (2):
      receive-pack: fix funny ref error messsage
      push: allow delete single-level ref

Ævar Arnfjörð Bjarmason (33):
      auto-crlf tests: don't lose exit code in loops and outside tests
      t/lib-patch-mode.sh: fix ignored exit codes
      tests: don't lose exit status with "(cd ...; test <op> $(git ...))"
      tests: don't lose "git" exit codes in "! ( git ... | grep )"
      tests: don't lose exit status with "test <op> $(git ...)"
      tests: don't lose misc "git" exit codes
      sequencer.c: fix overflow & segfault in parse_strategy_opts()
      cocci: remove dead rule from "the_repository.pending.cocci"
      cocci: fix incorrect & verbose "the_repository" rules
      cocci: sort "the_repository" rules by header
      cocci: add missing "the_repository" macros to "pending"
      cocci: apply the "cache.h" part of "the_repository.pending"
      cocci: apply the "commit-reach.h" part of "the_repository.pending"
      cocci: apply the "commit.h" part of "the_repository.pending"
      cocci: apply the "diff.h" part of "the_repository.pending"
      cocci: apply the "object-store.h" part of "the_repository.pending"
      cocci: apply the "pretty.h" part of "the_repository.pending"
      cocci: apply the "packfile.h" part of "the_repository.pending"
      cocci: apply the "promisor-remote.h" part of "the_repository.pending"
      cocci: apply the "refs.h" part of "the_repository.pending"
      cocci: apply the "rerere.h" part of "the_repository.pending"
      cocci: apply the "revision.h" part of "the_repository.pending"
      post-cocci: adjust comments for recent repo_* migration
      libs: use "struct repository *" argument, not "the_repository"
      config tests: cover blind spots in git_die_config() tests
      config tests: add "NULL" tests for *_get_value_multi()
      config API: add and use a "git_config_get()" family of functions
      versioncmp.c: refactor config reading next commit
      config API: have *_multi() return an "int" and take a "dest"
      for-each-repo: error on bad --config
      config API users: test for *_get_value_multi() segfaults
      config API: add "string" version of *_value_multi(), fix segfaults
      for-each-repo: with bad config, don't conflate <path> and <cmd>

Øystein Walle (2):
      ref-filter: remove unused ref_format member
      branch, for-each-ref, tag: add option to omit empty lines


Version v2.40.1; changes since v2.40.0:
---------------------------------------

Derrick Stolee (1):
      ci: update 'static-analysis' to Ubuntu 22.04

Jeff King (7):
      http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT
      http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION
      range-diff: drop useless "offset" variable from read_patches()
      http: support CURLOPT_PROTOCOLS_STR
      range-diff: handle unterminated lines in read_patches()
      range-diff: use ssize_t for parsed "len" in read_patches()
      Makefile: force -O0 when compiling with SANITIZE=leak

Jiang Xin (4):
      github-actions: run gcc-8 on ubuntu-20.04 image
      ci: remove the pipe after "p4 -V" to catch errors
      ci: use the same version of p4 on both Linux and macOS
      ci: install python on ubuntu

Johannes Schindelin (22):
      compat/win32/syslog: fix use-after-realloc
      nedmalloc: avoid new compile error
      t0033: GETTEXT_POISON fix
      t0003: GETTEXT_POISON fix, part 1
      t0003: GETTEXT_POISON fix, conclusion
      t5619: GETTEXT_POISON fix
      t5604: GETTEXT_POISON fix, part 1
      t5604: GETTEXT_POISON fix, conclusion
      clone.c: avoid "exceeds maximum object size" error with GCC v12.x
      apply --reject: overwrite existing `.rej` symlink if it exists
      gettext: avoid using gettext if the locale dir is not present
      tests: avoid using `test_i18ncmp`
      Git 2.31.8
      Git 2.32.7
      Git 2.33.8
      Git 2.34.8
      Git 2.35.8
      Git 2.36.6
      Git 2.37.7
      Git 2.38.5
      Git 2.39.3
      Git 2.40.1

Junio C Hamano (1):
      http.c: clear the 'finished' member once we are done with it

Taylor Blau (5):
      t1300: demonstrate failure when renaming sections with long lines
      config: avoid fixed-sized buffer when renaming/deleting a section
      config.c: avoid integer truncation in `copy_or_rename_section_in_file()`
      config.c: disallow overly-long lines in `copy_or_rename_section_in_file()`
      Git 2.30.9


Version v2.40.0; changes since v2.40.0-rc2:
-------------------------------------------

Alexander Shopov (1):
      l10n: bg.po: Updated Bulgarian translation (5490t)

Bagas Sanjaya (1):
      l10n: po-id for 2.40 (round 1)

Emir SARI (1):
      l10n: tr: Update Turkish translations for v.2.40.0

Fangyi Zhou (1):
      l10n: zh_CN v2.40.0 round 1

Jean-Noël Avila (3):
      l10n: fr: fix some typos
      l10n: fr: v2.40.0 rnd 1
      l10n: fr: v2.40.0 rnd 2

Jordi Mas (1):
      l10n: Update Catalan translation

Junio C Hamano (1):
      Git 2.40

Peter Krefting (1):
      l10n: sv.po: Update Swedish translation (5490t0f0u)

Ralf Thielow (1):
      l10n: update German translation


Version v2.40.0-rc2; changes since v2.40.0-rc1:
-----------------------------------------------

Gwyneth Morgan (1):
      signature-format.txt: note SSH and X.509 signature delimiters

Junio C Hamano (1):
      Git 2.40-rc2

René Scharfe (1):
      range-diff: avoid compiler warning when char is unsigned


Version v2.40.0-rc1; changes since v2.40.0-rc0:
-----------------------------------------------

Andrei Rybak (1):
      test-lib: drop comment about test_description

Ashutosh Pandey (1):
      t2015-checkout-unborn.sh: changes the style for cd

Jeff King (21):
      shorten_unambiguous_ref(): avoid integer truncation
      shorten_unambiguous_ref(): use NUM_REV_PARSE_RULES constant
      shorten_unambiguous_ref(): avoid sscanf()
      add basic http proxy tests
      t0066: drop setup of "dir5"
      t5541: run "used receive-pack service" test earlier
      t5541: stop marking "used receive-pack service" test as v0 only
      t5541: simplify and move "no empty path components" test
      t5551: drop redundant grep for Accept-Language
      t5551: lower-case headers in expected curl trace
      t5551: handle HTTP/2 when checking curl trace
      t5551: stop forcing clone to run with v0 protocol
      t5551: handle v2 protocol when checking curl trace
      t5551: handle v2 protocol in upload-pack service test
      t5551: simplify expected cookie file
      t5551: handle v2 protocol in cookie test
      t5551: drop curl trace lines without headers
      t/lib-httpd: respect $HTTPD_PROTO in expect_askpass()
      t/lib-httpd: enable HTTP/2 "h2" protocol, not just h2c
      t5559: fix test failures with LIB_HTTPD_SSL
      t5559: make SSL/TLS the default

John Cai (2):
      diff: consolidate diff algorithm option parsing
      diff: teach diff to read algorithm from diff driver

Junio C Hamano (5):
      format.attach: allow empty value to disable multi-part messages
      A few more topics post 2.40-rc0
      A bit more before 2.40-rc1
      A bit more before 2.40-rc1
      Git 2.40-rc1

M Hickford (1):
      credential: new attribute password_expiry_utc

Matthias Aßhauer (1):
      fetch: choose a sensible default with --jobs=0 again

Patrick Steinhardt (1):
      delta-islands: fix segfault when freeing island marks

Phillip Wood (3):
      rebase -i: check labels and refs when parsing todo list
      rebase -i: match whole word in is_command()
      rebase -i: fix parsing of "fixup -C<commit>"

René Scharfe (1):
      archive: add --mtime

Taylor Blau (1):
      dir-iterator: drop unused `DIR_ITERATOR_FOLLOW_SYMLINKS`

Teng Long (1):
      range-diff: let '--abbrev' option takes effect

Zhang Yi (1):
      t9700: modernize test scripts

idriss fekir (1):
      trace.c, git.c: remove unnecessary parameter to trace_repo_setup()


Version v2.40.0-rc0; changes since v2.39.3:
-------------------------------------------

Adam Szkoda (1):
      ssh signing: better error message when key not in agent

Alison Winters (2):
      completion: add optional ignore-case when matching refs
      completion: add case-insensitive match of pseudorefs

Andrei Rybak (11):
      gitattributes.txt: fix typo in "comma separated"
      *: fix typos which duplicate a word
      git-bisect-lk2009: update java code conventions link
      git-bisect-lk2009: update nist report link
      t6003: uncomment test '--max-age=c3, --topo-order'
      t6422: drop commented out code
      t7527: use test_when_finished in 'case insensitive+preserving'
      Documentation: render dash correctly
      userdiff: support Java type parameters
      userdiff: support Java record types
      userdiff: support Java sealed classes

Calvin Wan (2):
      fetch: fix duplicate remote parallel fetch bug
      Documentation: clarify multiple pushurls vs urls

Carlo Marcelo Arenas Belón (1):
      grep: correctly identify utf-8 characters with \{b,w} in -P

Daniël Haazen (1):
      mingw: fix typo in an error message from ownership check

Derrick Stolee (25):
      transport: rename got_remote_heads
      bundle-uri: serve bundle.* keys from config
      strbuf: introduce strbuf_strip_file_from_path()
      bundle-uri: allow relative URLs in bundle lists
      bundle-uri: download bundles from an advertised list
      clone: unbundle the advertised bundles
      hashfile: allow skipping the hash function
      read-cache: add index.skipHash config option
      test-lib-functions: add helper for trailing hash
      features: feature.manyFiles implies fast index writes
      t1600: fix racy index.skipHash test
      t: allow 'scalar' in test_must_fail
      t921*: test scalar behavior starting maintenance
      scalar: only warn when background maintenance fails
      bundle: test unbundling with incomplete history
      bundle: verify using check_connected()
      t5558: add tests for creationToken heuristic
      bundle-uri: parse bundle.heuristic=creationToken
      bundle-uri: parse bundle.<id>.creationToken values
      bundle-uri: download in creationToken order
      clone: set fetch.bundleURI if appropriate
      bundle-uri: drop bundle.flag from design doc
      fetch: fetch from an external bundle URI
      bundle-uri: store fetch.bundleCreationToken
      bundle-uri: test missing bundles with heuristic

Elijah Newren (16):
      ls-files: add missing documentation for --resolve-undo option
      ls-files: clarify descriptions of file selection options
      ls-files: clarify descriptions of status tags for -t
      ls-files: guide folks to --exclude-standard over other --exclude* options
      t6426: fix TODO about making test more comprehensive
      rebase: mark --update-refs as requiring the merge backend
      rebase: flag --apply and --merge as incompatible
      rebase: remove --allow-empty-message from incompatible opts
      rebase: fix docs about incompatibilities with --root
      rebase: fix incompatiblity checks for --[no-]reapply-cherry-picks
      rebase: add coverage of other incompatible options
      rebase: clarify the OPT_CMDMODE incompatibilities
      rebase: fix formatting of rebase --reapply-cherry-picks option in docs
      rebase: put rebase_options initialization in single place
      rebase: provide better error message for apply options vs. merge config
      name-rev: fix names by dropping taggerdate workaround

Emily Shaffer (4):
      run-command: allow stdin for run_processes_parallel
      hook API: support passing stdin to hooks, convert am's 'post-rewrite'
      sequencer: use the new hook API for the simpler "post-rewrite" call
      hook: support a --to-stdin=<path> option

Eric Sunshine (3):
      t1509: fix failing "root work tree" test due to owner-check
      t1509: make "setup" test more robust
      t1509: facilitate repeated script invocations

Eric Wong (2):
      format-patch: support format.mboxrd with --stdout
      delta-islands: free island_marks and bitmaps

Glen Choo (2):
      read-tree + fetch tests: test failing "--super-prefix" interaction
      docs: document zero bits in index "mode"

Gwyneth Morgan (1):
      request-pull: filter out SSH/X.509 tag signatures

Harshil-Jani (2):
      mingw: remove duplicate `USE_NED_ALLOCATOR` directive
      mingw: remove msysGit/MSYS1 support

Jeff Hostetler (2):
      fsmonitor: fix race seen in t7527
      fsmonitor: eliminate call to deprecated FSEventStream function

Jeff King (32):
      git-jump: move valid-mode check earlier
      pack-bitmap.c: break out of the bitmap loop early if not tracing
      pack-bitmap.c: trace bitmap ignore logs when midx-bitmap is found
      ref-filter: reject arguments to %(HEAD)
      ref-filter: factor out "%(foo) does not take arguments" errors
      ref-filter: factor out "unrecognized %(foo) arg" errors
      ref-filter: truncate atom names in error messages
      ref-filter: convert email atom parser to use err_bad_arg()
      test-bundle-uri: drop unused variables
      convert trivial uses of strncmp() to starts_with()
      convert trivial uses of strncmp() to skip_prefix()
      object-file: inline calls to read_object()
      streaming: inline call to read_object_file_extended()
      read_object_file_extended(): drop lookup_replace option
      repo_read_object_file(): stop wrapping read_object_file_extended()
      packfile: inline custom read_object()
      object-file: fix indent-with-space
      t/interop: report which vanilla git command failed
      t1007: modernize malformed object tests
      t1006: stop using 0-padded timestamps
      t7030: stop using invalid tag name
      t: use hash-object --literally when created malformed objects
      fsck: provide a function to fsck buffer without object struct
      hash-object: use fsck for object checks
      hash-object: fix descriptor leak with --literally
      fsck: do not assume NUL-termination of buffers
      t/lib-httpd: bump required apache version to 2.2
      t/lib-httpd: bump required apache version to 2.4
      t/lib-httpd: drop SSLMutex config
      t/lib-httpd: increase ssl key size to 2048 bits
      doc/ls-remote: cosmetic cleanups for examples
      doc/ls-remote: clarify pattern format

Jiang Xin (3):
      t1301: fix wrong template dir for git-init
      t1301: use test_when_finished for cleanup
      t1301: do not change $CWD in "shared=all" test case

Johannes Schindelin (11):
      bisect--helper: handle states directly
      Turn `git bisect` into a full built-in
      t0021: use Windows-friendly `pwd`
      tests(mingw): avoid very slow `mingw_test_cmp`
      bisect--helper: simplify exit code computation
      bisect: verify that a bogus option won't try to start a bisection
      bisect run: fix the error message
      bisect: remove Cogito-related code
      bisect: no longer try to clean up left-over `.git/head-name` files
      t7510: add a test case that does not need gpg
      gpg: do show gpg's error message upon failure

John Cai (2):
      docs: link generating patch sections
      attr: fix instructions on how to check attrs

Jonathan Tan (5):
      http-fetch: invoke trace2_cmd_name()
      object-file: remove OBJECT_INFO_IGNORE_LOOSE
      object-file: refactor map_loose_object_1()
      object-file: emit corruption errors when detected
      commit: don't lazy-fetch commits

Junio C Hamano (22):
      Start the 2.40 cycle
      The first batch for 2.40
      The second batch
      The third batch
      The fourth batch
      The fifth batch
      The sixth batch
      format-patch: unleak "-v <num>"
      The seventh batch
      The eighth batch
      The ninth batch
      The tenth batch
      The eleventh batch
      The twelfth batch
      The thirteenth batch
      The fourteenth batch
      The fifteenth batch
      The sixteenth batch
      rev-list: clarify git-log default date format
      test-genzeros: avoid raw write(2)
      The seventeenth batch
      Git 2.40-rc0

Karthik Nayak (2):
      t0003: move setup for `--all` into new block
      attr: add flag `--source` to work with tree-ish

Kostya Farber (1):
      t5000: modernise archive and :(glob) test

Kyle Meyer (2):
      send-email: relay '-v N' to format-patch
      doc/git-branch: fix --force description typo

Kyle Zhao (3):
      merge-tree.c: add --merge-base=<commit> option
      merge-tree.c: allow specifying the merge-base when --stdin is passed
      docs: fix description of the `--merge-base` option

M Hickford (1):
      Documentation: clarify that cache forgets credentials if the system restarts

Martin Ågren (1):
      git-cat-file.txt: fix list continuations rendering literally

Mathias Krause (1):
      grep: fall back to interpreter if JIT memory allocation fails

Peter Grayson (1):
      diff: fix regression with --stat and unmerged file

Philip Oakley (6):
      doc: pretty-formats: separate parameters from placeholders
      doc: pretty-formats: delineate `%<|(` parameter values
      doc: pretty-formats document negative column alignments
      doc: pretty-formats describe use of ellipsis in truncation
      doc: pretty-formats note wide char limitations, and add tests
      .gitattributes: include `text` attribute for eol attributes

Philippe Blain (1):
      branch: improve advice when --recurse-submodules fails

Phillip Wood (2):
      ci(github): restore "print test failures" step name
      rebase: cleanup "--exec" option handling

René Scharfe (19):
      t5317: stop losing return codes of git ls-files
      t5317: demonstrate failure to handle multiple --filter options
      pack-objects: fix handling of multiple --filter options
      pack-objects: simplify --filter handling
      list-objects-filter: remove OPT_PARSE_LIST_OBJECTS_FILTER_INIT()
      diff: factor out add_diff_options()
      diff: use add_diff_options() in diff_opt_parse()
      diff: remove parseopts member from struct diff_options
      mingw: make argv2 in try_shell_exec() non-const
      factor out BARF_UNLESS_COPYABLE
      do full type check in BARF_UNLESS_COPYABLE
      add DUP_ARRAY
      use DUP_ARRAY
      read-cache: use size_t for {base,df}_name_compare()
      pack-objects: use strcspn(3) in name_cmp_len()
      cache-tree: fix strbuf growth in prime_cache_tree_rec()
      test-ctype: test isascii
      test-ctype: test islower and isupper
      test-ctype: test iscntrl, ispunct, isxdigit and isprint

Rudy Rigot (1):
      status: modernize git-status "slow untracked files" advice

SZEDER Gábor (1):
      tests: make 'test_oid' print trailing newline

Sean Allred (3):
      var: do not print usage() with a correct invocation
      var: allow GIT_EDITOR to return null
      var: add GIT_SEQUENCE_EDITOR variable

Seija (1):
      maintenance: compare output of pthread functions for inequality with 0

Seija Kijin (5):
      win32: use _endthreadex to terminate threads, not ExitThread
      win32: prepare pthread.c for change by formatting
      win32: close handles of threads that have been joined
      merge: break out of all_strategy loop when strategy is found
      compat/winansi: check for errors of CreateThread() correctly

Siddharth Asthana (2):
      cat-file: add mailmap support to -s option
      cat-file: add mailmap support to --batch-check option

Simon Gerber (1):
      help.c: fix autocorrect in work tree for bare repository

Sven Strickroth (1):
      submodule: accept -v for the update command

Teng Long (4):
      pack-bitmap.c: remove unnecessary "open_pack_index()" calls
      pack-bitmap.c: avoid exposing absolute paths
      ls-tree: cleanup the redundant SPACE
      t3104: remove shift code in 'test_ls_tree_format'

Thierry Reding (1):
      am: allow passing --no-verify flag

Torsten Bögershausen (1):
      t0003: call dd with portable blocksize

Wes Lord (1):
      new-command.txt: update reference to builtin docs

Yoichi Nakayama (2):
      git-jump: add an optional argument '--stdout'
      git-jump: invoke emacs/emacsclient

Yukai Chou (1):
      doc: fix non-existent config name

Yutaro Ohno (1):
      doc: add "git switch -c" as another option on detached HEAD

ZheNing Hu (1):
      scalar: show progress if stderr refers to a terminal

Ævar Arnfjörð Bjarmason (84):
      bisect tests: test for v2.30.0 "bisect run" regressions
      bisect: refactor bisect_run() to match CodingGuidelines
      bisect test: test exit codes on bad usage
      bisect--helper: emit usage for "git bisect"
      bisect; remove unused "git-bisect.sh" and ".gitignore" entry
      tests: mark tests as passing with SANITIZE=leak
      {reset,merge}: call discard_index() before returning
      commit: discard partial cache before (re-)reading it
      read-cache.c: clear and free "sparse_checkout_patterns"
      dir.c: free "ident" and "exclude_per_dir" in "struct untracked_cache"
      built-ins & libs & helpers: add/move destructors, fix leaks
      unpack-file: fix ancient leak in create_temp_file()
      revision API: call graph_clear() in release_revisions()
      ls-files: fix a --with-tree memory leak
      sequencer.c: fix "opts->strategy" leak in read_strategy_opts()
      connected.c: free the "struct packed_git"
      rebase: don't leak on "--abort"
      cherry-pick: free "struct replay_opts" members
      revert: fix parse_options_concat() leak
      built-ins: use free() not UNLEAK() if trivial, rm dead code
      Makefile: use sha1collisiondetection by default on OSX and Darwin
      protocol v2: add server-side "bundle-uri" skeleton
      t: create test harness for 'bundle-uri' command
      clone: request the 'bundle-uri' command when available
      bundle-uri client: add boolean transfer.bundleURI setting
      bundle-uri client: add helper for testing server
      submodule absorbgitdirs tests: add missing "Migrating git..." tests
      submodule.c & submodule--helper: pass along "super_prefix" param
      submodule--helper: don't use global --super-prefix in "absorbgitdirs"
      submodule--helper: convert "foreach" to its own "--super-prefix"
      submodule--helper: convert "sync" to its own "--super-prefix"
      submodule--helper: convert "status" to its own "--super-prefix"
      submodule--helper: convert "{update,clone}" to their own "--super-prefix"
      read-tree: add "--super-prefix" option, eliminate global
      builtin/difftool.c: { 0 }-initialize rather than using memset()
      sparse-index.c: expand_to_path() can assume non-NULL "istate"
      sparse-index API: BUG() out on NULL ensure_full_index()
      read-cache.c: refactor set_new_index_sparsity() for subsequent commit
      bisect--helper: make the order consistently `argc, argv`
      ls-tree: don't use "show_tree_data" for "fast" callbacks
      ls-tree: use a "struct options"
      ls-tree: fold "show_tree_data" into "cb" struct
      ls-tree: make "line_termination" less generic
      env-helper: move this built-in to "test-tool env-helper"
      cache API: add a "INDEX_STATE_INIT" macro/function, add release_index()
      treewide: always have a valid "index_state.repo" member
      add: remove "add.interactive.useBuiltin" & Perl "git add--interactive"
      add API: remove run_add_interactive() wrapper function
      docs & comments: replace mentions of "git-add--interactive.perl"
      tests: mark tests as passing with SANITIZE=leak
      bundle.c: don't leak the "args" in the "struct child_process"
      commit-graph: use free_commit_graph() instead of UNLEAK()
      clone: use free() instead of UNLEAK()
      various: add missing clear_pathspec(), fix leaks
      name-rev: don't xstrdup() an already dup'd string
      repack: fix leaks on error with "goto cleanup"
      worktree: fix a trivial leak in prune_worktrees()
      http-backend.c: fix "dir" and "cmd_arg" leaks in cmd_main()
      http-backend.c: fix cmd_main() memory leak, refactor reg{exec,free}()
      commit-graph: fix a parse_options_concat() leak
      show-branch: free() allocated "head" before return
      builtin/merge.c: use fixed strings, not "strbuf", fix leak
      builtin/merge.c: free "&buf" on "Your local changes..." error
      grep.c: refactor free_grep_patterns()
      grep API: plug memory leaks by freeing "header_list"
      receive-pack: release the linked "struct command *" list
      push: refactor refspec_append_mapped() for subsequent leak-fix
      push: free_refs() the "local_refs" in set_refspecs()
      rebase: use "cleanup" pattern in do_interactive_rebase()
      sequencer.c: split up sequencer_remove_state()
      sequencer API users: fix get_replay_opts() leaks
      builtin/revert.c: move free-ing of "revs" to replay_opts_release()
      builtin/rebase.c: fix "options.onto_name" leak
      sequencer.c: always free() the "msgbuf" in do_pick_commit()
      builtin/rebase.c: free() "options.strategy_opts"
      commit.c: free() revs.commit in get_fork_point()
      config.h: remove unused git_configset_add_parameters()
      run-command.c: remove dead assignment in while-loop
      builtin/rm.c: use narrower "USE_THE_INDEX_VARIABLE"
      cocci & cache.h: fully apply "active_nr" part of index-compatibility
      cocci & cache.h: apply pending "index_cache_pos" rule
      cocci & cache-tree.h: migrate "write_cache_as_tree" to "*_index_*"
      cache-tree API: remove redundant update_main_cache_tree()
      cocci & cache.h: remove "USE_THE_INDEX_COMPATIBILITY_MACROS"

Đoàn Trần Công Danh (6):
      bisect: fix output regressions in v2.30.0
      bisect run: keep some of the post-v2.30.0 output
      bisect-run: verify_good: account for non-negative exit status
      bisect--helper: identify as bisect when report error
      bisect--helper: log: allow arbitrary number of arguments
      date.c: allow ISO 8601 reduced precision times


Version v2.39.3; changes since v2.39.2:
---------------------------------------

Chris. Webster (3):
      ci (check-whitespace): suggest fixes for errors
      ci (check-whitespace): add links to job output
      ci (check-whitespace): move to actions/checkout@v3

Derrick Stolee (1):
      ci: update 'static-analysis' to Ubuntu 22.04

Eric Sunshine (1):
      githooks: discuss Git operations in foreign repositories

Jeff King (25):
      git-compat-util: avoid redefining system function names
      git-compat-util: undefine system names before redeclaring them
      server_supports_v2(): use a separate function for die_on_error
      ls-refs: use repository parameter to iterate refs
      blob: drop unused parts of parse_blob_buffer()
      list-objects: drop process_gitlink() function
      ws: drop unused parameter from ws_blank_line()
      xdiff: drop unused parameter in def_ff()
      xdiff: mark unused parameter in xdl_call_hunk_func()
      diff: mark unused parameters in callbacks
      list-objects-filter: mark unused parameters in virtual functions
      userdiff: mark unused parameter in internal callback
      diff: use filespec path to set up tempfiles for ext-diff
      diff: clean up external-diff argv setup
      diff: drop "name" parameter from prepare_temp_file()
      http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT
      http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION
      http: support CURLOPT_PROTOCOLS_STR
      http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT
      http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION
      range-diff: drop useless "offset" variable from read_patches()
      http: support CURLOPT_PROTOCOLS_STR
      range-diff: handle unterminated lines in read_patches()
      range-diff: use ssize_t for parsed "len" in read_patches()
      Makefile: force -O0 when compiling with SANITIZE=leak

Jiang Xin (4):
      github-actions: run gcc-8 on ubuntu-20.04 image
      ci: remove the pipe after "p4 -V" to catch errors
      ci: use the same version of p4 on both Linux and macOS
      ci: install python on ubuntu

Johannes Schindelin (22):
      ci: only run win+VS build & tests in Git for Windows' fork
      compat/win32/syslog: fix use-after-realloc
      nedmalloc: avoid new compile error
      t0033: GETTEXT_POISON fix
      t0003: GETTEXT_POISON fix, part 1
      t0003: GETTEXT_POISON fix, conclusion
      t5619: GETTEXT_POISON fix
      t5604: GETTEXT_POISON fix, part 1
      t5604: GETTEXT_POISON fix, conclusion
      clone.c: avoid "exceeds maximum object size" error with GCC v12.x
      apply --reject: overwrite existing `.rej` symlink if it exists
      gettext: avoid using gettext if the locale dir is not present
      tests: avoid using `test_i18ncmp`
      Git 2.31.8
      Git 2.32.7
      Git 2.33.8
      Git 2.34.8
      Git 2.35.8
      Git 2.36.6
      Git 2.37.7
      Git 2.38.5
      Git 2.39.3

Johannes Sixt (1):
      t3920: don't ignore errors of more than one command with `|| true`

Junio C Hamano (4):
      branch: document `-f` and linked worktree behaviour
      checkout: document -b/-B to highlight the differences from "git branch"
      Prepare for 2.39.3 just in case
      http.c: clear the 'finished' member once we are done with it

Lars Kellogg-Stedman (1):
      line-range: fix infinite loop bug with '$' regex

Patrick Steinhardt (1):
      refs: fix corruption by not correctly syncing packed-refs to disk

Philippe Blain (5):
      git-cherry-pick.txt: do not use 'ORIG_HEAD' in example
      git-reset.txt: mention 'ORIG_HEAD' in the Description
      git-merge.txt: mention 'ORIG_HEAD' in the Description
      revisions.txt: be explicit about commands writing 'ORIG_HEAD'
      git-rebase.txt: add a note about 'ORIG_HEAD' being overwritten

René Scharfe (10):
      t4205: don't exit test script on failure
      list-objects-filter: plug pattern_list leak
      t3920: support CR-eating grep
      reflog: clear leftovers in reflog_expiry_cleanup()
      commit: skip already cleared parents in clear_commit_marks_1()
      am: don't pass strvec to apply_parse_options()
      object-file: inline write_buffer()
      use enhanced basic regular expressions on macOS
      ls-tree: fix expansion of repeated %(path)
      ls-tree: remove dead store and strbuf for quote_c_style()

Rubén Justo (1):
      branch: force-copy a branch to itself via @{-1} is a no-op

Seija Kijin (1):
      git: remove duplicate includes

Taylor Blau (6):
      ci: avoid unnecessary builds
      t1300: demonstrate failure when renaming sections with long lines
      config: avoid fixed-sized buffer when renaming/deleting a section
      config.c: avoid integer truncation in `copy_or_rename_section_in_file()`
      config.c: disallow overly-long lines in `copy_or_rename_section_in_file()`
      Git 2.30.9

William Sprent (1):
      dir: check for single file cone patterns

Ævar Arnfjörð Bjarmason (6):
      t5314: check exit code of "git"
      t7600: don't ignore "rev-parse" exit code in helper
      t4023: fix ignored exit codes of git
      bundle: don't segfault on "git bundle <subcmd>"
      builtin/bundle.c: remove superfluous "newargc" variable
      bundle <cmd>: have usage_msg_opt() note the missing "<file>"


Version v2.39.2; changes since v2.39.1:
---------------------------------------

Jeff King (3):
      http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT
      http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION
      http: support CURLOPT_PROTOCOLS_STR

Johannes Schindelin (12):
      fsck: document the new `gitattributes` message IDs
      attr: adjust a mismatched data type
      attr: adjust a mismatched data type
      Git 2.31.7
      Git 2.32.6
      Git 2.33.7
      Git 2.34.7
      Git 2.35.7
      Git 2.36.5
      Git 2.37.6
      Git 2.38.4
      Git 2.39.2

Junio C Hamano (1):
      Git 2.30.8

Patrick Steinhardt (1):
      apply: fix writing behind newly created symbolic links

Taylor Blau (3):
      t5619: demonstrate clone_local() with ambiguous transport
      clone: delay picking a transport until after get_repo_path()
      dir-iterator: prevent top-level symlinks without FOLLOW_SYMLINKS


Version v2.39.1; changes since v2.39.0:
---------------------------------------

Carlo Marcelo Arenas Belón (1):
      test-lib: add prerequisite for 64-bit platforms

Junio C Hamano (10):
      Git 2.30.7
      Git 2.31.6
      Git 2.32.5
      Git 2.33.6
      Git 2.34.6
      Git 2.35.6
      Git 2.36.4
      Git 2.37.5
      Git 2.38.3
      Git 2.39.1

Patrick Steinhardt (25):
      attr: fix overflow when upserting attribute with overly long name
      attr: fix out-of-bounds read with huge attribute names
      attr: fix integer overflow when parsing huge attribute names
      attr: fix out-of-bounds write when parsing huge number of attributes
      attr: fix out-of-bounds read with unreasonable amount of patterns
      attr: fix integer overflow with more than INT_MAX macros
      attr: harden allocation against integer overflows
      attr: fix silently splitting up lines longer than 2048 bytes
      attr: ignore attribute lines exceeding 2048 bytes
      attr: ignore overly large gitattributes files
      pretty: fix out-of-bounds write caused by integer overflow
      pretty: fix out-of-bounds read when left-flushing with stealing
      pretty: fix out-of-bounds read when parsing invalid padding format
      pretty: fix adding linefeed when placeholder is not expanded
      pretty: fix integer overflow in wrapping format
      utf8: fix truncated string lengths in `utf8_strnwidth()`
      utf8: fix returning negative string width
      utf8: fix overflow when returning string width
      utf8: fix checking for glyph width in `strbuf_utf8_replace()`
      utf8: refactor `strbuf_utf8_replace` to not rely on preallocated buffer
      pretty: restrict input lengths for padding and wrapping formats
      fsck: refactor `fsck_blob()` to allow for more checks
      fsck: pull out function to check a set of blobs
      fsck: move checks for gitattributes
      fsck: implement checks for gitattributes


Version v2.39.0; changes since v2.39.0-rc2:
-------------------------------------------

Alexander Shopov (1):
      l10n: bg.po: Updated Bulgarian translation (5501t)

Bagas Sanjaya (1):
      l10n: po-id for 2.39 (round 1)

Emir SARI (1):
      l10n: tr: v2.39.0 updates

Fangyi Zhou (1):
      l10n: zh_CN v2.39.0 round 1

Jean-Noël Avila (1):
      l10n: fr: v2.39 rnd 1

Johannes Schindelin (3):
      ci: avoid using deprecated {up,down}load-artifacts Action
      RelNotes: a couple of typofixes
      ci: use a newer `github-script` version

Jordi Mas (1):
      l10n: Update Catalan translation

Junio C Hamano (2):
      Git 2.38.2
      Git 2.39

Matheus Tavares (1):
      mailmap: update email address of Matheus Tavares

Oscar Dominguez (1):
      ci(main): upgrade actions/checkout to v3

Peter Krefting (1):
      l10n: sv.po: Update Swedish translation (5501t0f0)

Ralf Thielow (1):
      l10n: de.po: update German translation

Victoria Dye (1):
      rebase --update-refs: avoid unintended ref deletion

Yi-Jyun Pan (1):
      l10n: zh_TW.po: Git 2.39-rc2

Ævar Arnfjörð Bjarmason (3):
      CI: upgrade to macos-12, and pin OSX version
      CI: don't explicitly pick "bash" shell outside of Windows, fix regression
      CI: migrate away from deprecated "set-output" syntax


Version v2.39.0-rc2; changes since v2.39.0-rc1:
-----------------------------------------------

Junio C Hamano (1):
      Git 2.39-rc2

Ævar Arnfjörð Bjarmason (2):
      Makefiles: change search through $(MAKEFLAGS) for GNU make 4.4
      cocci: avoid "should ... be a metavariable" warnings


Version v2.39.0-rc1; changes since v2.39.0-rc0:
-----------------------------------------------

Andreas Hasenack (1):
      chainlint.pl: fix /proc/cpuinfo regexp

Eric Sunshine (1):
      lib-httpd: extend module location auto-detection

Eric Wong (1):
      prune: quiet ENOENT on missing directories

Glen Choo (1):
      object-file: use real paths when adding alternates

Jean-Noël Avila (1):
      i18n: fix command template placeholder format

Jeff King (2):
      parse_object(): drop extra "has" check before checking object type
      parse_object(): check on-disk type of suspected blob

Jiang Xin (5):
      t5516: fail to run in verbose mode
      github-actions: run gcc-8 on ubuntu-20.04 image
      ci: remove the pipe after "p4 -V" to catch errors
      ci: use the same version of p4 on both Linux and macOS
      ci: install python on ubuntu

Junio C Hamano (3):
      Another batch before -rc1
      A bit more before -rc1
      Git 2.39-rc1

Kyle Meyer (1):
      merge-recursive: fix variable typo in error message

Paul Smith (1):
      Makefile: avoid multiple patterns when recipes generate one file

Phillip Wood (3):
      git_parse_unsigned: reject negative values
      config: require at least one digit when parsing numbers
      git_parse_signed(): avoid integer overflow

René Scharfe (1):
      list-objects-filter: plug combine_filter_data leak

SZEDER Gábor (3):
      line-log: free diff queue when processing non-merge commits
      line-log: free the diff queues' arrays when processing merge commits
      diff.c: use diff_free_queue()

Ævar Arnfjörð Bjarmason (13):
      cache.h: remove unused "the_index" compat macros
      builtin/{grep,log}.: don't define "USE_THE_INDEX_COMPATIBILITY_MACROS"
      cocci & cache.h: remove rarely used "the_index" compat macros
      read-cache API & users: make discard_index() return void
      cocci: add a index-compatibility.pending.cocci
      cocci & cache.h: apply a selection of "pending" index-compatibility
      cocci & cache.h: apply variable section of "pending" index-compatibility
      cocci: apply "pending" index-compatibility to "t/helper/*.c"
      {builtin/*,repository}.c: add & use "USE_THE_INDEX_VARIABLE"
      cache.h & test-tool.h: add & use "USE_THE_INDEX_VARIABLE"
      cocci: apply "pending" index-compatibility to some "builtin/*.c"
      parse_object(): simplify blob conditional
      trace2 tests: guard pthread test with "PTHREAD"


Version v2.39.0-rc0; changes since v2.38.5:
-------------------------------------------

Alex Henrie (1):
      push: improve grammar of branch.autoSetupMerge advice

Anh Le (2):
      index: add trace2 region for clear skip worktree
      index: raise a bug if the index is materialised more than once

Arthur Chan (1):
      fuzz: reorganise the path for existing oss-fuzz fuzzers

Daniel Sonbolian (1):
      git.c: improve code readability in cmd_main()

Debra Obondo (1):
      t7001-mv.sh: modernizing test script using functions

Derrick Stolee (14):
      maintenance: add 'unregister --force'
      scalar: make 'unregister' idempotent
      gc: replace config subprocesses with API calls
      string-list: document iterator behavior on NULL input
      bundle-uri: use plain string in find_temp_filename()
      bundle-uri: create bundle_list struct and helpers
      bundle-uri: create base key-value pair parsing
      bundle-uri: parse bundle list in config format
      bundle-uri: limit recursion depth for bundle lists
      bundle: properly clear all revision flags
      bundle-uri: fetch a list of bundles
      bundle: add flags to verify_bundle()
      bundle-uri: quiet failed unbundlings
      bundle-uri: suppress stderr from remote-https

Diomidis Spinellis (1):
      grep: fix multibyte regex handling under macOS

Elijah Newren (4):
      merge-ort: fix bug with dir rename vs change dir to symlink
      merge-tree: update documentation for differences in -z output
      merge-tree: support multiple batched merges with --stdin
      sparse-checkout.txt: new document with sparse-checkout directions

Emily Shaffer (2):
      gc: add tests for --cruft and friends
      config: let feature.experimental imply gc.cruftPacks=true

Eric DeCosta (6):
      fsmonitor: refactor filesystem checks to common interface
      fsmonitor: relocate socket file if .git directory is remote
      fsmonitor: avoid socket location check if using hook
      fsmonitor: deal with synthetic firmlinks on macOS
      fsmonitor: check for compatability before communicating with fsmonitor
      fsmonitor: add documentation for allowRemote and socketDir options

Eric Sunshine (8):
      check-non-portable-shell: detect obsolescent egrep/fgrep
      chainlint: add explanatory comments
      chainlint: tighten accuracy when consuming input stream
      chainlint: latch start/end position of each token
      chainlint: annotate original test definition rather than token stream
      chainlint: sidestep impoverished macOS "terminfo"
      chainlint: latch line numbers at which each token starts and ends
      chainlint: prefix annotated test definition with line numbers

Eric Wong (1):
      delta-islands: free island-related data after use

Glen Choo (2):
      config: respect includes in protected config
      http: redact curl h2h3 headers in info

Han-Wen Nienhuys (1):
      refs: unify parse_worktree_ref() and ref_type()

Jeff Hostetler (8):
      trace2: use size_t alloc,nr_open_regions in tr2tls_thread_ctx
      tr2tls: clarify TLS terminology
      api-trace2.txt: elminate section describing the public trace2 API
      trace2: rename the thread_name argument to trace2_thread_start
      trace2: improve thread-name documentation in the thread-context
      trace2: convert ctx.thread_name from strbuf to pointer
      trace2: add stopwatch timers
      trace2: add global counter mechanism

Jeff King (27):
      fsmonitor: fix leak of warning message
      diffstat_consume(): assert non-zero length
      submodule--helper: drop unused argc from module_list_compute()
      update-index: drop unused argc from do_reupdate()
      mark unused parameters in trivial compat functions
      object-file: mark unused parameters in hash_unknown functions
      string-list: mark unused callback parameters
      date: mark unused parameters in handler functions
      apply: mark unused parameters in handlers
      apply: mark unused parameters in noop error/warning routine
      convert: mark unused parameter in null stream filter
      diffcore-pickaxe: mark unused parameters in pickaxe functions
      ll-merge: mark unused parameters in callbacks
      Makefile: force -O0 when compiling with SANITIZE=leak
      repack: convert "names" util bitfield to array
      repack: populate extension bits incrementally
      repack: expand error message for missing pack files
      repack: use tempfiles for signal cleanup
      repack: drop remove_temporary_files()
      Git.pm: trust rev-parse to find bare repositories
      t7700: annotate cruft-pack failure with ok=sigpipe
      shortlog: accept `--date`-related options
      t5516: move plaintext-password tests from t5601 and t5516
      ref-filter: fix parsing of signatures without blank lines
      ref-filter: fix parsing of signatures with CRLF and no body
      branch: gracefully handle '-d' on orphan HEAD
      t: run t5551 tests with both HTTP and HTTP/2

Jerry Zhang (6):
      patch-id: fix stable patch id for binary / header-only
      patch-id: use stable patch-id for rebases
      builtin: patch-id: fix patch-id with binary diffs
      patch-id: fix patch-id for mode changes
      builtin: patch-id: add --verbatim as a command mode
      builtin: patch-id: remove unused diff-tree prefix

Johannes Schindelin (9):
      cmake: make it easier to diagnose regressions in CTest runs
      cmake: copy the merge tools for testing
      add -p: avoid ambiguous signed/unsigned comparison
      cmake: avoid editing t/test-lib.sh
      cmake: increase time-out for a long-running test
      t5516/t5601: be less strict about the number of credential warnings
      scalar reconfigure -a: remove stale `scalar.repo` entries
      ci: use a newer `github-script` version
      tests(scalar): tighten the stale `scalar.repo` test some

John Cai (2):
      fsck: remove the unused BAD_TAG_OBJECT
      fsck: document msg-id

Jonathan Tan (4):
      promisor-remote: remove a return value
      promisor-remote: die upon failing fetch
      negotiator/skipping: avoid stack overflow
      Doc: document push.recurseSubmodules=only

Julia Ramer (1):
      embargoed releases: also describe the git-security list and the process

Junio C Hamano (17):
      Start 2.39 cycle
      symbolic-ref: teach "--[no-]recurse" option
      The (real) first batch for 2.39
      The second batch
      The third batch
      The fourth batch
      ci: add address and undefined sanitizer tasks
      ci: use DC_SHA1=YesPlease on osx-clang job for CI
      The fifth batch
      diff: leave NEEDWORK notes in show_stats() function
      fsck: remove the unused MISSING_TREE_OBJECT
      Documentation: add lint-fsck-msgids
      The sixth batch
      The seventh batch
      The eighth batch
      adjust_shared_perm(): leave g+s alone when the group does not matter
      Git 2.39-rc0

Kousik Sanagavarapu (1):
      repository-version.txt: partialClone casing change

M Hickford (4):
      Documentation/gitcredentials.txt: mention password alternatives
      Documentation: increase example cache timeout to 1 hour
      docs: clarify that credential discards unrecognised attributes
      Docs: describe how a credential-generating helper works

Martin Ågren (1):
      test-lib-functions: drop redundant diagnostic print

Matthew John Cheetham (3):
      wincred: ignore unknown lines (do not die)
      netrc: ignore unknown lines (do not die)
      osxkeychain: clarify that we ignore unknown lines

Michael J Gruber (1):
      notes: avoid empty line in template

Michael McClimon (1):
      Git.pm: add semicolon after catch statement

Nsengiyumva Wilberforce (1):
      t1002: modernize outdated conditional

Patrick Steinhardt (7):
      refs: fix memory leak when parsing hideRefs config
      refs: get rid of global list of hidden refs
      revision: move together exclusion-related functions
      revision: introduce struct to handle exclusions
      revision: add new parameter to exclude hidden refs
      rev-parse: add `--exclude-hidden=` option
      receive-pack: only use visible refs for connectivity check

Philip Oakley (4):
      doc: use "commit-graph" hyphenation consistently
      doc: use 'object database' not ODB or abbreviation
      glossary: add "commit graph" description
      glossary: add reachability bitmap description

Philippe Blain (9):
      test-lib-functions: mark 'test_commit' variables as 'local'
      subtree: use 'git rev-parse --verify [--quiet]' for better error messages
      subtree: add 'die_incompatible_opt' function to reduce duplication
      subtree: prefix die messages with 'fatal'
      subtree: define a variable before its first use in 'find_latest_squash'
      subtree: use named variables instead of "$@" in cmd_pull
      subtree: process 'git-subtree-split' trailer in separate function
      subtree: fix squash merging after annotated tag was squashed merged
      subtree: fix split after annotated tag was squashed merged

Phillip Wood (20):
      t3416: tighten two tests
      t3416: set $EDITOR in subshell
      rebase: be stricter when reading state files containing oids
      rebase: store orig_head as a commit
      rebase: rename merge_base to branch_base
      rebase: factor out branch_base calculation
      rebase --keep-base: imply --reapply-cherry-picks
      rebase --keep-base: imply --no-fork-point
      rebase --apply: remove duplicated code
      t3406: rework rebase reflog tests
      rebase --merge: fix reflog when continuing
      rebase --merge: fix reflog message after skipping
      rebase --apply: respect GIT_REFLOG_ACTION
      rebase --apply: make reflog messages match rebase --merge
      rebase --abort: improve reflog message
      rebase: cleanup action handling
      sequencer: stop exporting GIT_REFLOG_ACTION
      rebase: stop exporting GIT_REFLOG_ACTION
      sequencer: unify label lookup
      sequencer: tighten label lookups

René Scharfe (16):
      revision: use strtol_i() for exclude_parent
      revisions.txt: unspecify order of resolved parts of ^!
      diff: support ^! for merges
      submodule: use strvec_pushf() for --super-prefix
      run-command: fix return value comment
      am: simplify building "show" argument list
      bisect: simplify building "checkout" argument list
      bisect--helper: factor out do_bisect_run()
      sequencer: simplify building argument list in do_exec()
      use child_process member "args" instead of string array variable
      use child_process members "args" and "env" directly
      replace and remove run_command_v_opt_cd_env()
      replace and remove run_command_v_opt_tr2()
      replace and remove run_command_v_opt_cd_env_tr2()
      replace and remove run_command_v_opt()
      archive-tar: report filter start error only once

Ronan Pigott (2):
      for-each-repo: interpolate repo path arguments
      maintenance: add option to register in a specific config

Rubén Justo (3):
      branch: support for shortcuts like @{-1}, completed
      branch: error copying or renaming a detached HEAD
      branch: error code with --edit-description

SZEDER Gábor (1):
      Documentation/build-docdep.perl: generate sorted output

Shaoxuan Yuan (1):
      builtin/grep.c: integrate with sparse index

Sotir Danailov (1):
      docs: git-send-email: difference between ssl and tls smtp-encryption

Taylor Blau (26):
      midx.c: fix whitespace typo
      midx.c: consider annotated tags during bitmap selection
      midx.c: instrument MIDX and bitmap generation with trace2 regions
      pack-bitmap-write.c: instrument number of reused bitmaps
      builtin/repack.c: remove redundant pack-based bitmaps
      repack: don't remove .keep packs with `--pack-kept-objects`
      builtin/repack.c: pass "out" to `prepare_pack_objects`
      builtin/repack.c: pass "cruft_expiration" to `write_cruft_pack`
      builtin/repack.c: write cruft packs to arbitrary locations
      builtin/repack.c: implement `--expire-to` for storing pruned objects
      shortlog: make trailer insertion a noop when appropriate
      shortlog: extract `--group` fragment for translation
      shortlog: support arbitrary commit format `--group`s
      shortlog: extract `shortlog_finish_setup()`
      shortlog: implement `--group=author` in terms of `--group=<format>`
      shortlog: implement `--group=committer` in terms of `--group=<format>`
      apply: reject patches larger than ~1 GiB
      Documentation/howto/maintain-git.txt: fix Meta/redo-jch.sh invocation
      The ninth batch
      Documentation: build redo-jch.sh from master..jch
      Documentation: build redo-seen.sh from jch..seen
      The tenth batch
      The eleventh batch
      The twelfth batch
      builtin/gc.c: fix use-after-free in maintenance_unregister()
      The thirteenth batch

Torsten Bögershausen (1):
      diff.c: use utf8_strwidth() to count display width

Victoria Dye (6):
      rebase --update-refs: avoid unintended ref deletion
      cache-tree: add perf test comparing update and prime
      unpack-trees: add 'skip_cache_tree_update' option
      reset: use 'skip_cache_tree_update' option
      read-tree: use 'skip_cache_tree_update' option
      rebase: use 'skip_cache_tree_update' option

Vincent Bernat (1):
      ls-files: fix --ignored and --killed flags in synopsis

Vlad-Stefan Harbuz (1):
      Documentation: fix typo

srz_zumix (1):
      fsmonitor--daemon: on macOS support symlink

Ævar Arnfjörð Bjarmason (94):
      grep.c: remove "extended" in favor of "pattern_expression", fix segfault
      bundle-uri: create "key=value" line parsing
      bundle-uri: unit test "key=value" parsing
      run-command test helper: use "else if" pattern
      run-command API: have "run_processes_parallel{,_tr2}()" return void
      run-command tests: use "return", not "exit"
      run-command API: make "n" parameter a "size_t"
      run-command API: don't fall back on online_cpus()
      run-command.c: use designated init for pp_init(), add "const"
      run-command API: have run_process_parallel() take an "opts" struct
      run-command API: move *_tr2() users to "run_processes_parallel()"
      run-command.c: make "struct parallel_processes" const if possible
      run-command.c: don't copy *_fn to "struct parallel_processes"
      run-command.c: don't copy "ungroup" to "struct parallel_processes"
      run-command.c: don't copy "data" to "struct parallel_processes"
      run-command.c: use "opts->processes", not "pp->max_processes"
      run-command.c: pass "opts" further down, and use "opts->processes"
      run-command.c: remove "max_processes", add "const" to signal() handler
      tests: assert *.txt SYNOPSIS and -h output
      CodingGuidelines: update and clarify command-line conventions
      builtin/bundle.c: indent with tabs
      bundle: define subcommand -h in terms of command -h
      doc SYNOPSIS: don't use ' for subcommands
      doc SYNOPSIS: consistently use ' for commands
      built-ins: consistently add "\n" between "usage" and options
      doc txt & -h consistency: word-wrap
      doc txt & -h consistency: fix incorrect alternates syntax
      doc txt & -h consistency: add "-z" to cat-file "-h"
      doc txt & -h consistency: balance unbalanced "[" and "]"
      doc txt & -h consistency: correct padding around "[]()"
      stash doc SYNOPSIS & -h: correct padding around "[]()"
      doc txt & -h consistency: use "<options>", not "<options>..."
      doc SYNOPSIS & -h: use "-" to separate words in labels, not "_"
      doc txt & -h consistency: fix mismatching labels
      doc txt & -h consistency: add or fix optional "--" syntax
      doc txt & -h consistency: make output order consistent
      doc txt & -h consistency: add missing options and labels
      doc txt & -h consistency: make "rerere" consistent
      doc txt & -h consistency: make "read-tree" consistent
      doc txt & -h consistency: make "bundle" consistent
      doc txt & -h consistency: use "git foo" form, not "git-foo"
      doc txt & -h consistency: add missing options
      doc txt & -h consistency: make "stash" consistent
      doc txt & -h consistency: make "annotate" consistent
      doc txt & -h consistency: use "[<label>...]" for "zero or more"
      doc txt & -h consistency: make "diff-tree" consistent
      doc txt & -h consistency: make "commit" consistent
      reflog doc: list real subcommands up-front
      worktree: define subcommand -h in terms of command -h
      doc txt & -h consistency: make "worktree" consistent
      tests: start asserting that *.txt SYNOPSIS matches -h output
      tests: assert consistent whitespace in -h output
      fsmonitor OSX: compile with DC_SHA1=YesPlease
      merge: remove always-the-same "verbose" arguments
      hook tests: fix redirection logic error in 96e7225b310
      submodule tests: reset "trace.out" between "grep" invocations
      run-command tests: test stdout of run_command_parallel()
      Makefile + shared.mak: rename and indent $(QUIET_SPATCH_T)
      cocci rules: remove unused "F" metavariable from pending rule
      Makefile: add ability to TAB-complete cocci *.patch rules
      Makefile: have "coccicheck" re-run if flags change
      Makefile: split off SPATCH_BATCH_SIZE comment from "cocci" heading
      cocci: split off include-less "tests" from SPATCH_FLAGS
      cocci: split off "--all-includes" from SPATCH_FLAGS
      cocci: make "coccicheck" rule incremental
      cocci: optimistically use COMPUTE_HEADER_DEPENDENCIES
      Makefile: copy contrib/coccinelle/*.cocci to build/
      cocci rules: remove <id>'s from rules that don't need them
      cocci: run against a generated ALL.cocci
      spatchcache: add a ccache-alike for "spatch"
      Makefile: always (re)set DC_SHA1 on fallback
      INSTALL: remove discussion of SHA-1 backends
      Makefile: correct DC_SHA1 documentation
      Makefile: create and use sections for "define" flag listing
      Makefile: rephrase the discussion of *_SHA1 knobs
      Makefile: document default SHA-256 backend
      Makefile: document SHA-1 and SHA-256 default and selection order
      Makefile & test-tool: replace "DC_SHA1" variable with a "define"
      Makefile: document default SHA-1 backend on OSX
      Makefile: discuss SHAttered in *_SHA{1,256} discussion
      submodule--helper: move "config" to a test-tool
      submodule tests: add tests for top-level flag output
      submodule--helper: fix a memory leak in "status"
      submodule tests: test for a "foreach" blind-spot
      submodule.c: refactor recursive block out of absorb function
      submodule API & "absorbgitdirs": remove "----recursive" option
      submodule--helper: remove --prefix from "absorbgitdirs"
      submodule--helper: drop "update --prefix <pfx>" for "-C <pfx> update"
      submodule--helper: use OPT_SUBCOMMAND() API
      revisions API: extend the nascent REV_INFO_INIT macro
      t7610: fix flaky timeout issue, don't clone from example.com
      Makefile: don't create a ".build/.build/" for cocci, fix output
      maintenance --unregister: fix uninit'd data use & -Wdeclaration-after-statement
      t7610: use "file:///dev/null", not "/dev/null", fixes MinGW

Đoàn Trần Công Danh (7):
      CodingGuidelines: allow grep -E
      t: remove \{m,n\} from BRE grep usage
      t: convert egrep usage to "grep -E"
      t: convert fgrep usage to "grep -F"
      bisect--helper: remove unused options
      bisect--helper: move all subcommands into their own functions
      bisect--helper: parse subcommand with OPT_SUBCOMMAND


Version v2.38.5; changes since v2.38.4:
---------------------------------------

Derrick Stolee (1):
      ci: update 'static-analysis' to Ubuntu 22.04

Jeff King (7):
      http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT
      http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION
      range-diff: drop useless "offset" variable from read_patches()
      http: support CURLOPT_PROTOCOLS_STR
      range-diff: handle unterminated lines in read_patches()
      range-diff: use ssize_t for parsed "len" in read_patches()
      Makefile: force -O0 when compiling with SANITIZE=leak

Jiang Xin (4):
      github-actions: run gcc-8 on ubuntu-20.04 image
      ci: remove the pipe after "p4 -V" to catch errors
      ci: use the same version of p4 on both Linux and macOS
      ci: install python on ubuntu

Johannes Schindelin (20):
      compat/win32/syslog: fix use-after-realloc
      nedmalloc: avoid new compile error
      t0033: GETTEXT_POISON fix
      t0003: GETTEXT_POISON fix, part 1
      t0003: GETTEXT_POISON fix, conclusion
      t5619: GETTEXT_POISON fix
      t5604: GETTEXT_POISON fix, part 1
      t5604: GETTEXT_POISON fix, conclusion
      clone.c: avoid "exceeds maximum object size" error with GCC v12.x
      apply --reject: overwrite existing `.rej` symlink if it exists
      gettext: avoid using gettext if the locale dir is not present
      tests: avoid using `test_i18ncmp`
      Git 2.31.8
      Git 2.32.7
      Git 2.33.8
      Git 2.34.8
      Git 2.35.8
      Git 2.36.6
      Git 2.37.7
      Git 2.38.5

Junio C Hamano (1):
      http.c: clear the 'finished' member once we are done with it

Taylor Blau (5):
      t1300: demonstrate failure when renaming sections with long lines
      config: avoid fixed-sized buffer when renaming/deleting a section
      config.c: avoid integer truncation in `copy_or_rename_section_in_file()`
      config.c: disallow overly-long lines in `copy_or_rename_section_in_file()`
      Git 2.30.9


Version v2.38.4; changes since v2.38.3:
---------------------------------------

Jeff King (3):
      http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT
      http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION
      http: support CURLOPT_PROTOCOLS_STR

Johannes Schindelin (9):
      attr: adjust a mismatched data type
      Git 2.31.7
      Git 2.32.6
      Git 2.33.7
      Git 2.34.7
      Git 2.35.7
      Git 2.36.5
      Git 2.37.6
      Git 2.38.4

Junio C Hamano (1):
      Git 2.30.8

Patrick Steinhardt (1):
      apply: fix writing behind newly created symbolic links

Taylor Blau (3):
      t5619: demonstrate clone_local() with ambiguous transport
      clone: delay picking a transport until after get_repo_path()
      dir-iterator: prevent top-level symlinks without FOLLOW_SYMLINKS


Version v2.38.3; changes since v2.38.2:
---------------------------------------

Carlo Marcelo Arenas Belón (1):
      test-lib: add prerequisite for 64-bit platforms

Junio C Hamano (9):
      Git 2.30.7
      Git 2.31.6
      Git 2.32.5
      Git 2.33.6
      Git 2.34.6
      Git 2.35.6
      Git 2.36.4
      Git 2.37.5
      Git 2.38.3

Patrick Steinhardt (25):
      attr: fix overflow when upserting attribute with overly long name
      attr: fix out-of-bounds read with huge attribute names
      attr: fix integer overflow when parsing huge attribute names
      attr: fix out-of-bounds write when parsing huge number of attributes
      attr: fix out-of-bounds read with unreasonable amount of patterns
      attr: fix integer overflow with more than INT_MAX macros
      attr: harden allocation against integer overflows
      attr: fix silently splitting up lines longer than 2048 bytes
      attr: ignore attribute lines exceeding 2048 bytes
      attr: ignore overly large gitattributes files
      pretty: fix out-of-bounds write caused by integer overflow
      pretty: fix out-of-bounds read when left-flushing with stealing
      pretty: fix out-of-bounds read when parsing invalid padding format
      pretty: fix adding linefeed when placeholder is not expanded
      pretty: fix integer overflow in wrapping format
      utf8: fix truncated string lengths in `utf8_strnwidth()`
      utf8: fix returning negative string width
      utf8: fix overflow when returning string width
      utf8: fix checking for glyph width in `strbuf_utf8_replace()`
      utf8: refactor `strbuf_utf8_replace` to not rely on preallocated buffer
      pretty: restrict input lengths for padding and wrapping formats
      fsck: refactor `fsck_blob()` to allow for more checks
      fsck: pull out function to check a set of blobs
      fsck: move checks for gitattributes
      fsck: implement checks for gitattributes


Version v2.38.2; changes since v2.38.1:
---------------------------------------

Alejandro R. Sedeño (1):
      git-compat-util.h: GCC deprecated message arg only in GCC 4.5+

Alex Henrie (1):
      fsmonitor--daemon: don't translate literal commands

Derrick Stolee (1):
      bundle-uri: fix technical doc issues

Jeff Hostetler (1):
      config.mak.dev: disable suggest braces error on old clang versions

Jeff King (12):
      fsck: free tree buffers after walking unreachable objects
      fsck: turn off save_commit_buffer
      parse_object_buffer(): respect save_commit_buffer
      clone: allow "--bare" with "-o"
      remote: handle rename of remote without fetch refspec
      sequencer: detect author name errors in read_author_script()
      test-submodule: inline resolve_relative_url() function
      multi-pack-index: avoid writing to global in option callback
      commit: avoid writing to global in option callback
      attr: drop DEBUG_ATTR code
      dir: use fspathncmp() in pl_hashmap_cmp()
      Makefile: force -O0 when compiling with SANITIZE=leak

Jiang Xin (4):
      github-actions: run gcc-8 on ubuntu-20.04 image
      ci: remove the pipe after "p4 -V" to catch errors
      ci: use the same version of p4 on both Linux and macOS
      ci: install python on ubuntu

Johannes Altmanninger (1):
      sequencer: avoid dropping fixup commit that targets self via commit-ish

Johannes Schindelin (4):
      merge-ort: fix segmentation fault in read-only repositories
      merge-ort: return early when failing to write a blob
      ci: avoid using deprecated {up,down}load-artifacts Action
      ci: use a newer `github-script` version

John Cai (1):
      tmp-objdir: skip clean up when handling a signal

Junio C Hamano (10):
      environ: document GIT_SSL_NO_VERIFY
      environ: explain Boolean environment variables
      environ: GIT_FLUSH should be made a usual Boolean
      environ: simplify description of GIT_INDEX_FILE
      environ: GIT_INDEX_VERSION affects not just a new repository
      branch: do not fail a no-op --edit-desc
      SubmittingPatches: use usual capitalization in the log message body
      Downmerge a handful of topics for 2.38.2
      Downmerge a bit more for 2.38.2
      Git 2.38.2

Noah Betzen (1):
      mergetool.txt: typofix 'overwriten' -> 'overwritten'

Oscar Dominguez (1):
      ci(main): upgrade actions/checkout to v3

Phillip Wood (3):
      mailinfo -b: fix an out of bounds access
      ssh signing: return an error when signature cannot be read
      t3435: remove redundant test case

René Scharfe (4):
      gc: simplify maintenance_task_pack_refs()
      t/lib-httpd: pass LANG and LC_ALL to Apache
      bisect--helper: plug strvec leak
      archive: deduplicate verbose printing

Rubén Justo (2):
      ref-filter.c: fix a leak in get_head_description
      branch: description for non-existent branch errors

Sergey Organov (3):
      diff-merges: cleanup func_by_opt()
      diff-merges: cleanup set_diff_merges()
      diff-merges: clarify log.diffMerges documentation

Taylor Blau (7):
      Documentation/git-multi-pack-index.txt: fix typo
      Documentation/git-multi-pack-index.txt: clarify expire behavior
      midx.c: prevent `expire` from removing the cruft pack
      midx.c: avoid cruft packs with `repack --batch-size=0`
      midx.c: replace `xcalloc()` with `CALLOC_ARRAY()`
      midx.c: remove unnecessary loop condition
      midx.c: avoid cruft packs with non-zero `repack --batch-size`

Victoria Dye (2):
      read-cache: avoid misaligned reads in index v4
      rebase --update-refs: avoid unintended ref deletion

Ævar Arnfjörð Bjarmason (9):
      test-lib: have SANITIZE=leak imply TEST_NO_MALLOC_CHECK
      CodingGuidelines: update for C99
      CodingGuidelines: mention dynamic C99 initializer elements
      CodingGuidelines: allow declaring variables in for loops
      CodingGuidelines: mention C99 features we can't use
      CodingGuidelines: recommend against unportable C99 struct syntax
      CI: upgrade to macos-12, and pin OSX version
      CI: don't explicitly pick "bash" shell outside of Windows, fix regression
      CI: migrate away from deprecated "set-output" syntax

Đoàn Trần Công Danh (1):
      Makefile: clarify runtime relative gitexecdir


Version v2.38.1; changes since v2.38.0:
---------------------------------------

Jeff King (2):
      shell: add basic tests
      shell: limit size of interactive commands

Kevin Backhouse (1):
      alias.c: reject too-long cmdline strings in split_cmdline()

Taylor Blau (31):
      builtin/clone.c: disallow `--local` clones with symlinks
      t/lib-submodule-update.sh: allow local submodules
      t/t1NNN: allow local submodules
      t/2NNNN: allow local submodules
      t/t3NNN: allow local submodules
      t/t4NNN: allow local submodules
      t/t5NNN: allow local submodules
      t/t6NNN: allow local submodules
      t/t7NNN: allow local submodules
      t/t9NNN: allow local submodules
      transport: make `protocol.file.allow` be "user" by default
      t1092: prepare for changing protocol.file.allow
      t2080: prepare for changing protocol.file.allow
      t1092: prepare for changing protocol.file.allow
      t2080: prepare for changing protocol.file.allow
      t3207: prepare for changing protocol.file.allow
      t5516: prepare for changing protocol.file.allow
      t5537: prepare for changing protocol.file.allow
      t7814: prepare for changing protocol.file.allow
      t3206: prepare for changing protocol.file.allow
      t5537: prepare for changing protocol.file.allow
      Git 2.30.6
      Git 2.31.5
      Git 2.32.4
      Git 2.33.5
      Git 2.34.5
      Git 2.35.5
      Git 2.36.3
      t7527: prepare for changing protocol.file.allow
      Git 2.37.4
      Git 2.38.1


Version v2.38.0; changes since v2.38.0-rc2:
-------------------------------------------

Alex Henrie (2):
      l10n: fr: don't say that merge is "the default strategy"
      l10n: es: update translation

Alexander Shopov (3):
      l10n: bg.po: Updated Bulgarian translation (5482t)
      l10n: bg.po: Updated Bulgarian translation (5484t)
      l10n: bg.po: Updated Bulgarian translation (5484t)

Bagas Sanjaya (3):
      l10n: po-id for 2.38 (round 1)
      l10n: po-id for 2.38 (round 2)
      l10n: po-id for 2.38 (round 3)

Emir SARI (3):
      l10n: tr: Update translations for v2.38.0 round #1
      l10n: tr: v2.38.0 round 2
      l10n: tr: v2.38.0 3rd round

Fangyi Zhou (2):
      l10n: zh_CN v2.38.0 rounds 1 & 2
      l10n: zh_CN: 2.38.0 round 3

Hubert Bossot (1):
      l10n: fr: The word 'branche' is only feminine

Jean-Noël Avila (3):
      l10n: fr: v2.38 round 1
      l10n: fr: v2.38.0 round 2
      l10n: fr: v2.38.0 round 3

Jordi Mas (3):
      l10n: Update Catalan translation
      l10n: Update Catalan translation
      l10n: Update Catalan translation

Junio C Hamano (1):
      Git 2.38

Peter Krefting (2):
      l10n: sv.po: Update Swedish translation (5482t0f0u)
      l10n: sv.po: Update Swedish translation (5484t0f0u)

Ralf Thielow (2):
      l10n: de.po: update German translation
      l10n: de.po: update German translation

Yi-Jyun Pan (1):
      l10n: zh_TW.po: Git 2.38.0, round 3


Version v2.38.0-rc2; changes since v2.38.0-rc1:
-----------------------------------------------

Alex Henrie (1):
      pack-bitmap: improve grammar of "xor chain" error message

Derrick Stolee (1):
      pack-bitmap: remove trace2 region from hot path

Jeff King (1):
      list-objects-filter: initialize sub-filter structs

Junio C Hamano (1):
      Git 2.38-rc2

Martin Ågren (1):
      cmd-list.perl: fix identifying man sections


Version v2.38.0-rc1; changes since v2.38.0-rc0:
-----------------------------------------------

Adam Dinwoodie (1):
      t1800: correct test to handle Cygwin

Alex Henrie (2):
      gc: don't translate literal commands
      builtin/diagnose.c: don't translate the two mode values

Elijah Conners (1):
      reftable: use a pointer for pq_entry param

Eric Sunshine (19):
      t: add skeleton chainlint.pl
      chainlint.pl: add POSIX shell lexical analyzer
      chainlint.pl: add POSIX shell parser
      chainlint.pl: add parser to validate tests
      chainlint.pl: add parser to identify test definitions
      chainlint.pl: validate test scripts in parallel
      chainlint.pl: don't require `return|exit|continue` to end with `&&`
      t/Makefile: apply chainlint.pl to existing self-tests
      chainlint.pl: don't require `&` background command to end with `&&`
      chainlint.pl: don't flag broken &&-chain if `$?` handled explicitly
      chainlint.pl: don't flag broken &&-chain if failure indicated explicitly
      chainlint.pl: complain about loops lacking explicit failure handling
      chainlint.pl: allow `|| echo` to signal failure upstream of a pipe
      t/chainlint: add more chainlint.pl self-tests
      test-lib: retire "lint harder" optimization hack
      test-lib: replace chainlint.sed with chainlint.pl
      t/Makefile: teach `make test` and `make prove` to run chainlint.pl
      t: retire unused chainlint.sed
      chainlint: colorize problem annotations and test delimiters

Fangyi Zhou (1):
      help: fix doubled words in explanation for developer interfaces

Jacob Stopak (2):
      Documentation: clean up a few misspelled word typos
      Documentation: clean up various typos in technical docs

Jeff King (4):
      list-objects-filter: don't memset after releasing filter struct
      list-objects-filter: handle null default filter spec
      list-objects-filter: add and use initializers
      list-objects-filter: convert filter_spec to a strbuf

Johannes Schindelin (2):
      git help: special-case `scalar`
      scalar: implement the `help` subcommand

Junio C Hamano (3):
      A bit more of remaining topics before -rc1
      Final batch before -rc1
      Git 2.38-rc1

Miaoqian Lin (1):
      commit-graph: Fix missing closedir in expire_commit_graphs

SZEDER Gábor (1):
      t/Makefile: remove 'test-results' on 'make clean'

Shaoxuan Yuan (10):
      t7002: add tests for moving from in-cone to out-of-cone
      mv: rename check_dir_in_index() to empty_dir_has_sparse_contents()
      mv: free the with_slash in check_dir_in_index()
      mv: check if <destination> is a SKIP_WORKTREE_DIR
      mv: remove BOTH from enum update_mode
      mv: from in-cone to out-of-cone
      mv: cleanup empty WORKING_DIRECTORY
      advice.h: add advise_on_moving_dirty_path()
      mv: check overwrite for in-to-out move
      builtin/mv.c: fix possible segfault in add_slash()

Todd Zullinger (2):
      docs: fix a few recently broken links
      api docs: link to html version of api-trace2

Victoria Dye (11):
      scalar: fix command documentation section header
      scalar: include in standard Git build & installation
      scalar: add to 'git help -a' command list
      scalar-clone: add test coverage
      t/perf: add Scalar performance tests
      t/perf: add 'GIT_PERF_USE_SCALAR' run option
      Documentation/technical: include Scalar technical doc
      diagnose.c: refactor to safely use 'd_type'
      Documentation: add ReviewingGuidelines
      diagnose: add to command-list.txt
      version: fix builtin linking & documentation

ZheNing Hu (1):
      ls-files: fix black space in error message


Version v2.38.0-rc0; changes since v2.37.7:
-------------------------------------------

Abhradeep Chakraborty (6):
      Documentation/technical: describe bitmap lookup table extension
      bitmap: move `get commit positions` code to `bitmap_writer_finish`
      pack-bitmap-write.c: write lookup table extension
      pack-bitmap-write: learn pack.writeBitmapLookupTable and add tests
      pack-bitmap: prepare to read lookup table extension
      bitmap-lookup-table: add performance tests for lookup table

Calvin Wan (1):
      submodule merge: update conflict error message

Carlos López (1):
      grep: add --max-count command line option

Christian Couder (1):
      Documentation: clarify whitespace rules for trailers

Derrick Stolee (40):
      branch: add branch_checked_out() helper
      branch: check for bisects and rebases
      fetch: use new branch_checked_out() and add tests
      branch: use branch_checked_out() when deleting refs
      branch: fix branch_checked_out() leaks
      pack-bitmap-write: use const for hashes
      midx: extract bitmap write setup
      midx: reduce memory pressure while writing bitmaps
      t2407: test bisect and rebase as black-boxes
      t2407: test branches currently using apply backend
      branch: consider refs under 'update-refs'
      rebase-interactive: update 'merge' description
      sequencer: define array with enum values
      sequencer: add update-ref command
      rebase: add --update-refs option
      rebase: update refs from 'update-ref' commands
      sequencer: rewrite update-refs as user edits todo list
      rebase: add rebase.updateRefs config option
      sequencer: ignore HEAD ref under --update-refs
      sequencer: notify user of --update-refs activity
      refs: allow "HEAD" as decoration filter
      t4207: modernize test
      t4207: test coloring of grafted decorations
      refs: add array of ref namespaces
      refs: use ref_namespaces for replace refs base
      log-tree: use ref_namespaces instead of if/else-if
      log: add default decoration filter
      log: add --clear-decorations option
      log: create log.initialDecorationSet=all
      maintenance: stop writing log.excludeDecoration
      fetch: use ref_namespaces during prefetch
      docs: document bundle URI standard
      bundle-uri: add example bundle organization
      remote-curl: add 'get' capability
      bundle-uri: create basic file-copy logic
      clone: add --bundle-uri option
      bundle-uri: add support for http(s):// and file://
      clone: --bundle-uri cannot be combined with --depth
      t6019: modernize tests with helper
      clone: warn on failure to repo_init()

Elijah Newren (36):
      merge-tree: rename merge_trees() to trivial_merge_trees()
      merge-tree: move logic for existing merge into new function
      merge-tree: add option parsing and initial shell for real merge function
      merge-tree: implement real merges
      merge-ort: split out a separate display_update_messages() function
      merge-tree: support including merge messages in output
      merge-ort: provide a merge_get_conflicted_files() helper function
      merge-ort: remove command-line-centric submodule message from merge-ort
      merge-tree: provide a list of which files have conflicts
      merge-tree: provide easy access to `ls-files -u` style info
      merge-ort: store more specific conflict information
      merge-ort: optionally produce machine-readable output
      merge-tree: allow `ls-files -u` style info to be NUL terminated
      merge-tree: add a --allow-unrelated-histories flag
      git-merge-tree.txt: add a section on potentional usage mistakes
      merge-ort-wrappers: make printed message match the one from recursive
      merge-resolve: abort if index does not match HEAD
      merge: abort if index does not match HEAD for trivial merges
      merge: do not abort early if one strategy fails to handle the merge
      merge: fix save_state() to work when there are stat-dirty files
      merge: make restore_state() restore staged state too
      merge: ensure we can actually restore pre-merge state
      merge: do not exit restore_state() prematurely
      merge-ort: remove translator lego in new "submodule conflict suggestion"
      merge-ort: avoid surprise with new sub_flag variable
      merge-ort: provide helpful submodule update message when possible
      merge-ort: remove code obsoleted by other changes
      rev-list-options.txt: fix simple typo
      revision: allow --ancestry-path to take an argument
      merge: cleanup confusing logic for handling successful merges
      merge: small code readability improvement
      t4301: add more interesting merge-tree testcases
      t64xx: convert 'test_create_repo' to 'git init'
      diff: have submodule_format logic avoid additional diff headers
      diff: fix filtering of additional headers under --remerge-diff
      diff: fix filtering of merge commits under --remerge-diff

Eric DeCosta (1):
      fsmonitor: option to allow fsmonitor to run against network-mounted repos

Eric Sunshine (6):
      t2407: fix broken &&-chains in compound statement
      t1092: fix buggy sparse "blame" test
      t: detect and signal failure within loop
      t4301: account for behavior differences between sed implementations
      t4301: fix broken &&-chains and add missing loop termination
      t4301: emit blank line in more idiomatic fashion

Glen Choo (15):
      submodule--helper: eliminate internal "--update" option
      submodule--helper tests: add missing "display path" coverage
      submodule--helper update: use display path helper
      submodule--helper: don't recreate recursive prefix
      submodule--helper: use correct display path helper
      submodule--helper update: use --super-prefix
      submodule--helper: remove display path helper
      Documentation/git-config.txt: add SCOPES section
      Documentation: define protected configuration
      config: learn `git_protected_config()`
      safe.directory: use git_protected_config()
      setup.c: create `safe.bareRepository`
      config.c: NULL check when reading protected config
      submodule--helper: add "const" to copy of "update_data"
      submodule--helper: refactor "errmsg_str" to be a "struct strbuf"

Han Xin (4):
      unpack-objects: low memory footprint for get_data() in dry_run mode
      object-file.c: refactor write_loose_object() to several steps
      object-file.c: add "stream_loose_object()" to handle large object
      unpack-objects: use stream_loose_object() to unpack large objects

Jacob Keller (1):
      remote: handle negative refspecs in git remote show

Jacob Stopak (1):
      Documentation: fix various repeat word typos

Jaydeep Das (1):
      gpg-interface: add function for converting trust level to string

Jeff King (43):
      is_promisor_object(): walk promisor packs in pack-order
      fetch: stop passing around unused worktrees variable
      branch: drop unused worktrees variable
      ref-filter: disable save_commit_buffer while traversing
      write_midx_bitmap(): drop unused refs_snapshot parameter
      git-compat-util: add UNUSED macro
      refs: mark unused each_ref_fn parameters
      refs: mark unused reflog callback parameters
      refs: mark unused virtual method parameters
      transport: mark bundle transport_options as unused
      streaming: mark unused virtual method parameters
      config: mark unused callback parameters
      hashmap: mark unused callback parameters
      mark unused read_tree_recursive() callback parameters
      run-command: mark unused async callback parameters
      is_path_owned_by_current_uid(): mark "report" parameter as unused
      xdiff: drop unused mmfile parameters from xdl_do_histogram_diff()
      log-tree: drop unused commit param in remerge_diff()
      match_pathname(): drop unused "flags" parameter
      verify_one_sparse(): drop unused parameters
      reftable: drop unused parameter from reader_seek_linear()
      reflog: assert PARSE_OPT_NONEG in parse-options callbacks
      xdiff: drop unused mmfile parameters from xdl_do_patience_diff()
      pass subcommand "prefix" arguments to parse_options()
      maintenance: add parse-options boilerplate for subcommands
      remote: run "remote rm" argv through parse_options()
      pack-bitmap-write: drop unused pack_idx_entry parameters
      tempfile: drop active flag
      tempfile: update comment describing state transitions
      test-crontab: minor memory and error handling fixes
      lookup_commit_in_graph(): use prepare_commit_graph() to check for graph
      rev-list: disable commit graph with --verify-objects
      parse_object(): allow skipping hash check
      upload-pack: skip parse-object re-hashing of "want" objects
      parse_object(): check commit-graph when skip_hash set
      t1060: check partial clone of misnamed blob
      list_objects_filter_copy(): deep-copy sparse_oid_name field
      transport: deep-copy object-filter struct for fetch-pack
      transport: free filter options in disconnect_git()
      list_objects_filter_options: plug leak of filter_spec strings
      prepare_repo_settings(): plug leak of config values
      fetch: stop checking for NULL transport->remote in do_fetch()
      fetch: add branch.*.merge to default ref-prefix extension

Johannes Schindelin (14):
      merge-ort: store messages in a list, not in a single strbuf
      merge-ort: make `path_messages` a strmap to a string_list
      t5351: avoid relying on `core.fsyncMethod = batch` to be supported
      t5351: avoid using `test_cmp` for binary data
      scalar unregister: stop FSMonitor daemon
      range-diff: reorder argument handling
      range-diff: consistently validate the arguments
      range-diff: optionally accept pathspecs
      add -p: avoid ambiguous signed/unsigned comparison
      t3701: test the built-in `add -i` regardless of NO_PERL
      t6132(NO_PERL): do not run the scripted `add -p`
      add -p: detect more mismatches between plain vs colored diffs
      add -p: gracefully handle unparseable hunk headers in colored diffs
      add -p: ignore dirty submodules

Jonathan Tan (1):
      fetch-pack: write effective filter to trace2

Josh Steadmon (1):
      fetch-pack: add tracing for negotiation rounds

Julien Rouhaud (1):
      gitweb: remove title shortening heuristics

Junio C Hamano (30):
      A regression fix for 2.37
      builtin/mv.c: use the MOVE_ARRAY() macro instead of memmove()
      The first batch after Git 2.37
      The second batch
      The third batch
      The fourth batch
      The fifth batch
      The sixth batch
      The seventh batch
      The eighth batch
      The ninth batch
      doc: consolidate --rerere-autoupdate description
      doc: clarify rerere-autoupdate
      The tenth batch
      The eleventh batch
      The twelfth batch
      The thirteenth batch
      The fourteenth batch
      t5329: notice a failure within a loop
      The fifteenth batch
      pretty: separate out the logic to decide the use of in-body from
      format-patch: allow forcing the use of in-body From: header
      format-patch: learn format.forceInBodyFrom configuration variable
      The sixteenth batch
      The seventeenth batch
      The eighteenth batch
      The nineteenth batch
      The twentieth batch
      Prepare for 2.38-rc0
      Git 2.38-rc0

Justin Donnelly (1):
      git-prompt: show presence of unresolved conflicts at command prompt

Kyle Zhao (1):
      send-pack.c: add config push.useBitmaps

Li Linchao (2):
      remote-curl: send Accept-Language header to server
      rev-list: support human-readable output for `--disk-usage`

Linus Torvalds (1):
      symbolic-ref: refuse to set syntactically invalid target

Matheus Tavares (3):
      t0021: avoid grepping for a Perl-specific string at filter output
      t0021: implementation the rot13-filter.pl script in C
      tests: use the new C rot13-filter helper to avoid PERL prereq

Matthew John Cheetham (1):
      scalar: enable built-in FSMonitor on `register`

Michael J Gruber (3):
      sequencer: do not translate reflog messages
      sequencer: do not translate parameters to error_resolve_conflict()
      sequencer: do not translate command names

Moritz Baumann (2):
      git-p4: fix typo in P4Submit.applyCommit()
      git-p4: fix error handling in P4Unshelve.renameBranch()

Phillip Wood (4):
      xdiff: introduce XDL_ALLOC_ARRAY()
      xdiff: introduce xdl_calloc
      xdiff: introduce XDL_CALLOC_ARRAY()
      xdiff: introduce XDL_ALLOC_GROW()

René Scharfe (24):
      archive: update format documentation
      archive: rename archiver data field to filter_command
      archive-tar: factor out write_block()
      archive-tar: add internal gzip implementation
      archive-tar: use OS_CODE 3 (Unix) for internal gzip
      archive-tar: use internal gzip by default
      cocci: avoid normalization rules for memcpy
      mergesort: unify ranks loops
      mergesort: tighten merge loop
      mergesort: add macros for typed sort of linked lists
      test-mergesort: use DEFINE_LIST_SORT_DEBUG
      test-mergesort: use DEFINE_LIST_SORT
      blame: use DEFINE_LIST_SORT
      commit: use DEFINE_LIST_SORT
      fetch-pack: use DEFINE_LIST_SORT
      packfile: use DEFINE_LIST_SORT
      mergesort: remove llist_mergesort()
      tempfile: avoid directory cleanup race
      test-mergesort: read sort input all at once
      test-mergesort: use mem_pool for sort input
      diff-no-index: release strbuf on queue error
      diff-no-index: release prefixed filenames
      diff-no-index: simplify argv index calculation
      add -p: fix worktree patch mode prompts

SZEDER Gábor (27):
      Makefile: build 'gitweb' in the default target
      multi-pack-index: simplify handling of unknown --options
      git.c: update NO_PARSEOPT markings
      t3301-notes.sh: check that default operation mode doesn't take arguments
      t5505-remote.sh: check the behavior without a subcommand
      t0040-parse-options: test parse_options() with various 'parse_opt_flags'
      api-parse-options.txt: fix description of OPT_CMDMODE
      parse-options: PARSE_OPT_KEEP_UNKNOWN only applies to --options
      parse-options: clarify the limitations of PARSE_OPT_NODASH
      parse-options: drop leading space from '--git-completion-helper' output
      parse-options: add support for parsing subcommands
      builtin/bundle.c: let parse-options parse subcommands
      builtin/commit-graph.c: let parse-options parse subcommands
      builtin/gc.c: let parse-options parse 'git maintenance's subcommands
      builtin/hook.c: let parse-options parse subcommands
      builtin/multi-pack-index.c: let parse-options parse subcommands
      builtin/notes.c: let parse-options parse subcommands
      builtin/reflog.c: let parse-options parse subcommands
      builtin/remote.c: let parse-options parse subcommands
      builtin/sparse-checkout.c: let parse-options parse subcommands
      builtin/stash.c: let parse-options parse subcommands
      builtin/worktree.c: let parse-options parse subcommands
      t0040-parse-options: remove leftover debugging
      test-parse-options.c: don't use for loop initial declaration
      test-parse-options.c: fix style of comparison with zero
      notes: simplify default operation mode arguments check
      notes, remote: show unknown subcommands between `'

Shaoxuan Yuan (12):
      t7002: add tests for moving out-of-cone file/directory
      t1092: mv directory from out-of-cone to in-cone
      mv: update sparsity after moving from out-of-cone to in-cone
      mv: decouple if/else-if checks using goto
      mv: check if out-of-cone file exists in index with SKIP_WORKTREE bit
      mv: check if <destination> exists in index to handle overwriting
      mv: use flags mode for update_mode
      mv: add check_dir_in_index() and solve general dir check issue
      t1092: add tests for `git-rm`
      pathspec.h: move pathspec_needs_expanded_index() from reset.c to here
      rm: expand the index only when necessary
      rm: integrate with sparse-index

Siddharth Asthana (4):
      revision: improve commit_rewrite_person()
      ident: move commit_rewrite_person() to ident.c
      ident: rename commit_rewrite_person() to apply_mailmap_to_header()
      cat-file: add mailmap support

Taylor Blau (10):
      commit-graph: pass repo_settings instead of repository
      t1006: extract --batch-command inputs to variables
      builtin/cat-file.c: support NUL-delimited input with `-z`
      t5326: demonstrate potential bitmap corruption
      t/lib-bitmap.sh: avoid silencing stderr
      midx.c: extract `struct midx_fanout`
      midx.c: extract `midx_fanout_add_midx_fanout()`
      midx.c: extract `midx_fanout_add_pack_fanout()`
      midx.c: include preferred pack correctly with existing MIDX
      midx.c: avoid adding preferred objects twice

Teng Long (8):
      pack-bitmap.c: fix formatting of error messages
      pack-bitmap.c: mark more strings for translations
      pack-bitmap.c: rename "idx_name" to "bitmap_name"
      pack-bitmap.c: do not ignore error when opening a bitmap file
      pack-bitmap.c: using error() instead of silently returning -1
      pack-bitmap.c: continue looping when first MIDX bitmap is found
      api-trace2.txt: print config key-value pair
      tr2: shows scope unconditionally in addition to key-value pair

Victoria Dye (22):
      scalar: reword command documentation to clarify purpose
      scalar: convert README.md into a technical design doc
      scalar-diagnose: use "$GIT_UNZIP" in test
      scalar-diagnose: avoid 32-bit overflow of size_t
      scalar-diagnose: add directory to archiver more gently
      scalar-diagnose: move 'get_disk_info()' to 'compat/'
      scalar-diagnose: move functionality to common location
      diagnose.c: add option to configure archive contents
      builtin/diagnose.c: create 'git diagnose' builtin
      builtin/diagnose.c: add '--mode' option
      builtin/bugreport.c: create '--diagnose' option
      scalar-diagnose: use 'git diagnose --mode=all'
      scalar: update technical doc roadmap
      scalar: constrain enlistment search
      scalar-unregister: handle error codes greater than 0
      scalar-[un]register: clearly indicate source of error
      scalar-delete: do not 'die()' in 'delete_enlistment()'
      scalar: move config setting logic into its own function
      scalar: update technical doc roadmap with FSMonitor support
      p0004: fix prereq declaration
      p0006: fix 'read-tree' argument ordering
      unpack-trees: fix sparse directory recursion check

ZheNing Hu (1):
      ls-files: introduce "--format" option

brian m. carlson (2):
      sha256: add support for Nettle
      gc: use temporary file for editing crontab

Ævar Arnfjörð Bjarmason (149):
      t0008: don't rely on default ".git/info/exclude"
      tests: don't depend on template-created .git/branches
      tests: don't assume a .git/info for .git/info/grafts
      tests: don't assume a .git/info for .git/info/attributes
      tests: don't assume a .git/info for .git/info/refs
      tests: don't assume a .git/info for .git/info/exclude
      tests: don't assume a .git/info for .git/info/sparse-checkout
      object-file.c: factor out deflate part of write_loose_object()
      core doc: modernize core.bigFileThreshold documentation
      git-submodule.sh: remove unused sanitize_submodule_env()
      git-submodule.sh: remove unused $prefix variable
      git-submodule.sh: make the "$cached" variable a boolean
      git-submodule.sh: remove unused top-level "--branch" argument
      submodule--helper: have --require-init imply --init
      submodule update: remove "-v" option
      submodule--helper: rename "absorb-git-dirs" to "absorbgitdirs"
      submodule--helper: report "submodule" as our name in some "-h" output
      submodule--helper: understand --checkout, --merge and --rebase synonyms
      git-submodule.sh: use "$quiet", not "$GIT_QUIET"
      git-sh-setup.sh: remove "say" function, change last users
      gitweb/Makefile: define all .PHONY prerequisites inline
      gitweb/Makefile: add a $(GITWEB_ALL) variable
      gitweb/Makefile: clear up and de-duplicate the gitweb.{css,js} vars
      gitweb/Makefile: prepare to merge into top-level Makefile
      gitweb: remove "test" and "test-installed" targets
      gitweb/Makefile: include in top-level Makefile
      gitweb/Makefile: add a "NO_GITWEB" parameter
      submodule--helper: remove unused SUPPORT_SUPER_PREFIX flags
      check-ref-format: fix trivial memory leak
      clone: fix memory leak in wanted_peer_refs()
      submodule.c: free() memory from xgetcwd()
      revert: free "struct replay_opts" members
      cat-file: fix a memory leak in --batch-command mode
      merge-file: refactor for subsequent memory leak fix
      merge-file: fix memory leaks on error path
      checkout: avoid "struct unpack_trees_options" leak
      gc: fix a memory leak
      cat-file: fix a common "struct object_context" memory leak
      pull: fix a "struct oid_array" memory leak
      test-tool test-hash: fix a memory leak
      test-tool path-utils: fix a memory leak
      test-tool {dump,scrap}-cache-tree: fix memory leaks
      test-tool urlmatch-normalization: fix a memory leak
      test-tool regex: call regfree(), fix memory leaks
      test-tool json-writer: fix memory leaks
      test-tool bloom: fix memory leaks
      test-tool ref-store: fix a memory leak
      test-tool delta: fix a memory leak
      Makefile: remove mandatory "spatch" arguments from SPATCH_FLAGS
      Makefile & .gitignore: ignore & clean "git.res", not "*.res"
      cocci: add a "coccicheck-test" target and test *.cocci rules
      cocci: have "coccicheck{,-pending}" depend on "coccicheck-test"
      cocci: add and apply a rule to find "unused" strbufs
      cocci: generalize "unused" rule to cover more than "strbuf"
      trace2: only include "fsync" events if we git_fsync()
      test-lib: use $1, not $@ in test_known_broken_{ok,failure}_
      test-lib: don't set GIT_EXIT_OK before calling test_atexit_handler
      test-lib: fix GIT_EXIT_OK logic errors, use BAIL_OUT
      test-lib: add a --invert-exit-code switch
      t/README: reword the "GIT_TEST_PASSING_SANITIZE_LEAK" description
      test-lib: add a SANITIZE=leak logging mode
      t/Makefile: don't remove test-results in "clean-except-prove-cache"
      tests: move copy/pasted PERL + Test::More checks to a lib-perl.sh
      test-lib: simplify by removing test_external
      test-lib: add a GIT_TEST_PASSING_SANITIZE_LEAK=check mode
      test-lib: have the "check" mode for SANITIZE=leak consider leak logs
      leak tests: don't skip some tests under SANITIZE=leak
      leak tests: mark passing SANITIZE=leak tests as leak-free
      upload-pack: fix a memory leak in create_pack_file()
      CI: use "GIT_TEST_SANITIZE_LEAK_LOG=true" in linux-leaks
      bisect.c: add missing "goto" for release_revisions()
      test-fast-rebase helper: use release_revisions() (again)
      log: fix a memory leak in "git show <revision>..."
      log: refactor "rev.pending" code in cmd_show()
      bisect.c: partially fix bisect_rev_setup() memory leak
      revisions API: don't leak memory on argv elements that need free()-ing
      help.c: refactor drop_prefix() to use a "switch" statement"
      help.c: remove common category behavior from drop_prefix() behavior
      git help doc: use "<doc>" instead of "<guide>"
      git docs: add a category for user-facing file, repo and command UX
      git docs: add a category for file formats, protocols and interfaces
      docs: move commit-graph format docs to man section 5
      docs: move protocol-related docs to man section 5
      docs: move index format docs to man section 5
      docs: move signature docs to man section 5
      docs: move pack format docs to man section 5
      docs: move cruft pack docs to gitformat-pack
      docs: move http-protocol docs to man section 5
      Makefile + hash.h: remove PPC_SHA1 implementation
      Makefile: use $(OBJECTS) instead of $(C_OBJ)
      git-compat-util.h: use "UNUSED", not "UNUSED(var)"
      git-compat-util.h: use "deprecated" for UNUSED variables
      submodule tests: test usage behavior
      submodule tests: test for "add <repository> <abs-path>"
      submodule--helper: remove unused "name" helper
      submodule--helper: remove unused "list" helper
      test-tool submodule-config: remove unused "--url" handling
      submodule--helper: move "is-active" to a test-tool
      submodule--helper: move "check-name" to a test-tool
      submodule--helper: move "resolve-relative-url-test" to a test-tool
      submodule--helper style: don't separate declared variables with \n\n
      submodule--helper style: add \n\n after variable declarations
      submodule--helper: replace memset() with { 0 }-initialization
      submodule--helper: use xstrfmt() in clone_submodule()
      submodule--helper: move "sb" in clone_submodule() to its own scope
      submodule--helper: add "const" to passed "module_clone_data"
      submodule--helper: add "const" to passed "struct update_data"
      submodule--helper: don't redundantly check "else if (res)"
      submodule--helper: rename "int res" to "int ret"
      submodule--helper: return "ret", not "1" from update_submodule()
      submodule--helper: add missing braces to "else" arm
      submodule--helper: don't call submodule_strategy_to_string() in BUG()
      submodule API: don't handle SM_..{UNSPECIFIED,COMMAND} in to_string()
      submodule--helper: use "code" in run_update_command()
      submodule--helper: don't exit() on failure, return
      submodule--helper: libify determine_submodule_update_strategy()
      submodule--helper: libify "must_die_on_failure" code paths
      submodule--helper update: don't override 'checkout' exit code
      submodule--helper: libify "must_die_on_failure" code paths (for die)
      submodule--helper: check repo{_submodule,}_init() return values
      submodule--helper: libify more "die" paths for module_update()
      submodule--helper: libify even more "die" paths for module_update()
      submodule--helper: fix bad config API usage
      submodule--helper: fix a leak in "clone_submodule"
      submodule--helper: fix trivial get_default_remote_submodule() leak
      submodule--helper: fix most "struct pathspec" memory leaks
      submodule--helper: "struct pathspec" memory leak in module_update()
      submodule--helper: don't leak {run,capture}_command() cp.dir argument
      submodule--helper: add and use *_release() functions
      submodule--helper: fix "errmsg_str" memory leak
      submodule--helper: fix "sm_path" and other "module_cb_list" leaks
      submodule--helper: fix a leak with repo_clear()
      submodule--helper: fix a memory leak in get_default_remote_submodule()
      submodule--helper: fix "reference" leak
      submodule--helper: fix obscure leak in module_add()
      submodule--helper: fix a leak in module_add()
      submodule--helper: fix a memory leak in print_status()
      submodule--helper: free some "displaypath" in "struct update_data"
      submodule--helper: free rest of "displaypath" in "struct update_data"
      submodule--helper: fix a configure_added_submodule() leak
      docs: add and use include template for config/* includes
      grep docs: de-duplicate configuration sections
      send-email docs: de-duplicate configuration sections
      apply docs: de-duplicate configuration sections
      notes docs: de-duplicate and combine configuration sections
      difftool docs: de-duplicate configuration sections
      log docs: de-duplicate configuration sections
      docs: add CONFIGURATION sections that map to a built-in
      docs: add CONFIGURATION sections that fuzzy map to built-ins

Øystein Walle (1):
      rev-parse --parseopt: detect missing opt-spec


Version v2.37.7; changes since v2.37.6:
---------------------------------------

Derrick Stolee (1):
      ci: update 'static-analysis' to Ubuntu 22.04

Jeff King (7):
      http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT
      http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION
      range-diff: drop useless "offset" variable from read_patches()
      http: support CURLOPT_PROTOCOLS_STR
      range-diff: handle unterminated lines in read_patches()
      range-diff: use ssize_t for parsed "len" in read_patches()
      Makefile: force -O0 when compiling with SANITIZE=leak

Jiang Xin (4):
      github-actions: run gcc-8 on ubuntu-20.04 image
      ci: remove the pipe after "p4 -V" to catch errors
      ci: use the same version of p4 on both Linux and macOS
      ci: install python on ubuntu

Johannes Schindelin (19):
      compat/win32/syslog: fix use-after-realloc
      nedmalloc: avoid new compile error
      t0033: GETTEXT_POISON fix
      t0003: GETTEXT_POISON fix, part 1
      t0003: GETTEXT_POISON fix, conclusion
      t5619: GETTEXT_POISON fix
      t5604: GETTEXT_POISON fix, part 1
      t5604: GETTEXT_POISON fix, conclusion
      clone.c: avoid "exceeds maximum object size" error with GCC v12.x
      apply --reject: overwrite existing `.rej` symlink if it exists
      gettext: avoid using gettext if the locale dir is not present
      tests: avoid using `test_i18ncmp`
      Git 2.31.8
      Git 2.32.7
      Git 2.33.8
      Git 2.34.8
      Git 2.35.8
      Git 2.36.6
      Git 2.37.7

Junio C Hamano (1):
      http.c: clear the 'finished' member once we are done with it

Taylor Blau (5):
      t1300: demonstrate failure when renaming sections with long lines
      config: avoid fixed-sized buffer when renaming/deleting a section
      config.c: avoid integer truncation in `copy_or_rename_section_in_file()`
      config.c: disallow overly-long lines in `copy_or_rename_section_in_file()`
      Git 2.30.9


Version v2.37.6; changes since v2.37.5:
---------------------------------------

Jeff King (3):
      http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT
      http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION
      http: support CURLOPT_PROTOCOLS_STR

Johannes Schindelin (8):
      attr: adjust a mismatched data type
      Git 2.31.7
      Git 2.32.6
      Git 2.33.7
      Git 2.34.7
      Git 2.35.7
      Git 2.36.5
      Git 2.37.6

Junio C Hamano (1):
      Git 2.30.8

Patrick Steinhardt (1):
      apply: fix writing behind newly created symbolic links

Taylor Blau (3):
      t5619: demonstrate clone_local() with ambiguous transport
      clone: delay picking a transport until after get_repo_path()
      dir-iterator: prevent top-level symlinks without FOLLOW_SYMLINKS


Version v2.37.5; changes since v2.37.4:
---------------------------------------

Carlo Marcelo Arenas Belón (1):
      test-lib: add prerequisite for 64-bit platforms

Junio C Hamano (8):
      Git 2.30.7
      Git 2.31.6
      Git 2.32.5
      Git 2.33.6
      Git 2.34.6
      Git 2.35.6
      Git 2.36.4
      Git 2.37.5

Patrick Steinhardt (25):
      attr: fix overflow when upserting attribute with overly long name
      attr: fix out-of-bounds read with huge attribute names
      attr: fix integer overflow when parsing huge attribute names
      attr: fix out-of-bounds write when parsing huge number of attributes
      attr: fix out-of-bounds read with unreasonable amount of patterns
      attr: fix integer overflow with more than INT_MAX macros
      attr: harden allocation against integer overflows
      attr: fix silently splitting up lines longer than 2048 bytes
      attr: ignore attribute lines exceeding 2048 bytes
      attr: ignore overly large gitattributes files
      pretty: fix out-of-bounds write caused by integer overflow
      pretty: fix out-of-bounds read when left-flushing with stealing
      pretty: fix out-of-bounds read when parsing invalid padding format
      pretty: fix adding linefeed when placeholder is not expanded
      pretty: fix integer overflow in wrapping format
      utf8: fix truncated string lengths in `utf8_strnwidth()`
      utf8: fix returning negative string width
      utf8: fix overflow when returning string width
      utf8: fix checking for glyph width in `strbuf_utf8_replace()`
      utf8: refactor `strbuf_utf8_replace` to not rely on preallocated buffer
      pretty: restrict input lengths for padding and wrapping formats
      fsck: refactor `fsck_blob()` to allow for more checks
      fsck: pull out function to check a set of blobs
      fsck: move checks for gitattributes
      fsck: implement checks for gitattributes


Version v2.37.4; changes since v2.37.3:
---------------------------------------

Anthony Delannoy (1):
      preload-index: fix memleak

Derrick Stolee (1):
      ci: update 'static-analysis' to Ubuntu 22.04

Elijah Newren (1):
      merge: only apply autostash when appropriate

Jeff King (8):
      is_promisor_object(): fix use-after-free of tree buffer
      compat: add function to enable nonblocking pipes
      git-compat-util: make MAX_IO_SIZE define globally available
      pipe_command(): avoid xwrite() for writing to pipe
      pipe_command(): handle ENOSPC when writing to a pipe
      pipe_command(): mark stdin descriptor as non-blocking
      shell: add basic tests
      shell: limit size of interactive commands

Junio C Hamano (1):
      Merge a handful of topics from the 'master' front

Kevin Backhouse (1):
      alias.c: reject too-long cmdline strings in split_cmdline()

René Scharfe (1):
      nonblock: support Windows

SZEDER Gábor (1):
      promisor-remote: fix xcalloc() argument order

Taylor Blau (30):
      builtin/clone.c: disallow `--local` clones with symlinks
      t/lib-submodule-update.sh: allow local submodules
      t/t1NNN: allow local submodules
      t/2NNNN: allow local submodules
      t/t3NNN: allow local submodules
      t/t4NNN: allow local submodules
      t/t5NNN: allow local submodules
      t/t6NNN: allow local submodules
      t/t7NNN: allow local submodules
      t/t9NNN: allow local submodules
      transport: make `protocol.file.allow` be "user" by default
      t1092: prepare for changing protocol.file.allow
      t2080: prepare for changing protocol.file.allow
      t1092: prepare for changing protocol.file.allow
      t2080: prepare for changing protocol.file.allow
      t3207: prepare for changing protocol.file.allow
      t5516: prepare for changing protocol.file.allow
      t5537: prepare for changing protocol.file.allow
      t7814: prepare for changing protocol.file.allow
      t3206: prepare for changing protocol.file.allow
      t5537: prepare for changing protocol.file.allow
      Git 2.30.6
      Git 2.31.5
      Git 2.32.4
      Git 2.33.5
      Git 2.34.5
      Git 2.35.5
      Git 2.36.3
      t7527: prepare for changing protocol.file.allow
      Git 2.37.4


Version v2.37.3; changes since v2.37.2:
---------------------------------------

Carlo Marcelo Arenas Belón (1):
      cmake: support local installations of git

Felipe Contreras (7):
      mergetools: vimdiff: fix comment
      mergetools: vimdiff: make vimdiff3 actually work
      mergetools: vimdiff: silence annoying messages
      mergetools: vimdiff: fix for diffopt
      mergetools: vimdiff: rework tab logic
      mergetools: vimdiff: fix single window layouts
      mergetools: vimdiff: simplify tabfirst

Glen Choo (1):
      Documentation/git-reflog: remove unneeded \ from \{

Jeff King (4):
      config.mak.dev: squelch -Wno-missing-braces for older gcc
      tree-walk: add a mechanism for getting non-canonicalized modes
      fsck: actually detect bad file modes in trees
      fsck: downgrade tree badFilemode to "info"

Johannes Schindelin (11):
      windows: include the Python bits when building Git for Windows
      mingw: remove unneeded `NO_GETTEXT` directive
      mingw: remove unneeded `NO_CURL` directive
      lstat(mingw): correctly detect ENOTDIR scenarios
      merge-ort: clean up after failed merge
      merge-ort: do leave trace2 region even if checkout fails
      setup: fix some formatting
      setup: prepare for more detailed "dubious ownership" messages
      mingw: provide details about unsafe directories' ownership
      mingw: be more informative when ownership check fails on FAT32
      mingw: handle a file owned by the Administrators group correctly

Junio C Hamano (2):
      A handful more topics from the 'master' front for 2.37.3
      Git 2.37.3

Philip Oakley (1):
      doc add: renormalize is not idempotent for CRCRLF

Phillip Wood (1):
      tests: cache glibc version check

Victoria Dye (4):
      checkout: fix nested sparse directory diff in sparse index
      oneway_diff: handle removed sparse directories
      cache.h: create 'index_name_pos_sparse()'
      unpack-trees: unpack new trees as sparse directories

Ævar Arnfjörð Bjarmason (1):
      hook API: don't segfault on strbuf_addf() to NULL "out"


Version v2.37.2; changes since v2.37.1:
---------------------------------------

Abhradeep Chakraborty (3):
      bitmap-format.txt: feed the file to asciidoc to generate html
      bitmap-format.txt: fix some formatting issues
      bitmap-format.txt: add information for trailing checksum

Celeste Liu (1):
      contrib/rerere-train: avoid useless gpg sign in training

Cleber Rosa (1):
      setup: fix function name in a BUG() message

Derrick Stolee (9):
      t5510: replace 'origin' with URL more carefully
      vscode: improve tab size and wrapping
      git-rebase.txt: use back-ticks consistently
      daemon: clarify directory arguments
      git-cvsserver: clarify directory list
      git.txt: remove redundant language
      t: avoid "whitelist"
      transport.c: avoid "whitelist"
      compat/win32: correct for incorrect compiler warning

Dimitriy Ryazantcev (1):
      i18n: mark message helpers prefix for translation

Elijah Newren (6):
      t6429: fix use of non-existent function
      t6423: add tests of dual directory rename plus add/add conflict
      merge-ort: small cleanups of check_for_directory_rename
      merge-ort: make a separate function for freeing struct collisions
      merge-ort: shuffle the computation and cleanup of potential collisions
      merge-ort: fix issue with dual rename and add/add conflict

Fernando Ramos (1):
      vimdiff: make layout engine more robust against user vim settings

Goss Geppert (2):
      dir: traverse into repository
      dir: minor refactoring / clean-up

Han Xin (2):
      commit-graph.c: no lazy fetch in lookup_commit_in_graph()
      t5330: remove run_with_limited_processses()

Jeff King (6):
      revisions.txt: escape "..." to avoid asciidoc horizontal ellipsis
      clone: drop extra newline from warning message
      clone: propagate empty remote HEAD even with other branches
      clone: use remote branch if it matches default HEAD
      clone: move unborn head creation to update_head()
      diff-files: move misplaced cleanup label

Johannes Schindelin (3):
      tests: fix incorrect --write-junit-xml code
      mergetool(vimdiff): allow paths to contain spaces again
      shortlog: use a stable sort

Junio C Hamano (6):
      revision: mark blobs needed for resolve-undo as reachable
      fsck: do not dereference NULL while checking resolve-undo data
      builtin/remote.c: use the right kind of STRING_LIST_INIT
      Downmerge a handful of fixes for 2.37.x maintenance track
      Downmerge a bit more for 2.37.x
      Git 2.37.2

Kilian Kilger (2):
      git-p4: fix bug with encoding of p4 client name
      git-p4: refactoring of p4CmdList()

Lessley Dennington (1):
      osx-keychain: fix compiler warning

Li Linchao (1):
      ls-files: update test style

Manuel Boni (1):
      config.txt: document include, includeIf

Martin Ågren (3):
      config/core.txt: fix minor issues for `core.sparseCheckoutCone`
      t4200: drop irrelevant code
      read-cache: make `do_read_index()` always set up `istate->repo`

Matheus Tavares (4):
      checkout: document bug where delayed checkout counts entries twice
      checkout: show bug about failed entries being included in final report
      checkout: fix two bugs on the final count of updated entries
      pkt-line.h: move comment closer to the associated code

Moritz Baumann (1):
      git-p4: fix CR LF handling for utf16 files

Philippe Blain (3):
      diff-format.txt: dst can be 0* SHA-1 when path is deleted, too
      diff-format.txt: correct misleading wording
      diff-index.txt: update raw output format in examples

René Scharfe (3):
      combine-diff: abort if --ignore-matching-lines is given
      combine-diff: abort if --output is given
      mingw: avoid mktemp() in mkstemp() implementation

Richard Oliver (1):
      mktree: do not check type of remote objects

SZEDER Gábor (1):
      index-format.txt: remove outdated list of supported extensions

Tao Klerks (1):
      rev-parse: documentation adjustment - mention remote tracking with @{u}

Taylor Blau (4):
      pack-objects.h: remove outdated pahole results
      t5318: demonstrate commit-graph generation v2 corruption
      commit-graph: introduce `repo_find_commit_pos_in_graph()`
      commit-graph: fix corrupt upgrade from generation v1 to v2

Ævar Arnfjörð Bjarmason (3):
      tests: add missing double quotes to included library paths
      test-lib.sh: fix prepend_var() quoting issue
      config tests: fix harmless but broken "rm -r" cleanup


Version v2.37.1; changes since v2.37.0:
---------------------------------------

Carlo Marcelo Arenas Belón (1):
      setup: tighten ownership checks post CVE-2022-24765

Johannes Schindelin (8):
      Git 2.30.5
      Git 2.31.4
      Git 2.32.3
      Git 2.33.4
      Git 2.34.4
      Git 2.35.4
      Git 2.36.2
      add --interactive: allow `update` to stage deleted files

Junio C Hamano (1):
      Git 2.37.1


Version v2.37.0; changes since v2.37.0-rc2:
-------------------------------------------

Alex Henrie (1):
      l10n: es: update translation

Alexander Shopov (1):
      l10n: bg.po: Updated Bulgarian translation (5367t)

Arthur Milchior (1):
      l10n: README: fix typo

Bagas Sanjaya (1):
      l10n: po-id for 2.37 (first batch)

Dimitriy Ryazantcev (1):
      l10n: ru.po: update Russian translation

Emir SARI (1):
      l10n: tr: v2.37.0 round #1

Fangyi Zhou (1):
      l10n: zh_CN: v2.37.0 round 1

Jean-Noël Avila (1):
      l10n: fr v2.37 round 1

Jordi Mas (1):
      l10n: Update Catalan translation

Junio C Hamano (1):
      Git 2.37

Matthias Rüster (2):
      l10n: de.po: Update German translation
      l10n: TEAMS: Change German translation team leader

Peter Krefting (1):
      l10n: sv.po: Update Swedish translation (5367t0f0u)

René Scharfe (1):
      revert: config documentation fixes

Taylor Blau (1):
      Documentation/config/transfer.txt: fix typo

Trần Ngọc Quân (1):
      l10n: vi(5367t): Updated translation

Yi-Jyun Pan (1):
      l10n: zh_TW: v2.37.0 round 1


Version v2.37.0-rc2; changes since v2.37.0-rc1:
-----------------------------------------------

Alexander Shopov (1):
      name-rev: prefix annotate-stdin with '--' in message

Joakim Petersen (2):
      git-prompt: make colourization consistent
      git-prompt: fix expansion of branch colour codes

Junio C Hamano (1):
      Git 2.37-rc2

René Scharfe (1):
      gc: simplify --cruft description


Version v2.37.0-rc1; changes since v2.37.0-rc0:
-----------------------------------------------

Carlo Marcelo Arenas Belón (1):
      git-compat-util: allow root to access both SUDO_UID and root owned

Derrick Stolee (4):
      t2107: test 'git update-index --verbose'
      t5329: test 'git gc --cruft' without '--prune=now'
      pack-write: drop always-NULL parameter
      cache-tree: remove cache_tree_find_path()

Fabian Stelzer (1):
      gpg docs: explain better use of ssh.defaultKeyCommand

Fangyi Zhou (2):
      push: fix capitalisation of the option name autoSetupMerge
      builtin/rebase: remove a redundant space in l10n string

Jeff King (2):
      perf-lib: fix missing test titles in output
      bug_fl(): correctly initialize trace2 va_list

Jiang Xin (1):
      i18n: fix mismatched camelCase config variables

Johannes Schindelin (9):
      ci(github): bring back the 'print test failures' step
      ci(github): use grouping also in the `win-build` job
      ci(github): also mark up compile errors
      fsmonitor: avoid memory leak in `fsm_settings__get_incompatible_msg()`
      submodule-config: avoid memory leak
      submodule--helper: avoid memory leak when fetching submodules
      read_index_from(): avoid memory leak
      pack-mtimes: avoid closing a bogus file descriptor
      relative_url(): fix incorrect condition

Junio C Hamano (6):
      revert: optionally refer to commit in the "reference" format
      revert: --reference should apply only to 'revert', not 'cherry-pick'
      cocci: retire is_null_sha1() rule
      Fixes and updates post -rc0
      Another batch of fixes before -rc1
      Git 2.37-rc1

Philip Oakley (4):
      rebase.c: state preserve-merges has been removed
      rebase: help users when dying with `preserve-merges`
      rebase: note `preserve` merges may be a pull config option
      rebase: translate a die(preserve-merges) message

Ævar Arnfjörð Bjarmason (4):
      add -i tests: mark "TODO" depending on GIT_TEST_ADD_I_USE_BUILTIN
      fetch doc: note "pushurl" caveat about "credentialsInUrl", elaborate
      transfer doc: move fetch.credentialsInUrl to "transfer" config namespace
      tests: add LIBCURL prerequisite to tests needing libcurl


Version v2.37.0-rc0; changes since v2.36.6:
-------------------------------------------

Abhradeep Chakraborty (1):
      builtin/remote.c: teach `-v` to list filters for promisor remotes

Alex Henrie (1):
      convert: clarify line ending conversion warning

COGONI Guillaume (2):
      contrib/vscode/: debugging with VS Code and gdb
      Documentation/ToolsForGit.txt: Tools for developing Git

Carlo Marcelo Arenas Belón (1):
      reftable: avoid undefined behaviour breaking t0032

Chris Down (2):
      bisect: output state before we are ready to compute bisection
      bisect: output bisect setup status in bisect log

Christian Couder (1):
      http: add custom hostname to IP address resolutions

Derrick Stolee (21):
      clone: die() instead of BUG() on bad refs
      t1092: add compatibility tests for 'git show'
      show: integrate with the sparse index
      object-name: reject trees found in the index
      object-name: diagnose trees in index properly
      rev-parse: integrate with sparse index
      http: make http_get_file() external
      remote: move relative_url()
      remote: allow relative_url() to return an absolute url
      object-file: convert 'switch' back to 'if'
      t1092: refactor 'sparse-index contents' test
      t1092: stress test 'git sparse-checkout set'
      sparse-index: create expand_index()
      sparse-index: introduce partially-sparse indexes
      cache-tree: implement cache_tree_find_path()
      sparse-checkout: --no-sparse-index needs a full index
      sparse-index: partially expand directories
      sparse-index: complete partial expansion
      p2000: add test for 'git sparse-checkout [add|set]'
      sparse-checkout: integrate with sparse index
      remote: create fetch.credentialsInUrl config

Edmundo Carmona Antoranz (2):
      blame: report correct number of lines in progress when using ranges
      rebase: simplify an assignment of options.type in cmd_rebase

Elia Pinto (2):
      Makefile: add a prerequisite to the coverage-report target
      contrib/coccinnelle: add equals-null.cocci

Elijah Newren (9):
      tests: stop assuming --no-cone is the default mode for sparse-checkout
      sparse-checkout: make --cone the default
      git-sparse-checkout.txt: wording updates for the cone mode default
      git-sparse-checkout.txt: update docs for deprecation of 'init'
      git-sparse-checkout.txt: shuffle some sections and mark as internal
      git-sparse-checkout.txt: add a new EXAMPLES section
      git-sparse-checkout.txt: flesh out pattern set sections a bit
      git-sparse-checkout.txt: mark non-cone mode as deprecated
      Documentation: some sparsity wording clarifications

Fernando Ramos (4):
      vimdiff: new implementation with layout support
      vimdiff: integrate layout tests in the unit tests framework ('t' folder)
      vimdiff: add tool documentation
      mergetools: add description to all diff/merge tools

Frantisek Hrbata (3):
      transport: remove unnecessary indenting in transport_push()
      transport: unify return values and exit point from transport_push()
      transport: free local and remote refs in transport_push()

Garrit Franke (3):
      cli: add -v and -h shorthands
      serve.c: remove unnecessary include
      apply.c: remove unnecessary include

Glen Choo (4):
      pull: do not let submodule.recurse override fetch.recurseSubmodules
      remote.c: don't BUG() on 0-length branch names
      remote.c: reject 0-length branch names
      config: document and test the 'worktree' scope

Jason Yundt (1):
      gitweb: switch to an XHTML5 DOCTYPE

Jeff Hostetler (30):
      fsm-listen-win32: handle shortnames
      t7527: test FSMonitor on repos with Unicode root paths
      t/helper/fsmonitor-client: create stress test
      fsmonitor-settings: bare repos are incompatible with FSMonitor
      fsmonitor-settings: stub in Win32-specific incompatibility checking
      fsmonitor-settings: VFS for Git virtual repos are incompatible
      fsmonitor-settings: stub in macOS-specific incompatibility checking
      fsmonitor-settings: remote repos on macOS are incompatible
      fsmonitor-settings: remote repos on Windows are incompatible
      fsmonitor-settings: NTFS and FAT32 on MacOS are incompatible
      unpack-trees: initialize fsmonitor_has_run_once in o->result
      fsm-listen-darwin: ignore FSEvents caused by xattr changes on macOS
      fsmonitor--daemon: cd out of worktree root
      fsmonitor--daemon: prepare for adding health thread
      fsmonitor--daemon: rename listener thread related variables
      fsmonitor--daemon: stub in health thread
      fsm-health-win32: add polling framework to monitor daemon health
      fsm-health-win32: force shutdown daemon if worktree root moves
      fsm-listen-darwin: shutdown daemon if worktree root is moved/renamed
      fsmonitor: optimize processing of directory events
      t7527: FSMonitor tests for directory moves
      t/perf/p7527: add perf test for builtin FSMonitor
      fsmonitor: never set CE_FSMONITOR_VALID on submodules
      t7527: test FSMonitor on case insensitive+preserving file system
      fsmonitor: on macOS also emit NFC spelling for NFD pathname
      t/helper/hexdump: add helper to print hexdump of stdin
      t/lib-unicode-nfc-nfd: helper prereqs for testing unicode nfc/nfd
      t7527: test Unicode NFC/NFD handling on MacOS
      fsmonitor--daemon: allow --super-prefix argument
      t7527: improve implicit shutdown testing in fsmonitor--daemon

Jiang Xin (5):
      Makefile: sort source files before feeding to xgettext
      Makefile: generate "po/git.pot" from stable LOCALIZED_C
      Makefile: remove duplicate and unwanted files in FOUND_SOURCE_FILES
      po/git.pot: this is now a generated file
      Makefile: add "po-update" rule to update po/XX.po

Joel Holdsworth (22):
      git-p4: add blank lines between functions and class definitions
      git-p4: remove unneeded semicolons from statements
      git-p4: indent with 4-spaces
      git-p4: improve consistency of docstring formatting
      git-p4: convert descriptive class and function comments into docstrings
      git-p4: remove commented code
      git-p4: sort and de-duplcate pylint disable list
      git-p4: remove padding from lists, tuples and function arguments
      git-p4: remove spaces around default arguments
      git-p4: removed brackets when assigning multiple return values
      git-p4: place a single space after every comma
      git-p4: remove extraneous spaces before function arguments
      git-p4: remove redundant backslash-continuations inside brackets
      git-p4: remove spaces between dictionary keys and colons
      git-p4: ensure every comment has a single #
      git-p4: ensure there is a single space around all operators
      git-p4: normalize indentation of lines in conditionals
      git-p4: compare to singletons with "is" and "is not"
      git-p4: only seperate code blocks by a single empty line
      git-p4: move inline comments to line above
      git-p4: seperate multiple statements onto seperate lines
      git-p4: sort imports

Johannes Schindelin (24):
      t2016: require the PERL prereq only when necessary
      add -i: default to the built-in implementation
      trace2 docs: a couple of grammar fixes
      trace2 docs: "printf" is not an English word
      trace2 docs: surround more terms in backticks
      trace2 docs: fix a JSON formatted example
      trace2 docs: clarify what `varargs` is all about
      trace2 docs: add missing full stop
      ci: fix code style
      tests: refactor --write-junit-xml code
      test(junit): avoid line feeds in XML attributes
      ci/run-build-and-tests: take a more high-level view
      ci: make it easier to find failed tests' logs in the GitHub workflow
      ci/run-build-and-tests: add some structure to the GitHub workflow output
      ci: optionally mark up output in the GitHub workflow
      ci(github): skip the logs of the successful test cases
      ci: use `--github-workflow-markup` in the GitHub workflow
      ci(github): mention where the full logs can be found
      ci: call `finalize_test_case_output` a little later
      archive: optionally add "virtual" files
      archive --add-virtual-file: allow paths containing colons
      scalar: validate the optional enlistment argument
      scalar: implement `scalar diagnose`
      scalar diagnose: include disk space information

Jonathan Tan (2):
      fetch-pack: make unexpected peek result non-fatal
      commit,shallow: unparse commits if grafts changed

Josh Steadmon (1):
      run-command: don't spam trace2_child_exit()

Junio C Hamano (22):
      Some regression fixes for 2.36
      tree-wide: apply equals-null.cocci
      tree-wide: apply equals-null.cocci
      tree-wide: apply equals-null.cocci
      A bit more regression fixes for 2.36
      0th batch for topics from the previous cycle
      second 0th batch of topics from the previous cycle
      commit: fix "author_ident" leak
      fetch: do not run a redundant fetch from submodule
      t6424: make sure a failed merge preserves local changes
      First batch for 2.37
      Second batch
      Third batch
      Fourth batch
      pathspec: correct an empty string used as a pathspec element
      Fifth batch
      Sixth batch
      Revert -Wno-error=dangling-pointer
      Seventh batch
      Eighth batch
      Ninth batch
      Git 2.37-rc0

Kevin Locke (1):
      setup: don't die if realpath(3) fails on getcwd(3)

Khalid Masum (1):
      t3501: remove test -f and stop ignoring git <cmd> exit code

Kirill Frolov (1):
      git-p4: fix issue with multiple perforce remotes

Kleber Tarcísio (1):
      commit-graph: close file before returning NULL

Matthew John Cheetham (2):
      scalar: teach `diagnose` to gather packfile info
      scalar: teach `diagnose` to gather loose objects information

Miklos Vajna (1):
      log: "--since-as-filter" option is a non-terminating "--since" variant

Neeraj Singh (12):
      bulk-checkin: rename 'state' variable and separate 'plugged' boolean
      bulk-checkin: rebrand plug/unplug APIs as 'odb transactions'
      core.fsyncmethod: batched disk flushes for loose-objects
      cache-tree: use ODB transaction around writing a tree
      builtin/add: add ODB transaction around add_files_to_cache
      update-index: use the bulk-checkin infrastructure
      unpack-objects: use the bulk-checkin infrastructure
      core.fsync: use batch mode and sync loose objects by default on Windows
      test-lib-functions: add parsing helpers for ls-files and ls-tree
      core.fsyncmethod: tests for batch mode
      t/perf: add iteration setup mechanism to perf-lib
      core.fsyncmethod: performance tests for batch mode

Orgad Shaneh (1):
      fetch: limit shared symref check only for local branches

Philippe Blain (8):
      submodule.h: use a named enum for RECURSE_SUBMODULES_*
      MyFirstContribution: add "Anatomy of a Patch Series" section
      MyFirstContribution: add standalone section on cover letter
      MyFirstContribution: reference "The cover letter" in "Preparing Email"
      MyFirstContribution: reference "The cover letter" in GitGitGadget section
      MyFirstContribution: drop PR description for GGG single-patch contributions
      ci: update Cirrus-CI image to FreeBSD 12.3
      range-diff: show submodule changes irrespective of diff.submodule

René Scharfe (4):
      t7812: test PCRE2 whitespace bug
      tempfile: add mks_tempfile_dt()
      diff: use mks_tempfile_dt()
      archive: improve documentation of --prefix

SZEDER Gábor (3):
      t0033-safe-directory: check the error message without matching the trash dir
      t0033-safe-directory: check when 'safe.directory' is ignored
      safe.directory: document and check that it's ignored in the environment

Siddharth Asthana (1):
      t1011: replace test -f with test_path_is_file

Son Luong Ngoc (1):
      fsmonitor: query watchman with right valid json

Tao Klerks (8):
      untracked-cache: test untracked-cache-bypassing behavior with -uall
      untracked-cache: support '--untracked-files=all' if configured
      git-p4: support explicit sync of arbitrary existing git-p4 refs
      git-p4: preserve utf8 BOM when importing from p4 to git
      branch: new autosetupmerge option 'simple' for matching branches
      push: default to single remote even when not named origin
      push: new config option "push.autoSetupRemote" supports "simple" push
      git-p4: improve encoding handling to support inconsistent encodings

Taylor Blau (25):
      builtin/receive-pack.c: remove redundant 'if'
      t7703: demonstrate object corruption with pack.packSizeLimit
      builtin/repack.c: ensure that `names` is sorted
      Documentation/technical: add cruft-packs.txt
      pack-bitmap.c: check preferred pack validity when opening MIDX bitmap
      builtin/pack-objects.c: avoid redundant NULL check
      builtin/pack-objects.c: ensure included `--stdin-packs` exist
      builtin/pack-objects.c: ensure pack validity from MIDX bitmap objects
      pack-mtimes: support reading .mtimes files
      pack-write: pass 'struct packing_data' to 'stage_tmp_packfiles'
      chunk-format.h: extract oid_version()
      pack-mtimes: support writing pack .mtimes files
      t/helper: add 'pack-mtimes' test-tool
      builtin/pack-objects.c: return from create_object_entry()
      builtin/pack-objects.c: --cruft without expiration
      reachable: add options to add_unseen_recent_objects_to_traversal
      reachable: report precise timestamps from objects in cruft packs
      builtin/pack-objects.c: --cruft with expiration
      builtin/repack.c: support generating a cruft pack
      builtin/repack.c: allow configuring cruft pack generation
      builtin/repack.c: use named flags for existing_packs
      builtin/repack.c: add cruft packs to MIDX during geometric repack
      builtin/gc.c: conditionally avoid pruning objects via loose
      sha1-file.c: don't freshen cruft packs
      builtin/show-ref.c: avoid over-iterating with --heads, --tags

Victoria Dye (8):
      stash: expand sparse-checkout compatibility testing
      stash: integrate with sparse index
      sparse-index: expose 'is_sparse_index_allowed()'
      read-cache: set sparsity when index is new
      stash: apply stash using 'merge_ort_nonrecursive()'
      unpack-trees: preserve index sparsity
      repack: respect --keep-pack with geometric repack
      ci(github): avoid printing test case preamble twice

Yuyi Wang (3):
      cmake: fix CMakeLists.txt on Linux
      cmake: add pcre2 support
      cmake: remove (_)UNICODE def on Windows in CMakeLists.txt

ZheNing Hu (1):
      read-cache.c: reduce unnecessary cache entry name copying

halilsen (2):
      gitk: trivial indentation fix
      gitk: include y coord in recorded sash position

Ævar Arnfjörð Bjarmason (56):
      run-command.h: remove always unused "clean_on_exit_handler_cbdata"
      configure.ac: remove USE_PIC comment
      xdiff/xmacros.h: remove unused XDL_PTRFREE
      pack-bitmap-write: remove unused bitmap_reset() function
      object-store.h: remove unused has_sha1_file*()
      alloc.[ch]: remove alloc_report() function
      t/helper/test-fast-rebase.c: don't leak "struct strbuf"
      blame: use "goto cleanup" for cleanup_scoreboard()
      string_list API users: use string_list_init_{no,}dup
      format-patch: don't leak "extra_headers" or "ref_message_ids"
      cocci: add and apply free_commit_list() rules
      revision.[ch]: provide and start using a release_revisions()
      revisions API users: add straightforward release_revisions()
      revision.[ch]: document and move code declared around "init"
      revisions API users: use release_revisions() needing REV_INFO_INIT
      stash: always have the owner of "stash_info" free it
      revisions API users: add "goto cleanup" for release_revisions()
      revisions API users: use release_revisions() in http-push.c
      revisions API users: use release_revisions() in builtin/log.c
      revisions API users: use release_revisions() with UNLEAK()
      revisions API users: use release_revisions() for "prune_data" users
      revisions API: have release_revisions() release "commits"
      revisions API: have release_revisions() release "mailmap"
      revisions API: have release_revisions() release "cmdline"
      revisions API: have release_revisions() release "filter"
      revisions API: have release_revisions() release "grep_filter"
      revisions API: have release_revisions() release "prune_data"
      revisions API: clear "boundary_commits" in release_revisions()
      revisions API: release "reflog_info" in release revisions()
      revisions API: call diff_free(&revs->pruning) in revisions_release()
      revisions API: have release_revisions() release "date_mode"
      revisions API: have release_revisions() release "topo_walk_info"
      revisions API: add a TODO for diff_free(&revs->diffopt)
      connect.c: refactor sending of agent & object-format
      dir API: add a generalized path_match_flags() function
      fetch-pack: add a deref_without_lazy_fetch_extended()
      fetch-pack: move --keep=* option filling to a function
      bundle.h: make "fd" version of read_bundle_header() public
      Makefile: have "make pot" not "reset --hard"
      i18n CI: stop allowing non-ASCII source messages in po/git.pot
      po/git.pot: don't check in result of "make pot"
      Makefile: add "po-init" rule to initialize po/XX.po
      l10n: Document the new l10n workflow
      common-main.c: move non-trace2 exit() behavior out of trace2.c
      usage.c: add a non-fatal bug() function to go with BUG()
      parse-options.c: use new bug() API for optbug()
      parse-options.c: use optbug() instead of BUG() "opts" check
      receive-pack: use bug() and BUG_if_bug()
      cache-tree.c: use bug() and BUG_if_bug()
      run-command API: rename "env_array" to "env"
      run-command API users: use "env" not "env_array" in comments & names
      ls-tree: test for the regression in 9c4d58ff2c3
      run-command: add an "ungroup" option to run_process_parallel()
      remote.c: remove braces from one-statement "for"-loops
      remote.c: don't dereference NULL in freeing loop
      hook API: fix v2.36.0 regression: hooks should be connected to a TTY


Version v2.36.6; changes since v2.36.5:
---------------------------------------

Derrick Stolee (1):
      ci: update 'static-analysis' to Ubuntu 22.04

Jeff King (7):
      http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT
      http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION
      range-diff: drop useless "offset" variable from read_patches()
      http: support CURLOPT_PROTOCOLS_STR
      range-diff: handle unterminated lines in read_patches()
      range-diff: use ssize_t for parsed "len" in read_patches()
      Makefile: force -O0 when compiling with SANITIZE=leak

Jiang Xin (4):
      github-actions: run gcc-8 on ubuntu-20.04 image
      ci: remove the pipe after "p4 -V" to catch errors
      ci: use the same version of p4 on both Linux and macOS
      ci: install python on ubuntu

Johannes Schindelin (18):
      compat/win32/syslog: fix use-after-realloc
      nedmalloc: avoid new compile error
      t0033: GETTEXT_POISON fix
      t0003: GETTEXT_POISON fix, part 1
      t0003: GETTEXT_POISON fix, conclusion
      t5619: GETTEXT_POISON fix
      t5604: GETTEXT_POISON fix, part 1
      t5604: GETTEXT_POISON fix, conclusion
      clone.c: avoid "exceeds maximum object size" error with GCC v12.x
      apply --reject: overwrite existing `.rej` symlink if it exists
      gettext: avoid using gettext if the locale dir is not present
      tests: avoid using `test_i18ncmp`
      Git 2.31.8
      Git 2.32.7
      Git 2.33.8
      Git 2.34.8
      Git 2.35.8
      Git 2.36.6

Junio C Hamano (1):
      http.c: clear the 'finished' member once we are done with it

Taylor Blau (5):
      t1300: demonstrate failure when renaming sections with long lines
      config: avoid fixed-sized buffer when renaming/deleting a section
      config.c: avoid integer truncation in `copy_or_rename_section_in_file()`
      config.c: disallow overly-long lines in `copy_or_rename_section_in_file()`
      Git 2.30.9


Version v2.36.5; changes since v2.36.4:
---------------------------------------

Jeff King (3):
      http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT
      http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION
      http: support CURLOPT_PROTOCOLS_STR

Johannes Schindelin (7):
      attr: adjust a mismatched data type
      Git 2.31.7
      Git 2.32.6
      Git 2.33.7
      Git 2.34.7
      Git 2.35.7
      Git 2.36.5

Junio C Hamano (1):
      Git 2.30.8

Patrick Steinhardt (1):
      apply: fix writing behind newly created symbolic links

Taylor Blau (3):
      t5619: demonstrate clone_local() with ambiguous transport
      clone: delay picking a transport until after get_repo_path()
      dir-iterator: prevent top-level symlinks without FOLLOW_SYMLINKS


Version v2.36.4; changes since v2.36.3:
---------------------------------------

Carlo Marcelo Arenas Belón (1):
      test-lib: add prerequisite for 64-bit platforms

Junio C Hamano (7):
      Git 2.30.7
      Git 2.31.6
      Git 2.32.5
      Git 2.33.6
      Git 2.34.6
      Git 2.35.6
      Git 2.36.4

Patrick Steinhardt (25):
      attr: fix overflow when upserting attribute with overly long name
      attr: fix out-of-bounds read with huge attribute names
      attr: fix integer overflow when parsing huge attribute names
      attr: fix out-of-bounds write when parsing huge number of attributes
      attr: fix out-of-bounds read with unreasonable amount of patterns
      attr: fix integer overflow with more than INT_MAX macros
      attr: harden allocation against integer overflows
      attr: fix silently splitting up lines longer than 2048 bytes
      attr: ignore attribute lines exceeding 2048 bytes
      attr: ignore overly large gitattributes files
      pretty: fix out-of-bounds write caused by integer overflow
      pretty: fix out-of-bounds read when left-flushing with stealing
      pretty: fix out-of-bounds read when parsing invalid padding format
      pretty: fix adding linefeed when placeholder is not expanded
      pretty: fix integer overflow in wrapping format
      utf8: fix truncated string lengths in `utf8_strnwidth()`
      utf8: fix returning negative string width
      utf8: fix overflow when returning string width
      utf8: fix checking for glyph width in `strbuf_utf8_replace()`
      utf8: refactor `strbuf_utf8_replace` to not rely on preallocated buffer
      pretty: restrict input lengths for padding and wrapping formats
      fsck: refactor `fsck_blob()` to allow for more checks
      fsck: pull out function to check a set of blobs
      fsck: move checks for gitattributes
      fsck: implement checks for gitattributes


Version v2.36.3; changes since v2.36.2:
---------------------------------------

Jeff King (2):
      shell: add basic tests
      shell: limit size of interactive commands

Kevin Backhouse (1):
      alias.c: reject too-long cmdline strings in split_cmdline()

Taylor Blau (26):
      builtin/clone.c: disallow `--local` clones with symlinks
      t/lib-submodule-update.sh: allow local submodules
      t/t1NNN: allow local submodules
      t/2NNNN: allow local submodules
      t/t3NNN: allow local submodules
      t/t4NNN: allow local submodules
      t/t5NNN: allow local submodules
      t/t6NNN: allow local submodules
      t/t7NNN: allow local submodules
      t/t9NNN: allow local submodules
      transport: make `protocol.file.allow` be "user" by default
      t1092: prepare for changing protocol.file.allow
      t2080: prepare for changing protocol.file.allow
      t1092: prepare for changing protocol.file.allow
      t2080: prepare for changing protocol.file.allow
      t3207: prepare for changing protocol.file.allow
      t5516: prepare for changing protocol.file.allow
      t5537: prepare for changing protocol.file.allow
      t7814: prepare for changing protocol.file.allow
      Git 2.30.6
      Git 2.31.5
      Git 2.32.4
      Git 2.33.5
      Git 2.34.5
      Git 2.35.5
      Git 2.36.3


Version v2.36.2; changes since v2.36.1:
---------------------------------------

Alex Henrie (1):
      rebase: use correct base for --keep-base when a branch is given

Carlo Marcelo Arenas Belón (8):
      ci: make failure to find perforce more user friendly
      ci: avoid brew for installing perforce
      ci: reintroduce prevention from perforce being quarantined in macOS
      t: regression git needs safe.directory when using sudo
      git-compat-util: avoid failing dir ownership checks if running privileged
      t0034: add negative tests and allow git init to mostly work under sudo
      git-compat-util: allow root to access both SUDO_UID and root owned
      setup: tighten ownership checks post CVE-2022-24765

Derrick Stolee (3):
      midx: use real paths in lookup_multi_pack_index()
      multi-pack-index: use --object-dir real path
      cache: use const char * for get_object_directory()

Johannes Schindelin (10):
      compat/win32/syslog: fix use-after-realloc
      nedmalloc: avoid new compile error
      dir.c: avoid "exceeds maximum object size" error with GCC v12.x
      Git 2.30.5
      Git 2.31.4
      Git 2.32.3
      Git 2.33.4
      Git 2.34.4
      Git 2.35.4
      Git 2.36.2

Junio C Hamano (6):
      show-branch: -g and --current are incompatible
      clone: plug a miniscule leak
      SubmittingPatches: use more stable git.ozlabs.org URL
      archive: do not let on-disk mode leak to zip archives
      http.c: clear the 'finished' member once we are done with it
      Prepare for 2.36.2

Michael J Gruber (1):
      detect-compiler: make detection independent of locale

Phillip Wood (1):
      tests: make SANITIZE=address imply TEST_NO_MALLOC_CHECK

René Scharfe (1):
      commit, sequencer: turn off break_opt for commit summary

Ævar Arnfjörð Bjarmason (5):
      tests: using custom GIT_EXEC_PATH breaks --valgrind tests
      log test: skip a failing mkstemp() test under valgrind
      object-file: fix a unpack_loose_header() regression in 3b6a8db3b03
      commit-graph.c: don't assume that stat() succeeds
      ci: use https, not http to download binaries from perforce.com


Version v2.36.1; changes since v2.36.0:
---------------------------------------

Junio C Hamano (4):
      2.36 gitk/diff-tree --stdin regression fix
      2.36 show regression fix
      cocci: drop bogus xstrdup_or_null() rule
      Git 2.36.1

Orgad Shaneh (1):
      submodule--helper: fix initialization of warn_if_uninitialized

René Scharfe (3):
      Revert "name-rev: release unused name strings"
      2.36 format-patch regression fix
      2.36 fast-export regression fix

Ævar Arnfjörð Bjarmason (1):
      CI: select CC based on CC_PACKAGE (again)


Version v2.36.0; changes since v2.36.0-rc2:
-------------------------------------------

Bagas Sanjaya (2):
      l10n: po-id for 2.36 (round 1)
      l10n: po-id for 2.36 (round 2)

Carlo Marcelo Arenas Belón (2):
      config.mak.dev: workaround gcc 12 bug affecting "pedantic" CI job
      config.mak.dev: alternative workaround to gcc 12 warning in http.c

Daniel Santos (3):
      l10n: pt_PT: update Portuguese translation
      l10n: pt_PT: update TEAMS file
      l10n: pt_PT: update Portuguese translation

Derrick Stolee (2):
      t0033: add tests for safe.directory
      setup: opt-out of check with safe.directory=*

Emir SARI (2):
      l10n: tr: v2.36.0 round 1
      l10n: tr: v2.36.0 round 2

Fangyi Zhou (3):
      l10n: Update zh_CN repo link
      l10n: zh_CN v2.36.0 round 1
      l10n: zh_CN v2.36.0 round 2

Jean-Noël Avila (2):
      l10n: fr: v2.36 round 1
      l10n: fr: v2.36 round 2

Jiang Xin (2):
      l10n: git.pot: v2.36.0 round 1 (192 new, 106 removed)
      l10n: git.pot: v2.36.0 round 2 (4 new, 3 removed)

Jordi Mas (1):
      l10n: Update Catalan translation

Junio C Hamano (7):
      Git 2.30.4
      Revert "Merge branch 'ps/avoid-unnecessary-hook-invocation-with-packed-refs'"
      Revert "fetch: increase test coverage of fetches"
      RelNotes: clarify "bisect run unexecutable" tweak
      RelNotes: mention safe.directory
      RelNotes: revert the description on the reverted topics
      Git 2.36

Matheus Valadares (1):
      setup: fix safe.directory key not being checked

Matthias Rüster (1):
      l10n: de.po: Update German translation

Peter Krefting (1):
      l10n: sv.po: Update Swedish translation (5282t0f0u)

Trần Ngọc Quân (1):
      l10n: vi(5285t): v2.36.0 round 2

Yi-Jyun Pan (1):
      l10n: zh_TW: v2.36.0 round 2


Version v2.36.0-rc2; changes since v2.36.0-rc1:
-----------------------------------------------

Carlo Marcelo Arenas Belón (1):
      mingw: avoid fallback for {local,gm}time_r()

Jean-Noël Avila (1):
      i18n: fix some badly formatted i18n strings

Johannes Schindelin (10):
      GIT-VERSION-GEN: bump to v2.33.1
      Add a function to determine whether a path is owned by the current user
      setup_git_directory(): add an owner check for the top-level directory
      Fix `GIT_CEILING_DIRECTORIES` with `C:\` and the likes
      Git 2.30.3
      Git 2.31.2
      Git 2.32.1
      Git 2.33.2
      Git 2.34.2
      Git 2.35.2

Junio C Hamano (1):
      Git 2.36-rc2


Version v2.36.0-rc1; changes since v2.36.0-rc0:
-----------------------------------------------

Adam Dinwoodie (2):
      configure.ac: fix HAVE_SYNC_FILE_RANGE definition
      t9902: split test to run on appropriate systems

Carlo Marcelo Arenas Belón (1):
      git-compat-util: really support openssl as a source of entropy

Fangyi Zhou (1):
      submodule-helper: fix usage string

Josh Steadmon (1):
      ls-tree: `-l` should not imply recursive listing

Junio C Hamano (1):
      Git 2.36-rc1

Martin Ågren (1):
      git-ls-tree.txt: fix the name of "%(objectsize:padded)"

Todd Zullinger (1):
      doc: replace "--" with {litdd} in credential-cache/fsmonitor

Victoria Dye (1):
      contrib/scalar: fix 'all' target in Makefile

Ævar Arnfjörð Bjarmason (3):
      Documentation/Makefile: fix "make info" regression in dad9cd7d518
      Documentation: add --batch-command to cat-file synopsis
      ls-tree doc: document interaction with submodules


Version v2.36.0-rc0; changes since v2.35.8:
-------------------------------------------

Abhradeep Chakraborty (2):
      amend remaining usage strings according to style guide
      partial-clone: add a partial-clone test case

Alex Henrie (3):
      log: fix memory leak if --graph is passed multiple times
      log: add a --no-graph option
      switch: mention the --detach option when dying due to lack of a branch

Atharva Raykar (5):
      submodule--helper: get remote names from any repository
      submodule--helper: refactor get_submodule_displaypath()
      submodule--helper: allow setting superprefix for init_submodule()
      submodule--helper: run update using child process struct
      submodule: move core cmd_update() logic to C

Bagas Sanjaya (1):
      fetch-pack: parameterize message containing 'ready' keyword

COGONI Guillaume (3):
      t/t3903-stash.sh: replace test [-d|-f] with test_path_is_*
      tests: allow testing if a path is truly a file or a directory
      tests: make the code more readable

Chen Bojun (1):
      receive-pack: purge temporary data if no command is ready to run

David Cantrell (1):
      completion: tab completion of filenames for 'git restore'

Derrick Stolee (45):
      Documentation: add extensions.worktreeConfig details
      worktree: create init_worktree_config()
      config: add repo_config_set_worktree_gently()
      sparse-checkout: set worktree-config correctly
      worktree: copy sparse-checkout patterns and config on add
      config: make git_configset_get_string_tmp() private
      mailmap: change primary address for Derrick Stolee
      dir: force untracked cache with core.untrackedCache
      worktree: combine two translatable messages
      worktree: extract copy_filtered_worktree_config()
      worktree: extract copy_sparse_checkout()
      worktree: extract checkout_worktree()
      worktree: use 'worktree' over 'working tree'
      worktree: use 'worktree' over 'working tree'
      worktree: use 'worktree' over 'working tree'
      worktree: use 'worktree' over 'working tree'
      worktree: use 'worktree' over 'working tree'
      worktree: use 'worktree' over 'working tree'
      worktree: use 'worktree' over 'working tree'
      test-read-graph: include extra post-parse info
      t5318: extract helpers to lib-commit-graph.sh
      commit-graph: fix ordering bug in generation numbers
      commit-graph: start parsing generation v2 (again)
      commit-graph: fix generation number v2 overflow values
      commit-graph: declare bankruptcy on GDAT chunks
      index-pack: document and test the --promisor option
      list-objects-filter-options: create copy helper
      revision: put object filter into struct rev_info
      pack-objects: use rev.filter when possible
      pack-bitmap: drop filter in prepare_bitmap_walk()
      list-objects: consolidate traverse_commit_list[_filtered]
      MyFirstObjectWalk: update recommended usage
      bundle: parse filter capability
      rev-list: move --filter parsing into revision.c
      bundle: create filtered bundles
      bundle: unbundle promisor packs
      clone: fail gracefully when cloning filtered bundle
      maintenance: fix synopsis in documentation
      list-objects-filter: remove CL_ARG__FILTER
      pack-objects: move revs out of get_object_list()
      pack-objects: parse --filter directly into revs.filter
      bundle: move capabilities to end of 'verify'
      bundle: output hash information in 'verify'
      t7700: check post-condition in kept-pack test
      test-lib-functions: remove test_subcommand_inexact

Des Preston (1):
      worktree: include repair cmd in usage

Elia Pinto (8):
      test-lib.sh: Use GLIBC_TUNABLES instead of MALLOC_CHECK_ on glibc >= 2.34
      t6423-merge-rename-directories.sh: use the $(...) construct
      attr.c: delete duplicate include
      builtin/gc.c: delete duplicate include
      builtin/sparse-checkout.c: delete duplicate include
      builtin/stash.c: delete duplicate include
      t/helper/test-run-command.c: delete duplicate include
      attr.h: remove duplicate struct definition

Elijah Newren (32):
      t1011: add testcase demonstrating accidental loss of user modifications
      unpack-trees: fix accidental loss of user changes
      repo_read_index: clear SKIP_WORKTREE bit from files present in worktree
      Update documentation related to sparsity and the skip-worktree bit
      Accelerate clear_skip_worktree_from_present_files() by caching
      merge-ort: avoid assuming all renames detected
      merge-ort: fix memory leak in merge_ort_internal()
      merge: fix memory leaks in cmd_merge()
      sparse-checkout: fix a couple minor memory leaks
      repo-settings: fix checking for fetch.negotiationAlgorithm=default
      repo-settings: fix error handling for unknown values
      repo-settings: rename the traditional default fetch.negotiationAlgorithm
      show, log: provide a --remerge-diff capability
      log: clean unneeded objects during `log --remerge-diff`
      ll-merge: make callers responsible for showing warnings
      merge-ort: capture and print ll-merge warnings in our preferred fashion
      merge-ort: mark a few more conflict messages as omittable
      merge-ort: format messages slightly different for use in headers
      diff: add ability to insert additional headers for paths
      show, log: include conflict/warning messages in --remerge-diff headers
      merge-ort: mark conflict/warning messages from inner merges as omittable
      diff-merges: avoid history simplifications when diffing merges
      merge-ort: make informational messages from recursive merges clearer
      sparse-checkout: correct reapply's handling of options
      sparse-checkout: correctly set non-cone mode when expected
      sparse-checkout: pay attention to prefix for {set, add}
      sparse-checkout: error or warn when given individual files
      sparse-checkout: reject arguments in cone-mode that look like patterns
      merge-ort: fix small memory leak in detect_and_process_renames()
      merge-ort: fix small memory leak in unique_path()
      merge-ort: exclude messages from inner merges by default
      repo_read_index: add config to expect files outside sparse patterns

Emily Shaffer (14):
      hook: add 'run' subcommand
      gc: use hook library for pre-auto-gc hook
      am: convert {pre,post}-applypatch to use hook.h
      rebase: convert pre-rebase to use hook.h
      am: convert applypatch-msg to use hook.h
      merge: convert post-merge to use hook.h
      hooks: convert non-worktree 'post-checkout' hook to hook library
      hooks: convert worktree 'post-checkout' hook to hook library
      send-email: use 'git hook run' for 'sendemail-validate'
      git-p4: use 'git hook' to run hooks
      commit: convert {pre-commit,prepare-commit-msg} hook to hook.h
      read-cache: convert post-index-change to use hook.h
      receive-pack: convert push-to-checkout hook to hook.h
      run-command: remove old run_hook_{le,ve}() hook API

Fabian Stelzer (2):
      gpg-interface: trim CR from ssh-keygen
      gpg-interface/gpgsm: fix for v2.3

Glen Choo (39):
      fetch: use goto cleanup in cmd_fetch()
      fetch: skip tasks related to fetching objects
      fetch --negotiate-only: do not update submodules
      branch: move --set-upstream-to behavior to dwim_and_setup_tracking()
      branch: make create_branch() always create a branch
      branch: add a dry_run parameter to create_branch()
      builtin/branch: consolidate action-picking logic in cmd_branch()
      branch: add --recurse-submodules option for branch creation
      branch.c: use 'goto cleanup' in setup_tracking() to fix memory leaks
      stash: strip "refs/heads/" with skip_prefix
      checkout, clone: die if tree cannot be parsed
      submodule--helper: remove update-module-mode
      submodule--helper: reorganize code for sh to C conversion
      submodule--helper run-update-procedure: remove --suboid
      submodule--helper run-update-procedure: learn --remote
      submodule--helper update-clone: learn --init
      submodule--helper: remove ensure-core-worktree
      submodule update: add tests for --filter
      submodule--helper update-clone: check for --filter and --init
      t5526: introduce test helper to assert on fetches
      t5526: stop asserting on stderr literally
      t5526: create superproject commits with test helper
      submodule: make static functions read submodules from commits
      submodule: inline submodule_commits() into caller
      submodule: store new submodule commits oid_array in a struct
      submodule: extract get_fetch_task()
      submodule: move logic into fetch_task_create()
      submodule update: use die_message()
      submodule--helper: teach update_data more options
      submodule--helper: reduce logic in run_update_procedure()
      submodule--helper: remove forward declaration
      fetch: fetch unpopulated, changed submodules
      submodule: fix latent check_has_commit() bug
      branch: support more tracking modes when recursing
      branch: give submodule updating advice before exit
      branch --set-upstream-to: be consistent when advising
      branch: remove negative exit code
      branch: rework comments for future developers
      branch.c: simplify advice-and-die sequence

Greg Hurrell (2):
      Documentation/config/pgp.txt: replace stray <TAB> character with <SPC>
      Documentation/config/pgp.txt: add missing apostrophe

Han-Wen Nienhuys (27):
      reftable: fix OOB stack write in print functions
      reftable: fix resource leak in block.c error path
      reftable: fix resource leak blocksource.c
      reftable: check reftable_stack_auto_compact() return value
      reftable: ignore remove() return value in stack_test.c
      reftable: fix resource warning
      reftable: all xxx_free() functions accept NULL arguments
      reftable: order unittests by complexity
      reftable: drop stray printf in readwrite_test
      reftable: handle null refnames in reftable_ref_record_equal
      reftable: make reftable-record.h function signatures const correct
      reftable: implement record equality generically
      reftable: remove outdated file reftable.c
      reftable: make reftable_record a tagged union
      reftable: add print functions to the record types
      t1405: explictly delete reflogs for reftable
      t1405: mark test that checks existence as REFFILES
      t5312: prepare for reftable
      t1410: use test-tool ref-store to inspect reflogs
      t1410: mark bufsize boundary test as REFFILES
      Documentation: object_id_len goes up to 31
      reftable: reject 0 object_id_len
      reftable: add a test that verifies that writing empty keys fails
      reftable: avoid writing empty keys at the block layer
      reftable: ensure that obj_id_len is >= 2 on writing
      reftable: add test for length of disambiguating prefix
      reftable: rename writer_stats to reftable_writer_stats

Jacob Keller (1):
      name-rev: use generation numbers if available

Jason Yundt (2):
      comment: fix typo
      gitweb: remove invalid http-equiv="content-type"

Jayati Shrivastava (1):
      sequencer: use reverse_commit_list() helper

Jaydeep Das (1):
      t/t0015-hash.sh: remove unnecessary '\' at line end

Jaydeep P Das (1):
      userdiff: add builtin diff driver for kotlin language.

Jean-Noël Avila (4):
      i18n: factorize more 'incompatible options' messages
      i18n: factorize "invalid value" messages
      i18n: remove from i18n strings that do not hold translatable parts
      i18n: fix some misformated placeholders in command synopsis

Jeff Hostetler (30):
      fsmonitor: enhance existing comments, clarify trivial response handling
      fsmonitor-ipc: create client routines for git-fsmonitor--daemon
      fsmonitor: config settings are repository-specific
      fsmonitor: use IPC to query the builtin FSMonitor daemon
      fsmonitor: document builtin fsmonitor
      fsmonitor--daemon: add a built-in fsmonitor daemon
      fsmonitor--daemon: implement 'stop' and 'status' commands
      compat/fsmonitor/fsm-listen-win32: stub in backend for Windows
      compat/fsmonitor/fsm-listen-darwin: stub in backend for Darwin
      fsmonitor--daemon: implement 'run' command
      fsmonitor--daemon: implement 'start' command
      fsmonitor--daemon: add pathname classification
      fsmonitor--daemon: define token-ids
      fsmonitor--daemon: create token-based changed path cache
      compat/fsmonitor/fsm-listen-win32: implement FSMonitor backend on Windows
      compat/fsmonitor/fsm-listen-darwin: add MacOS header files for FSEvent
      compat/fsmonitor/fsm-listen-darwin: implement FSEvent listener on MacOS
      fsmonitor--daemon: implement handle_client callback
      help: include fsmonitor--daemon feature flag in version info
      t/helper/fsmonitor-client: create IPC client to talk to FSMonitor Daemon
      t7527: create test for fsmonitor--daemon
      t/perf: avoid copying builtin fsmonitor files into test repo
      t/helper/test-chmtime: skip directories on Windows
      t/perf/p7519: fix coding style
      t/perf/p7519: speed up test on Windows
      t/perf/p7519: add fsmonitor--daemon test cases
      fsmonitor--daemon: periodically truncate list of modified files
      fsmonitor--daemon: use a cookie file to sync with file system
      fsmonitor: force update index after large responses
      t7527: test status with untracked-cache and fsmonitor--daemon

Jerry Zhang (3):
      git-rev-list: add --exclude-first-parent-only flag
      patch-id: fix antipatterns in tests
      patch-id: fix scan_hunk_header on diffs with 1 line of before/after

Jessica Clarke (1):
      mem-pool: don't assume uintmax_t is aligned enough for all types

Joel Holdsworth (4):
      git-p4: don't select shell mode using the type of the command argument
      git-p4: pass command arguments as lists instead of using shell
      git-p4: don't print shell commands as python lists
      git-p4: fix instantiation of CalledProcessError

Johannes Schindelin (14):
      sparse-index: sparse index is disallowed when split index is active
      t1091: disable split index
      split-index: it really is incompatible with the sparse index
      git-sh-setup: remove remnant bits referring to `git-legacy-stash`
      add: remove support for `git-legacy-stash`
      stash: remove documentation for `stash.useBuiltin`
      stash: stop warning about the obsolete `stash.useBuiltin` config setting
      docs(diff): lose incorrect claim about `diff-files --diff-filter=A`
      diff.c: move the diff filter bits definitions up a bit
      diff-filter: be more careful when looking for negative bits
      scalar: accept -C and -c options before the subcommand
      checkout/fetch/pull/pack-objects: allow `-h` outside a repository
      t0012: verify that built-ins handle `-h` even without gitdir
      cocci: allow padding with `strbuf_addf()`

John Cai (15):
      receive-pack.c: consolidate find header logic
      name-rev: deprecate --stdin in favor of --annotate-stdin
      name-rev.c: use strbuf_getline instead of limited size buffer
      builtin/reflog.c: use parse-options api for expire, delete subcommands
      name-rev: replace --stdin with --annotate-stdin in synopsis
      cat-file: rename cmdmode to transform_mode
      cat-file: introduce batch_mode enum to replace print_contents
      cat-file: add remove_timestamp helper
      cat-file: add --batch-command mode
      stash: add tests to ensure reflog --rewrite --updatref behavior
      reflog: libify delete reflog function and helpers
      stash: call reflog_delete() in reflog.c
      cat-file: skip expanding default format
      rebase: use test_commit helper in setup
      rebase: set REF_HEAD_DETACH in checkout_up_to_date()

Jonathan Tan (6):
      config: make git_config_include() static
      config: include file if remote URL matches a glob
      sparse-checkout: create leading directory
      clone: support unusual remote ref configurations
      ls-files: support --recurse-submodules --stage
      shallow: reset commit grafts when shallow is reset

Josh Steadmon (2):
      test-lib: unset trace2 parent envvars
      clone, submodule: pass partial clone filters to submodules

Junio C Hamano (30):
      compat/qsort_s.c: avoid using potentially unaligned access
      fetch: help translators by reusing the same message template
      Start post 2.35 cycle
      SubmittingPatches: write problem statement in the log in the present tense
      CodingGuidelines: hint why we value clearly written log messages
      SubmittingPatches: explain why we care about log messages
      Name the next one 2.36 to prepare for 2.35.1
      The first batch
      The second batch for 2.36
      glossary: describe "worktree"
      The third batch
      The fourth batch
      The fifth batch
      The sixth batch
      The seventh batch
      The eighth batch
      rerere-train: two fixes to the use of "git show -s"
      am/apply: warn if we end up reading patches from terminal
      The ninth batch
      The tenth batch
      The eleventh batch
      The twelfth batch
      The thirteenth batch
      The 14th batch
      reset: show --no-refresh in the short-help
      The 15th batch
      The 16th batch
      The 17th batch
      CodingGuidelines: give deadline for "for (int i = 0; ..."
      Git 2.36-rc0

Justin Donnelly (4):
      git-prompt: rename `upstream` to `upstream_type`
      git-prompt: make upstream state indicator location consistent
      git-prompt: make long upstream state indicator consistent
      git-prompt: put upstream comments together

Lessley Dennington (3):
      completion: address sparse-checkout issues
      completion: improve sparse-checkout cone mode directory completion
      completion: handle unusual characters for sparse-checkout

Liginity Lee (1):
      fix typo in git-mktree.txt

Marc Strapetz (4):
      test-lib: introduce API for verifying file mtime
      t7508: fix bogus mtime verification
      t7508: add tests capturing racy timestamp handling
      update-index: refresh should rewrite index in case of racy timestamps

Matheus Felipe (1):
      config: correct "--type" option in "git config -h" output

Matt Cooper (1):
      index-pack: clarify the breached limit

Michael J Gruber (2):
      test-lib: declare local variables as local
      tests: demonstrate "show --word-diff --color-moved" regression

Neeraj Singh (10):
      wrapper: make inclusion of Windows csprng header tightly scoped
      core.fsyncmethod: add writeout-only mode
      core.fsync: introduce granular fsync control infrastructure
      core.fsync: add configuration parsing
      core.fsync: new option to harden the index
      core.fsync: documentation and user-friendly aggregate options
      core.fsync: fix incorrect expression for default configuration
      trace2: add stats for fsync operations
      core.fsyncmethod: correctly camel-case warning message
      object-file: pass filename to fsync_or_die

Nihal Jere (1):
      Documentation: git-read-tree: separate links using commas

Patrick Steinhardt (24):
      refs: extract packed_refs_delete_refs() to allow control of transaction
      refs: allow passing flags when beginning transactions
      refs: allow skipping the reference-transaction hook
      refs: demonstrate excessive execution of the reference-transaction hook
      refs: do not execute reference-transaction hook on packing refs
      refs: skip hooks when deleting uncovered packed refs
      fetch-pack: use commit-graph when computing cutoff
      fetch: skip computing output width when not printing anything
      fetch: increase test coverage of fetches
      fetch: backfill tags before setting upstream
      fetch: control lifecycle of FETCH_HEAD in a single place
      fetch: report errors when backfilling tags fails
      refs: add interface to iterate over queued transactional updates
      fetch: make `--atomic` flag cover backfilling of tags
      fetch: make `--atomic` flag cover pruning of refs
      upload-pack: look up "want" lines via commit-graph
      fetch: avoid lookup of commits when not appending to FETCH_HEAD
      refs: add ability for backends to special-case reading of symbolic refs
      remote: read symbolic refs via `refs_read_symbolic_ref()`
      refs/files-backend: optimize reading of symbolic refs
      t5503: simplify setup of test which exercises failure of backfill
      repack: refactor to avoid double-negation of update-server-info
      repack: add config to skip updating server info
      core.fsync: new option to harden references

Philip Oakley (2):
      README.md: add CodingGuidelines and a link for Translators
      doc: check-ignore: code-quote an exclamation mark

Philippe Blain (1):
      pull --rebase: honor rebase.autostash when fast-forwarding

Phillip Wood (29):
      t3701: clean up hunk splitting tests
      builtin add -p: fix hunk splitting
      rebase: factor out checkout for up to date branch
      t5403: refactor rebase post-checkout hook tests
      rebase: pass correct arguments to post-checkout hook
      rebase: do not remove untracked files on checkout
      rebase --apply: don't run post-checkout hook if there is an error
      reset_head(): remove action parameter
      reset_head(): factor out ref updates
      reset_head(): make default_reflog_action optional
      create_autostash(): remove unneeded parameter
      rebase: cleanup reset_head() calls
      reset_head(): take struct rebase_head_opts
      rebase --apply: fix reflog
      rebase --apply: set ORIG_HEAD correctly
      rebase -m: don't fork git checkout
      xdiff: fix a memory leak
      xdiff: handle allocation failure in patience diff
      xdiff: refactor a function
      xdiff: handle allocation failure when merging
      terminal: always reset terminal when reading without echo
      terminal: pop signal handler when terminal is restored
      terminal: set VMIN and VTIME in non-canonical mode
      add -p: disable stdin buffering when interactive.singlekey is set
      terminal: use flags for save_term()
      terminal: don't assume stdin is /dev/tty
      terminal: work around macos poll() bug
      terminal: restore settings on SIGTSTP
      worktree: add -z option for list subcommand

René Scharfe (10):
      grep: use grep_or_expr() in compile_pattern_or()
      grep: use grep_not_expr() in compile_pattern_not()
      apply: use strsets to track symlinks
      stable-qsort: avoid using potentially unaligned access
      bisect--helper: report actual bisect_state() argument on error
      bisect--helper: release strbuf and strvec on run error
      bisect: document run behavior with exit codes 126 and 127
      bisect--helper: double-check run command on exit code 126 and 127
      parse-options: document bracketing of argh
      grep: fix triggering PCRE2_NO_START_OPTIMIZE workaround

Robert Coup (8):
      fetch: fix negotiate-only error message
      fetch-negotiator: add specific noop initializer
      fetch-pack: add refetch
      builtin/fetch-pack: add --refetch option
      fetch: add --refetch option
      t5615-partial-clone: add test for fetch --refetch
      fetch: after refetch, encourage auto gc repacking
      docs: mention --refetch fetch option

SZEDER Gábor (1):
      reflog: fix 'show' subcommand's argv

Shaoxuan Yuan (4):
      builtin/diff.c: fix "git-diff" usage string typo
      t/lib-read-tree-m-3way: modernize style
      t/lib-read-tree-m-3way: indent with tabs
      t0001: replace "test [-d|-f]" with test_path_is_* functions

Shubham Mishra (3):
      t0003: avoid pipes with Git on LHS
      t0001-t0028: avoid pipes with Git on LHS
      t0030-t0050: avoid pipes with Git on LHS

Tao Klerks (6):
      t7519: avoid file to index mtime race for untracked cache
      t7519: populate untracked cache before test
      untracked-cache: write index when populating empty untracked cache
      t/helper/test-chmtime: update mingw to support chmtime on directories
      t7063: mtime-mangling instead of delays in untracked cache testing
      tracking branches: add advice to ambiguous refspec error

Taylor Blau (15):
      grep: extract grep_binexp() from grep_or_expr()
      grep: use grep_and_expr() in compile_pattern_and()
      t5326: demonstrate bitmap corruption after permutation
      midx.c: make changing the preferred pack safe
      pack-revindex.c: instrument loading on-disk reverse index
      t5326: drop unnecessary setup
      t5326: extract `test_rev_exists`
      t5326: move tests to t/lib-bitmap.sh
      t/lib-bitmap.sh: parameterize tests over reverse index source
      midx: read `RIDX` chunk when present
      pack-bitmap.c: gracefully fallback after opening pack/MIDX
      midx: prevent writing a .bitmap without any objects
      CODE_OF_CONDUCT.md: update PLC members list
      builtin/remote.c: parse options in 'rename'
      builtin/remote.c: show progress when renaming remote references

Teng Long (6):
      git-cli.txt: clarify "options first and then args"
      ls-tree: rename "retval" to "recurse" in "show_tree()"
      ls-tree: simplify nesting if/else logic in "show_tree()"
      ls-tree: fix "--name-only" and "--long" combined use bug
      ls-tree: slightly refactor `show_tree()`
      ls-tree: support --object-only option for "git-ls-tree"

Thomas Gummerer (1):
      fetch --prune: exit with error if pruning fails

Thomas Koutcher (1):
      subtree: force merge commit

Todd Zullinger (2):
      t/lib-gpg: reload gpg components after updating trustlist
      t/lib-gpg: kill all gpg components, not just gpg-agent

Victoria Dye (29):
      reset: fix validation in sparse index test
      reset: reorder wildcard pathspec conditions
      clean: integrate with sparse index
      checkout-index: expand sparse checkout compatibility tests
      checkout-index: add --ignore-skip-worktree-bits option
      checkout-index: integrate with sparse index
      update-index: add tests for sparse-checkout compatibility
      update-index: integrate with sparse index
      update-index: reduce scope of index expansion in do_reupdate
      sparse-index: prevent repo root from becoming sparse
      status: fix nested sparse directory diff in sparse index
      read-tree: explicitly disallow prefixes with a leading '/'
      read-tree: expand sparse checkout test coverage
      read-tree: integrate with sparse index
      read-tree: narrow scope of index expansion for '--prefix'
      read-tree: make two-way merge sparse-aware
      read-tree: make three-way merge sparse-aware
      reset: revise index refresh advice
      reset: introduce --[no-]refresh option to --mixed
      reset: replace '--quiet' with '--no-refresh' in performance advice
      reset: suppress '--no-refresh' advice if logging is silenced
      stash: make internal resets quiet and refresh index
      t1092: add sparse directory before cone in test repo
      unpack-trees: increment cache_bottom for sparse directories
      Revert "unpack-trees: improve performance of next_cache_entry"
      reset: do not make '--quiet' disable index refresh
      reset: remove 'reset.quiet' config option
      reset: remove 'reset.refresh' config option
      mv: refresh stat info for moved entry

brian m. carlson (6):
      t0027: add tests for eol without text in .gitattributes
      docs: correct documentation about eol attribute
      wrapper: add a helper to generate numbers from a CSPRNG
      wrapper: use a CSPRNG to generate random file names
      doc: clarify interaction between 'eol' and text=auto
      block-sha1: remove use of obsolete x86 assembly

Ævar Arnfjörð Bjarmason (183):
      cat-file tests: test bad usage
      cat-file tests: test messaging on bad objects/paths
      parse-options API: add a usage_msg_optf()
      cat-file docs: fix SYNOPSIS and "-h" output
      cat-file: move "usage" variable to cmd_cat_file()
      cat-file: make --batch-all-objects a CMDMODE
      cat-file: fix remaining usage bugs
      cat-file: correct and improve usage information
      object-name.c: don't have GET_OID_ONLY_TO_DIE imply *_QUIETLY
      cat-file: use GET_OID_ONLY_TO_DIE in --(textconv|filters)
      hook API: add a run_hooks() wrapper
      hook API: add a run_hooks_l() wrapper
      git hook run: add an --ignore-missing flag
      cat-file: don't whitespace-pad "(...)" in SYNOPSIS and usage output
      cat-file: s/_/-/ in typo'd usage_msg_optf() message
      compat: auto-detect if zlib has uncompress2()
      sequencer: don't use die_errno() on refs_resolve_ref_unsafe() failure
      refs API: remove "failure_errno" from refs_resolve_ref_unsafe()
      object-name tests: add tests for ambiguous object blind spots
      object-name: explicitly handle OBJ_BAD in show_ambiguous_object()
      object-name: explicitly handle bad tags in show_ambiguous_object()
      object-name: make ambiguous object output translatable
      object-name: show date for ambiguous tag objects
      object-name: iterate ambiguous objects before showing header
      object-name: re-use "struct strbuf" in show_ambiguous_object()
      perl Git.pm: don't ignore signalled failure in _cmd_close()
      completion tests: re-source git-completion.bash in a subshell
      completion: add a GIT_COMPLETION_SHOW_ALL_COMMANDS
      leak tests: fix a memory leak in "test-progress" helper
      progress.c test helper: add missing braces
      progress.c tests: make start/stop commands on stdin
      progress.c tests: test some invalid usage
      progress.h: format and be consistent with progress.c naming
      progress.c: use dereferenced "progress" variable, not "(*p_progress)"
      progress.c: refactor stop_progress{,_msg}() to use helpers
      progress API: unify stop_progress{,_msg}(), fix trace2 bug
      pack-bitmap-write.c: don't return without stop_progress()
      t0051: use "skip_all" under !MINGW in single-test file
      hash-object: fix a trivial leak in --path
      ls-remote & transport API: release "struct transport_ls_refs_options"
      grep.h: remove unused "regex_t regexp" from grep_opt
      log tests: check if grep_config() is called by "log"-like cmds
      grep tests: create a helper function for "BRE" or "ERE"
      grep tests: add missing "grep.patternType" config tests
      built-ins: trust the "prefix" from run_builtin()
      grep.c: don't pass along NULL callback value
      grep API: call grep_config() after grep_init()
      grep.h: make "grep_opt.pattern_type_option" use its enum
      grep.c: do "if (bool && memchr())" not "if (memchr() && bool)"
      grep: simplify config parsing and option parsing
      cache.h: remove always unused show_date_human() declaration
      date API: create a date.h, split from cache.h
      date API: provide and use a DATE_MODE_INIT
      date API: add basic API docs
      date API: add and use a date_mode_release()
      diff.[ch]: have diff_free() call clear_pathspec(opts.pathspec)
      diff.[ch]: have diff_free() free options->parseopts
      hook tests: test for exact "pre-push" hook input
      hook tests: use a modern style for "pre-push" tests
      git-compat-util.h: clarify GCC v.s. C99-specific in comment
      C99: remove hardcoded-out !HAVE_VARIADIC_MACROS code
      help doc: add missing "]" to "[-a|--all]"
      help.c: use puts() instead of printf{,_ln}() for consistency
      help tests: test "git" and "git help [-a|-g] spacing
      help.c: split up list_all_cmds_help() function
      help: note the option name on option incompatibility
      help: correct usage & behavior of "git help --all"
      help: error if [-a|-g|-c] and [-i|-m|-w] are combined
      help: add --no-[external-commands|aliases] for use with --all
      help: don't print "\n" before single-section output
      imap-send.c: use designated initializers for "struct imap_server_conf"
      trace2: use designated initializers for "struct tr2_tgt"
      trace2: use designated initializers for "struct tr2_dst"
      object-file: use designated initializers for "struct git_hash_algo"
      archive-*.c: use designated initializers for "struct archiver"
      userdiff.c: use designated initializers for "struct userdiff_driver"
      convert.c: use designated initializers for "struct stream_filter*"
      refspec.c: use designated initializers for "struct refspec_item"
      fast-import.c: use designated initializers for "partial" struct assignments
      object-file.c: split up declaration of unrelated variables
      object-file API: return "void", not "int" from hash_object_file()
      object-file API: add a format_object_header() function
      object-file API: have write_object_file() take "enum object_type"
      object API: correct "buf" v.s. "map" mismatch in *.c and *.h
      object API docs: move check_object_signature() docs to cache.h
      object API users + docs: check <0, not !0 with check_object_signature()
      object-file API: split up and simplify check_object_signature()
      object API: rename hash_object_file_literally() to write_*()
      object-file API: have hash_object_file() take "enum object_type"
      object-file.c: add a literal version of write_object_file_prepare()
      object-file API: pass an enum to read_object_with_reference()
      test-lib: add GIT_SAN_OPTIONS, inherit [AL]SAN_OPTIONS
      test-lib: correct and assert TEST_DIRECTORY overriding
      test-lib: make $GIT_BUILD_DIR an absolute path
      test-lib: add "fast_unwind_on_malloc=0" to LSAN_OPTIONS
      scalar Makefile: use "The default target of..." pattern
      Makefiles: add "shared.mak", move ".DELETE_ON_ERROR" to it
      Makefile: disable GNU make built-in wildcard rules
      Makefile: define $(LIB_H) in terms of $(FIND_SOURCE_FILES)
      Makefile: move ".SUFFIXES" rule to shared.mak
      Makefile: move $(comma), $(empty) and $(space) to shared.mak
      Makefile: add "$(QUIET)" boilerplate to shared.mak
      Makefiles: add and use wildcard "mkdir -p" template
      log tests: fix "abort tests early" regression in ff37a60c369
      index-pack: fix memory leaks
      merge-base: free() allocated "struct commit **" list
      diff.c: free "buf" in diff_words_flush()
      urlmatch.c: add and use a *_release() function
      remote-curl.c: free memory in cmd_main()
      bundle: call strvec_clear() on allocated strvec
      transport: stop needlessly copying bundle header references
      submodule--helper: fix trivial leak in module_add()
      commit-graph: fix memory leak in misused string_list API
      commit-graph: stop fill_oids_from_packs() progress on error and free()
      lockfile API users: simplify and don't leak "path"
      range-diff: plug memory leak in common invocation
      range-diff: plug memory leak in read_patches()
      repository.c: free the "path cache" in repo_clear()
      submodule tests: test for init and update failure output
      submodule--helper: don't use bitfield indirection for parse_options()
      gettext API users: don't explicitly cast ngettext()'s "n"
      string-list API: change "nr" and "alloc" to "size_t"
      merge: don't run post-hook logic on --no-verify
      hooks: fix an obscure TOCTOU "did we just run a hook?" race
      tests: change some 'test $(git) = "x"' to test_cmp
      tests: use "test_stdout_line_count", not "test $(git [...] | wc -l)"
      read-tree tests: check "diff-files" exit code on failure
      diff tests: don't ignore "git diff" exit code
      diff tests: don't ignore "git diff" exit code in "read" loop
      apply tests: use "test_must_fail" instead of ad-hoc pattern
      merge tests: use "test_must_fail" instead of ad-hoc pattern
      rev-parse tests: don't ignore "git reflog" exit code
      notes tests: don't ignore "git" exit code
      diff tests: don't ignore "git rev-list" exit code
      rev-list tests: don't hide abort() in "test_expect_failure"
      gettext tests: don't ignore "test-tool regex" exit code
      apply tests: don't ignore "git ls-files" exit code, drop sub-shell
      checkout tests: don't ignore "git <cmd>" exit code
      rev-list simplify tests: don't ignore "git" exit code
      list-objects: handle NULL function pointers
      reflog: don't be noisy on empty reflogs
      builtin/submodule--helper.c: rename option struct to "opt"
      test-lib-functions: add and use a "test_hook" wrapper
      hook tests: turn exit code assertions into a loop
      http tests: don't rely on "hook/post-update.sample"
      tests: assume the hooks are disabled by default
      bugreport tests: tighten up "git bugreport -s hooks" test
      fetch+push tests: use "test_hook" and "test_when_finished" pattern
      gc + p4 tests: use "test_hook", remove sub-shells
      tests: change "cat && chmod +x" to use "test_hook"
      tests: change "mkdir -p && write_script" to use "test_hook"
      tests: use "test_hook" for misc "mkdir -p" and "chmod" cases
      diff.c: fix a double-free regression in a18d66cefb
      refs: use designated initializers for "struct ref_storage_be"
      refs: use designated initializers for "struct ref_iterator_vtable"
      misc *.c: use designated initializers for struct assignments
      packed-backend: remove stub BUG(...) functions
      refs debug: add a wrapper for "read_symbolic_ref"
      tests: extend "test_hook" for "rm" and "chmod -x", convert "$HOOK"
      proc-receive hook tests: use "test_hook" instead of "write_script"
      http tests: use "test_hook" for "smart" and "dumb" http tests
      reflog.c: indent argument lists
      reflog: refactor cmd_reflog() to "if" branches
      reflog tests: add missing "git reflog exists" tests
      reflog: move "usage" variables and use macros
      git reflog [expire|delete]: make -h output consistent with SYNOPSIS
      reflog exists: use parse_options() API
      Makefile: use ' ', not non-existing $(wspfx_SQ)
      ls-tree tests: add tests for --name-status
      ls-tree: remove commented-out code
      ls-tree: add missing braces to "else" arms
      ls-tree: use "enum object_type", not {blob,tree,commit}_type
      ls-tree: use "size_t", not "int" for "struct strbuf"'s "len"
      ls-tree: introduce struct "show_tree_data"
      ls-tree: introduce "--format" option
      ls-tree: detect and error on --name-only --name-status
      ls-tree: split up "fast path" callbacks
      hooks: fix "invoked hook" regression in a8cc5943338
      reflog: convert to parse_options() API
      reflog [show]: display sensible -h output
      test-lib: have --immediate emit valid TAP on failure
      pack-objects: lazily set up "struct rev_info", don't leak
      reftable: make assignments portable to AIX xlc v12.01


Version v2.35.8; changes since v2.35.7:
---------------------------------------

Derrick Stolee (1):
      ci: update 'static-analysis' to Ubuntu 22.04

Jeff King (7):
      http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT
      http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION
      range-diff: drop useless "offset" variable from read_patches()
      http: support CURLOPT_PROTOCOLS_STR
      range-diff: handle unterminated lines in read_patches()
      range-diff: use ssize_t for parsed "len" in read_patches()
      Makefile: force -O0 when compiling with SANITIZE=leak

Jiang Xin (4):
      github-actions: run gcc-8 on ubuntu-20.04 image
      ci: remove the pipe after "p4 -V" to catch errors
      ci: use the same version of p4 on both Linux and macOS
      ci: install python on ubuntu

Johannes Schindelin (17):
      compat/win32/syslog: fix use-after-realloc
      nedmalloc: avoid new compile error
      t0033: GETTEXT_POISON fix
      t0003: GETTEXT_POISON fix, part 1
      t0003: GETTEXT_POISON fix, conclusion
      t5619: GETTEXT_POISON fix
      t5604: GETTEXT_POISON fix, part 1
      t5604: GETTEXT_POISON fix, conclusion
      clone.c: avoid "exceeds maximum object size" error with GCC v12.x
      apply --reject: overwrite existing `.rej` symlink if it exists
      gettext: avoid using gettext if the locale dir is not present
      tests: avoid using `test_i18ncmp`
      Git 2.31.8
      Git 2.32.7
      Git 2.33.8
      Git 2.34.8
      Git 2.35.8

Junio C Hamano (1):
      http.c: clear the 'finished' member once we are done with it

Taylor Blau (5):
      t1300: demonstrate failure when renaming sections with long lines
      config: avoid fixed-sized buffer when renaming/deleting a section
      config.c: avoid integer truncation in `copy_or_rename_section_in_file()`
      config.c: disallow overly-long lines in `copy_or_rename_section_in_file()`
      Git 2.30.9


Version v2.35.7; changes since v2.35.6:
---------------------------------------

Jeff King (3):
      http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT
      http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION
      http: support CURLOPT_PROTOCOLS_STR

Johannes Schindelin (6):
      attr: adjust a mismatched data type
      Git 2.31.7
      Git 2.32.6
      Git 2.33.7
      Git 2.34.7
      Git 2.35.7

Junio C Hamano (1):
      Git 2.30.8

Patrick Steinhardt (1):
      apply: fix writing behind newly created symbolic links

Taylor Blau (3):
      t5619: demonstrate clone_local() with ambiguous transport
      clone: delay picking a transport until after get_repo_path()
      dir-iterator: prevent top-level symlinks without FOLLOW_SYMLINKS


Version v2.35.6; changes since v2.35.5:
---------------------------------------

Carlo Marcelo Arenas Belón (1):
      test-lib: add prerequisite for 64-bit platforms

Junio C Hamano (6):
      Git 2.30.7
      Git 2.31.6
      Git 2.32.5
      Git 2.33.6
      Git 2.34.6
      Git 2.35.6

Patrick Steinhardt (25):
      attr: fix overflow when upserting attribute with overly long name
      attr: fix out-of-bounds read with huge attribute names
      attr: fix integer overflow when parsing huge attribute names
      attr: fix out-of-bounds write when parsing huge number of attributes
      attr: fix out-of-bounds read with unreasonable amount of patterns
      attr: fix integer overflow with more than INT_MAX macros
      attr: harden allocation against integer overflows
      attr: fix silently splitting up lines longer than 2048 bytes
      attr: ignore attribute lines exceeding 2048 bytes
      attr: ignore overly large gitattributes files
      pretty: fix out-of-bounds write caused by integer overflow
      pretty: fix out-of-bounds read when left-flushing with stealing
      pretty: fix out-of-bounds read when parsing invalid padding format
      pretty: fix adding linefeed when placeholder is not expanded
      pretty: fix integer overflow in wrapping format
      utf8: fix truncated string lengths in `utf8_strnwidth()`
      utf8: fix returning negative string width
      utf8: fix overflow when returning string width
      utf8: fix checking for glyph width in `strbuf_utf8_replace()`
      utf8: refactor `strbuf_utf8_replace` to not rely on preallocated buffer
      pretty: restrict input lengths for padding and wrapping formats
      fsck: refactor `fsck_blob()` to allow for more checks
      fsck: pull out function to check a set of blobs
      fsck: move checks for gitattributes
      fsck: implement checks for gitattributes


Version v2.35.5; changes since v2.35.4:
---------------------------------------

Jeff King (2):
      shell: add basic tests
      shell: limit size of interactive commands

Kevin Backhouse (1):
      alias.c: reject too-long cmdline strings in split_cmdline()

Taylor Blau (21):
      builtin/clone.c: disallow `--local` clones with symlinks
      t/lib-submodule-update.sh: allow local submodules
      t/t1NNN: allow local submodules
      t/2NNNN: allow local submodules
      t/t3NNN: allow local submodules
      t/t4NNN: allow local submodules
      t/t5NNN: allow local submodules
      t/t6NNN: allow local submodules
      t/t7NNN: allow local submodules
      t/t9NNN: allow local submodules
      transport: make `protocol.file.allow` be "user" by default
      t1092: prepare for changing protocol.file.allow
      t2080: prepare for changing protocol.file.allow
      t1092: prepare for changing protocol.file.allow
      t2080: prepare for changing protocol.file.allow
      Git 2.30.6
      Git 2.31.5
      Git 2.32.4
      Git 2.33.5
      Git 2.34.5
      Git 2.35.5


Version v2.35.4; changes since v2.35.3:
---------------------------------------

Carlo Marcelo Arenas Belón (5):
      t: regression git needs safe.directory when using sudo
      git-compat-util: avoid failing dir ownership checks if running privileged
      t0034: add negative tests and allow git init to mostly work under sudo
      git-compat-util: allow root to access both SUDO_UID and root owned
      setup: tighten ownership checks post CVE-2022-24765

Johannes Schindelin (6):
      Git 2.30.5
      Git 2.31.4
      Git 2.32.3
      Git 2.33.4
      Git 2.34.4
      Git 2.35.4


Version v2.35.3; changes since v2.35.2:
---------------------------------------

Derrick Stolee (2):
      t0033: add tests for safe.directory
      setup: opt-out of check with safe.directory=*

Junio C Hamano (1):
      Git 2.30.4

Matheus Valadares (1):
      setup: fix safe.directory key not being checked


Version v2.35.2; changes since v2.35.1:
---------------------------------------

Carlo Marcelo Arenas Belón (1):
      mingw: avoid fallback for {local,gm}time_r()

Johannes Schindelin (10):
      GIT-VERSION-GEN: bump to v2.33.1
      Add a function to determine whether a path is owned by the current user
      setup_git_directory(): add an owner check for the top-level directory
      Fix `GIT_CEILING_DIRECTORIES` with `C:\` and the likes
      Git 2.30.3
      Git 2.31.2
      Git 2.32.1
      Git 2.33.2
      Git 2.34.2
      Git 2.35.2


Version v2.35.1; changes since v2.35.0:
---------------------------------------

Elijah Newren (1):
      sequencer, stash: fix running from worktree subdir

Junio C Hamano (1):
      Git 2.35.1


Version v2.35.0; changes since v2.35.0-rc2:
-------------------------------------------

Alexander Shopov (1):
      l10n: bg.po: Updated Bulgarian translation (5195t)

Bagas Sanjaya (2):
      l10n: po-id for 2.35 (round 1)
      l10n: po-id for 2.35 (round 2)

Emir SARI (1):
      l10n: tr: v2.35.0 round 1

Fangyi Zhou (1):
      l10n: zh_CN: v2.35.0 round 1

Jean-Noël Avila (1):
      l10n: fr: v2.35.0 round 1

Jiang Xin (3):
      l10n: git.pot: v2.35.0 round 1 (126 new, 142 removed)
      l10n: git.pot: v2.35.0 round 2 (1 new, 1 removed)
      l10n: batch update to fix typo in branch.c

Jordi Mas (3):
      l10n: Update Catalan translation
      l10n: Update Catalan translation
      l10n: Update Catalan translation

Junio C Hamano (2):
      checkout: avoid BUG() when hitting a broken repository
      Git 2.35

Jürgen Krämer (1):
      l10n: de.po: Fix translation for "'%s' is aliased to '%s'"

Matthias Rüster (1):
      l10n: de.po: Update German translation

Peter Krefting (2):
      l10n: sv.po: Fix typo
      l10n: sv.po: Update Swedish translation (5196t0f0u)

René Scharfe (1):
      branch,checkout: fix --track documentation

Trần Ngọc Quân (1):
      l10n: vi(5195t): Update for v2.35.0 round 2

Yi-Jyun Pan (2):
      l10n: zh_TW: v2.35.0 round 1 (1 fuzzy)
      l10n: zh_TW: v2.35.0 round 2 (0 untranslated)


Version v2.35.0-rc2; changes since v2.35.0-rc1:
-----------------------------------------------

David Aguilar (1):
      build: centos/RHEL 7 ships with an older gcc and zlib

Johannes Schindelin (1):
      getcwd(mingw): handle the case when there is no cwd

Josh Steadmon (1):
      branch,checkout: fix --track usage strings

Junio C Hamano (2):
      Makefile: FreeBSD cannot do C99-or-below build
      Git 2.35-rc2


Version v2.35.0-rc1; changes since v2.35.0-rc0:
-----------------------------------------------

Bagas Sanjaya (1):
      branch: missing space fix at line 313

Fabian Stelzer (1):
      t/gpg: simplify test for unknown key

Han-Wen Nienhuys (1):
      reftable: avoid initializing structs from structs

Johannes Sixt (1):
      t1450-fsck: exec-bit is not needed to make loose object writable

Junio C Hamano (3):
      packfile: fix off-by-one error in decoding logic
      Last minute fixes before -rc1
      Git 2.35-rc1

Martin Ågren (1):
      cache.h: drop duplicate `ensure_full_index()` declaration

Matthias Aßhauer (1):
      lazyload: use correct calling conventions

Patrick Steinhardt (1):
      fetch: fix deadlock when cleaning up lockfiles in async signals

Randall S. Becker (1):
      build: NonStop ships with an older zlib

Taylor Blau (1):
      fmt-merge-msg: prevent use-after-free with signed tags

Ævar Arnfjörð Bjarmason (2):
      refs API: use "failure_errno", not "errno"
      reftable tests: avoid "int" overflow, use "uint64_t"


Version v2.35.0-rc0; changes since v2.34.8:
-------------------------------------------

Alex Henrie (1):
      pull: don't say that merge is "the default strategy"

Anders Kaseorg (8):
      fetch: lowercase error messages
      receive-pack: lowercase error messages
      branch: lowercase error messages
      worktree: simplify find_shared_symref() memory ownership model
      fetch: protect branches checked out in all worktrees
      receive-pack: clean dead code from update_worktree()
      receive-pack: protect current branch for bare repository worktree
      branch: protect branches checked out in all worktrees

Calvin Wan (1):
      protocol-v2.txt: align delim-pkt spec with usage

Carlo Marcelo Arenas Belón (4):
      test-genzeros: allow more than 2G zeros in Windows
      test-lib: add prerequisite for 64-bit platforms
      mingw: avoid fallback for {local,gm}time_r()
      add -p: avoid use of undefined $key when ReadKey -> EOF

Derrick Stolee (18):
      test-lib.sh: set GIT_TRACE2_EVENT_NESTING
      t/t*: remove custom GIT_TRACE2_EVENT_NESTING
      scalar: 'register' sets recommended config and starts maintenance
      scalar: 'unregister' stops background maintenance
      scalar: implement 'scalar list'
      scalar: implement the `run` command
      t1092: add deeper changes during a checkout
      unpack-trees: use traverse_path instead of name
      repack: respect kept objects with '--write-midx -b'
      repack: make '--quiet' disable progress
      fetch/pull: use the sparse index
      ls-files: add --sparse option
      t1092: replace 'read-cache --table' with 'ls-files --sparse'
      t1091/t3705: remove 'test-tool read-cache --table'
      test-read-cache: remove --table, --expand options
      sparse-checkout: fix segfault on malformed patterns
      sparse-checkout: fix OOM error with mixed patterns
      sparse-checkout: refuse to add to bad patterns

Eli Schwartz (3):
      pretty.c: rework describe options parsing for better extensibility
      pretty: add tag option to %(describe)
      pretty: add abbrev option to %(describe)

Elijah Newren (28):
      sequencer: avoid adding exec commands for non-commit creating commands
      update documentation for new zdiff3 conflictStyle
      name-rev: prefer shorter names over following merges
      sequencer: do not export GIT_DIR and GIT_WORK_TREE for 'exec'
      t2501: add various tests for removing the current working directory
      setup: introduce startup_info->original_cwd
      unpack-trees: refuse to remove startup_info->original_cwd
      unpack-trees: add special cwd handling
      symlinks: do not include startup_info->original_cwd in dir removal
      clean: do not attempt to remove startup_info->original_cwd
      rebase: do not attempt to remove startup_info->original_cwd
      stash: do not attempt to remove startup_info->original_cwd
      dir: avoid incidentally removing the original_cwd in remove_path()
      dir: new flag to remove_dir_recurse() to spare the original_cwd
      t2501: simplify the tests since we can now assume desired behavior
      sparse-checkout: pass use_stdin as a parameter instead of as a global
      sparse-checkout: break apart functions for sparse_checkout_(set|add)
      sparse-checkout: add sanity-checks on initial sparsity state
      sparse-checkout: disallow --no-stdin as an argument to set
      sparse-checkout: split out code for tweaking settings config
      sparse-checkout: enable `set` to initialize sparse-checkout mode
      sparse-checkout: enable reapply to take --[no-]{cone,sparse-index}
      git-sparse-checkout.txt: update to document init/set/reapply changes
      Documentation: clarify/correct a few sparsity related statements
      clone: avoid using deprecated `sparse-checkout init`
      sparse-checkout: remove stray trailing space
      merge-ort: fix bug with renormalization and rename/delete conflicts
      stash: do not return before restoring untracked files

Enzo Matsumiya (1):
      pager: fix crash when pager program doesn't exist

Eric Sunshine (38):
      worktree: stop being overly intimate with run_command() internals
      CodingGuidelines: document which output goes to stdout vs. stderr
      worktree: send "chatty" messages to stderr
      git-worktree.txt: add missing `-v` to synopsis for `worktree list`
      t/lib-pager: use sane_unset() to avoid breaking &&-chain
      t1010: fix unnoticed failure on Windows
      t1020: avoid aborting entire test script when one test fails
      t4202: clarify intent by creating expected content less cleverly
      t5516: drop unnecessary subshell and command invocation
      t6300: make `%(raw:size) --shell` test more robust
      t9107: use shell parameter expansion to avoid breaking &&-chain
      tests: simplify construction of large blocks of text
      tests: use test_write_lines() to generate line-oriented output
      tests: fix broken &&-chains in compound statements
      tests: fix broken &&-chains in `$(...)` command substitutions
      tests: fix broken &&-chains in `{...}` groups
      tests: apply modern idiom for signaling test failure
      tests: apply modern idiom for exiting loop upon failure
      tests: simplify by dropping unnecessary `for` loops
      t0000-t3999: detect and signal failure within loop
      t4000-t4999: detect and signal failure within loop
      t5000-t5999: detect and signal failure within loop
      t6000-t9999: detect and signal failure within loop
      t/chainlint/*.test: don't use invalid shell syntax
      t/chainlint/*.test: fix invalid test cases due to mixing quote types
      t/chainlint/*.test: generalize self-test commentary
      t/chainlint/one-liner: avoid overly intimate chainlint.sed knowledge
      t/Makefile: optimize chainlint self-test
      chainlint.sed: improve ?!AMP?! placement accuracy
      chainlint.sed: improve ?!SEMI?! placement accuracy
      chainlint.sed: tolerate harmless ";" at end of last line in block
      chainlint.sed: drop unnecessary distinction between ?!AMP?! and ?!SEMI?!
      chainlint.sed: drop subshell-closing ">" annotation
      chainlint.sed: make here-doc "<<-" operator recognition more POSIX-like
      chainlint.sed: don't mistake `<< word` in string as here-doc operator
      chainlint.sed: stop throwing away here-doc tags
      chainlint.sed: swallow comments consistently
      chainlint.sed: stop splitting "(..." into separate lines "(" and "..."

Eric Wong (2):
      tests: disable fsync everywhere
      cbtree: remove broken and unused cb_unlink

Fabian Stelzer (14):
      ssh signing: support non ssh-* keytypes
      ssh signing: make sign/amend test more resilient
      test-lib: show missing prereq summary
      test-lib: introduce required prereq for test runs
      test-lib: make BAIL_OUT() work in tests and prereq
      t/fmt-merge-msg: do not redirect stderr
      t/fmt-merge-msg: make gpgssh tests more specific
      ssh signing: use sigc struct to pass payload
      ssh signing: add key lifetime test prereqs
      ssh signing: make verify-commit consider key lifetime
      ssh signing: make git log verify key lifetime
      ssh signing: make verify-tag consider key lifetime
      ssh signing: make fmt-merge-msg consider key lifetime
      ssh signing: verify ssh-keygen in test prereq

Glen Choo (5):
      t5516: add test case for pushing remote refspecs
      remote: move static variables into per-repository struct
      remote: use remote_state parameter internally
      remote: remove the_repository->remote_state from static methods
      remote: die if branch is not found in repository

Greg Hurrell (1):
      docs: add missing colon to Documentation/config/gpg.txt

Han-Wen Nienhuys (48):
      hash.h: provide constants for the hash IDs
      reftable: add LICENSE
      reftable: add error related functionality
      reftable: utility functions
      reftable: add blocksource, an abstraction for random access reads
      reftable: (de)serialization for the polymorphic record type.
      Provide zlib's uncompress2 from compat/zlib-compat.c
      reftable: reading/writing blocks
      reftable: a generic binary tree implementation
      reftable: write reftable files
      reftable: generic interface to tables
      reftable: read reftable files
      reftable: reftable file level tests
      reftable: add a heap-based priority queue for reftable records
      reftable: add merged table view
      reftable: implement refname validation
      reftable: implement stack, a mutable database of reftable files.
      reftable: add dump utility
      Add "test-tool dump-reftable" command.
      branch tests: test for errno propagating on failing read
      refs API: make refs_read_raw_ref() not set errno
      refs API: make parse_loose_ref_contents() not set errno
      refs: drop force_create argument of create_reflog API
      t1404: mark directory/file conflict tests with REFFILES
      show-branch: show reflog message
      test-ref-store: don't add newline to reflog message
      t1405: check for_each_reflog_ent_reverse() more thoroughly
      test-ref-store: tweaks to for-each-reflog-ent format
      refs/debug: trim trailing LF from reflog message
      test-ref-store: remove force-create argument for create-reflog
      test-ref-store: parse symbolic flag constants
      test-ref-store: plug memory leak in cmd_delete_refs
      refs: update comment.
      refs: introduce REF_SKIP_OID_VERIFICATION flag
      refs: introduce REF_SKIP_REFNAME_VERIFICATION flag
      t1430: remove refs using test-tool
      t1430: create valid symrefs using test-helper
      test-ref-store: print hash algorithm
      t5540: require REFFILES
      t5550: require REFFILES
      t7004: create separate tags for different tests
      t7004: use "test-tool ref-store" for reflog inspection
      refs: pass gitdir to packed_ref_store_create
      refs: print error message in debug output
      refs: centralize initialization of the base ref_store.
      reftable: fix typo in header
      reftable: signal overflow
      reftable: support preset file mode for writing

Hans Krentel (hakre) (1):
      ci(check-whitespace): update stale file top comments

Ivan Frade (2):
      fetch-pack: redact packfile urls in traces
      http-fetch: redact url on die() message

Jacob Vosmaer (1):
      upload-pack.c: increase output buffer size

James Limbouris (1):
      subtree: fix argument handling in check_parents

Jean-Noël Avila (20):
      doc: fix git credential synopsis
      doc: split placeholders as individual tokens
      doc: express grammar placeholders between angle brackets
      doc: use only hyphens as word separators in placeholders
      doc: git-ls-files: express options as optional alternatives
      doc: use three dots for indicating repetition instead of star
      doc: uniformize <URL> placeholders' case
      doc: git-http-push: describe the refs as pattern pairs
      doc: git-init: clarify file modes in octal.
      i18n: refactor "foo and bar are mutually exclusive"
      i18n: refactor "%s, %s and %s are mutually exclusive"
      i18n: turn "options are incompatible" into "cannot be used together"
      i18n: standardize "cannot open" and "cannot read"
      i18n: tag.c factorize i18n strings
      i18n: factorize "--foo requires --bar" and the like
      i18n: factorize "no directory given for --foo"
      i18n: refactor "unrecognized %(foo) argument" strings
      i18n: factorize "--foo outside a repository"
      i18n: ref-filter: factorize "%(foo) atom used without %(bar) atom"
      i18n: turn even more messages into "cannot be used together" ones

Jeff King (18):
      urlmatch: add underscore to URL_HOST_CHARS
      strbuf_addftime(): handle "%s" manually
      test_bitmap_hashes(): handle repository without bitmaps
      generate-cmdlist.sh: do not shell out to "sed"
      git-jump: pass "merge" arguments to ls-files
      t5319: corrupt more bytes of the midx checksum
      refs: work around gcc-11 warning with REF_HAVE_NEW
      fetch-pack: ignore SIGPIPE when writing to index-pack
      run-command: unify signal and regular logic for wait_or_whine()
      t7006: clean up SIGPIPE handling in trace2 tests
      t7006: simplify exit-code checks for sigpipe tests
      log: handle --decorate-refs with userformat "%d"
      log: load decorations with --simplify-by-decoration
      xdiff: drop CMP_ENV macro from xhistogram
      xdiff: drop xpparam_t parameter from histogram cmp_recs()
      xdiff: drop unused flags parameter from recs_match
      config.mak.dev: specify -std=gnu99 for gcc/clang
      doc/config: mark ssh allowedSigners example as literal

Jerry Zhang (3):
      git-apply: add --quiet flag
      git-apply: add --allow-empty flag
      git-apply: skip threeway in add / rename cases

Joel Holdsworth (9):
      git-p4: use with statements to close files after use in patchRCSKeywords
      git-p4: pre-compile RCS keyword regexes
      git-p4: add raw option to read_pipelines
      git-p4: open temporary patch file for write only
      git-p4: resolve RCS keywords in bytes not utf-8
      git-p4: print size values in appropriate units
      git-p4: show progress as an integer
      git-p4: remove "debug" verb
      git-p4: remove "rollback" verb

Johannes Altmanninger (1):
      t/perf: do not run tests in user's $SHELL

Johannes Schindelin (14):
      test-tool genzeros: generate large amounts of data more efficiently
      git-compat-util: introduce more size_t helpers
      ci: disallow directional formatting
      scalar: add a README with a roadmap
      scalar: create a rudimentary executable
      scalar: start documenting the command
      scalar: create test infrastructure
      scalar: let 'unregister' handle a deleted enlistment directory gracefully
      scalar: implement the `clone` subcommand
      scalar: teach 'clone' to support the --single-branch option
      scalar: allow reconfiguring an existing enlistment
      scalar: teach 'reconfigure' to optionally handle all registered enlistments
      scalar: implement the `version` command
      tests: set GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME only when needed

Johannes Sixt (2):
      generate-cmdlist.sh: spawn fewer processes
      generate-cmdlist.sh: replace for loop by printf's auto-repeat feature

John Cai (2):
      docs: fix places that break compilation in MyFirstObjectWalk
      docs: add headers in MyFirstObjectWalk

Jonathan Tan (2):
      packfile: avoid overflowing shift during decode
      Doc: no midx and partial clone relation

Josh Steadmon (5):
      trace2: disable tr2_dst before warning on write errors
      branch: accept multiple upstream branches for tracking
      branch: add flags and config to inherit tracking
      config: require lowercase for branch.*.autosetupmerge
      l10n: README: call more attention to plural strings

Junio C Hamano (22):
      for-each-ref: delay parsing of --sort=<atom> options
      MyFirstContribution: teach to use "format-patch --base=auto"
      unsetenv(3) returns int, not void
      init doc: --shared=0xxx does not give umask but perm bits
      0th batch for early fixes
      A bit more regression fixes
      refs: document callback for reflog-ent iterators
      The first batch to start the current cycle
      revision: use C99 declaration of variable in for() loop
      grep: clarify what `grep.patternType=default` means
      flex-array: simplify compiler-specific workaround
      The second batch
      The third batch
      t4204 is not sanitizer clean at all
      format-patch: mark rev_info with UNLEAK
      merge: allow to pretend a merge is made into a different branch
      The fourth batch
      The fifth batch
      SubmittingPatchs: clarify choice of base and testing
      The sixth batch
      The seventh batch
      Git 2.35-rc0

Kashav Madan (1):
      help: make auto-correction prompt more consistent

Lessley Dennington (7):
      git: ensure correct git directory setup with -h
      commit-graph: return if there is no git directory
      test-read-cache: set up repo after git directory
      repo-settings: prepare_repo_settings only in git repos
      diff: replace --staged with --cached in t1092 tests
      diff: enable and test the sparse index
      blame: enable and test the sparse index

Lénaïc Huard (1):
      grep: align default colors with GNU grep ones

Marc Strapetz (1):
      t/README: fix typo

Matt Cooper (4):
      t1051: introduce a smudge filter test for extremely large files
      odb: teach read_blob_entry to use size_t
      odb: guard against data loss checking out a huge file
      clean/smudge: allow clean filters to process extremely large files

Matthew John Cheetham (1):
      scalar: implement the `delete` command

Mugdha Pattnaik (1):
      submodule: absorb git dir instead of dying on deinit

Neeraj Singh (2):
      tmp-objdir: new API for creating temporary writable databases
      tmp-objdir: disable ref updates when replacing the primary odb

Philip Oakley (3):
      repack.c: LLP64 compatibility, upcast unity for left shift
      diffcore-delta.c: LLP64 compatibility, upcast unity for left shift
      object-file.c: LLP64 compatibility, upcast unity for left shift

Phillip Wood (19):
      diff histogram: intern strings
      xdiff: avoid unnecessary memory allocations
      xdiff: simplify comparison
      xdiff: implement a zealous diff3, or "zdiff3"
      diff --color-moved: add perf tests
      diff --color-moved: clear all flags on blocks that are too short
      diff --color-moved: factor out function
      diff --color-moved: rewind when discarding pmb
      diff --color-moved=zebra: fix alternate coloring
      diff --color-moved: avoid false short line matches and bad zebra coloring
      diff: simplify allow-indentation-change delta calculation
      diff --color-moved-ws=allow-indentation-change: simplify and optimize
      diff --color-moved: call comparison function directly
      diff --color-moved: unify moved block growth functions
      diff --color-moved: shrink potential moved blocks as we go
      diff --color-moved: stop clearing potential moved blocks
      diff --color-moved-ws=allow-indentation-change: improve hash lookups
      diff: use designated initializers for emitted_diff_symbol
      diff --color-moved: intern strings

René Scharfe (6):
      mergesort: avoid left shift overflow
      log: let --invert-grep only invert --grep
      t4202: fix patternType setting in --invert-grep test
      daemon: plug memory leak on overlong path
      grep/pcre2: use PCRE2_UTF even with ASCII patterns
      grep/pcre2: factor out literal variable

Robert Estelle (3):
      color: add missing GIT_COLOR_* white/black constants
      color: support "default" to restore fg/bg color
      color: allow colors to be prefixed with "reset"

Robin Jarry (1):
      receive-pack: ignore SIGPIPE while reporting status to client

Sergey Organov (2):
      stash: implement '--staged' option for 'push' and 'save'
      stash: get rid of unused argument in stash_staged()

Taylor Blau (10):
      midx.c: clean up chunkfile after reading the MIDX
      midx.c: don't leak MIDX from verify_midx_file
      t/helper/test-read-midx.c: free MIDX within read_midx_file()
      builtin/pack-objects.c: don't leak memory via arguments
      builtin/repack.c: avoid leaking child arguments
      builtin/multi-pack-index.c: don't leak concatenated options
      midx.c: write MIDX filenames to strbuf
      pack-bitmap.c: don't leak type-level bitmaps
      pack-bitmap.c: more aggressively free in free_bitmap_index()
      packfile: make `close_pack_revindex()` static

Teng Long (1):
      midx: fix a formatting issue in "multi-pack-index.txt"

Thiago Perrotta (2):
      send-email: programmatically generate bash completions
      send-email docs: add format-patch options

Thomas Weißschuh (1):
      var: add GIT_DEFAULT_BRANCH variable

Victoria Dye (12):
      reset: rename is_missing to !is_in_reset_tree
      reset: preserve skip-worktree bit in mixed reset
      sparse-index: update command for expand/collapse test
      test-read-cache.c: prepare_repo_settings after config init
      sparse-index: avoid unnecessary cache tree clearing
      sparse-index: add ensure_correct_sparsity function
      sparse-index: update do_read_index to ensure correct sparsity
      reset: expand test coverage for sparse checkouts
      reset: integrate with sparse index
      reset: make sparse-aware (except --mixed)
      reset: make --mixed sparse-aware
      unpack-trees: improve performance of next_cache_entry

William Sprent (1):
      fast-export: fix surprising behavior with --first-parent

Yoichi Nakayama (1):
      completion: add human and auto: date format

brian m. carlson (1):
      git-compat-util: add a test balloon for C99 support

Ævar Arnfjörð Bjarmason (86):
      refs API: add a version of refs_resolve_ref_unsafe() with "errno"
      refs API: make refs_rename_ref_available() static
      reflog tests: add --updateref tests
      refs/files: remove "name exist?" check in lock_ref_oid_basic()
      refs API: remove refs_read_ref_full() wrapper
      refs API: make resolve_gitlink_ref() not set errno
      refs API: make loose_fill_ref_dir() not set errno
      refs API: make files_copy_or_rename_ref() et al not set errno
      refs API: ignore errno in worktree.c's add_head_info()
      refs API: ignore errno in worktree.c's find_shared_symref()
      refs tests: ignore ignore errno in test-ref-store helper
      refs API: make refs_resolve_refdup() not set errno
      refs API: make refs_ref_exists() not set errno
      refs API: make resolve_ref_unsafe() not set errno
      refs API: make expand_ref() & repo_dwim_log() not set errno
      refs API: don't expose "errno" in run_transaction_hook()
      refs API: post-migration API renaming [1/2]
      refs API: post-migration API renaming [2/2]
      Makefile: move git-SCRIPT-DEFINES adjacent to $(SCRIPT_DEFINES)
      Makefile: remove $(GIT_VERSION) from $(SCRIPT_DEFINES)
      Makefile: remove $(NO_CURL) from $(SCRIPT_DEFINES)
      git-instaweb: unconditionally assume that gitweb is mod_perl capable
      git-sh-setup: remove unused sane_egrep() function
      git-sh-setup: remove "sane_grep", it's not needed anymore
      leak tests: mark a read-tree test as passing SANITIZE=leak
      leak tests: mark "sort" test as passing SANITIZE=leak
      leak tests: mark most gettext tests as passing with SANITIZE=leak
      leak tests: mark some misc tests as passing with SANITIZE=leak
      leak tests: mark some rev-list tests as passing with SANITIZE=leak
      leak tests: mark some rev-parse tests as passing with SANITIZE=leak
      leak tests: mark some update-index tests as passing with SANITIZE=leak
      leak tests: mark some notes tests as passing with SANITIZE=leak
      leak tests: mark some apply tests as passing with SANITIZE=leak
      leak tests: mark some diff tests as passing with SANITIZE=leak
      leak tests: mark some add tests as passing with SANITIZE=leak
      leak tests: mark some clone tests as passing with SANITIZE=leak
      leak tests: mark some status tests as passing with SANITIZE=leak
      leak tests: mark some config tests as passing with SANITIZE=leak
      leak tests: mark some fast-import tests as passing with SANITIZE=leak
      command-list.txt: sort with "LC_ALL=C sort"
      generate-cmdlist.sh: trivial whitespace change
      generate-cmdlist.sh: don't call get_categories() from category_list()
      generate-cmdlist.sh: run "grep | sort", not "sort | grep"
      generate-cmdlist.sh: stop sorting category lines
      generate-cmdlist.sh: replace "grep' invocation with a shell version
      generate-cmdlist.sh: don't parse command-list.txt thrice
      parse-options.c: use "enum parse_opt_result" for parse_nodash_opt()
      checkout: fix "branch info" memory leaks
      CI: remove Travis CI support
      CI: use shorter names that fit in UX tooltips
      CI: rename the "Linux32" job to lower-case "linux32"
      CI: use "$runs_on_pool", not "$jobname" to select packages & config
      CI: don't run "make test" twice in one job
      upload-archive: use regular "struct child_process" pattern
      run-command API users: use strvec_pushv(), not argv assignment
      run-command tests: use strvec_pushv(), not argv assignment
      run-command API users: use strvec_pushl(), not argv construction
      run-command API users: use strvec_push(), not argv construction
      run-command API: remove "argv" member, always use "args"
      difftool: use "env_array" to simplify memory management
      run-command API: remove "env" member, always use "env_array"
      common-main.c: call exit(), don't return
      pack-objects: use BUG(...) not die("BUG: ...")
      strbuf.h: use BUG(...) not die("BUG: ...")
      pathspec: use BUG(...) not die("BUG:%s:%d....", <file>, <line>)
      object.c: use BUG(...) no die("BUG: ...") in lookup_object_by_type()
      usage.c: add a die_message() routine
      usage.c API users: use die_message() for "fatal :" + exit 128
      usage.c API users: use die_message() for error() + exit 128
      gc: return from cmd_gc(), don't call exit()
      usage.c + gc: add and use a die_message_errno()
      config API: use get_error_routine(), not vreportf()
      pull, fetch: fix segfault in --set-upstream option
      stash: don't show "git stash push" usage on bad "git stash" usage
      reflog delete: narrow scope of "cmd" passed to count_reflog_ent()
      reflog expire: narrow scope of "cb" in cmd_reflog_expire()
      reflog: change one->many worktree->refnames to use a string_list
      reflog expire: use "switch" over enum values
      reflog expire: refactor & use "tip_commit" only for UE_NORMAL
      reflog expire: don't use lookup_commit_reference_gently()
      reflog: reduce scope of "struct rev_info"
      refs files-backend: assume cb->newlog if !EXPIRE_REFLOGS_DRY_RUN
      reflog + refs-backend: move "verbose" out of the backend
      Makefile: correct the dependency graph of hook-list.h
      Makefile: move -DPAGER_ENV from BASIC_CFLAGS to EXTRA_CPPFLAGS
      Makefile: don't invoke msgfmt with --statistics

Øystein Walle (2):
      status: count stash entries in separate function
      status: print stash info with --porcelain=v2 --show-stash

徐沛文 (Aleen) (3):
      doc: git-format-patch: describe the option --always
      am: support --empty=<option> to handle empty patches
      am: support --allow-empty to record specific empty patches


Version v2.34.8; changes since v2.34.7:
---------------------------------------

Derrick Stolee (1):
      ci: update 'static-analysis' to Ubuntu 22.04

Jeff King (6):
      http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT
      http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION
      range-diff: drop useless "offset" variable from read_patches()
      http: support CURLOPT_PROTOCOLS_STR
      range-diff: handle unterminated lines in read_patches()
      range-diff: use ssize_t for parsed "len" in read_patches()

Jiang Xin (4):
      github-actions: run gcc-8 on ubuntu-20.04 image
      ci: remove the pipe after "p4 -V" to catch errors
      ci: use the same version of p4 on both Linux and macOS
      ci: install python on ubuntu

Johannes Schindelin (16):
      compat/win32/syslog: fix use-after-realloc
      nedmalloc: avoid new compile error
      t0033: GETTEXT_POISON fix
      t0003: GETTEXT_POISON fix, part 1
      t0003: GETTEXT_POISON fix, conclusion
      t5619: GETTEXT_POISON fix
      t5604: GETTEXT_POISON fix, part 1
      t5604: GETTEXT_POISON fix, conclusion
      clone.c: avoid "exceeds maximum object size" error with GCC v12.x
      apply --reject: overwrite existing `.rej` symlink if it exists
      gettext: avoid using gettext if the locale dir is not present
      tests: avoid using `test_i18ncmp`
      Git 2.31.8
      Git 2.32.7
      Git 2.33.8
      Git 2.34.8

Junio C Hamano (1):
      http.c: clear the 'finished' member once we are done with it

Taylor Blau (5):
      t1300: demonstrate failure when renaming sections with long lines
      config: avoid fixed-sized buffer when renaming/deleting a section
      config.c: avoid integer truncation in `copy_or_rename_section_in_file()`
      config.c: disallow overly-long lines in `copy_or_rename_section_in_file()`
      Git 2.30.9


Version v2.34.7; changes since v2.34.6:
---------------------------------------

Jeff King (3):
      http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT
      http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION
      http: support CURLOPT_PROTOCOLS_STR

Johannes Schindelin (5):
      attr: adjust a mismatched data type
      Git 2.31.7
      Git 2.32.6
      Git 2.33.7
      Git 2.34.7

Junio C Hamano (1):
      Git 2.30.8

Patrick Steinhardt (1):
      apply: fix writing behind newly created symbolic links

Taylor Blau (3):
      t5619: demonstrate clone_local() with ambiguous transport
      clone: delay picking a transport until after get_repo_path()
      dir-iterator: prevent top-level symlinks without FOLLOW_SYMLINKS


Version v2.34.6; changes since v2.34.5:
---------------------------------------

Carlo Marcelo Arenas Belón (1):
      test-lib: add prerequisite for 64-bit platforms

Junio C Hamano (5):
      Git 2.30.7
      Git 2.31.6
      Git 2.32.5
      Git 2.33.6
      Git 2.34.6

Patrick Steinhardt (25):
      attr: fix overflow when upserting attribute with overly long name
      attr: fix out-of-bounds read with huge attribute names
      attr: fix integer overflow when parsing huge attribute names
      attr: fix out-of-bounds write when parsing huge number of attributes
      attr: fix out-of-bounds read with unreasonable amount of patterns
      attr: fix integer overflow with more than INT_MAX macros
      attr: harden allocation against integer overflows
      attr: fix silently splitting up lines longer than 2048 bytes
      attr: ignore attribute lines exceeding 2048 bytes
      attr: ignore overly large gitattributes files
      pretty: fix out-of-bounds write caused by integer overflow
      pretty: fix out-of-bounds read when left-flushing with stealing
      pretty: fix out-of-bounds read when parsing invalid padding format
      pretty: fix adding linefeed when placeholder is not expanded
      pretty: fix integer overflow in wrapping format
      utf8: fix truncated string lengths in `utf8_strnwidth()`
      utf8: fix returning negative string width
      utf8: fix overflow when returning string width
      utf8: fix checking for glyph width in `strbuf_utf8_replace()`
      utf8: refactor `strbuf_utf8_replace` to not rely on preallocated buffer
      pretty: restrict input lengths for padding and wrapping formats
      fsck: refactor `fsck_blob()` to allow for more checks
      fsck: pull out function to check a set of blobs
      fsck: move checks for gitattributes
      fsck: implement checks for gitattributes


Version v2.34.5; changes since v2.34.4:
---------------------------------------

Jeff King (2):
      shell: add basic tests
      shell: limit size of interactive commands

Kevin Backhouse (1):
      alias.c: reject too-long cmdline strings in split_cmdline()

Taylor Blau (18):
      builtin/clone.c: disallow `--local` clones with symlinks
      t/lib-submodule-update.sh: allow local submodules
      t/t1NNN: allow local submodules
      t/2NNNN: allow local submodules
      t/t3NNN: allow local submodules
      t/t4NNN: allow local submodules
      t/t5NNN: allow local submodules
      t/t6NNN: allow local submodules
      t/t7NNN: allow local submodules
      t/t9NNN: allow local submodules
      transport: make `protocol.file.allow` be "user" by default
      t1092: prepare for changing protocol.file.allow
      t2080: prepare for changing protocol.file.allow
      Git 2.30.6
      Git 2.31.5
      Git 2.32.4
      Git 2.33.5
      Git 2.34.5


Version v2.34.4; changes since v2.34.3:
---------------------------------------

Carlo Marcelo Arenas Belón (5):
      t: regression git needs safe.directory when using sudo
      git-compat-util: avoid failing dir ownership checks if running privileged
      t0034: add negative tests and allow git init to mostly work under sudo
      git-compat-util: allow root to access both SUDO_UID and root owned
      setup: tighten ownership checks post CVE-2022-24765

Johannes Schindelin (5):
      Git 2.30.5
      Git 2.31.4
      Git 2.32.3
      Git 2.33.4
      Git 2.34.4


Version v2.34.3; changes since v2.34.2:
---------------------------------------

Derrick Stolee (2):
      t0033: add tests for safe.directory
      setup: opt-out of check with safe.directory=*

Junio C Hamano (1):
      Git 2.30.4

Matheus Valadares (1):
      setup: fix safe.directory key not being checked


Version v2.34.2; changes since v2.34.1:
---------------------------------------

Carlo Marcelo Arenas Belón (1):
      mingw: avoid fallback for {local,gm}time_r()

Johannes Schindelin (9):
      GIT-VERSION-GEN: bump to v2.33.1
      Add a function to determine whether a path is owned by the current user
      setup_git_directory(): add an owner check for the top-level directory
      Fix `GIT_CEILING_DIRECTORIES` with `C:\` and the likes
      Git 2.30.3
      Git 2.31.2
      Git 2.32.1
      Git 2.33.2
      Git 2.34.2


Version v2.34.1; changes since v2.34.0:
---------------------------------------

Derrick Stolee (1):
      dir: revert "dir: select directories correctly"

Erwin Villejo (1):
      pull: should be noop when already-up-to-date

Junio C Hamano (3):
      Revert "grep/pcre2: fix an edge case concerning ascii patterns and UTF-8 data"
      Revert "editor: save and reset terminal after calling EDITOR"
      Git 2.34.1

Philippe Blain (1):
      SubmittingPatches: fix Asciidoc syntax in "GitHub CI" section


Version v2.34.0; changes since v2.34.0-rc2:
-------------------------------------------

Alexander Shopov (3):
      l10n: bg.po: Updated Bulgarian translation (5230t)
      l10n: bg.po: Updated Bulgarian translation (5210t)
      l10n: bg.po: Updated Bulgarian translation (5211t)

Arusekk (3):
      l10n: pl: Update translation
      l10n: pl: 2.34.0 round 2
      l10n: pl: 2.34.0 round 3

Bagas Sanjaya (3):
      l10n: po-id for 2.34 (round 1)
      l10n: po-id for 2.34 (round 2)
      l10n: po-id for 2.34 (round 3)

Christopher Diaz Riveros (1):
      l10n: es: 2.34.0 round 2

Daniel Santos (3):
      l10n: pt_PT: update translation table
      l10n: pt_PT: change email
      l10n: pt_PT: cleaning duplicate translations (#2)

Derrick Stolee (1):
      maintenance: disable cron on macOS

Emir Sarı (3):
      l10n: tr: v2.34.0 round 1
      l10n: tr: v2.34.0 round 2
      l10n: tr: v2.34.0 round 3

Fangyi Zhou (3):
      l10n: zh-CN: v2.34.0 round 1
      l10n: zh_CN: 2.34.0 Round 2
      l10n: zh_CN: v2.34.0 round 3

Jean-Noël Avila (3):
      l10n: fr v2.34.0 rnd1
      l10n: fr: v2.34.0 round 2
      l10n: fr: v2.34.0 rnd 3

Jeff King (1):
      t/lib-gpg: avoid broken versions of ssh-keygen

Jiang Xin (5):
      l10n: git.pot: v2.34.0 round 1 (134 new, 154 removed)
      l10n: git.pot: v2.34.0 round 2 (3 new, 3 removed)
      l10n: git.pot: v2.34.0 round 3 (1 new)
      l10n: ko: fix typos found by git-po-helper
      l10n: it: fix typos found by git-po-helper

Johannes Schindelin (1):
      simple-ipc: work around issues with Cygwin's Unix socket emulation

Jordi Mas (3):
      l10n: Update Catalan translation
      l10n: Update Catalan translation
      l10n: Update Catalan translation

Josh Steadmon (1):
      trace2: increment event format version

Junio C Hamano (4):
      pull: --ff-only should make it a noop when already-up-to-date
      A few hotfixes
      Revert "connected: do not sort input revisions"
      Git 2.34

Matthias Rüster (1):
      l10n: de.po: Update German translation for Git v2.34.0

Peter Krefting (3):
      l10n: sv.po: Fix git-po-helper breakage
      l10n: sv.po: Update Swedish translation (5210t0f0u)
      l10n: sv.po: Update Swedish translation (5211t0f0)

Trần Ngọc Quân (2):
      l10n: vi(5210t): Translation for v2.34.0 rd2
      l10n: vi(5211t): Translation for v2.34.0 rd3

Yi-Jyun Pan (2):
      l10n: zh_TW.po: v2.34.0 round 2 (0 untranslated)
      l10n: zh_TW.po: v2.34.0 round 3 (0 untranslated)

Ævar Arnfjörð Bjarmason (2):
      object-file: fix SEGV on free() regression in v2.34.0-rc2
      object-file: free(*contents) only in read_loose_object() caller


Version v2.34.0-rc2; changes since v2.34.0-rc1:
-----------------------------------------------

Adam Dinwoodie (1):
      t/lib-git.sh: fix ACL-related permissions failure

Alex Riesen (2):
      pull: honor --no-verify and do not call the commit-msg hook
      Document positive variant of commit and merge option "--no-verify"

Junio C Hamano (2):
      A few fixes before -rc2
      Git 2.34-rc2

Robin Dupret (1):
      http-backend: remove a duplicated code branch

Victoria Dye (1):
      async_die_is_recursing: work around GCC v11.x issue on Fedora

Ævar Arnfjörð Bjarmason (1):
      parse-options.[ch]: revert use of "enum" for parse_options()


Version v2.34.0-rc1; changes since v2.34.0-rc0:
-----------------------------------------------

Derrick Stolee (1):
      dir: fix directory-matching bug

Glen Choo (3):
      fsck: verify commit graph when implicitly enabled
      fsck: verify multi-pack-index when implictly enabled
      gc: perform incremental repack when implictly enabled

Hamza Mahfooz (3):
      grep: refactor next_match() and match_one_pattern() for external use
      pretty: colorize pattern matches in commit messages
      grep/pcre2: fix an edge case concerning ascii patterns and UTF-8 data

Jeff King (1):
      t5310: drop lib-bundle.sh include

Jiang Xin (1):
      i18n: fix typos found during l10n for git 2.34.0

Junio C Hamano (3):
      format-patch (doc): clarify --base=auto
      A few more topics before -rc1
      Git 2.34-rc1

Phillip Wood (1):
      rebase -i: fix rewording with --committer-date-is-author-date

René Scharfe (2):
      gpg-interface: handle missing " with " gracefully in parse_ssh_output()
      gpg-interface: avoid buffer overrun in parse_ssh_output()

Ævar Arnfjörð Bjarmason (3):
      commit-graph tests: fix error-hiding graph_git_two_modes() helper
      commit-graph tests: fix another graph_git_two_modes() helper
      commit-graph: don't consider "replace" objects with "verify"


Version v2.34.0-rc0; changes since v2.33.8:
-------------------------------------------

Atharva Raykar (11):
      submodule--helper: introduce add-config subcommand
      submodule--helper: add options for compute_submodule_clone_url()
      submodule--helper: refactor resolve_relative_url() helper
      submodule--helper: remove repeated code in sync_submodule()
      dir: libify and export helper functions from clone.c
      submodule--helper: convert the bulk of cmd_add() to C
      submodule--helper: remove add-clone subcommand
      submodule--helper: remove add-config subcommand
      submodule--helper: remove resolve-relative-url subcommand
      submodule--helper: rename compute_submodule_clone_url()
      submodule--helper: run update procedures from C

Azeem Bande-Ali (1):
      help.c: help.autocorrect=prompt waits for user action

Bagas Sanjaya (7):
      make: add INSTALL_STRIP option variable
      ls-files: use imperative mood for -X and -z option description
      difftool: fix word spacing in the usage strings
      blame: describe default output format
      bisect--helper: add space between colon and following sentence
      blame: document --color-* options
      archive: describe compression level option

Ben Boeckel (2):
      advice: add enum variants for missing advice variables
      advice: remove read uses of most global `advice_` variables

Carlo Marcelo Arenas Belón (11):
      win32: allow building with pedantic mode enabled
      developer: enable pedantic by default
      t0301: fixes for windows compatibility
      credential-cache: check for windows specific errors
      git-compat-util: include declaration for unix sockets in windows
      simple-ipc: move definition of ipc_active_state outside of ifdef
      lazyload.h: use an even more generic function pointer than FARPROC
      Makefile: restrict -Wpedantic and -Wno-pedantic-ms-format better
      terminal: teach git how to save/restore its terminal settings
      editor: save and reset terminal after calling EDITOR
      wrapper: remove xunsetenv()

David Aguilar (5):
      difftool: create a tmpdir path without repeated slashes
      difftool: refactor dir-diff to write files using helper functions
      difftool: remove an unnecessary call to strbuf_release()
      difftool: add a missing space to the run_dir_diff() comments
      mergetools/xxdiff: prevent segfaults from stopping difftool

David Turner (3):
      t4060: remove unused variable
      diff --submodule=diff: do not fail on ever-initialied deleted submodules
      diff --submodule=diff: don't print failure message twice

Derrick Stolee (34):
      t1092: test merge conflicts outside cone
      add: allow operating on a sparse-only index
      pathspec: stop calling ensure_full_index
      add: ignore outside the sparse-checkout in refresh()
      add: remove ensure_full_index() with --renormalize
      t7519: rewrite sparse index test
      sparse-index: silently return when not using cone-mode patterns
      unpack-trees: fix nested sparse-dir search
      sparse-index: silently return when cache tree fails
      sparse-index: use WRITE_TREE_MISSING_OK
      sparse-checkout: create helper methods
      attr: be careful about sparse directories
      sparse-index: add SPARSE_INDEX_MEMORY_ONLY flag
      sparse-checkout: clear tracked sparse dirs
      diff: ignore sparse paths in diffstat
      merge: make sparse-aware with ORT
      merge-ort: expand only for out-of-cone conflicts
      t1092: add cherry-pick, rebase tests
      sequencer: ensure full index if not ORT strategy
      sparse-index: integrate with cherry-pick and rebase
      t/perf/run: fix bin-wrappers computation
      t3705: test that 'sparse_entry' is unstaged
      t1092: behavior for adding sparse files
      dir: select directories correctly
      dir: fix pattern matching on dirs
      add: fail when adding an untracked sparse file
      add: skip tracked paths outside sparse-checkout cone
      add: implement the --sparse option
      add: update --chmod to skip sparse paths
      add: update --renormalize to skip sparse paths
      rm: add --sparse option
      rm: skip sparse paths with missing SKIP_WORKTREE
      mv: refuse to move sparse paths
      advice: update message to suggest '--sparse'

Elijah Newren (23):
      merge-ort: rename str{map,intmap,set}_func()
      diffcore-rename: use a mem_pool for exact rename detection's hashmap
      merge-ort: add pool_alloc, pool_calloc, and pool_strndup wrappers
      merge-ort: set up a memory pool
      merge-ort: switch our strmaps over to using memory pools
      diffcore-rename, merge-ort: add wrapper functions for filepair alloc/dealloc
      merge-ort: store filepairs and filespecs in our mem_pool
      merge-ort: reuse path strings in pool_alloc_filespec
      merge-ort: remove compile-time ability to turn off usage of memory pools
      Change default merge backend from recursive to ort
      Update docs for change of default merge backend
      tests: remove leftover untracked files
      t2500: add various tests for nuking untracked files
      checkout, read-tree: fix leak of unpack_trees_options.dir
      read-tree, merge-recursive: overwrite ignored files by default
      unpack-trees: introduce preserve_ignored to unpack_trees_options
      unpack-trees: make dir an internal-only struct
      Remove ignored files by default when they are in the way
      Change unpack_trees' 'reset' flag into an enum
      unpack-trees: avoid nuking untracked dir in way of unmerged file
      unpack-trees: avoid nuking untracked dir in way of locally deleted file
      Comment important codepaths regarding nuking untracked files/dirs
      Documentation: call out commands that nuke untracked files/directories

Emily Shaffer (3):
      tr2: make process info collection platform-generic
      tr2: log parent process name
      hook.c: add a hook_exists() wrapper and use it in bugreport.c

Eric Wong (1):
      doc/technical: update note about core.multiPackIndex

Fabian Stelzer (11):
      ssh signing: preliminary refactoring and clean-up
      ssh signing: add test prereqs
      ssh signing: add ssh key format and signing code
      ssh signing: retrieve a default key from ssh-agent
      ssh signing: provide a textual signing_key_id
      ssh signing: verify signatures using ssh-keygen
      ssh signing: duplicate t7510 tests for commits
      ssh signing: tests for logs, tags & push certs
      ssh signing: test that gpg fails for unknown keys
      ssh signing: fmt-merge-msg tests & config parse
      ssh signing: clarify trustlevel usage in docs

Glen Choo (1):
      MyFirstContribution: Document --range-diff option when writing v2

Greg Hurrell (1):
      gitweb: use HEAD as secondary sort key in git_get_heads_list()

Han-Wen Nienhuys (14):
      t6050: use git-update-ref rather than filesystem access
      t1503: mark symlink test as REFFILES
      t6120: use git-update-ref rather than filesystem access
      t3320: use git-symbolic-ref rather than filesystem access
      t2402: use ref-store test helper to create broken symlink
      t1405: use 'git reflog exists' to check reflog existence
      t1405: mark test for 'git pack-refs' as REFFILES
      t1410: mark test as REFFILES
      t7064: use update-ref -d to remove upstream branch
      t6500: use "ls -1" to snapshot ref database state
      t6001: avoid direct file system access
      refs: remove EINVAL errno output from specification of read_raw_ref_fn
      refs/files-backend: stop setting errno from lock_ref_oid_basic
      refs: make errno output explicit for read_raw_ref_fn

Jacob Vosmaer (2):
      pkt-line: add stdio packet write functions
      upload-pack: use stdio in send_ref callbacks

Jeff Hostetler (7):
      trace2: add trace2_child_ready() to report on background children
      simple-ipc: preparations for supporting binary messages.
      simple-ipc/ipc-win32: add trace2 debugging
      simple-ipc/ipc-win32: add Windows ACL to named pipe
      run-command: create start_bg_command
      t/helper/simple-ipc: convert test-simple-ipc to use start_bg_command
      t/perf/perf-lib.sh: remove test_times.* at the end test_perf_()

Jeff King (58):
      http: drop support for curl < 7.11.1
      http: drop support for curl < 7.16.0
      http: drop support for curl < 7.19.4
      refs: drop unused "flags" parameter to lock_ref_oid_basic()
      t0410: disable GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP
      t5310: disable GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP
      pack-bitmap: drop repository argument from prepare_midx_bitmap_git()
      pack-bitmap: drop bitmap_index argument from try_partial_reuse()
      t5551: test v2-to-v0 http protocol fallback
      http-backend: handle HTTP_GIT_PROTOCOL CGI variable
      docs/http-backend: mention v2 protocol
      docs/git: discuss server-side config for GIT_PROTOCOL
      docs/protocol-v2: point readers transport config discussion
      difftool: prepare "diff" cmdline in cmd_difftool()
      serve: rename is_command() to parse_command()
      serve: return capability "value" from get_capability()
      serve: add "receive" method for v2 capabilities table
      serve: provide "receive" function for object-format capability
      serve: provide "receive" function for session-id capability
      serve: drop "keys" strvec
      ls-refs: ignore very long ref-prefix counts
      docs/protocol-v2: clarify some ls-refs ref-prefix details
      serve: reject bogus v2 "command=ls-refs=foo"
      serve: reject commands used as capabilities
      ls-refs: reject unknown arguments
      grep: stop modifying buffer in strip_timestamp
      grep: stop modifying buffer in show_line()
      grep: stop modifying buffer in grep_source_1()
      grep: mark "haystack" buffers as const
      grep: store grep_source buffer as const
      t7900: clean up some more broken refs
      t5516: don't use HEAD ref for invalid ref-deletion tests
      t5600: provide detached HEAD for corruption failures
      t5312: drop "verbose" helper
      t5312: create bogus ref as necessary
      t5312: test non-destructive repack
      t5312: be more assertive about command failure
      refs-internal.h: move DO_FOR_EACH_* flags next to each other
      refs-internal.h: reorganize DO_FOR_EACH_* flag documentation
      refs: add DO_FOR_EACH_OMIT_DANGLING_SYMREFS flag
      refs: omit dangling symrefs when using GIT_REF_PARANOIA
      refs: turn on GIT_REF_PARANOIA by default
      repack, prune: drop GIT_REF_PARANOIA settings
      ref-filter: stop setting FILTER_REFS_INCLUDE_BROKEN
      ref-filter: drop broken-ref code entirely
      refs: drop "broken" flag from for_each_fullref_in()
      test-read-midx: fix leak of bitmap_index struct
      t1006: clean up broken objects
      cat-file: mention --unordered along with --batch-all-objects
      cat-file: disable refs/replace with --batch-all-objects
      cat-file: split ordered/unordered batch-all-objects callbacks
      cat-file: use packed_object_info() for --batch-all-objects
      gpg-interface: fix leak of "line" in parse_ssh_output()
      gpg-interface: fix leak of strbufs in get_ssh_key_fingerprint()
      send-pack: complain about "expecting report" with --helper-status
      transport-helper: recognize "expecting report" error from send-pack
      submodule: drop unused sm_name parameter from append_fetch_remotes()
      Documentation/Makefile: fix lint-docs mkdir dependency

Jiang Xin (1):
      ci: new github-action for git-l10n code review

Johannes Altmanninger (4):
      Documentation/git-status: remove impossible porcelain status DR and DC
      Documentation/diff-format: state in which cases porcelain status is T
      Documentation/git-status: document porcelain status T (typechange)
      Documentation/git-status: mention how to detect copies

Johannes Schindelin (23):
      tests: exercise the RUNTIME_PREFIX feature
      expand_user_path(): remove stale part of the comment
      expand_user_path(): clarify the role of the `real_home` parameter
      Use a better name for the function interpolating paths
      interpolate_path(): allow specifying paths relative to the runtime prefix
      t5520: do not use `pull.rebase=preserve`
      remote: warn about unhandled branch.<name>.rebase values
      tests: stop testing `git rebase --preserve-merges`
      pull: remove support for `--rebase=preserve`
      rebase: drop support for `--preserve-merges`
      git-svn: drop support for `--preserve-merges`
      rebase: drop the internal `rebase--interactive` command
      rebase: remove obsolete code comment
      rebase: stop mentioning the -p option in comments
      rebase: remove a no-longer-used function
      sequencer: restrict scope of a formerly public function
      commit-graph: when closing the graph, also release the slab
      pull: release packs before fetching
      run-command: prettify the `RUN_COMMAND_*` flags
      run-command: offer to close the object store before running
      run_auto_maintenance(): implicitly close the object store
      Close object store closer to spawning child processes
      ci(windows): ensure that we do not pick up random executables

Johannes Sixt (8):
      lazyload.h: fix warnings about mismatching function pointer types
      t4034/cpp: actually test that operator tokens are not split
      t4034: add tests showing problematic cpp tokenizations
      userdiff-cpp: tighten word regex
      userdiff-cpp: prepare test cases with yet unsupported features
      userdiff-cpp: permit the digit-separating single-quote in numbers
      userdiff-cpp: learn the C++ spaceship operator
      userdiff-cpp: back out the digit-separators in numbers

Jonathan Tan (19):
      submodule: lazily add submodule ODBs as alternates
      grep: use submodule-ODB-as-alternate lazy-addition
      grep: typesafe versions of grep_source_init
      grep: read submodule entry with explicit repo
      grep: allocate subrepos on heap
      grep: add repository to OID grep sources
      submodule-config: pass repo upon blob config read
      t7814: show lack of alternate ODB-adding
      submodule: remove unnecessary unabsorbed fallback
      repository: support unabsorbed in repo_submodule_init
      revision: remove "submodule" from opt struct
      submodule: extract path to submodule gitdir func
      refs: plumb repo into ref stores
      refs: teach arbitrary repo support to iterators
      refs: peeling non-the_repository iterators is BUG
      merge-{ort,recursive}: remove add_submodule_odb()
      object-file: only register submodule ODB if needed
      submodule: pass repo to check_has_commit()
      submodule: trace adding submodule ODB as alternate

Josh Steadmon (1):
      sequencer: advise if skipping cherry-picked commit

Junio C Hamano (22):
      expand_user_path: allow in-flight topics to keep using the old name
      bisect: do not run show-branch just to show the current commit
      bisect: simplify return code from bisect_checkout()
      userdiff: comment on the builtin patterns
      The first batch post 2.33
      The second batch
      The third batch
      The fourth batch
      The fifth batch
      The sixth batch
      The seventh batch
      The eighth batch
      The ninth batch
      The tenth batch
      The eleventh batch
      Twelfth batch
      signature-format.txt: explain and illustrate multi-line headers
      Thirteenth batch
      The fourteenth batch
      branch (doc): -m/-c copies config and reflog
      The fifteenth batch
      Git 2.34-rc0

Kaartic Sivaraam (1):
      submodule--helper: fix incorrect newlines in an error message

Lénaïc Huard (4):
      cache.h: Introduce a generic "xdg_config_home_for(…)" function
      maintenance: `git maintenance run` learned `--scheduler=<scheduler>`
      maintenance: add support for systemd timers on Linux
      maintenance: fix test t7900-maintenance.sh

Mahi Kolla (1):
      clone: set submodule.recurse=true if submodule.stickyRecursiveClone enabled

Martin Ågren (5):
      config.txt: fix typo
      git-multi-pack-index.txt: change "folder" to "directory"
      gitignore.txt: change "folder" to "directory"
      gitweb.txt: change "folder" to "directory"
      git-bundle.txt: add missing words and punctuation

Matheus Tavares (2):
      grep: demonstrate bug with textconv attributes and submodules
      add, rm, mv: fix bug that prevents the update of non-sparse dirs

Matthias Aßhauer (1):
      help: make sure local html page exists before calling external processes

Miriam Rubio (3):
      t6030-bisect-porcelain: add tests to control bisect run exit cases
      t6030-bisect-porcelain: add test for bisect visualize
      bisect--helper: retire `--bisect-next-check` subcommand

Orgad Shaneh (1):
      doc: fix capitalization in "git status --porcelain=v2" description

Patrick Steinhardt (15):
      fetch-pack: speed up loading of refs via commit graph
      revision: separate walk and unsorted flags
      connected: do not sort input revisions
      revision: stop retrieving reference twice
      commit-graph: split out function to search commit position
      revision: avoid hitting packfiles when commits are in commit-graph
      ls-refs: reuse buffer when sending refs
      fetch: skip formatting updated refs with `--quiet`
      fetch: speed up lookup of want refs via commit-graph
      fetch: avoid unpacking headers in object existence check
      connected: refactor iterator to return next object ID directly
      fetch-pack: optimize loading of refs via commit graph
      fetch: refactor fetch refs to be more extendable
      fetch: merge fetching and consuming refs
      fetch: avoid second connectivity check if we already have all objects

Philippe Blain (3):
      test-lib-functions: use 'TEST_SHELL_PATH' in 'test_pause'
      test-lib-functions: optionally keep HOME, TERM and SHELL in 'test_pause'
      test-lib-functions: keep user's debugger config files and TERM in 'debug'

Phillip Wood (14):
      t3407: run tests in $TEST_DIRECTORY
      t3407: use test_commit
      t3407: use test_cmp_rev
      t3407: rename a variable
      t3407: use test_path_is_missing
      t3407: strengthen rebase --abort tests
      t3407: rework rebase --quit tests
      rebase: use our standard error return value
      rebase: use lookup_commit_reference_by_name()
      rebase: dereference tags
      sequencer.c: factor out a function
      rebase: fix todo-list rereading
      sparse index: fix use-after-free bug in cache_tree_verify()
      t1092: run "rebase --apply" without "-q" in testing

Pranit Bauva (2):
      run-command: make `exists_in_PATH()` non-static
      bisect--helper: reimplement `bisect_visualize()` shell function in C

René Scharfe (24):
      merge-recursive: use fspathcmp() in path_hashmap_cmp()
      index-pack: use xopen in init_thread
      oidset: make oidset_size() an inline function
      midx: inline nth_midxed_pack_entry()
      packfile: convert mark_bad_packed_object() to object_id
      packfile: convert has_packed_and_bad() to object_id
      packfile: use oidset for bad objects
      packfile: release bad_objects in close_pack()
      test-mergesort: use strbuf_getline()
      test-mergesort: add sort subcommand
      test-mergesort: add test subcommand
      test-mergesort: add generate subcommand
      test-mergesort: add unriffle mode
      test-mergesort: add unriffle_skewed mode
      p0071: measure sorting of already sorted and reversed files
      p0071: test performance of llist_mergesort()
      mergesort: use ranks stack
      p3400: stop using tac(1)
      t3905: show failure to ignore sub-repo
      read-cache: add verify_path_internal()
      read-cache: let verify_path() reject trailing dir separators again
      test-mergesort: use repeatable random numbers
      perf: disable automatic housekeeping
      add: don't write objects with --dry-run

Robert Estelle (1):
      completion: fix incorrect bash/zsh string equality check

SZEDER Gábor (9):
      t1600-index: remove unnecessary redirection
      t1600-index: don't run git commands upstream of a pipe
      t1600-index: disable GIT_TEST_SPLIT_INDEX
      read-cache: look for shared index files next to the index, too
      tests: disable GIT_TEST_SPLIT_INDEX for sparse index tests
      read-cache: fix GIT_TEST_SPLIT_INDEX
      commit-graph: fix bogus counter in "Scanning merged commits" progress line
      entry: show finer-grained counter in "Filtering content" progress line
      command-list.txt: remove 'sparse-index' from main help

Tanushree Tumane (1):
      bisect--helper: reimplement `bisect_run` shell function in C

Tassilo Horn (1):
      userdiff: improve java hunk header regex

Taylor Blau (51):
      pack-bitmap.c: harden 'test_bitmap_walk()' to check type bitmaps
      pack-bitmap-write.c: gracefully fail to write non-closed bitmaps
      pack-bitmap-write.c: free existing bitmaps
      Documentation: describe MIDX-based bitmaps
      object-store.h: teach for_each_packed_object to ignore kept packs
      builtin/pack-objects.c: simplify add_objects_in_unpacked_packs()
      builtin/pack-objects.c: remove duplicate hash lookup
      midx: disallow running outside of a repository
      midx: fix `*.rev` cleanups with `--object-dir`
      midx: clear auxiliary .rev after replacing the MIDX
      midx: reject empty `--preferred-pack`'s
      midx: infer preferred pack when not given one
      midx: close linked MIDXs, avoid leaking memory
      midx: avoid opening multiple MIDXs when writing
      pack-bitmap.c: introduce 'bitmap_num_objects()'
      pack-bitmap.c: introduce 'nth_bitmap_object_oid()'
      pack-bitmap.c: introduce 'bitmap_is_preferred_refname()'
      pack-bitmap.c: avoid redundant calls to try_partial_reuse
      pack-bitmap: read multi-pack bitmaps
      pack-bitmap: write multi-pack bitmaps
      t5310: move some tests to lib-bitmap.sh
      t/helper/test-read-midx.c: add --checksum mode
      t5326: test multi-pack bitmap behavior
      t5319: don't write MIDX bitmaps in t5319
      t7700: update to work with MIDX bitmap test knob
      midx: respect 'GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP'
      p5310: extract full and partial bitmap tests
      p5326: perf tests for MIDX bitmaps
      t/helper/test-bitmap.c: add 'dump-hashes' mode
      pack-bitmap.c: propagate namehash values from existing bitmaps
      midx.c: respect 'pack.writeBitmapHashcache' when writing bitmaps
      p5326: create missing 'perf-tag' tag
      p5326: don't set core.multiPackIndex unnecessarily
      p5326: generate pack bitmaps before writing the MIDX bitmap
      t5326: test propagating hashcache values
      builtin/commit-graph.c: don't accept common --[no-]progress
      builtin/multi-pack-index.c: disable top-level --[no-]progress
      midx: expose `write_midx_file_only()` publicly
      builtin/multi-pack-index.c: support `--stdin-packs` mode
      midx: preliminary support for `--refs-snapshot`
      builtin/repack.c: keep track of existing packs unconditionally
      builtin/repack.c: rename variables that deal with non-kept packs
      builtin/repack.c: extract showing progress to a variable
      builtin/repack.c: support writing a MIDX while repacking
      builtin/repack.c: make largest pack preferred
      builtin/repack.c: pass `--refs-snapshot` when writing bitmaps
      t/perf/aggregate.perl: tolerate leading spaces
      midx.c: extract MIDX lookup by object_dir
      midx.c: lookup MIDX by object directory during expire
      midx.c: lookup MIDX by object directory during repack
      midx.c: guard against commit_lock_file() failures

Teng Long (1):
      list-objects.c: rename "traverse_trees_and_blobs" to "traverse_non_commits"

Todd Zullinger (1):
      doc: add bundle-format to TECH_DOCS

USAMI Kenta (1):
      userdiff: support enum keyword in PHP hunk header

Wesley Schwengle (1):
      Document `rebase.forkpoint` in rebase man page

ZheNing Hu (6):
      ref-filter: add obj-type check in grab contents
      ref-filter: add %(raw) atom
      ref-filter: --format=%(raw) support --perl
      ref-filter: use non-const ref_format in *_atom_parser()
      ref-filter: add %(rest) atom
      cherry-pick: use better advice message

brian m. carlson (1):
      t5607: avoid using prerequisites to select algorithm

Ævar Arnfjörð Bjarmason (201):
      Makefile: move ".PHONY: cscope" near its target
      Makefile: add QUIET_GEN to "cscope" target
      test-lib tests: move "run_sub_test" to a new lib-subtest.sh
      Makefile: don't use "FORCE" for tags targets
      http: drop support for curl < 7.19.3 and < 7.17.0 (again)
      http: rename CURLOPT_FILE to CURLOPT_WRITEDATA
      serve: mark has_capability() as static
      transport: rename "fetch" in transport_vtable to "fetch_refs"
      transport: use designated initializers
      serve: use designated initializers
      serve.[ch]: don't pass "struct strvec *keys" to commands
      serve: move transfer.advertiseSID check into session_id_advertise()
      serve.c: move version line to advertise_capabilities()
      {upload,receive}-pack tests: add --advertise-refs tests
      serve.[ch]: remove "serve_options", split up --advertise-refs code
      upload-pack: document and rename --advertise-refs
      Makefile: remove "cscope.out", not "cscope*" in cscope.out target
      Makefile: normalize clobbering & xargs for tags targets
      refs/packet: add missing BUG() invocations to reflog callbacks
      refs/files: remove unused REF_DELETING in lock_ref_oid_basic()
      advice: remove use of global advice_add_embedded_repo
      advice: move advice.graftFileDeprecated squashing to commit.[ch]
      refs/files: remove unused "extras/skip" in lock_ref_oid_basic()
      refs/files: remove unused "skip" in lock_raw_ref() too
      refs/debug: re-indent argument list for "prepare"
      refs: make repo_dwim_log() accept a NULL oid
      refs/files: add a comment about refs_reflog_exists() call
      reflog expire: don't lock reflogs using previously seen OID
      refs API: remove OID argument to reflog_expire()
      refs/files: remove unused "oid" in lock_ref_oid_basic()
      refs/files: remove unused "errno == EISDIR" code
      refs/files: remove unused "errno != ENOTDIR" condition
      refs file backend: move raceproof_create_file() here
      bundle API: start writing API documentation
      commit-graph: define common usage with a macro
      commit-graph: remove redundant handling of -h
      commit-graph: use parse_options_concat()
      multi-pack-index: refactor "goto usage" pattern
      commit-graph: early exit to "usage" on !argc
      commit-graph: show usage on "commit-graph [write|verify] garbage"
      commit-graph: show "unexpected subcommand" error
      gettext: remove optional non-standard parens in N_() definition
      bundle API: change "flags" to be "extra_index_pack_args"
      index-pack: add --progress-title option
      bundle: show progress on "unbundle"
      tr2: remove NEEDSWORK comment for "non-procfs" implementations
      tr2: clarify TRACE2_PROCESS_INFO_EXIT comment under Linux
      tr2: stop leaking "thread_name" memory
      tr2: leave the parent list empty upon failure & don't leak memory
      tr2: do compiler enum check in trace2_collect_process_info()
      tr2: log N parent process names on Linux
      help: correct the usage string in -h and documentation
      INSTALL: don't mention the "curl" executable at all
      INSTALL: reword and copy-edit the "libcurl" section
      git-submodule: remove unused is_zero_oid() function
      git-sh-setup: remove unused "pull with rebase" message
      git-bisect: remove unused SHA-1 $x40 shell variable
      test-lib: remove unused $_x40 and $_z40 variables
      test-tool run-command: fix flip-flop init pattern
      gc: remove unused launchctl_get_uid() call
      parse-options API users: align usage output in C-strings
      send-pack: properly use parse_options() API for usage string
      git rev-parse --parseopt tests: add more usagestr tests
      difftool: prepare "struct child_process" in cmd_difftool()
      difftool: use run_command() API in run_file_diff()
      parse-options API: remove OPTION_ARGUMENT feature
      INSTALL: mention that we need libcurl 7.19.4 or newer to build
      Makefile: drop support for curl < 7.9.8 (again)
      http: drop support for curl < 7.18.0 (again)
      http: correct version check for CURL_HTTP_VERSION_2
      http: correct curl version check for CURLOPT_PINNEDPUBLICKEY
      http: centralize the accounting of libcurl dependencies
      http: don't hardcode the value of CURL_SOCKOPT_OK
      wrapper.c: add x{un,}setenv(), and use xsetenv() in environment.c
      environment.c: remove test-specific "ignore_untracked..." variable
      read-cache & fetch-negotiator: check "enum" values in switch()
      repo-settings.c: simplify the setup
      repository.h: don't use a mix of int and bitfields
      parse-options: properly align continued usage output
      test-lib tests: split up "write and run" into two functions
      test-lib tests: don't provide a description for the sub-tests
      test-lib tests: avoid subshell for "test_cmp" for readability
      test-lib tests: refactor common part of check_sub_test_lib_test*()
      test-lib tests: assert 1 exit code, not non-zero
      test-lib tests: get rid of copy/pasted mock test code
      Makefile: make the "sparse" target non-.PHONY
      Makefile: make COMPUTE_HEADER_DEPENDENCIES=auto work with DEVOPTS=pedantic
      help: correct usage & behavior of "git help --guides"
      help tests: add test for --config output
      help: correct logic error in combining --all and --config
      help: correct logic error in combining --all and --guides
      help: simplify by moving to OPT_CMDMODE()
      help tests: test --config-for-completion option & output
      help / completion: make "git help" do the hard work
      help: move column config discovery to help.c library
      Makefile: add SANITIZE=leak flag to GIT-BUILD-OPTIONS
      tests: add a test mode for SANITIZE=leak, run it in CI
      bundle: remove ignored & undocumented "--verbose" flag
      Makefile: mark "check" target as .PHONY
      Makefile: stop hardcoding {command,config}-list.h
      Makefile: don't perform "mv $@+ $@" dance for $(GENERATED_H)
      Makefile: remove an out-of-date comment
      hook.[ch]: move find_hook() from run-command.c to hook.c
      hook.c users: use "hook_exists()" instead of "find_hook()"
      hook-list.h: add a generated list of hooks, like config-list.h
      http: check CURLE_SSL_PINNEDPUBKEYNOTMATCH when emitting errors
      Makefile: pass -Wno-pendantic under GENERATE_COMPILATION_DATABASE=yes
      submodule-config.h: remove unused SUBMODULE_INIT macro
      *.[ch] *_INIT macros: use { 0 } for a "zero out" idiom
      *.h _INIT macros: don't specify fields equal to 0
      *.h: move some *_INIT to designated initializers
      cbtree.h: define cb_init() in terms of CBTREE_INIT
      daemon.c: refactor hostinfo_init() to HOSTINFO_INIT macro
      builtin/blame.c: refactor commit_info_init() to COMMIT_INFO_INIT macro
      string-list.[ch]: remove string_list_init() compatibility function
      config.c: remove unused git_config_key_is_valid()
      refs.[ch]: remove unused ref_storage_backend_exists()
      refs/ref-cache.[ch]: remove unused remove_entry_from_dir()
      refs/ref-cache.[ch]: remove unused add_ref_entry()
      refs/ref-cache.c: remove "mkdir" parameter from find_containing_dir()
      refs/ref-cache.[ch]: remove "incomplete" from create_dir_entry()
      parse-options.h: move PARSE_OPT_SHELL_EVAL between enums
      urlmatch.[ch]: add and use URLMATCH_CONFIG_INIT
      builtin/remote.c: add and use a REF_STATES_INIT
      builtin/remote.c: add and use SHOW_INFO_INIT
      builtin.h: remove cmd_tar_tree() declaration
      grep.h: remove unused grep_threads_ok() declaration
      log-tree.h: remove unused function declarations
      config.h: remove unused git_config_get_untracked_cache() declaration
      fsck tests: add test for fsck-ing an unknown type
      fsck tests: refactor one test to use a sub-repo
      fsck tests: test current hash/type mismatch behavior
      fsck tests: test for garbage appended to a loose object
      cat-file tests: move bogus_* variable declarations earlier
      cat-file tests: test for missing/bogus object with -t, -s and -p
      cat-file tests: add corrupt loose object test
      cat-file tests: test for current --allow-unknown-type behavior
      object-file.c: don't set "typep" when returning non-zero
      object-file.c: return -1, not "status" from unpack_loose_header()
      object-file.c: make parse_loose_header_extended() public
      object-file.c: simplify unpack_loose_short_header()
      object-file.c: use "enum" return type for unpack_loose_header()
      object-file.c: return ULHR_TOO_LONG on "header too long"
      object-file.c: stop dying in parse_loose_header()
      fsck: don't hard die on invalid object types
      fsck: report invalid object type-path combinations
      unpack-trees: don't leak memory in verify_clean_subdirectory()
      tests: fix a memory leak in test-prio-queue.c
      tests: fix a memory leak in test-parse-options.c
      tests: fix a memory leak in test-oidtree.c
      tests: fix test-oid-array leak, test in SANITIZE=leak
      ls-files: fix a trivial dir_clear() leak
      ls-files: add missing string_list_clear()
      merge: add missing strbuf_release()
      parse-options.[ch]: consistently use "enum parse_opt_flags"
      parse-options.[ch]: consistently use "enum parse_opt_result"
      parse-options.c: use exhaustive "case" arms for "enum parse_opt_result"
      parse-options.h: make the "flags" in "struct option" an enum
      parse-options.c: move optname() earlier in the file
      commit-graph: stop using optname()
      parse-options.[ch]: make opt{bug,name}() "static"
      parse-options tests: test optname() output
      parse-options: change OPT_{SHORT,UNSET} to an enum
      unwritable tests: assert exact error output
      commit: fix duplication regression in permission error output
      leak tests: run various built-in tests in t00*.sh SANITIZE=leak
      leak tests: run various "test-tool" tests in t00*.sh SANITIZE=leak
      leak tests: mark all ls-tree tests as passing with SANITIZE=leak
      leak tests: mark all trace2 tests as passing with SANITIZE=leak
      leak tests: mark all checkout-index tests as passing with SANITIZE=leak
      leak tests: mark some ls-files tests as passing with SANITIZE=leak
      leak tests: mark some read-tree tests as passing with SANITIZE=leak
      leak tests: mark various "generic" tests as passing with SANITIZE=leak
      leak tests: mark some misc tests as passing with SANITIZE=leak
      sequencer: add a "goto cleanup" to do_reset()
      sequencer: fix a memory leak in do_reset()
      test-lib.sh: de-duplicate error() teardown code
      test-lib.sh: use "Bail out!" syntax on bad SANITIZE=leak use
      test-lib.sh: try to re-chmod & retry on failed trash removal
      "lib-diff" tests: make "README" and "COPYING" test data smaller
      tests: stop using top-level "README" and "COPYING" files
      doc lint: fix error-hiding regression
      doc lint: emit errors on STDERR
      doc build: speed up "make lint-docs"
      doc lint: make "lint-docs" non-.PHONY
      pkt-line.[ch]: remove unused packet_buf_write_len()
      pkt-line.[ch]: remove unused packet_read_line_buf()
      git config doc: fix recent ASCIIDOC formatting regression
      tag: use a "goto cleanup" pattern, leak less memory
      ref-filter API user: add and use a ref_sorting_release()
      branch: use ref_sorting_release()
      git-sh-i18n: remove unused eval_ngettext()
      git-sh-setup: remove messaging supporting --preserve-merges
      Makefile: remove redundant GIT-CFLAGS dependency from "sparse"
      config.c: don't leak memory in handle_path_include()
      grep: prefer "struct grep_opt" over its "void *" equivalent
      grep: use object_array_clear() in cmd_grep()
      grep: fix a "path_list" memory leak
      clone: fix a memory leak of the "git_dir" variable
      submodule--helper: fix small memory leaks
      reflog: free() ref given to us by dwim_log()


Version v2.33.8; changes since v2.33.7:
---------------------------------------

Derrick Stolee (1):
      ci: update 'static-analysis' to Ubuntu 22.04

Jeff King (6):
      http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT
      http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION
      range-diff: drop useless "offset" variable from read_patches()
      http: support CURLOPT_PROTOCOLS_STR
      range-diff: handle unterminated lines in read_patches()
      range-diff: use ssize_t for parsed "len" in read_patches()

Jiang Xin (4):
      github-actions: run gcc-8 on ubuntu-20.04 image
      ci: remove the pipe after "p4 -V" to catch errors
      ci: use the same version of p4 on both Linux and macOS
      ci: install python on ubuntu

Johannes Schindelin (15):
      compat/win32/syslog: fix use-after-realloc
      nedmalloc: avoid new compile error
      t0033: GETTEXT_POISON fix
      t0003: GETTEXT_POISON fix, part 1
      t0003: GETTEXT_POISON fix, conclusion
      t5619: GETTEXT_POISON fix
      t5604: GETTEXT_POISON fix, part 1
      t5604: GETTEXT_POISON fix, conclusion
      clone.c: avoid "exceeds maximum object size" error with GCC v12.x
      apply --reject: overwrite existing `.rej` symlink if it exists
      gettext: avoid using gettext if the locale dir is not present
      tests: avoid using `test_i18ncmp`
      Git 2.31.8
      Git 2.32.7
      Git 2.33.8

Junio C Hamano (1):
      http.c: clear the 'finished' member once we are done with it

Taylor Blau (5):
      t1300: demonstrate failure when renaming sections with long lines
      config: avoid fixed-sized buffer when renaming/deleting a section
      config.c: avoid integer truncation in `copy_or_rename_section_in_file()`
      config.c: disallow overly-long lines in `copy_or_rename_section_in_file()`
      Git 2.30.9


Version v2.33.7; changes since v2.33.6:
---------------------------------------

Johannes Schindelin (4):
      attr: adjust a mismatched data type
      Git 2.31.7
      Git 2.32.6
      Git 2.33.7

Junio C Hamano (1):
      Git 2.30.8

Patrick Steinhardt (1):
      apply: fix writing behind newly created symbolic links

Taylor Blau (3):
      t5619: demonstrate clone_local() with ambiguous transport
      clone: delay picking a transport until after get_repo_path()
      dir-iterator: prevent top-level symlinks without FOLLOW_SYMLINKS


Version v2.33.6; changes since v2.33.5:
---------------------------------------

Carlo Marcelo Arenas Belón (1):
      test-lib: add prerequisite for 64-bit platforms

Junio C Hamano (4):
      Git 2.30.7
      Git 2.31.6
      Git 2.32.5
      Git 2.33.6

Patrick Steinhardt (25):
      attr: fix overflow when upserting attribute with overly long name
      attr: fix out-of-bounds read with huge attribute names
      attr: fix integer overflow when parsing huge attribute names
      attr: fix out-of-bounds write when parsing huge number of attributes
      attr: fix out-of-bounds read with unreasonable amount of patterns
      attr: fix integer overflow with more than INT_MAX macros
      attr: harden allocation against integer overflows
      attr: fix silently splitting up lines longer than 2048 bytes
      attr: ignore attribute lines exceeding 2048 bytes
      attr: ignore overly large gitattributes files
      pretty: fix out-of-bounds write caused by integer overflow
      pretty: fix out-of-bounds read when left-flushing with stealing
      pretty: fix out-of-bounds read when parsing invalid padding format
      pretty: fix adding linefeed when placeholder is not expanded
      pretty: fix integer overflow in wrapping format
      utf8: fix truncated string lengths in `utf8_strnwidth()`
      utf8: fix returning negative string width
      utf8: fix overflow when returning string width
      utf8: fix checking for glyph width in `strbuf_utf8_replace()`
      utf8: refactor `strbuf_utf8_replace` to not rely on preallocated buffer
      pretty: restrict input lengths for padding and wrapping formats
      fsck: refactor `fsck_blob()` to allow for more checks
      fsck: pull out function to check a set of blobs
      fsck: move checks for gitattributes
      fsck: implement checks for gitattributes


Version v2.33.5; changes since v2.33.4:
---------------------------------------

Jeff King (2):
      shell: add basic tests
      shell: limit size of interactive commands

Kevin Backhouse (1):
      alias.c: reject too-long cmdline strings in split_cmdline()

Taylor Blau (17):
      builtin/clone.c: disallow `--local` clones with symlinks
      t/lib-submodule-update.sh: allow local submodules
      t/t1NNN: allow local submodules
      t/2NNNN: allow local submodules
      t/t3NNN: allow local submodules
      t/t4NNN: allow local submodules
      t/t5NNN: allow local submodules
      t/t6NNN: allow local submodules
      t/t7NNN: allow local submodules
      t/t9NNN: allow local submodules
      transport: make `protocol.file.allow` be "user" by default
      t1092: prepare for changing protocol.file.allow
      t2080: prepare for changing protocol.file.allow
      Git 2.30.6
      Git 2.31.5
      Git 2.32.4
      Git 2.33.5


Version v2.33.4; changes since v2.33.3:
---------------------------------------

Carlo Marcelo Arenas Belón (5):
      t: regression git needs safe.directory when using sudo
      git-compat-util: avoid failing dir ownership checks if running privileged
      t0034: add negative tests and allow git init to mostly work under sudo
      git-compat-util: allow root to access both SUDO_UID and root owned
      setup: tighten ownership checks post CVE-2022-24765

Johannes Schindelin (4):
      Git 2.30.5
      Git 2.31.4
      Git 2.32.3
      Git 2.33.4


Version v2.33.3; changes since v2.33.2:
---------------------------------------

Derrick Stolee (2):
      t0033: add tests for safe.directory
      setup: opt-out of check with safe.directory=*

Junio C Hamano (1):
      Git 2.30.4

Matheus Valadares (1):
      setup: fix safe.directory key not being checked


Version v2.33.2; changes since v2.33.1:
---------------------------------------

Carlo Marcelo Arenas Belón (1):
      mingw: avoid fallback for {local,gm}time_r()

Jeff King (1):
      log: document --encoding behavior on iconv() failure

Johannes Schindelin (8):
      GIT-VERSION-GEN: bump to v2.33.1
      Add a function to determine whether a path is owned by the current user
      setup_git_directory(): add an owner check for the top-level directory
      Fix `GIT_CEILING_DIRECTORIES` with `C:\` and the likes
      Git 2.30.3
      Git 2.31.2
      Git 2.32.1
      Git 2.33.2

Junio C Hamano (1):
      Revert "logmsg_reencode(): warn when iconv() fails"

Martin Ågren (1):
      git.txt: fix typo

Phillip Wood (1):
      rebase -i: fix rewording with --committer-date-is-author-date

Victoria Dye (1):
      async_die_is_recursing: work around GCC v11.x issue on Fedora


Version v2.33.1; changes since v2.33.0:
---------------------------------------

Alex Henrie (1):
      pull: abort if --ff-only is given and fast-forwarding is impossible

Andrzej Hunt (1):
      connect: also update offset for features without values

Bagas Sanjaya (1):
      Documentation: fix default directory of git bugreport -o

Carlo Marcelo Arenas Belón (12):
      build: update detect-compiler for newer Xcode version
      builtin/merge: avoid -Wformat-extra-args from ancient Xcode
      ci: run a pedantic build as part of the GitHub workflow
      ci: update freebsd 12 cirrus job
      ci: use upload-artifacts v1 for dockerized jobs
      remote: avoid -Wunused-but-set-variable in gcc with -DNDEBUG
      tree-diff: fix leak when not HAVE_ALLOCA_H
      t0000: avoid masking git exit value through pipes
      git-cvsserver: use crypt correctly to compare password hashes
      git-cvsserver: protect against NULL in crypt(3)
      Documentation: cleanup git-cvsserver
      unicode: update the width tables to Unicode 14

David Aguilar (1):
      difftool: fix symlink-file writing in dir-diff mode

Derrick Stolee (1):
      maintenance: skip bootout/bootstrap when plist is registered

Elijah Newren (25):
      t7601: test interaction of merge/rebase/fast-forward flags and options
      t7601: add tests of interactions with multiple merge heads and config
      pull: since --ff-only overrides, handle it first
      pull: make --rebase and --no-rebase override pull.ff=only
      pull: abort by default when fast-forwarding is not possible
      pull: update docs & code for option compatibility with rebasing
      pull: fix handling of multiple heads
      git-rebase.txt: correct antiquated claims about --rebase-merges
      directory-rename-detection.txt: small updates due to merge-ort optimizations
      Documentation: edit awkward references to `git merge-recursive`
      merge-strategies.txt: update wording for the resolve strategy
      merge-strategies.txt: do not imply using copy detection is desired
      merge-strategies.txt: avoid giving special preference to patience algorithm
      merge-strategies.txt: fix simple capitalization error
      git-rebase.txt: correct out-of-date and misleading text about renames
      merge-strategies.txt: add coverage of the `ort` merge strategy
      Update error message and code comment
      t3903: document a pair of directory/file bugs
      stash: avoid feeding directories to update-index
      stash: restore untracked files AFTER restoring tracked files
      git-am.txt: clarify --abort behavior
      t4151: add a few am --abort tests
      am: fix incorrect exit status on am fail to abort
      trace2.h: fix trivial comment typo
      merge-ort: fix completely wrong comment

Felipe Contreras (4):
      completion: bash: fix prefix detection in branch.*
      completion: bash: fix for suboptions with value
      completion: bash: fix for multiple dash commands
      completion: bash: add correct suffix in variables

Jeff Hostetler (1):
      sparse-index: copy dir_hash in ensure_full_index()

Jeff King (13):
      build: clang version may not be followed by extra words
      range-diff: drop useless "offset" variable from read_patches()
      range-diff: handle unterminated lines in read_patches()
      range-diff: use ssize_t for parsed "len" in read_patches()
      apply: keep buffer/size pair in sync when parsing binary hunks
      t5323: drop mentions of "master"
      logmsg_reencode(): warn when iconv() fails
      docs: use "character encoding" to refer to commit-object encoding
      t5562: use alarm() to interrupt timed child-wait
      strvec: use size_t to store nr and alloc
      t1400: avoid SIGPIPE race condition on fifo
      clone: handle unborn branch in bare repos
      http: match headers case-insensitively when redacting

Joel Klinghed (1):
      commit: restore --edit when combined with --fixup

Johannes Schindelin (1):
      maintenance: create `launchctl` configuration using a lock file

Johannes Sixt (1):
      t9001: PATH must not use Windows-style paths

Jonathan Tan (3):
      send-pack: fix push.negotiate with remote helper
      send-pack: fix push nego. when remote has refs
      fetch: die on invalid --negotiation-tip hash

Josh Steadmon (1):
      connect, protocol: log negotiated protocol version

Junio C Hamano (4):
      build: catch clang that identifies itself as "$VENDOR clang"
      apply: resolve trivial merge without hitting ll-merge with "--3way"
      hash-object: prefix_filename() returns allocated memory these days
      Git 2.33.1

Kim Altintop (3):
      t5730: introduce fetch command helper
      upload-pack.c: treat want-ref relative to namespace
      docs: clarify the interaction of transfer.hideRefs and namespaces

Kyle Zhao (1):
      pack-revindex.h: correct the time complexity descriptions

Marvin Häuser (1):
      send-email: avoid incorrect header propagation

Matheus Tavares (1):
      checkout: make delayed checkout respect --quiet and --no-progress

Matthias Aßhauer (1):
      documentation: add documentation for 'git version'

Mickey Endito (1):
      t5582: remove spurious 'cd "$D"' line

Mike Hommey (1):
      credential: fix leak in credential_apply_config()

Patrick Steinhardt (1):
      update-ref: fix streaming of status updates

Philip Oakley (1):
      doc: config, tell readers of `git help --config`

Phillip Wood (7):
      t3403: fix commit authorship
      rebase --apply: restore some tests
      rebase --continue: remove .git/MERGE_MSG
      rebase -r: make 'merge -c' behave like reword
      rebase -i: add another reword test
      rebase -r: don't write .git/MERGE_MSG when fast-forwarding
      rebase -r: fix merge -c with a merge strategy

René Scharfe (10):
      compat: let git_mmap use malloc(3) directly
      xopen: explicitly report creation failures
      use xopen() to handle fatal open(2) failures
      show-branch: simplify rev_is_head()
      archive: convert queue_directory to struct object_id
      branch: allow deleting dangling branches with --force
      range-diff: avoid segfault with -I
      setup: use xopen and xdup in sanitize_stdfds
      refs/files-backend: remove unused open mode parameter
      compression: drop write-only core_compression_* variables

SZEDER Gábor (3):
      Makefile: remove archives before manipulating them with 'ar'
      column: fix parsing of the '--nl' option
      test-lib: set GIT_CEILING_DIRECTORIES to protect the surrounding repository

Sergey Organov (1):
      diff-index: restore -c/--cc options handling

Takashi Iwai (1):
      completion: tcsh: Fix regression by drop of wrapper functions

Tal Kelrich (1):
      fast-export: fix anonymized tag using original length

Taylor Blau (4):
      bulk-checkin.c: store checksum directly
      pack-write.c: rename `.idx` files after `*.rev`
      builtin/repack.c: move `.idx` files into place last
      builtin/index-pack.c: move `.idx` files into place last

Zoker (1):
      doc: fix syntax error and the format of printf

Ævar Arnfjörð Bjarmason (20):
      pack-objects tests: cover blindspots in stdin handling
      pack-objects: fix segfault in --stdin-packs option
      bundle doc: rewrite the "DESCRIPTION" section
      bundle doc: elaborate on object prerequisites
      bundle doc: elaborate on rev<->ref restriction
      bundle doc: replace "basis" with "prerequsite(s)"
      ls-remote: set packet_trace_identity(<name>)
      rebase: emit one "fatal" in "fatal: fatal: <error>"
      protocol-caps.c: fix memory leak in send_info()
      mailmap.c: fix a memory leak in free_mailap_{info,entry}()
      gc: remove trailing dot from "gc.log" line
      send-email: fix a "first config key wins" regression in v2.33.0
      Makefile: remove the check_bindir script
      pack-write: skip *.rev work when not writing *.rev
      pack.h: line-wrap the definition of finish_tmp_packfile()
      pack-write: refactor renaming in finish_tmp_packfile()
      index-pack: refactor renaming in final()
      pack-write: split up finish_tmp_packfile() function
      pack-objects: rename .idx files into place after .bitmap files
      Makefile: clean .depend dirs under COMPUTE_HEADER_DEPENDENCIES != yes

Đoàn Trần Công Danh (3):
      t6300: don't run cat-file on non-existent object
      t6300: check for cat-file exit status code
      diff-lib: ignore paths that are outside $cwd if --relative asked


Version v2.33.0; changes since v2.33.0-rc2:
-------------------------------------------

Alexander Shopov (1):
      l10n: bg.po: Updated Bulgarian translation (5227t)

Bagas Sanjaya (4):
      l10n: id.po: fix mismatched variable names
      l10n: id: po-id for 2.33.0 (round 1)
      l10n: id: mismatch variable name fixes
      l10n: id: po-id for 2.33.0 round 2

Christopher Diaz Riveros (1):
      l10n: es: 2.33.0 round 2

Daniel Santos (12):
      l10n: pt_PT: add Portuguese translations part 4
      l10n: pt_PT: add Portuguese translations part 5
      l10n: pt_PT: translation tables
      l10n: pt_PT: remove trailing comments
      l10n: pt_PT: update git-po-helper
      l10n: pt_PT: translated git v2.33.0
      l10n: pt_PT: update translation tables
      l10n: pt_PT: cleaning duplicate translations
      l10n: pt_PT: cleaning flags mismatch
      l10n: pt_PT: update translation table
      l10n: pt_PT: git-po-helper update
      l10n: pt_PT: v2.33.0 round 2

Emir Sarı (2):
      l10n: tr: v2.33.0 round 1
      l10n: tr: v2.33 (round 2)

Fangyi Zhou (1):
      l10n: zh_CN: Revision for git v2.32.0 l10n round 1

Jean-Noël Avila (4):
      l10n: fr: fix typo
      l10n: fr.po v2.33 rnd 1
      l10n: fr.po fix typos in commands and variables
      l10n: fr.po v2.33 rnd 2

Jiang Xin (6):
      l10n: fixed tripple-letter typos
      l10n: git.pot: v2.33.0 round 1 (38 new, 15 removed)
      l10n: git.pot: v2.33.0 round 2 (11 new, 8 removed)
      l10n: README: refactor to use GFM syntax
      l10n: zh_CN: for git v2.33.0 l10n round 2
      l10n: TEAMS: change Simplified Chinese team leader

Jordi Mas (3):
      l10n: Update Catalan translation
      l10n: Update Catalan translation
      l10n: Update Catalan translation

Junio C Hamano (1):
      Git 2.33

Peter Krefting (3):
      l10n: fixed typos of mismatched constant strings
      l10n: sv.po: Update Swedish translation (5227t0f0u)
      l10n: sv.po: Update Swedish translation (5230t0f0u)

Ralf Thielow (3):
      l10n: update German translation for Git v2.33.0
      l10n: de.po: fix typos
      l10n: update German translation for Git v2.33.0 (rnd2)

René Scharfe (1):
      oidtree: avoid unaligned access to crit-bit tree

Trần Ngọc Quân (3):
      l10n: vi.po(5227t): Updated Vietnamese translation for v2.32.0
      l10n: vi.po(5227t): Fixed typo after run git-po-helper
      l10n: vi.po(5230t): Updated translation for v2.32.0 round 2

Yi-Jyun Pan (2):
      l10n: zh_TW.po: update for v2.33.0 rnd 2
      l10n: zh_TW.po: remove the obsolete glossary

依云 (1):
      l10n: zh_CN: review for git v2.32.0 l10n round 1


Version v2.33.0-rc2; changes since v2.33.0-rc1:
-----------------------------------------------

Carlo Marcelo Arenas Belón (2):
      oidtree: avoid nested struct oidtree_node
      object-store: avoid extra ';' from KHASH_INIT

Jonathan Nieder (1):
      Revert 'diff-merges: let "-m" imply "-p"'

Junio C Hamano (1):
      Git 2.33-rc2

René Scharfe (1):
      object-file: use unsigned arithmetic with bit mask


Version v2.33.0-rc1; changes since v2.33.0-rc0:
-----------------------------------------------

Andrei Rybak (1):
      Documentation: render special characters correctly

Andrzej Hunt (12):
      fmt-merge-msg: free newly allocated temporary strings when done
      environment: move strbuf into block to plug leak
      builtin/submodule--helper: release unused strbuf to avoid leak
      builtin/for-each-repo: remove unnecessary argv copy to plug leak
      diffcore-rename: move old_dir/new_dir definition to plug leak
      ref-filter: also free head for ATOM_HEAD to avoid leak
      read-cache: call diff_setup_done to avoid leak
      convert: release strbuf to avoid leak
      builtin/mv: free or UNLEAK multiple pointers at end of cmd_mv
      builtin/merge: free found_ref when done
      builtin/rebase: fix options.strategy memory lifecycle
      reset: clear_unpack_trees_porcelain to plug leak

Atharva Raykar (4):
      t7400: test failure to add submodule in tracked path
      submodule: prefix die messages with 'fatal'
      submodule--helper: refactor module_clone()
      submodule--helper: introduce add-clone subcommand

Bagas Sanjaya (1):
      diff: --pickaxe-all typofix

Carlo Marcelo Arenas Belón (1):
      t7508: avoid non POSIX BRE

Derrick Stolee (7):
      p2000: add 'git checkout -' test and decrease depth
      p2000: compress repo names
      commit: integrate with sparse-index
      sparse-index: recompute cache-tree
      checkout: stop expanding sparse indexes
      t1092: document bad 'git checkout' behavior
      unpack-trees: resolve sparse-directory/file conflicts

Elijah Newren (7):
      merge-ort: resolve paths early when we have sufficient information
      merge-ort: add some more explanations in collect_merge_info_callback()
      merge-ort: add data structures for allowable trivial directory resolves
      merge-ort: add a handle_deferred_entries() helper function
      merge-ort: defer recursing into directories when merge base is matched
      merge-ort: avoid recursing into directories when we don't need to
      merge-ort: restart merge with cached renames to reduce process entry cost

Felipe Contreras (1):
      test: fix for COLUMNS and bash 5

Jeff King (1):
      submodule: drop unused sm_name parameter from show_fetch_remotes()

Junio C Hamano (2):
      The eighth batch
      Git 2.33-rc1

Philippe Blain (4):
      merge: add missing word "strategy" to a message
      Documentation: define 'MERGE_AUTOSTASH'
      merge: apply autostash if fast-forward fails
      merge: apply autostash if merge strategy fails

René Scharfe (1):
      use fspathhash() everywhere

Thomas Bétous (1):
      mingw: align symlinks-related rmdir() behavior with Linux

Ævar Arnfjörð Bjarmason (3):
      SubmittingPatches: move discussion of Signed-off-by above "send"
      SubmittingPatches: replace discussion of Travis with GitHub Actions
      t0001: fix broken not-quite getcwd(3) test in bed67874e2


Version v2.33.0-rc0; changes since v2.32.7:
-------------------------------------------

Alex Henrie (6):
      merge: don't translate literal commands
      stash: don't translate literal commands
      submodule: use the imperative mood to describe the --files option
      fetch: improve grammar of "shallow roots" message
      setup: split "extensions found" messages into singular and plural
      graph: improve grammar of "invalid color" error message

Anders Höckersten (1):
      describe-doc: clarify default length of abbreviation

Andrei Rybak (7):
      t: fix whitespace around &&
      mailinfo: use starts_with() when checking scissors
      *: fix typos which duplicate a word
      blame: correct name of config option in docs
      t: fix typos in test messages
      git-worktree.txt: fix typo in example path
      help: convert git_cmd to page in one place

Andrew Berry (1):
      docs: .gitignore parsing is to the top of the repo

Andrzej Hunt (3):
      bulk-checkin: make buffer reuse more obvious and safer
      split-index: use oideq instead of memcmp to compare object_id's
      builtin/checkout--worker: zero-initialise struct to avoid MSAN complaints

Atharva Raykar (2):
      MyFirstContribution: link #git-devel to Libera Chat
      submodule--helper: remove redundant include

Beshr Kayali (1):
      Documentation: fix typo in the --patch option of the commit command

Carlo Marcelo Arenas Belón (1):
      config.mak.uname: PCRE1 cleanup

Dennis Ameling (2):
      cmake(windows): set correct path to the system Git config
      ci (vs-build): build with NO_GETTEXT

Denton Liu (2):
      pkt-line: replace "stateless separator" with "response end"
      git-diff: fix missing --merge-base docs

Derrick Stolee (21):
      hashfile: use write_in_full()
      csum-file.h: increase hashfile buffer size
      read-cache: use hashfile instead of git_hash_ctx
      read-cache: delete unused hashing methods
      *: fix typos
      sparse-index: skip indexes with unmerged entries
      sparse-index: include EXTENDED flag when expanding
      t1092: replace incorrect 'echo' with 'cat'
      t1092: expand repository data shape
      t1092: add tests for status/add and sparse files
      unpack-trees: preserve cache_bottom
      unpack-trees: compare sparse directories correctly
      unpack-trees: rename unpack_nondirectories()
      unpack-trees: unpack sparse directory entries
      dir.c: accept a directory as part of cone-mode patterns
      diff-lib: handle index diffs with sparse dirs
      status: skip sparse-checkout percentage with sparse-index
      status: use sparse-index throughout
      wt-status: expand added sparse directory entries
      fsmonitor: integrate with sparse index
      t1092: document bad sparse-checkout behavior

Elijah Newren (29):
      t6423: rename file within directory that other side renamed
      Documentation/technical: describe remembering renames optimization
      fast-rebase: change assert() to BUG()
      fast-rebase: write conflict state to working tree, index, and HEAD
      t6429: testcases for remembering renames
      merge-ort: add data structures for in-memory caching of rename detection
      merge-ort: populate caches of rename detection results
      merge-ort: add code to check for whether cached renames can be reused
      merge-ort: avoid accidental API mis-use
      merge-ort: preserve cached renames for the appropriate side
      merge-ort: add helper functions for using cached renames
      merge-ort: handle interactions of caching and rename/rename(1to1) cases
      merge-ort, diffcore-rename: employ cached renames when possible
      merge-ort: replace string_list_df_name_compare with faster alternative
      diffcore-rename: avoid unnecessary strdup'ing in break_idx
      Fix various issues found in comments
      merge-ort: miscellaneous touch-ups
      promisor-remote: output trace2 statistics for number of objects fetched
      t6421: add tests checking for excessive object downloads during merge
      diffcore-rename: allow different missing_object_cb functions
      diffcore-rename: use a different prefetch for basename comparisons
      merge-ort: add prefetching for content merges
      t6423: test directory renames causing rename-to-self
      merge-ort: ensure we consult df_conflict and path_conflicts
      merge-recursive: handle rename-to-self case
      diff: correct warning message when renameLimit exceeded
      doc: clarify documentation for rename/copy limits
      diffcore-rename: treat a rename_limit of 0 as unlimited
      rename: bump limit defaults yet again

Eric Wong (6):
      xmmap: inform Linux users of tuning knobs on ENOMEM
      speed up alt_odb_usable() with many alternates
      avoid strlen via strbuf_addstr in link_alt_odb_entry
      make object_directory.loose_objects_subdir_seen a bitmap
      oidcpy_with_padding: constify `src' arg
      oidtree: a crit-bit tree for odb_loose_cache

Fabian Wermelinger (1):
      completion: bash: fix late declaration of __git_cmd_idx

Felipe Contreras (32):
      doc: refactor common asciidoc dependencies
      doc: improve asciidoc dependencies
      doc: remove unnecessary rm instances
      doc: simplify Makefile using .DELETE_ON_ERROR
      doc: avoid using rm directly
      push: rename !triangular to same_remote
      push: hedge code of default=simple
      push: copy code to setup_push_simple()
      push: reorganize setup_push_simple()
      push: simplify setup_push_simple()
      push: remove unused code in setup_push_upstream()
      doc: push: explain default=simple correctly
      push: create new get_upstream_ref() helper
      push: return immediately in trivial switch case
      push: split switch cases
      push: factor out null branch check
      push: only get the branch when needed
      push: make setup_push_* return the dst
      push: trivial simplifications
      push: get rid of all the setup_push_* functions
      push: factor out the typical case
      push: remove redundant check
      push: remove trivial function
      push: only check same_remote when needed
      push: don't get a full remote object
      doc: merge: mention default of defaulttoupstream
      doc: avoid using the gender of other people
      comments: avoid using the gender of our users
      pull: cleanup autostash check
      pull: trivial cleanup
      pull: trivial whitespace style fix
      doc: pull: fix rebase=false documentation

Gregory Anders (1):
      git-send-email: add option to specify sendmail command

Han-Wen Nienhuys (26):
      refs: make explicit that ref_iterator_peel returns boolean
      t4202: split testcase for invalid HEAD symref and HEAD hash
      t/helper/ref-store: initialize oid in resolve-ref
      t9300: check ref existence using test-helper rather than a file system check
      t5601: read HEAD using rev-parse
      t1401: use tar to snapshot and restore repo state
      t1401-symbolic-ref: avoid direct filesystem access
      t1413: use tar to save and restore entire .git directory
      t1301: fix typo in error message
      t5000: reformat indentation to the latest fashion
      t5000: inspect HEAD using git-rev-parse
      t7003: use rev-parse rather than FS inspection
      t5304: restyle: trim empty lines, drop ':' before >
      t5304: use "reflog expire --all" to clear the reflog
      test-lib: provide test prereq REFFILES
      t1407: require REFFILES for for_each_reflog test
      t1414: mark corruption test with REFFILES
      t2017: mark --orphan/logAllRefUpdates=false test as REFFILES
      t1404: mark tests that muck with .git directly as REFFILES.
      t7900: stop checking for loose refs
      t7003: check reflog existence only for REFFILES
      t4202: mark bogus head hash test with REFFILES
      t1415: set REFFILES for test specific to storage format
      t1415: avoid direct filesystem access for writing refs
      t7509: avoid direct file access for writing CHERRY_PICK_HEAD
      refs/debug: quote prefix

Hu Jialun (2):
      commit: reorganise commit hint strings
      commit: remove irrelavent prompt on `--allow-empty-message`

Jean-Noël Avila (1):
      help: fix small typo in error message

Jeff King (26):
      clone: clean up directory after transport_fetch_refs() failure
      fetch-pack: signal v2 server that we are done making requests
      doc: explain the use of color.pager
      doc: warn people against --max-pack-size
      ll_binary_merge(): handle XDL_MERGE_FAVOR_UNION
      ll_union_merge(): pass name labels to ll_xdl_merge()
      ll_union_merge(): rename path_unused parameter
      add_pending_object_with_path(): work around "gcc -O3" complaint
      bitmaps: don't recurse into trees already in the bitmap
      t: use portable wrapper for readlink(1)
      pretty.h: update and expand docstring for userformat_find_requirements()
      log: avoid loading decorations for userformats that don't need it
      object.h: expand docstring for lookup_unknown_object()
      object.h: add lookup_object_by_type() function
      load_ref_decorations(): avoid parsing non-tag objects
      add_ref_decoration(): rename s/type/deco_type/
      test-lib: avoid accidental globbing in match_pattern_list()
      doc/rev-list-options: fix duplicate word typo
      load_ref_decorations(): fix decoration with tags
      t0000: clear GIT_SKIP_TESTS before running sub-tests
      doc/git-config: explain --file instead of referring to GIT_CONFIG
      doc/git-config: clarify GIT_CONFIG environment variable
      doc/git-config: simplify "override" advice for FILES section
      pack-bitmap: check pack validity when opening bitmap
      ci: run "apt-get update" before "apt-get install"
      ci/install-dependencies: handle "sparse" job package installs

Jiang Xin (5):
      t6020: fix incompatible parameter expansion
      sideband: don't lose clear-to-eol at packet boundary
      test: compare raw output, not mangle tabs and spaces
      test: refactor to use "test_commit" to create commits
      test: refactor to use "get_abbrev_oid" to get abbrev oid

Johannes Schindelin (15):
      multimail: stop shipping a copy
      subtree: fix the GIT_EXEC_PATH sanity check to work on Windows
      subtree: fix assumption about the directory separator
      pager: avoid setting COLUMNS when we're guessing its value
      mingw: move Git for Windows' system config where users expect it
      config: normalize the path of the system gitconfig
      ci: use the new GitHub Action to download git-sdk-64-minimal
      ci (vs-build): use `cmd` to copy the DLLs, not `powershell`
      ci: upgrade to using actions/{up,down}load-artifacts v2
      ci (windows): transfer also the Git-tracked files to the test jobs
      artifacts-tar: respect NO_GETTEXT
      ci: accelerate the checkout
      ci: run `make sparse` as part of the GitHub workflow
      ci(check-whitespace): stop requiring a read/write token
      ci(check-whitespace): restrict to the intended commits

Jonathan Nieder (1):
      xsize_t: avoid implementation defined behavior when len < 0

Jonathan Tan (7):
      repository: move global r_f_p_c to repo struct
      promisor-remote: support per-repository config
      submodule: refrain from filtering GIT_CONFIG_COUNT
      run-command: refactor subprocess env preparation
      promisor-remote: teach lazy-fetch in any repo
      unpack-trees: refactor prefetching code
      cache-tree: prefetch in partial clone read-tree

Josh Steadmon (1):
      docs: fix api-trace2 doc for "too_many_files" event

Julian Verdurmen (1):
      userdiff: add support for C# record types

Junio C Hamano (10):
      revisions(7): clarify that most commands take a single revision range
      The first batch post Git 2.32
      The second batch
      The third batch
      The fourth batch
      CodingGuidelines: recommend gender-neutral description
      The fifth batch
      The sixth batch
      The seventh batch
      Git 2.33-rc0

Kaartic Sivaraam (1):
      submodule: remove unnecessary `prefix` based option logic

Matheus Tavares (1):
      parallel-checkout: send the new object_id algo field to the workers

Matthew Rogers (3):
      cmake: add knob to disable vcpkg
      cmake: create compile_commands.json by default
      cmake: add warning for ignored MSGFMT_EXE

Michael Schindler (1):
      mergetools/kdiff3: make kdiff3 work on Windows too

Patrick Steinhardt (2):
      perf: fix when running with TEST_OUTPUT_DIRECTORY
      t0000: fix test if run with TEST_OUTPUT_DIRECTORY

Philippe Blain (2):
      parse-options: don't complete option aliases by default
      doc: clarify description of 'submodule.recurse'

René Scharfe (2):
      grep: report missing left operand of --and
      khash: clarify that allocations never fail

Reuven Y (1):
      docs: improve fast-forward in glossary content

Sergey Organov (10):
      t4013: test that "-m" alone has no effect in "git log"
      t4013: test "git log -m --raw"
      t4013: test "git log -m --stat"
      t4013: test "git diff-tree -m"
      t4013: test "git diff-index -m"
      diff-merges: move specific diff-index "-m" handling to diff-index
      git-svn: stop passing "-m" to "git rev-list"
      stash list: stop passing "-m" to "git log"
      diff-merges: rename "combined_imply_patch" to "merges_imply_patch"
      diff-merges: let "-m" imply "-p"

Stephen Manz (3):
      t2400: clean up '"add" worktree with lock' test
      worktree: mark lock strings with `_()` for translation
      worktree: teach `add` to accept --reason <string> with --lock

Tao Klerks (1):
      Remove warning that repack only works on non-promisor packfiles

Taylor Blau (6):
      csum-file: introduce checksum_valid()
      commit-graph: rewrite to use checksum_valid()
      midx: don't reuse corrupt MIDXs when writing
      midx: report checksum mismatches during 'verify'
      multi-pack-index: fix potential segfault without sub-command
      pack-bitmap: clarify comment in filter_bitmap_exclude_type()

Teng Long (1):
      packfile-uri.txt: fix blobPackfileUri description

Thomas Braun (1):
      completion: add --anchored to diff's options

Wolfgang Müller (1):
      rev-parse: mark die() messages for translation

ZheNing Hu (4):
      ref-filter: add objectsize to used_atom
      ref-filter: introduce enum atom_type
      cat-file: handle trivial --batch format with --batch-all-objects
      cat-file: merge two block into one

brian m. carlson (1):
      rev-list: add option for --pretty=format without header

dorgon.chang (1):
      git-p4: fix failed submit by skip non-text data files

edef (1):
      mailinfo: don't discard names under 3 characters

Ævar Arnfjörð Bjarmason (90):
      test-lib: bring $remove_trash out of retirement
      test-lib tests: remove dead GIT_TEST_FRAMEWORK_SELFTEST variable
      test-lib-functions: reword "test_commit --append" docs
      test-lib-functions: document test_commit --no-tag
      test-lib functions: add an --annotated option to "test_commit"
      describe tests: convert setup to use test_commit
      test-lib functions: add --printf option to test_commit
      submodule tests: use symbolic-ref --short to discover branch name
      test-lib: reformat argument list in test_create_repo()
      test-lib: do not show advice about init.defaultBranch under --verbose
      test-lib: split up and deprecate test_create_repo()
      grep/pcre2 tests: reword comments referring to kwset
      pickaxe tests: refactor to use test_commit --append --printf
      pickaxe tests: add test for diffgrep_consume() internals
      pickaxe tests: add test for "log -S" not being a regex
      pickaxe tests: test for -G, -S and --find-object incompatibility
      pickaxe tests: add missing test for --no-pickaxe-regex being an error
      pickaxe: die when -G and --pickaxe-regex are combined
      pickaxe: die when --find-object and --pickaxe-all are combined
      diff.h: move pickaxe fields together again
      pickaxe/style: consolidate declarations and assignments
      perf: add performance test for pickaxe
      pickaxe: refactor function selection in diffcore-pickaxe()
      pickaxe: assert that we must have a needle under -G or -S
      pickaxe -S: support content with NULs under --pickaxe-regex
      pickaxe: rename variables in has_changes() for brevity
      pickaxe -S: slightly optimize contains()
      xdiff-interface: prepare for allowing early return
      xdiff-interface: allow early return from xdiff_emit_line_fn
      pickaxe -G: terminate early on matching lines
      pickaxe -G: don't special-case create/delete
      xdiff users: use designated initializers for out_line
      xdiff-interface: replace discard_hunk_line() with a flag
      describe tests: improve test for --work-tree & --dirty
      describe tests: refactor away from glob matching
      describe tests: don't rely on err.actual from "check_describe"
      describe tests: fix nested "test_expect_success" call
      describe tests: support -C in "check_describe"
      trace2: refactor to avoid gcc warning under -O3
      send-email tests: support GIT_TEST_PERL_FATAL_WARNINGS=true
      send-email tests: test for boolean variables without a value
      send-email: remove non-working support for "sendemail.smtpssl"
      send-email: refactor sendemail.smtpencryption config parsing
      send-email: copy "config_regxp" into git-send-email.perl
      send-email: lazily load config for a big speedup
      send-email: lazily shell out to "git var"
      send-email: use function syntax instead of barewords
      send-email: get rid of indirect object syntax
      send-email: lazily load modules for a big speedup
      perl: lazily load some common Git.pm setup code
      send-email: move trivial config handling to Perl
      perl: nano-optimize by replacing Cwd::cwd() with Cwd::getcwd()
      protocol-caps.h: add newline at end of file
      read-cache.c: don't guard calls to progress.c API
      xdiff: use BUG(...), not xdl_bug(...)
      builtins + test helpers: use return instead of exit() in cmd_*
      mktag tests: parse out options in helper
      mktag tests: invert --no-strict test
      show-branch tests: rename the one "show-branch" test file
      show-branch tests: modernize test code
      pre-commit hook tests: don't leave "actual" nonexisting on failure
      gc tests: add a test for the "pre-auto-gc" hook
      mktag tests: test hash-object --literally and unreachable fsck
      mktag tests: test update-ref and reachable fsck
      mktag tests: test for-each-ref
      mktag tests: test fast-export
      show-branch: don't <COLOR></RESET> for space characters
      show-branch tests: add missing tests
      Makefile: add and use the ".DELETE_ON_ERROR" flag
      test-lib.sh: set COLUMNS=80 for --verbose repeatability
      send-pack.c: move "no refs in common" abort earlier
      fetch: document the --negotiate-only option
      *.h: move some *_INIT to designated initializers
      *.c *_init(): define in terms of corresponding *_INIT macro
      dir.[ch]: replace dir_init() with DIR_INIT
      string-list.[ch]: add a string_list_init_{nodup,dup}()
      string-list.h users: change to use *_{nodup,dup}()
      bundle cmd: stop leaking memory from parse_options_cmd_bundle()
      bundle.c: use a temporary variable for OIDs and names
      bundle: remove "ref_list" in favor of string-list.c API
      imap-send.c: use less verbose strbuf_fread() idiom
      fetch: fix segfault in --negotiate-only without --negotiation-tip=*
      *.c static functions: don't forward-declare __attribute__
      sequencer.c: move static function to avoid forward decl
      *.c static functions: add missing __attribute__((format))
      *.h: add a few missing __attribute__((format))
      advice.h: add missing __attribute__((format)) & fix usage
      test-lib-functions: use test-tool for [de]packetize()
      bundle tests: use ">file" not ": >file"
      bundle tests: use test_cmp instead of grep

Đoàn Trần Công Danh (6):
      t: use configured TAR instead of tar
      doc/log: correct default for --decorate
      t: use user-specified utf-8 locale for testing svn
      test-lib-functions: introduce test_stdout_line_count
      t6400: preserve git ls-files exit status code
      t6402: preserve git exit status code


Version v2.32.7; changes since v2.32.6:
---------------------------------------

Derrick Stolee (1):
      ci: update 'static-analysis' to Ubuntu 22.04

Jeff King (6):
      http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT
      http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION
      range-diff: drop useless "offset" variable from read_patches()
      http: support CURLOPT_PROTOCOLS_STR
      range-diff: handle unterminated lines in read_patches()
      range-diff: use ssize_t for parsed "len" in read_patches()

Jiang Xin (4):
      github-actions: run gcc-8 on ubuntu-20.04 image
      ci: remove the pipe after "p4 -V" to catch errors
      ci: use the same version of p4 on both Linux and macOS
      ci: install python on ubuntu

Johannes Schindelin (14):
      compat/win32/syslog: fix use-after-realloc
      nedmalloc: avoid new compile error
      t0033: GETTEXT_POISON fix
      t0003: GETTEXT_POISON fix, part 1
      t0003: GETTEXT_POISON fix, conclusion
      t5619: GETTEXT_POISON fix
      t5604: GETTEXT_POISON fix, part 1
      t5604: GETTEXT_POISON fix, conclusion
      clone.c: avoid "exceeds maximum object size" error with GCC v12.x
      apply --reject: overwrite existing `.rej` symlink if it exists
      gettext: avoid using gettext if the locale dir is not present
      tests: avoid using `test_i18ncmp`
      Git 2.31.8
      Git 2.32.7

Junio C Hamano (1):
      http.c: clear the 'finished' member once we are done with it

Taylor Blau (5):
      t1300: demonstrate failure when renaming sections with long lines
      config: avoid fixed-sized buffer when renaming/deleting a section
      config.c: avoid integer truncation in `copy_or_rename_section_in_file()`
      config.c: disallow overly-long lines in `copy_or_rename_section_in_file()`
      Git 2.30.9


Version v2.32.6; changes since v2.32.5:
---------------------------------------

Johannes Schindelin (3):
      attr: adjust a mismatched data type
      Git 2.31.7
      Git 2.32.6

Junio C Hamano (1):
      Git 2.30.8

Patrick Steinhardt (1):
      apply: fix writing behind newly created symbolic links

Taylor Blau (3):
      t5619: demonstrate clone_local() with ambiguous transport
      clone: delay picking a transport until after get_repo_path()
      dir-iterator: prevent top-level symlinks without FOLLOW_SYMLINKS


Version v2.32.5; changes since v2.32.4:
---------------------------------------

Carlo Marcelo Arenas Belón (1):
      test-lib: add prerequisite for 64-bit platforms

Junio C Hamano (3):
      Git 2.30.7
      Git 2.31.6
      Git 2.32.5

Patrick Steinhardt (25):
      attr: fix overflow when upserting attribute with overly long name
      attr: fix out-of-bounds read with huge attribute names
      attr: fix integer overflow when parsing huge attribute names
      attr: fix out-of-bounds write when parsing huge number of attributes
      attr: fix out-of-bounds read with unreasonable amount of patterns
      attr: fix integer overflow with more than INT_MAX macros
      attr: harden allocation against integer overflows
      attr: fix silently splitting up lines longer than 2048 bytes
      attr: ignore attribute lines exceeding 2048 bytes
      attr: ignore overly large gitattributes files
      pretty: fix out-of-bounds write caused by integer overflow
      pretty: fix out-of-bounds read when left-flushing with stealing
      pretty: fix out-of-bounds read when parsing invalid padding format
      pretty: fix adding linefeed when placeholder is not expanded
      pretty: fix integer overflow in wrapping format
      utf8: fix truncated string lengths in `utf8_strnwidth()`
      utf8: fix returning negative string width
      utf8: fix overflow when returning string width
      utf8: fix checking for glyph width in `strbuf_utf8_replace()`
      utf8: refactor `strbuf_utf8_replace` to not rely on preallocated buffer
      pretty: restrict input lengths for padding and wrapping formats
      fsck: refactor `fsck_blob()` to allow for more checks
      fsck: pull out function to check a set of blobs
      fsck: move checks for gitattributes
      fsck: implement checks for gitattributes


Version v2.32.4; changes since v2.32.3:
---------------------------------------

Jeff King (2):
      shell: add basic tests
      shell: limit size of interactive commands

Kevin Backhouse (1):
      alias.c: reject too-long cmdline strings in split_cmdline()

Taylor Blau (16):
      builtin/clone.c: disallow `--local` clones with symlinks
      t/lib-submodule-update.sh: allow local submodules
      t/t1NNN: allow local submodules
      t/2NNNN: allow local submodules
      t/t3NNN: allow local submodules
      t/t4NNN: allow local submodules
      t/t5NNN: allow local submodules
      t/t6NNN: allow local submodules
      t/t7NNN: allow local submodules
      t/t9NNN: allow local submodules
      transport: make `protocol.file.allow` be "user" by default
      t1092: prepare for changing protocol.file.allow
      t2080: prepare for changing protocol.file.allow
      Git 2.30.6
      Git 2.31.5
      Git 2.32.4


Version v2.32.3; changes since v2.32.2:
---------------------------------------

Carlo Marcelo Arenas Belón (5):
      t: regression git needs safe.directory when using sudo
      git-compat-util: avoid failing dir ownership checks if running privileged
      t0034: add negative tests and allow git init to mostly work under sudo
      git-compat-util: allow root to access both SUDO_UID and root owned
      setup: tighten ownership checks post CVE-2022-24765

Johannes Schindelin (3):
      Git 2.30.5
      Git 2.31.4
      Git 2.32.3


Version v2.32.2; changes since v2.32.1:
---------------------------------------

Derrick Stolee (2):
      t0033: add tests for safe.directory
      setup: opt-out of check with safe.directory=*

Junio C Hamano (1):
      Git 2.30.4

Matheus Valadares (1):
      setup: fix safe.directory key not being checked


Version v2.32.1; changes since v2.32.0:
---------------------------------------

Carlo Marcelo Arenas Belón (1):
      mingw: avoid fallback for {local,gm}time_r()

Johannes Schindelin (6):
      Add a function to determine whether a path is owned by the current user
      setup_git_directory(): add an owner check for the top-level directory
      Fix `GIT_CEILING_DIRECTORIES` with `C:\` and the likes
      Git 2.30.3
      Git 2.31.2
      Git 2.32.1


Version v2.32.0; changes since v2.32.0-rc3:
-------------------------------------------

Alex Henrie (1):
      l10n: Update Catalan translation

Alexander Shopov (1):
      l10n: bg.po: Updated Bulgarian translation (5204t)

Alexey Roslyakov (1):
      l10n: ru.po: fix typo in Russian translation

Bagas Sanjaya (5):
      l10n: id: po-id for 2.32.0 (round 1)
      l10n: README: document git-po-helper
      l10n: README: document "core translation"
      l10n: README: document l10n conventions
      l10n: README: note on fuzzy translations

Christopher Diaz Riveros (1):
      l10n: es: 2.32.0 round 1

Daniel Santos (2):
      l10n: pt_PT: add Portuguese translations part 2
      l10n: pt_PT: add Portuguese translations part 3

Emir Sarı (1):
      l10n: tr: v2.32.0-r1

Jean-Noël Avila (1):
      l10n: fr: v2.32.0 round 1

Jiang Xin (4):
      l10n: git.pot: v2.32.0 round 1 (126 new, 26 removed)
      l10n: fix typos in po/TEAMS
      l10n: README: add file extention ".md"
      l10n: zh_CN: for git v2.32.0 l10n round 1

Jordi Mas (1):
      l10n: Update Catalan translation

Junio C Hamano (2):
      fsync(): be prepared to see EINTR
      Git 2.32

Matthias Rüster (1):
      l10n: de.po: Update German translation for Git v2.32.0

Peter Krefting (1):
      l10n: sv.po: Update Swedish translation (5204t0f0u)

René Scharfe (1):
      parallel-checkout: avoid dash local bug in tests

Trần Ngọc Quân (1):
      l10n: vi.po(5204t): Updated Vietnamese translation for v2.32.0

Vincent Tam (1):
      l10n: fr.po fixed inconsistencies

Yi-Jyun Pan (2):
      l10n: zh_TW.po: v2.32.0 round 1 (11 untranslated)
      l10n: zh_TW.po: localized

rlespinasse (1):
      l10n: fr: fixed inconsistencies


Version v2.32.0-rc3; changes since v2.32.0-rc2:
-----------------------------------------------

David Aguilar (1):
      contrib/completion: fix zsh completion regression from 59d85a2a05

Junio C Hamano (1):
      Git 2.32-rc3

Ævar Arnfjörð Bjarmason (1):
      builtin/fsck.c: don't conflate "int" and "enum" in callback


Version v2.32.0-rc2; changes since v2.32.0-rc1:
-----------------------------------------------

Derrick Stolee (2):
      t1092: use GIT_PROGRESS_DELAY for consistent results
      dir: update stale description of treat_directory()

Elijah Newren (1):
      dir: introduce readdir_skip_dot_and_dotdot() helper

Johannes Sixt (1):
      t9001-send-email.sh: fix expected absolute paths on Windows

Junio C Hamano (4):
      t1092: revert the "-1" hack for emulating "no progress meter"
      Revert "dir: introduce readdir_skip_dot_and_dotdot() helper"
      Revert "dir: update stale description of treat_directory()"
      Git 2.32-rc2

Matheus Tavares (2):
      init: fix bug regarding ~/ expansion in init.templateDir
      t2080: fix cp invocation to copy symlinks instead of following them

Ævar Arnfjörð Bjarmason (4):
      send-email: fix missing error message regression
      send-email: don't needlessly abs_path() the core.hooksPath
      send-email: move "hooks_path" invocation to git-send-email.perl
      pack-objects: move static inline from a header to the sole consumer


Version v2.32.0-rc1; changes since v2.32.0-rc0:
-----------------------------------------------

Denton Liu (1):
      stash show: use stash.showIncludeUntracked even when diff options given

Derrick Stolee (2):
      dir: update stale description of treat_directory()
      sparse-index: fix uninitialized jump

Elijah Newren (9):
      dir: convert trace calls to trace2 equivalents
      dir: report number of visited directories and paths with trace2
      ls-files: error out on -i unless -o or -c are specified
      t7300: add testcase showing unnecessary traversal into ignored directory
      t3001, t7300: add testcase showcasing missed directory traversal
      dir: avoid unnecessary traversal into ignored directory
      dir: traverse into untracked directories if they may have ignored subfiles
      dir: introduce readdir_skip_dot_and_dotdot() helper
      git-prompt: work under set -u

Eric Wong (1):
      remote-curl: fix clone on sha256 repos

Jeff Hostetler (1):
      simple-ipc: correct ifdefs when NO_PTHREADS is defined

Jeff King (3):
      t: avoid sed-based chain-linting in some expensive cases
      t5551: test http interaction with credential helpers
      Revert "remote-curl: fall back to basic auth if Negotiate fails"

Junio C Hamano (2):
      A handful more topics before -rc1
      Git 2.32-rc1

Todd Zullinger (1):
      t7500: remove non-existant C_LOCALE_OUTPUT prereq

Wolfgang Müller (1):
      rev-parse: fix segfault with missing --path-format argument

ZheNing Hu (1):
      ref-filter: fix read invalid union member bug

Ævar Arnfjörð Bjarmason (5):
      Makefile: don't re-define PERL_DEFINES
      Makefile: regenerate perl/build/* if GIT-PERL-DEFINES changes
      Makefile: regenerate *.pm on NO_PERL_CPAN_FALLBACKS change
      perl: use mock i18n functions under NO_GETTEXT=Y
      Makefile: make PERL_DEFINES recursively expanded


Version v2.32.0-rc0; changes since v2.31.8:
-------------------------------------------

Adam Dinwoodie (1):
      cygwin: disallow backslashes in file names

Alex Henrie (1):
      merge-ort: split "distinct types" message into two translatable messages

Andrey Bienkowski (1):
      doc: clarify the filename encoding in git diff

Andrzej Hunt (22):
      symbolic-ref: don't leak shortened refname in check_symref()
      reset: free instead of leaking unneeded ref
      clone: free or UNLEAK further pointers when finished
      worktree: fix leak in dwim_branch()
      init: remove git_init_db_config() while fixing leaks
      init-db: silence template_dir leak when converting to absolute path
      parse-options: convert bitfield values to use binary shift
      parse-options: don't leak alias help messages
      transport: also free remote_refs in transport_disconnect()
      merge-ort: only do pointer arithmetic for non-empty lists
      revision: free remainder of old commit list in limit_list
      wt-status: fix multiple small leaks
      ls-files: free max_prefix when done
      bloom: clear each bloom_key after use
      branch: FREE_AND_NULL instead of NULL'ing real_ref
      builtin/bugreport: don't leak prefixed filename
      builtin/check-ignore: clear_pathspec before returning
      builtin/checkout: clear pending objects after diffing
      mailinfo: also free strbuf lists when clearing mailinfo
      builtin/for-each-ref: free filter and UNLEAK sorting.
      builtin/rebase: release git_format_patch_opt too
      builtin/rm: avoid leaking pathspec and seen

Atharva Raykar (1):
      userdiff: add support for Scheme

Bagas Sanjaya (1):
      INSTALL: note on using Asciidoctor to build doc

Bruno Albuquerque (1):
      object-info: support for retrieving object info

Charvi Mendiratta (23):
      sequencer: pass todo_item to do_pick_commit()
      sequencer: use const variable for commit message comments
      rebase -i: add fixup [-C | -c] command
      t3437: test script for fixup [-C|-c] options in interactive rebase
      rebase -i: teach --autosquash to work with amend!
      doc/git-rebase: add documentation for fixup [-C|-c] options
      sequencer: fixup the datatype of the 'flag' argument
      sequencer: rename a few functions
      rebase -i: clarify and fix 'fixup -c' rebase-todo help
      t/lib-rebase: update the documentation of FAKE_LINES
      t/t3437: fixup here-docs in the 'setup' test
      t/t3437: remove the dependency of 'expected-message' file from tests
      t/t3437: check the author date of fixed up commit
      t/t3437: simplify and document the test helpers
      t/t3437: use named commits in the tests
      t/t3437: fixup the test 'multiple fixup -c opens editor once'
      doc/rebase -i: fix typo in the documentation of 'fixup' command
      sequencer: export and rename subject_length()
      commit: add amend suboption to --fixup to create amend! commit
      commit: add a reword suboption to --fixup
      t7500: add tests for --fixup=[amend|reword] options
      t3437: use --fixup with options to create amend! commit
      doc/git-commit: add documentation for fixup=[amend|reword] options

Chinmoy Chakraborty (1):
      column, range-diff: downcase option description

Christian Couder (1):
      test-bloom: fix missing 'bloom' from usage string

Christopher Schenk (1):
      remote-curl: fall back to basic auth if Negotiate fails

Dennis Ameling (2):
      cmake(install): fix double .exe suffixes
      cmake(install): include vcpkg dlls

Denton Liu (13):
      git-cat-file.txt: monospace args, placeholders and filenames
      git-cat-file.txt: remove references to "sha1"
      stash show: teach --include-untracked and --only-untracked
      stash show: learn stash.showIncludeUntracked
      git-completion.bash: pass $__git_subcommand_idx from __git_main()
      git-completion.bash: extract from else in _git_stash()
      git-completion.bash: use __gitcomp_builtin() in _git_stash()
      git-completion.bash: separate some commands onto their own line
      git-completion.bash: rename to $__git_cmd_idx
      git-completion.bash: use $__git_cmd_idx in more places
      git-completion.bash: consolidate cases in _git_stash()
      t3905: correct test title
      stash show: fix segfault with --{include,only}-untracked

Derrick Stolee (54):
      commit-graph: create local repository pointer
      commit-graph: use config to specify generation type
      csum-file: make hashwrite() more readable
      sparse-index: design doc and format update
      t/perf: add performance test for sparse operations
      t1092: clean up script quoting
      sparse-index: add guard to ensure full index
      sparse-index: implement ensure_full_index()
      t1092: compare sparse-checkout to sparse-index
      test-read-cache: print cache entries with --table
      test-tool: don't force full index
      unpack-trees: ensure full index
      sparse-checkout: hold pattern list in index
      sparse-index: add 'sdir' index extension
      sparse-index: convert from full to sparse
      submodule: sparse-index should not collapse links
      unpack-trees: allow sparse directories
      sparse-index: check index conversion happens
      sparse-index: add index.sparse config option
      sparse-checkout: toggle sparse index from builtin
      sparse-checkout: disable sparse-index
      cache-tree: integrate with sparse directory entries
      sparse-index: loose integration with cache_tree_verify()
      p2000: add sparse-index repos
      maintenance: simplify prefetch logic
      sparse-index: API protection strategy
      *: remove 'const' qualifier for struct index_state
      read-cache: expand on query into sparse-directory entry
      cache: move ensure_full_index() to cache.h
      add: ensure full index
      checkout-index: ensure full index
      checkout: ensure full index
      commit: ensure full index
      difftool: ensure full index
      fsck: ensure full index
      grep: ensure full index
      ls-files: ensure full index
      merge-index: ensure full index
      rm: ensure full index
      stash: ensure full index
      update-index: ensure full index
      dir: ensure full index
      entry: ensure full index
      merge-recursive: ensure full index
      pathspec: ensure full index
      read-cache: ensure full index
      resolve-undo: ensure full index
      revision: ensure full index
      name-hash: don't add directories to name_hash
      sparse-index: expand_to_path()
      name-hash: use expand_to_path()
      fetch: add --prefetch option
      maintenance: use 'git fetch --prefetch'
      maintenance: respect remote.*.skipFetchAll

Elijah Newren (40):
      diffcore-rename: use directory rename guided basename comparisons
      diffcore-rename: provide basic implementation of idx_possible_rename()
      diffcore-rename: add a mapping of destination names to their indices
      Move computation of dir_rename_count from merge-ort to diffcore-rename
      diffcore-rename: add function for clearing dir_rename_count
      diffcore-rename: move dir_rename_counts into dir_rename_info struct
      diffcore-rename: extend cleanup_dir_rename_info()
      diffcore-rename: compute dir_rename_counts in stages
      diffcore-rename: limit dir_rename_counts computation to relevant dirs
      diffcore-rename: compute dir_rename_guess from dir_rename_counts
      diffcore-rename: enable filtering possible rename sources
      merge-ort: precompute subset of sources for which we need rename detection
      merge-ort: add data structures for an alternate tree traversal
      merge-ort: introduce wrappers for alternate tree traversal
      merge-ort: precompute whether directory rename detection is needed
      merge-ort: use relevant_sources to filter possible rename sources
      merge-ort: skip rename detection entirely if possible
      diffcore-rename: avoid doing basename comparisons for irrelevant sources
      diffcore-rename: take advantage of "majority rules" to skip more renames
      merge-ort, diffcore-rename: tweak dirs_removed and relevant_source type
      merge-ort: record the reason that we want a rename for a directory
      diffcore-rename: only compute dir_rename_count for relevant directories
      diffcore-rename: check if we have enough renames for directories early on
      diffcore-rename: add computation of number of unknown renames
      merge-ort: record the reason that we want a rename for a file
      diffcore-rename: determine which relevant_sources are no longer relevant
      merge-ort: use STABLE_QSORT instead of QSORT where required
      merge-ort: add a special minimal index just for renormalization
      merge-ort: have ll_merge() use a special attr_index for renormalization
      merge-ort: let renormalization change modify/delete into clean delete
      merge-ort: support subtree shifting
      t6428: new test for SKIP_WORKTREE handling and conflicts
      merge-ort: implement CE_SKIP_WORKTREE handling with conflicted entries
      t: mark several submodule merging tests as fixed under merge-ort
      merge-ort: write $GIT_DIR/AUTO_MERGE whenever we hit a conflict
      merge-recursive: add a bunch of FIXME comments documenting known bugs
      Revert "merge-ort: ignore the directory rename split conflict for now"
      t6423: mark remaining expected failure under merge-ort as such
      Add testing with merge-ort merge strategy
      sequencer: fix edit handling for cherry-pick and revert messages

Eric Sunshine (1):
      merge(s): apply consistent punctuation to "up to date" messages

Firmin Martin (1):
      user-manual.txt: assign preface an id and a title

Georgios Kontaxis (1):
      gitweb: add "e-mail privacy" feature to redact e-mail addresses

Han Xin (1):
      pack-objects: fix comment of reused_chunk.difference

Han-Wen Nienhuys (3):
      reftable: document an alternate cleanup method on Windows
      refs: print errno for read_raw_ref if GIT_TRACE_REFS is set
      refs/debug: trace into reflog expiry too

Jeff Hostetler (13):
      pkt-line: eliminate the need for static buffer in packet_write_gently()
      simple-ipc: design documentation for new IPC mechanism
      simple-ipc: add win32 implementation
      unix-socket: eliminate static unix_stream_socket() helper function
      unix-socket: add backlog size option to unix_stream_listen()
      unix-socket: disallow chdir() when creating unix domain sockets
      unix-stream-server: create unix domain socket under lock
      convert: make convert_attrs() and convert structs public
      convert: add [async_]convert_to_working_tree_ca() variants
      convert: add get_stream_filter_ca() variant
      convert: add classification for conv_attrs struct
      simple-ipc: add Unix domain socket implementation
      t0052: add simple-ipc tests and t/helper/test-simple-ipc tool

Jeff King (39):
      add open_nofollow() helper
      attr: convert "macro_ok" into a flags field
      exclude: add flags parameter to add_patterns()
      attr: do not respect symlinks for in-tree .gitattributes
      exclude: do not respect symlinks for in-tree .gitignore
      mailmap: do not respect symlinks for in-tree .mailmap
      p5303: add missing &&-chains
      p5303: measure time to repack with keep
      builtin/pack-objects.c: rewrite honor-pack-keep logic
      packfile: add kept-pack cache for find_kept_pack_entry()
      t/perf: handle worktrees as test repos
      t/perf: avoid copying worktree files from test repo
      t7003: test ref rewriting explicitly
      filter-branch: drop multiple-ancestor warning
      filter-branch: drop $_x40 glob
      t: annotate !PTHREADS tests with !FAIL_PREREQS
      ref-filter: fix NULL check for parse object failure
      midx.c: improve cache locality in midx_pack_order_cmp()
      pack-objects: update "nr_seen" progress based on pack-reused count
      is_promisor_object(): free tree buffer after parsing
      lookup_unknown_object(): take a repository argument
      revision: avoid parsing with --exclude-promisor-objects
      pack-bitmap: clean up include_check after use
      prune: save reachable-from-recent objects with bitmaps
      t5300: modernize basic tests
      t5300: check that we produced expected number of deltas
      pack-objects: clamp negative window size to 0
      t5316: check behavior of pack-objects --depth=0
      pack-objects: clamp negative depth to 0
      docs/format-patch: mention handling of merges
      t7415: remove out-dated comment about translation
      fsck_tree(): fix shadowed variable
      fsck_tree(): wrap some long lines
      t7415: rename to expand scope
      t7450: test verify_path() handling of gitmodules
      t7450: test .gitmodules symlink matching against obscured names
      t0060: test ntfs/hfs-obscured dotfiles
      fsck: warn about symlinked dotfiles we'll open with O_NOFOLLOW
      docs: document symlink restrictions for dot-files

Jerry Zhang (3):
      git-apply: try threeway first when "--3way" is used
      git-apply: allow simultaneous --cached and --3way options
      apply: adjust messages to account for --3way changes

Joachim Kuebart (2):
      git-p4: ensure complex branches are cloned correctly
      git-p4: speed up search for branch parent

Johannes Schindelin (8):
      pkt-line: do not issue flush packets in write_packetized_*()
      pkt-line: add PACKET_READ_GENTLE_ON_READ_ERROR option
      pkt-line: add options argument to read_packetized_to_strbuf()
      SECURITY: describe how to report vulnerabilities
      Document how we do embargoed releases
      cmake: support SKIP_DASHED_BUILT_INS
      cmake: add a preparatory work-around to accommodate `vcpkg`
      msvc: avoid calling `access("NUL", flags)`

John Szakmeister (2):
      http: store credential when PKI auth is used
      http: drop the check for an empty proxy password before approving

Jonathan Tan (7):
      fetch-pack: buffer object-format with other args
      fetch-pack: refactor process_acks()
      fetch-pack: refactor add_haves()
      fetch-pack: refactor command and capability write
      fetch: teach independent negotiation (no packfile)
      send-pack: support push negotiation
      t5601: mark protocol v2-only test

Josh Soref (1):
      merge: fix swapped "up to date" message components

Julien Richard (1):
      doc: .gitignore documentation typofix

Junio C Hamano (22):
      builtin/repack.c: reword comment around pack-objects flags
      The first batch in 2.32 cycle
      The second batch
      format-patch: give an overview of what a "patch" message is
      The third patch
      The fourth batch
      The fifth batch
      The sixth batch
      The seventh batch
      The eighth batch
      The ninth batch
      doc: clarify "do not capitalize the first word" rule
      The tenth batch
      The eleventh (aka "ort") batch
      The twelfth batch
      The thirteenth batch
      CodingGuidelines: explicitly allow "local" for test scripts
      The fourteenth batch
      The fifteenth batch
      The sixteenth batch
      The seventeenth batch
      Git 2.32-rc0

Li Linchao (1):
      builtin/clone.c: add --reject-shallow option

Louis Sautier (1):
      pretty: fix a typo in the documentation for %(trailers)

Luke Shumaker (30):
      .gitignore: ignore 'git-subtree' as a build artifact
      subtree: t7900: update for having the default branch name be 'main'
      subtree: t7900: use test-lib.sh's test_count
      subtree: t7900: use consistent formatting
      subtree: t7900: comment subtree_test_create_repo
      subtree: t7900: use 'test' for string equality
      subtree: t7900: delete some dead code
      subtree: t7900: fix 'verify one file change per commit'
      subtree: t7900: rename last_commit_message to last_commit_subject
      subtree: t7900: add a test for the -h flag
      subtree: t7900: add porcelain tests for 'pull' and 'push'
      subtree: don't have loose code outside of a function
      subtree: more consistent error propagation
      subtree: drop support for git < 1.7
      subtree: use `git merge-base --is-ancestor`
      subtree: use git-sh-setup's `say`
      subtree: use more explicit variable names for cmdline args
      subtree: use "$*" instead of "$@" as appropriate
      subtree: don't fuss with PATH
      subtree: use "^{commit}" instead of "^0"
      subtree: parse revs in individual cmd_ functions
      subtree: remove duplicate check
      subtree: add comments and sanity checks
      subtree: don't let debug and progress output clash
      subtree: have $indent actually affect indentation
      subtree: give the docs a once-over
      subtree: allow --squash to be used with --rejoin
      subtree: allow 'split' flags to be passed to 'push'
      subtree: push: allow specifying a local rev other than HEAD
      subtree: be stricter about validating flags

Lénaïc Huard (1):
      maintenance: fix two memory leaks

Martin Ågren (2):
      git-repack.txt: remove spurious ")"
      pretty-formats.txt: add missing space

Matheus Tavares (30):
      convert: fail gracefully upon missing clean cmd on required filter
      symlinks: update comment on threaded_check_leading_path()
      checkout: don't follow symlinks when removing entries
      entry: extract a header file for entry.c functions
      entry: make fstat_output() and read_blob_entry() public
      entry: extract update_ce_after_write() from write_entry()
      entry: move conv_attrs lookup up to checkout_entry()
      entry: add checkout_entry_ca() taking preloaded conv_attrs
      add: include magic part of pathspec on --refresh error
      t3705: add tests for `git add` in sparse checkouts
      add: make --chmod and --renormalize honor sparse checkouts
      pathspec: allow to ignore SKIP_WORKTREE entries on index matching
      refresh_index(): add flag to ignore SKIP_WORKTREE entries
      add: warn when asked to update SKIP_WORKTREE entries
      rm: honor sparse checkout patterns
      pkt-line: do not report packet write errors twice
      unpack-trees: add basic support for parallel checkout
      parallel-checkout: make it truly parallel
      parallel-checkout: add configuration options
      parallel-checkout: support progress displaying
      parallel-checkout: add design documentation
      make_transient_cache_entry(): optionally alloc from mem_pool
      builtin/checkout.c: complete parallel checkout support
      checkout-index: add parallel checkout support
      parallel-checkout: add tests for basic operations
      parallel-checkout: add tests related to path collisions
      t0028: extract encoding helpers to lib-encoding.sh
      parallel-checkout: add tests related to .gitattributes
      ci: run test round with parallel-checkout enabled
      clean: remove unnecessary variable

Nicholas Clark (1):
      submodule update: silence underlying fetch with "--quiet"

Nipunn Koorapati (3):
      fsmonitor: skip lstat deletion check during git diff-index
      fsmonitor: add assertion that fsmonitor is valid to check_removed
      fsmonitor: add perf test for git diff HEAD

Patrick Steinhardt (17):
      githooks.txt: replace mentions of SHA-1 specific properties
      githooks.txt: clarify documentation on reference-transaction hook
      pack-bitmap: avoid traversal of objects referenced by uninteresting tag
      uploadpack.txt: document implication of `uploadpackfilter.allow`
      revision: mark commit parents as NOT_USER_GIVEN
      list-objects: move tag processing into its own function
      list-objects: support filtering by tag and commit
      list-objects: implement object type filter
      pack-bitmap: implement object type filter
      pack-bitmap: implement combined filter
      rev-list: allow filtering of provided items
      config: rename `git_etc_config()`
      config: unify code paths to get global config paths
      config: allow overriding of global and system configuration
      t1300: fix unset of GIT_CONFIG_NOSYSTEM leaking into subsequent tests
      git.txt: fix synopsis of `--config-env` missing the equals sign
      git: support separate arg for `--config-env`'s value

Peter Oliver (1):
      doc: point to diff attribute in patch format docs

Phillip Wood (6):
      rebase -i: only write fixup-message when it's needed
      sequencer: factor out code to append squash message
      rebase -i: comment out squash!/fixup! subjects from squash message
      word diff: handle zero length matches
      patience diff: remove unnecessary string comparisons
      patience diff: remove unused variable

Rafael Silva (1):
      repack: avoid loosening promisor objects in partial clones

Ramkumar Ramachandra (1):
      Add entry for Ramkumar Ramachandra

Ramsay Jones (1):
      bisect--helper: use BISECT_TERMS in 'bisect skip' command

René Scharfe (6):
      pretty: add %(describe)
      pretty: add merge and exclude options to %(describe)
      t4205: assert %(describe) test coverage
      pretty: document multiple %(describe) being inconsistent
      archive: expand only a single %(describe) per archive
      daemon: sanitize all directory separators

Robert Foss (1):
      git-send-email: Respect core.hooksPath setting

SZEDER Gábor (1):
      Makefile: add missing dependencies of 'config-list.h'

Sardorbek Imomaliev (1):
      work around zsh comment in __git_complete_worktree_paths

Sergey Organov (5):
      diff-merges: introduce --diff-merges=on
      diff-merges: refactor set_diff_merges()
      diff-merges: adapt -m to enable default diff format
      diff-merges: introduce log.diffMerges config variable
      doc/diff-options: document new --diff-merges features

Shubham Verma (1):
      t9801: replace test -f with test_path_is_file

Taylor Blau (28):
      packfile: introduce 'find_kept_pack_entry()'
      revision: learn '--no-kept-objects'
      builtin/pack-objects.c: add '--stdin-packs' option
      builtin/repack.c: add '--geometric' option
      builtin/repack.c: do not repack single packs with --geometric
      t7703: test --geometric repack with loose objects
      builtin/repack.c: assign pack split later
      builtin/repack.c: be more conservative with unsigned overflows
      Documentation/git-push.txt: correct configuration typo
      builtin/pack-objects.c: ignore missing links with --stdin-packs
      builtin/multi-pack-index.c: inline 'flags' with options
      builtin/multi-pack-index.c: don't handle 'progress' separately
      builtin/multi-pack-index.c: define common usage with a macro
      builtin/multi-pack-index.c: split sub-commands
      builtin/multi-pack-index.c: don't enter bogus cmd_mode
      builtin/multi-pack-index.c: display usage on unrecognized command
      t/helper/test-read-midx.c: add '--show-objects'
      pack-bitmap: add 'test_bitmap_commits()' helper
      t/helper/test-bitmap.c: initial commit
      builtin/pack-objects.c: respect 'pack.preferBitmapTips'
      midx: allow marking a pack as preferred
      midx: don't free midx_name early
      midx: keep track of the checksum
      midx: make some functions non-static
      Documentation/technical: describe multi-pack reverse indexes
      pack-revindex: read multi-pack reverse indexes
      pack-write.c: extract 'write_rev_file_order'
      pack-revindex: write multi-pack reverse indexes

Torsten Bögershausen (2):
      precompose_utf8: make precompose_string_if_needed() public
      macOS: precompose startup_info->prefix

Ville Skyttä (2):
      completion: audit and guard $GIT_* against unset use
      completion: avoid aliased command lookup error in nounset mode

Will Chandler (1):
      refs: cleanup directories when deleting packed ref

ZheNing Hu (7):
      commit: add --trailer option
      format-patch: allow a non-integral version numbers
      ref-filter: get rid of show_ref_array_item
      ref-filter: reuse output buffer
      pretty: provide human date format
      docs: correct descript of trailer.<token>.command
      trailer: add new .cmd config option

brian m. carlson (14):
      builtin/init-db: handle bare clones when core.bare set to false
      hash: add an algo member to struct object_id
      Always use oidread to read into struct object_id
      http-push: set algorithm when reading object ID
      hash: add a function to finalize object IDs
      Use the final_oid_fn to finalize hashing of object IDs
      builtin/pack-redundant: avoid casting buffers to struct object_id
      hash: set, copy, and use algo field in struct object_id
      hash: provide per-algorithm null OIDs
      builtin/show-index: set the algorithm for object IDs
      commit-graph: don't store file hashes as struct object_id
      builtin/pack-objects: avoid using struct object_id for pack hash
      hex: default to the_hash_algo on zero algorithm value
      hex: print objects using the hash algorithm member

Ævar Arnfjörð Bjarmason (87):
      grep/pcre2: drop needless assignment + assert() on opt->pcre2
      grep/pcre2: drop needless assignment to NULL
      grep/pcre2: correct reference to grep_init() in comment
      grep/pcre2: prepare to add debugging to pcre2_malloc()
      grep/pcre2: add GREP_PCRE2_DEBUG_MALLOC debug mode
      grep/pcre2: use compile-time PCREv2 version test
      grep/pcre2: use pcre2_maketables_free() function
      grep/pcre2: actually make pcre2 use custom allocator
      grep/pcre2: move back to thread-only PCREv2 structures
      grep/pcre2: move definitions of pcre2_{malloc,free}
      Makefile: guard against TEST_OBJS in the environment
      Makefile: split up long OBJECTS line
      Makefile: sort OBJECTS assignment for subsequent change
      Makefile: split OBJECTS into OBJECTS and GIT_OBJS
      Makefile: add {program,xdiff,test,git,fuzz}-objs & objects targets
      remote: add camel-cased *.tagOpt key, like clone
      remote: write camel-cased *.pushRemote on rename
      fsck.c: refactor and rename common config callback
      show tests: add test for "git show <tree>"
      ls-files tests: add meaningful --with-tree tests
      tree.c API: move read_tree() into builtin/ls-files.c
      ls-files: don't needlessly pass around stage variable
      ls-files: refactor away read_tree()
      archive: stop passing "stage" through read_tree_recursive()
      tree.h API: expose read_tree_1() as read_tree_at()
      tree.h API: simplify read_tree_recursive() signature
      diff --no-index tests: add test for --exit-code
      diff --no-index tests: test mode normalization
      rebase: remove transitory rebase.useBuiltin setting & env
      mktag tests: fix broken "&&" chain
      fsck.h: use designed initializers for FSCK_OPTIONS_{DEFAULT,STRICT}
      fsck.h: use "enum object_type" instead of "int"
      fsck.c: rename variables in fsck_set_msg_type() for less confusion
      fsck.c: remove (mostly) redundant append_msg_id() function
      fsck.c: rename remaining fsck_msg_id "id" to "msg_id"
      fsck.c: refactor fsck_msg_type() to limit scope of "int msg_type"
      fsck.h: move FSCK_{FATAL,INFO,ERROR,WARN,IGNORE} into an enum
      fsck.h: re-order and re-assign "enum fsck_msg_type"
      fsck.c: call parse_msg_type() early in fsck_set_msg_type()
      fsck.c: undefine temporary STR macro after use
      fsck.c: give "FOREACH_MSG_ID" a more specific name
      fsck.[ch]: move FOREACH_FSCK_MSG_ID & fsck_msg_id from *.c to *.h
      fsck.c: pass along the fsck_msg_id in the fsck_error callback
      fsck.c: add an fsck_set_msg_type() API that takes enums
      fsck.c: move gitmodules_{found,done} into fsck_options
      fetch-pack: don't needlessly copy fsck_options
      fetch-pack: use file-scope static struct for fsck_options
      fetch-pack: use new fsck API to printing dangling submodules
      Makefile: add QUIET_GEN to "tags" and "TAGS" targets
      git-send-email: replace "map" in void context with "for"
      git-send-email: test full --validate output
      git-send-email: refactor duplicate $? checks into a function
      git-send-email: improve --validate error output
      bash completion: complete CHERRY_PICK_HEAD
      config.c: remove last remnant of GIT_TEST_GETTEXT_POISON
      userdiff style: re-order drivers in alphabetical order
      userdiff style: declare patterns with consistent style
      userdiff style: normalize pascal regex declaration
      userdiff: add and use for_each_userdiff_driver()
      userdiff tests: explicitly test "default" pattern
      userdiff tests: list builtin drivers via test-tool
      userdiff: remove support for "broken" tests
      blame tests: don't rely on t/t4018/ directory
      blame tests: simplify userdiff driver test
      rebase tests: camel-case rebase.rescheduleFailedExec consistently
      rebase: don't override --no-reschedule-failed-exec with config
      Documentation/Makefile: make $(wildcard howto/*.txt) a var
      Documentation/Makefile: make doc.dep dependencies a variable again
      doc lint: Perl "strict" and "warnings" in lint-gitlink.perl
      doc lint: fix bugs in, simplify and improve lint script
      doc lint: lint and fix missing "GIT" end sections
      doc lint: lint relative section order
      docs: fix linting issues due to incorrect relative section order
      svn tests: remove legacy re-setup from init-clone test
      svn tests: refactor away a "set -e" in test body
      tests: remove all uses of test_i18cmp
      usage.c: don't copy/paste the same comment three times
      api docs: document BUG() in api-error-handling.txt
      api docs: document that BUG() emits a trace2 error event
      pretty tests: simplify %aI/%cI date format test
      pretty tests: give --date/format tests a better description
      sparse-index.c: remove set_index_sparse_config()
      streaming.c: avoid forward declarations
      streaming.c: remove enum/function/vtbl indirection
      streaming.c: remove {open,close,read}_method_decl() macros
      streaming.c: stop passing around "object_info *" to open()
      streaming.c: move {open,close,read} from vtable to "struct git_istream"

Øystein Walle (2):
      transport: respect verbosity when setting upstream
      add: die if both --dry-run and --interactive are given

Đoàn Trần Công Danh (6):
      mailinfo: load default metainfo_charset lazily
      mailinfo: stop parsing options manually
      mailinfo: warn if CRLF found in decoded base64/QP email
      mailinfo: allow squelching quoted CRLF warning
      mailinfo: allow stripping quoted CR without warning
      am: learn to process quoted lines that ends with CRLF


Version v2.31.8; changes since v2.31.7:
---------------------------------------

Derrick Stolee (1):
      ci: update 'static-analysis' to Ubuntu 22.04

Jeff King (6):
      http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT
      http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION
      range-diff: drop useless "offset" variable from read_patches()
      http: support CURLOPT_PROTOCOLS_STR
      range-diff: handle unterminated lines in read_patches()
      range-diff: use ssize_t for parsed "len" in read_patches()

Jiang Xin (4):
      github-actions: run gcc-8 on ubuntu-20.04 image
      ci: remove the pipe after "p4 -V" to catch errors
      ci: use the same version of p4 on both Linux and macOS
      ci: install python on ubuntu

Johannes Schindelin (13):
      compat/win32/syslog: fix use-after-realloc
      nedmalloc: avoid new compile error
      t0033: GETTEXT_POISON fix
      t0003: GETTEXT_POISON fix, part 1
      t0003: GETTEXT_POISON fix, conclusion
      t5619: GETTEXT_POISON fix
      t5604: GETTEXT_POISON fix, part 1
      t5604: GETTEXT_POISON fix, conclusion
      clone.c: avoid "exceeds maximum object size" error with GCC v12.x
      apply --reject: overwrite existing `.rej` symlink if it exists
      gettext: avoid using gettext if the locale dir is not present
      tests: avoid using `test_i18ncmp`
      Git 2.31.8

Junio C Hamano (1):
      http.c: clear the 'finished' member once we are done with it

Taylor Blau (5):
      t1300: demonstrate failure when renaming sections with long lines
      config: avoid fixed-sized buffer when renaming/deleting a section
      config.c: avoid integer truncation in `copy_or_rename_section_in_file()`
      config.c: disallow overly-long lines in `copy_or_rename_section_in_file()`
      Git 2.30.9


Version v2.31.7; changes since v2.31.6:
---------------------------------------

Johannes Schindelin (2):
      attr: adjust a mismatched data type
      Git 2.31.7

Junio C Hamano (1):
      Git 2.30.8

Patrick Steinhardt (1):
      apply: fix writing behind newly created symbolic links

Taylor Blau (3):
      t5619: demonstrate clone_local() with ambiguous transport
      clone: delay picking a transport until after get_repo_path()
      dir-iterator: prevent top-level symlinks without FOLLOW_SYMLINKS


Version v2.31.6; changes since v2.31.5:
---------------------------------------

Carlo Marcelo Arenas Belón (1):
      test-lib: add prerequisite for 64-bit platforms

Junio C Hamano (2):
      Git 2.30.7
      Git 2.31.6

Patrick Steinhardt (21):
      attr: fix overflow when upserting attribute with overly long name
      attr: fix out-of-bounds read with huge attribute names
      attr: fix integer overflow when parsing huge attribute names
      attr: fix out-of-bounds write when parsing huge number of attributes
      attr: fix out-of-bounds read with unreasonable amount of patterns
      attr: fix integer overflow with more than INT_MAX macros
      attr: harden allocation against integer overflows
      attr: fix silently splitting up lines longer than 2048 bytes
      attr: ignore attribute lines exceeding 2048 bytes
      attr: ignore overly large gitattributes files
      pretty: fix out-of-bounds write caused by integer overflow
      pretty: fix out-of-bounds read when left-flushing with stealing
      pretty: fix out-of-bounds read when parsing invalid padding format
      pretty: fix adding linefeed when placeholder is not expanded
      pretty: fix integer overflow in wrapping format
      utf8: fix truncated string lengths in `utf8_strnwidth()`
      utf8: fix returning negative string width
      utf8: fix overflow when returning string width
      utf8: fix checking for glyph width in `strbuf_utf8_replace()`
      utf8: refactor `strbuf_utf8_replace` to not rely on preallocated buffer
      pretty: restrict input lengths for padding and wrapping formats


Version v2.31.5; changes since v2.31.4:
---------------------------------------

Jeff King (2):
      shell: add basic tests
      shell: limit size of interactive commands

Kevin Backhouse (1):
      alias.c: reject too-long cmdline strings in split_cmdline()

Taylor Blau (13):
      builtin/clone.c: disallow `--local` clones with symlinks
      t/lib-submodule-update.sh: allow local submodules
      t/t1NNN: allow local submodules
      t/2NNNN: allow local submodules
      t/t3NNN: allow local submodules
      t/t4NNN: allow local submodules
      t/t5NNN: allow local submodules
      t/t6NNN: allow local submodules
      t/t7NNN: allow local submodules
      t/t9NNN: allow local submodules
      transport: make `protocol.file.allow` be "user" by default
      Git 2.30.6
      Git 2.31.5


Version v2.31.4; changes since v2.31.3:
---------------------------------------

Carlo Marcelo Arenas Belón (5):
      t: regression git needs safe.directory when using sudo
      git-compat-util: avoid failing dir ownership checks if running privileged
      t0034: add negative tests and allow git init to mostly work under sudo
      git-compat-util: allow root to access both SUDO_UID and root owned
      setup: tighten ownership checks post CVE-2022-24765

Johannes Schindelin (2):
      Git 2.30.5
      Git 2.31.4


Version v2.31.3; changes since v2.31.2:
---------------------------------------

Derrick Stolee (2):
      t0033: add tests for safe.directory
      setup: opt-out of check with safe.directory=*

Junio C Hamano (1):
      Git 2.30.4

Matheus Valadares (1):
      setup: fix safe.directory key not being checked


Version v2.31.2; changes since v2.31.1:
---------------------------------------

Carlo Marcelo Arenas Belón (1):
      mingw: avoid fallback for {local,gm}time_r()

Johannes Schindelin (5):
      Add a function to determine whether a path is owned by the current user
      setup_git_directory(): add an owner check for the top-level directory
      Fix `GIT_CEILING_DIRECTORIES` with `C:\` and the likes
      Git 2.30.3
      Git 2.31.2


Version v2.31.1; changes since v2.31.0:
---------------------------------------

Andrzej Hunt (2):
      Makefile: update 'make fuzz-all' docs to reflect modern clang
      fsmonitor: avoid global-buffer-overflow READ when checking trivial response

Jeff King (1):
      bisect: peel annotated tags to commits

Johannes Schindelin (2):
      fsmonitor: fix memory corruption in some corner cases
      fsmonitor: do not forget to release the token in `discard_index()`

Jonathan Tan (1):
      t5606: run clone branch name test with protocol v2

Junio C Hamano (3):
      xcalloc: use CALLOC_ARRAY() when applicable
      cocci: allow xcalloc(1, size)
      Git 2.31.1

Kyle Meyer (1):
      config.txt: add missing period

René Scharfe (6):
      fix xcalloc() argument order
      git-compat-util.h: drop trailing semicolon from macro definition
      use CALLOC_ARRAY
      vcs-svn: remove header files as well
      block-sha1: drop trailing semicolon from macro definition
      mem-pool: drop trailing semicolon from macro definition

Torsten Bögershausen (1):
      git mv foo FOO ; git mv foo bar gave an assert


Version v2.31.0; changes since v2.31.0-rc2:
-------------------------------------------

Alexander Shopov (1):
      l10n: bg.po: Updated Bulgarian translation (5104t)

Arusekk (1):
      l10n: pl.po: Update translation

Bagas Sanjaya (2):
      l10n: start Indonesian translation
      l10n: Add translation team info

Christopher Diaz Riveros (1):
      l10n: es: 2.31.0 round 2

Daniel Santos (1):
      l10n: pt_PT: add Portuguese translations part 1

Dimitriy Ryazantcev (1):
      l10n: ru.po: update Russian translation

Emir Sarı (2):
      l10n: tr: v2.31.0-rc0
      l10n: tr: v2.31.0-rc1

Jean-Noël Avila (2):
      l10n: fr: v2.31.0 rnd 1
      l10n: fr: v2.31 rnd 2

Jiang Xin (3):
      l10n: git.pot: v2.31.0 round 1 (155 new, 89 removed)
      l10n: git.pot: v2.31.0 round 2 (9 new, 8 removed)
      l10n: zh_CN: for git v2.31.0 l10n round 1 and 2

Jonathan Nieder (2):
      mergetool: do not enable hideResolved by default
      doc: describe mergetool configuration in git-mergetool(1)

Jordi Mas (1):
      l10n: Update Catalan translation

Junio C Hamano (1):
      Git 2.31

Matthias Rüster (1):
      l10n: de.po: Update German translation for Git v2.31.0

Peter Krefting (2):
      l10n: sv.po: Update Swedish translation (5103t0f0u)
      l10n: sv.po: Update Swedish translation (5104t0f0u)

Taylor Blau (1):
      pack-revindex.c: don't close unopened file descriptors

Trần Ngọc Quân (1):
      l10n: vi.po(5104t): for git v2.31.0 l10n round 2

Yi-Jyun Pan (1):
      l10n: zh_TW.po: v2.31.0 round 2 (15 untranslated)


Version v2.31.0-rc2; changes since v2.31.0-rc1:
-----------------------------------------------

Elijah Newren (1):
      Documentation/RelNotes: improve release note for rename detection work

Jeff King (2):
      Makefile: add OPEN_RETURNS_EINTR knob
      config.mak.uname: enable OPEN_RETURNS_EINTR for macOS Big Sur

Johannes Schindelin (15):
      run-command: invalidate lstat cache after a command finished
      Git 2.17.6
      Git 2.18.5
      Git 2.19.6
      Git 2.20.5
      Git 2.21.4
      Git 2.22.5
      Git 2.23.4
      Git 2.24.4
      Git 2.25.5
      Git 2.26.3
      Git 2.27.1
      Git 2.28.1
      Git 2.29.3
      Git 2.30.2

Jonathan Tan (1):
      fetch-pack: do not mix --pack_header and packfile uri

Junio C Hamano (2):
      Merged the open-eintr workaround for macOS
      Git 2.31-rc2

Matheus Tavares (2):
      checkout: fix bug that makes checkout follow symlinks in leading path
      unpack_trees(): start with a fresh lstat cache

Pratyush Yadav (1):
      Revert "git-gui: remove lines starting with the comment character"


Version v2.31.0-rc1; changes since v2.31.0-rc0:
-----------------------------------------------

Derrick Stolee (17):
      commit-graph: anonymize data in chunk_write_fn
      chunk-format: create chunk format write API
      commit-graph: use chunk-format write API
      midx: rename pack_info to write_midx_context
      midx: use context in write_midx_pack_names()
      midx: add entries to write_midx_context
      midx: add pack_perm to write_midx_context
      midx: add num_large_offsets to write_midx_context
      midx: return success/failure in chunk write methods
      midx: drop chunk progress during write
      midx: use chunk-format API in write_midx_internal()
      chunk-format: create read chunk API
      commit-graph: use chunk-format read API
      midx: use chunk-format read API
      midx: use 64-bit multiplication for chunk sizes
      chunk-format: restore duplicate chunk checks
      chunk-format: add technical docs

Elijah Newren (8):
      diffcore-rename: no point trying to find a match better than exact
      diffcore-rename: filter rename_src list when possible
      t4001: add a test comparing basename similarity and content similarity
      diffcore-rename: compute basenames of source and dest candidates
      diffcore-rename: complete find_basename_matches()
      diffcore-rename: guide inexact rename detection based on basenames
      gitdiffcore doc: mention new preliminary step for rename detection
      merge-ort: call diffcore_rename() directly

Han-Wen Nienhuys (1):
      doc/reftable: document how to handle windows

Hariom Verma (4):
      t6300: use function to test trailer options
      pretty.c: refactor trailer logic to `format_set_trailers_options()`
      pretty.c: capture invalid trailer argument
      ref-filter: use pretty.c logic for trailers

Jeff Hostetler (11):
      p7519: do not rely on "xargs -d" in test
      p7519: fix watchman watch-list test on Windows
      p7519: move watchman cleanup earlier in the test
      p7519: add trace logging during perf test
      preload-index: log the number of lstat calls to trace2
      read-cache: log the number of lstat calls to trace2
      read-cache: log the number of scanned files to trace2
      fsmonitor: log invocation of FSMonitor hook to trace2
      fsmonitor: log FSMN token when reading and writing the index
      fsmonitor: refactor initialization of fsmonitor_last_update token
      dir: fix malloc of root untracked_cache_dir

Jonathan Tan (4):
      http: allow custom index-pack args
      http-fetch: allow custom index-pack args
      fetch-pack: with packfile URIs, use index-pack arg
      fetch-pack: print and use dangling .gitmodules

Junio C Hamano (3):
      Revert "commit-graph: when incompatible with graphs, indicate why"
      Hopefully the last batch before -rc1
      Git 2.31-rc1

Kevin Willford (1):
      fsmonitor: allow all entries for a folder to be invalidated

Mikhail Klyushin (1):
      git-gui: fix typo in russian locale

Neeraj Singh (1):
      read-cache: make the index write buffer size 128K

Pratyush Yadav (1):
      git-gui: remove lines starting with the comment character

Shubham Verma (10):
      t7001: modernize test formatting
      t7001: indent with TABs instead of spaces
      t7001: remove unnecessary blank lines
      t7001: modernize subshell formatting
      t7001: remove whitespace after redirect operators
      t7001: avoid using `cd` outside of subshells
      t7001: use '>' rather than 'touch'
      t7001: put each command on a separate line
      t7001: use here-docs instead of echo
      t7001: use `test` rather than `[`

Taylor Blau (1):
      commit-graph.c: display correct number of chunks when writing


Version v2.31.0-rc0; changes since v2.30.9:
-------------------------------------------

Abhishek Kumar (11):
      commit-graph: fix regression when computing Bloom filters
      revision: parse parent in indegree_walk_step()
      commit-graph: consolidate fill_commit_graph_info
      t6600-test-reach: generalize *_three_modes
      commit-graph: add a slab to store topological levels
      commit-graph: return 64-bit generation number
      commit-graph: implement corrected commit date
      commit-graph: implement generation data chunk
      commit-graph: use generation v2 only if entire chain does
      commit-reach: use corrected commit dates in paint_down_to_common()
      doc: add corrected commit date info

Alex Henrie (1):
      rebase: add a config option for --no-fork-point

Andrew Klotz (1):
      config: improve error message for boolean config

Andrzej Hunt (1):
      commit-graph: avoid leaking topo_levels slab in write_commit_graph()

Christian Couder (3):
      fetch-pack: rename helper to create_promisor_file()
      fetch-pack: refactor writing promisor file
      pack-write: die on error in write_promisor_file()

Christian Walther (1):
      doc: mention bigFileThreshold for packing

Denton Liu (12):
      refs: factor out set_read_ref_cutoffs()
      refs: allow @{n} to work with n-sized reflog
      test-lib-functions.sh: fix usage for test_commit()
      t4203: stop losing return codes of git commands
      git-stash.txt: be explicit about subcommand options
      t3905: remove spaces after redirect operators
      t3905: move all commands into test cases
      t3905: remove nested git in command substitution
      t3905: replace test -s with test_file_not_empty
      t3905: use test_cmp() to check file contents
      stash: declare ref_stash as an array
      i18n.txt: camel case and monospace "i18n.commitEncoding"

Derrick Stolee (47):
      maintenance: extract platform-specific scheduling
      maintenance: include 'cron' details in docs
      pack-bitmap-write: fill bitmap with commit history
      bitmap: implement bitmap_is_subset()
      commit: implement commit_list_contains()
      t5310: add branch-based checks
      pack-bitmap-write: rename children to reverse_edges
      pack-bitmap-write: build fewer intermediate bitmaps
      pack-bitmap-write: use existing bitmaps
      pack-bitmap-write: relax unique revwalk condition
      pack-bitmap-write: better reuse bitmaps
      revision: trace topo-walk statistics
      tree-walk: report recursion counts
      unpack-trees: add trace2 regions
      cache-tree: use trace2 in cache_tree_update()
      maintenance: use launchctl on macOS
      maintenance: use Windows scheduled tasks
      cache-tree: trace regions for I/O
      cache-tree: trace regions for prime_cache_tree
      index-format: use 'cache tree' over 'cached tree'
      index-format: update preamble to cache tree extension
      index-format: discuss recursion of cache-tree better
      cache-tree: speed up consecutive path comparisons
      maintenance: set log.excludeDecoration durin prefetch
      t7900: clean up some broken refs
      cache-tree: clean up cache_tree_update()
      cache-tree: simplify verify_cache() prototype
      cache-tree: extract subtree_pos()
      fsmonitor: de-duplicate BUG()s around dirty bits
      repository: add repo reference to index_state
      name-hash: use trace2 regions for init
      sparse-checkout: load sparse-checkout patterns
      test-lib: test_region looks for trace2 regions
      t1092: test interesting sparse-checkout scenarios
      commit-reach: reduce requirements for remove_redundant()
      commit-graph: use repo_parse_commit
      commit-graph: always parse before commit_graph_data_at()
      commit-graph: validate layers for generation data
      commit-graph: compute generations separately
      commit-graph: be extra careful about mixed generations
      commit-graph: prepare commit graph
      maintenance: add pack-refs task
      maintenance: incremental strategy runs pack-refs weekly
      commit-reach: use one walk in remove_redundant()
      commit-reach: move compare_commits_by_gen
      commit-reach: use heuristic in remove_redundant()
      commit-reach: stale commits may prune generation further

Elijah Newren (81):
      merge-ort: setup basic internal data structures
      merge-ort: add some high-level algorithm structure
      merge-ort: port merge_start() from merge-recursive
      merge-ort: use histogram diff
      merge-ort: add an err() function similar to one from merge-recursive
      merge-ort: implement a very basic collect_merge_info()
      merge-ort: avoid repeating fill_tree_descriptor() on the same tree
      merge-ort: compute a few more useful fields for collect_merge_info
      merge-ort: record stage and auxiliary info for every path
      merge-ort: avoid recursing into identical trees
      merge-ort: add a preliminary simple process_entries() implementation
      merge-ort: have process_entries operate in a defined order
      merge-ort: step 1 of tree writing -- record basenames, modes, and oids
      merge-ort: step 2 of tree writing -- function to create tree object
      merge-ort: step 3 of tree writing -- handling subdirectories as we go
      merge-ort: basic outline for merge_switch_to_result()
      merge-ort: add implementation of checkout()
      tree: enable cmp_cache_name_compare() to be used elsewhere
      merge-ort: add implementation of record_conflicted_index_entries()
      merge-ort: free data structures in merge_finalize()
      merge-ort: add a few includes
      merge-ort: add a clear_internal_opts helper
      merge-ort: add a path_conflict field to merge_options_internal
      merge-ort: add a paths_to_free field to merge_options_internal
      merge-ort: add function grouping comments
      merge-ort: add die-not-implemented stub handle_content_merge() function
      merge-ort: add modify/delete handling and delayed output processing
      merge-ort: add basic data structures for handling renames
      merge-ort: add initial outline for basic rename detection
      merge-ort: implement detect_regular_renames()
      merge-ort: implement compare_pairs() and collect_renames()
      merge-ort: add basic outline for process_renames()
      diffcore-rename: rename num_create to num_destinations
      diffcore-rename: avoid usage of global in too_many_rename_candidates()
      diffcore-rename: simplify limit check
      diffcore-rename: reduce jumpiness in progress counters
      t4058: add more tests and documentation for duplicate tree entry handling
      t4058: explore duplicate tree entry handling in a bit more detail
      diffcore-rename: simplify and accelerate register_rename_src()
      diffcore-rename: accelerate rename_dst setup
      merge-ort: add implementation of both sides renaming identically
      merge-ort: add implementation of both sides renaming differently
      merge-ort: add implementation of rename/delete conflicts
      merge-ort: add implementation of rename collisions
      merge-ort: add implementation of normal rename handling
      merge-ort: add implementation of type-changed rename handling
      commit: move reverse_commit_list() from merge-recursive
      merge-ort: copy a few small helper functions from merge-recursive.c
      merge-ort: make clear_internal_opts() aware of partial clearing
      merge-ort: implement merge_incore_recursive()
      merge-ort: handle D/F conflict where directory disappears due to merge
      merge-ort: handle directory/file conflicts that remain
      merge-ort: implement unique_path() helper
      merge-ort: handle book-keeping around two- and three-way content merge
      merge-ort: flesh out implementation of handle_content_merge()
      merge-ort: copy and adapt merge_3way() from merge-recursive.c
      merge-ort: copy and adapt merge_submodule() from merge-recursive.c
      merge-ort: implement format_commit()
      merge-ort: copy find_first_merges() implementation from merge-recursive.c
      merge-ort: add handling for different types of files at same path
      diffcore-rename: remove unnecessary duplicate entry checks
      merge-ort: add new data structures for directory rename detection
      merge-ort: initialize and free new directory rename data structures
      merge-ort: collect which directories are removed in dirs_removed
      merge-ort: add outline for computing directory renames
      merge-ort: add outline of get_provisional_directory_renames()
      merge-ort: copy get_renamed_dir_portion() from merge-recursive.c
      merge-ort: implement compute_rename_counts()
      merge-ort: implement handle_directory_level_conflicts()
      merge-ort: modify collect_renames() for directory rename handling
      merge-ort: implement compute_collisions()
      merge-ort: implement apply_dir_rename() and check_dir_renamed()
      merge-ort: implement check_for_directory_rename()
      merge-ort: implement handle_path_level_conflicts()
      merge-ort: add a new toplevel_dir field
      merge-ort: implement apply_directory_rename_modifications()
      merge-ort: process_renames() now needs more defensiveness
      merge-ort: fix a directory rename detection bug
      merge-ort: fix massive leak
      merge-ort: ignore the directory rename split conflict for now
      merge-ort: begin performance work; instrument with trace2_region_* calls

Eric Sunshine (3):
      worktree: teach `repair` to fix multi-directional breakage
      t/perf: avoid unnecessary test_export() recursion
      maintenance: fix incorrect `maintenance.repo` path with bare repository

Eric Wong (2):
      core.abbrev=no disables abbreviations
      t1500: ensure current --since= behavior remains

Felipe Contreras (7):
      pull: refactor fast-forward check
      pull: give the advice for choosing rebase/merge much later
      pull: display default warning only when non-ff
      completion: bash: add __git_have_func helper
      completion: bash: improve function detection
      test: completion: add tests for __git_complete
      completion: add proper public __git_complete

Jacob Vosmaer (4):
      builtin/pack-objects.c: avoid iterating all refs
      ls-refs.c: initialize 'prefixes' before using it
      upload-pack.c: fix filter spec quoting bug
      t5544: clarify 'hook works with partial clone' test

Jeff King (38):
      pack-bitmap: fix header size check
      pack-bitmap: bounds-check size of cache extension
      t5310: drop size of truncated ewah bitmap
      rev-list: die when --test-bitmap detects a mismatch
      ewah: factor out bitmap growth
      ewah: make bitmap growth less aggressive
      ewah: implement bitmap_or()
      ewah: add bitmap_dup() function
      pack-bitmap-write: reimplement bitmap writing
      pack-bitmap-write: pass ownership of intermediate bitmaps
      pack-bitmap-write: ignore BITMAP_FLAG_REUSE
      quote: make sq_dequote_step() a public function
      for_each_object_in_pack(): clarify pack vs index ordering
      config: parse more robust format in GIT_CONFIG_PARAMETERS
      refs: switch peel_ref() to peel_iterated_oid()
      run-command: document use_shell option
      git-svn tests: rewrite brittle tests to use "--[no-]merges".
      git-compat-util: always enable variadic macros
      commit_graft_pos(): take an oid instead of a bare hash
      rerere: check dirname format while iterating rr_cache directory
      rerere: tighten rr-cache dirname check
      rerere: use strmap to store rerere directories
      hash_pos(): convert to oid_pos()
      oid_pos(): access table through const pointers
      t0000: keep clean-up tests together
      t0000: run prereq tests inside sub-test
      t0000: run cleaning test inside sub-test
      t0000: consistently use single quotes for outer tests
      pretty: lazy-load commit data when expanding user-format
      completion: treat "branch -D" the same way as "branch -d"
      completion: handle other variants of "branch -m"
      doc/git-branch: fix awkward wording for "-c"
      t: add --no-tag option to test_commit
      mailmap: only look for .mailmap in work tree
      rev-list: add --disk-usage option for calculating disk usage
      docs/rev-list: add an examples section
      docs/rev-list: add some examples of --disk-usage
      doc: mention approxidates for git-commit --date

Jiang Xin (5):
      test: add helper functions for git-bundle
      bundle: lost objects when removing duplicate pendings
      bundle: arguments can be read from stdin
      t5411: use different out file to prevent overwriting
      t5411: refactor check of refs using test_cmp_refs

Joey Salazar (1):
      doc: fix naming of response-end-pkt

Johannes Schindelin (42):
      tests: mark tests relying on the current default for `init.defaultBranch`
      t0060: preemptively adjust alignment
      t[01]*: adjust the references to the default branch name "main"
      t2*: adjust the references to the default branch name "main"
      t3[0-3]*: adjust the references to the default branch name "main"
      t3416: preemptively adjust alignment in a comment
      t34*: adjust the references to the default branch name "main"
      t3[5-9]*: adjust the references to the default branch name "main"
      t4*: adjust the references to the default branch name "main"
      t5323: prepare centered comment for `master` -> `main`
      t5[0-4]*: adjust the references to the default branch name "main"
      t5503: prepare aligned comment for replacing `master` with `main`
      t550*: adjust the references to the default branch name "main"
      t551*: adjust the references to the default branch name "main"
      t55[23]*: adjust the references to the default branch name "main"
      t55[4-9]*: adjust the references to the default branch name "main"
      t5[6-9]*: adjust the references to the default branch name "main"
      t6[0-3]*: adjust the references to the default branch name "main"
      t64*: preemptively adjust alignment to prepare for `master` -> `main`
      t6[4-9]*: adjust the references to the default branch name "main"
      t7[0-4]*: adjust the references to the default branch name "main"
      t7[5-9]*: adjust the references to the default branch name "main"
      t8*: adjust the references to the default branch name "main"
      t9[0-4]*: adjust the references to the default branch name "main"
      t9[5-7]*: adjust the references to the default branch name "main"
      tests(git-p4): transition to the default branch name `main`
      t99*: adjust the references to the default branch name "main"
      tests: drop prereq `PREPARE_FOR_MAIN_BRANCH` where no longer needed
      range-diff/format-patch: refactor check for commit range
      rebase -i: do leave commit message intact in fixup! chains
      range-diff: avoid leaking memory in two error code paths
      range-diff: libify the read_patches() function again
      range-diff: simplify code spawning `git log`
      range-diff: combine all options in a single data structure
      range-diff: move the diffopt initialization down one layer
      range-diff: offer --left-only/--right-only options
      range-diff/format-patch: handle commit ranges other than A..B
      range-diff(docs): explain how to specify commit ranges
      t1450: robustify `remove_object()`
      fsck --name-objects: be more careful parsing generation numbers
      reflog expire --stale-fix: be generous about missing objects
      commit-graph: when incompatible with graphs, indicate why

Johannes Sixt (1):
      replace "parameters" by "arguments" in error messages

Jonathan Tan (4):
      ls-refs: report unborn targets of symrefs
      connect, transport: encapsulate arg in struct
      clone: respect remote unborn HEAD
      usage: trace2 BUG() invocations

Junio C Hamano (21):
      pack-redundant: gauge the usage before proposing its removal
      pull: get rid of unnecessary global variable
      pull: correct condition to trigger non-ff advice
      CoC: explicitly take any whitespace breakage
      The first batch in 2.31 cycle
      t4203: make blame output massaging more robust
      The second batch
      The third batch
      The fourth batch
      The fifth batch
      The sixth batch
      The seventh batch
      The eighth batch
      diff: --{rotate,skip}-to=<path>
      The ninth batch
      Documentation: typofix --column description
      The tenth batch
      push: do not turn --delete '' into a matching push
      blame-options.txt: camelcase blame.blankBoundary
      index-format doc: camelCase core.excludesFile
      Git 2.31-rc0

Martin von Zweigbergk (1):
      docs: clarify that refs/notes/ do not keep the attached objects alive

Martin Ågren (7):
      object-name.c: rename from sha1-name.c
      object-file.c: rename from sha1-file.c
      sha1-lookup: rename `sha1_pos()` as `hash_pos()`
      hash-lookup: rename from sha1-lookup
      rev-list-options.txt: fix rendering of bonus paragraph
      git.txt: fix monospace rendering
      gitmailmap.txt: fix rendering of e-mail addresses

Matheus Tavares (7):
      grep: error out if --untracked is used with --cached
      grep: honor sparse-checkout on working tree searches
      write_entry(): fix misuses of `path` in error messages
      checkout-index: omit entries with no tempname from --temp output
      add --chmod: don't update index when --dry-run is used
      add: mark --chmod error string for translation
      add: propagate --chmod errors to exit status

Patrick Steinhardt (11):
      git: add `--super-prefix` to usage string
      config: add new way to pass config via `--config-env`
      config: extract function to parse config pairs
      fetch: extract writing to FETCH_HEAD
      fetch: use strbuf to format FETCH_HEAD updates
      fetch: refactor `s_update_ref` to use common exit path
      fetch: allow passing a transaction to `s_update_ref()`
      fetch: implement support for atomic reference updates
      config: store "git -c" variables using more robust format
      environment: make `getenv_safe()` a public function
      config: allow specifying config entries via envvar pairs

Phil Hord (1):
      use delete_refs when deleting tags or branches

Philippe Blain (1):
      mailmap doc: use correct environment variable 'GIT_WORK_TREE'

Pranit Bauva (7):
      bisect--helper: reimplement `bisect_log` shell function in C
      bisect--helper: reimplement `bisect_replay` shell function in C
      bisect--helper: retire `--bisect-write` subcommand
      bisect--helper: use `res` instead of return in BISECT_RESET case option
      bisect--helper: retire `--bisect-auto-next` subcommand
      bisect--helper: reimplement `bisect_skip` shell function in C
      bisect--helper: retire `--check-and-set-terms` subcommand

Rafael Silva (8):
      worktree: libify should_prune_worktree()
      worktree: teach worktree to lazy-load "prunable" reason
      worktree: teach worktree_lock_reason() to gently handle main worktree
      t2402: ensure locked worktree is properly cleaned up
      worktree: teach `list --porcelain` to annotate locked worktree
      worktree: teach `list` to annotate prunable worktree
      worktree: teach `list` verbose mode
      blame: remove unnecessary use of get_commit_info()

René Scharfe (1):
      cache-tree: use ce_namelen() instead of strlen()

SZEDER Gábor (2):
      t7800-difftool: don't accidentally match tmp dirs
      test-lib: prevent '--stress-jobs=X' from being ignored

Sangeeta Jain (1):
      diff: do not show submodule with untracked files as "-dirty"

Sergey Organov (32):
      revision: factor out parsing of diff-merge related options
      revision: factor out setup of diff-merge related settings
      revision: factor out initialization of diff-merge related settings
      revision: provide implementation for diff merges tweaks
      revision: move diff merges functions to its own diff-merges.c
      diff-merges: rename all functions to have common prefix
      diff-merges: move checks for first_parent_only out of the module
      diff-merges: rename diff_merges_default_to_enable() to match semantics
      diff-merges: re-arrange functions to match the order they are called in
      diff-merges: new function diff_merges_suppress()
      diff-merges: new function diff_merges_set_dense_combined_if_unset()
      diff-merges: introduce revs->first_parent_merges flag
      diff-merges: handle imply -p on -c/--cc logic for log.c
      diff-merges: revise revs->diff flag handling
      t4013: support test_expect_failure through ':failure' magic
      t4013: add tests for -m failing to override -c/--cc
      diff-merges: fix -m to properly override -c/--cc
      diff-merges: split 'ignore_merges' field
      diff-merges: group diff-merge flags next to each other inside 'rev_info'
      diff-merges: get rid of now empty diff_merges_init_revs()
      diff-merges: refactor opt settings into separate functions
      diff-merges: make -m/-c/--cc explicitly mutually exclusive
      diff-merges: implement new values for --diff-merges
      diff-merges: do not imply -p for new options
      diff-merges: let new options enable diff without -p
      diff-merges: add old mnemonic counterparts to --diff-merges
      diff-merges: add '--diff-merges=1' as synonym for 'first-parent'
      doc/git-log: describe new --diff-merges options
      doc/diff-generate-patch: mention new --diff-merges option
      doc/rev-list-options: document --first-parent changes merges format
      doc/git-show: include --diff-merges description
      t4013: add tests for --diff-merges=first-parent

Seth House (4):
      mergetool: add hideResolved configuration
      mergetool: break setup_tool out into separate initialization function
      mergetool: add per-tool support and overrides for the hideResolved flag
      mergetools/vimdiff: add vimdiff1 merge tool variant

Taylor Blau (36):
      ewah/ewah_bitmap.c: avoid open-coding ALLOC_GROW()
      pack-bitmap.c: check reads more aggressively when loading
      pack-bitmap: factor out 'bitmap_for_commit()'
      pack-bitmap: factor out 'add_commit_to_bitmap()'
      pack-revindex: introduce a new API
      write_reuse_object(): convert to new revindex API
      write_reused_pack_one(): convert to new revindex API
      write_reused_pack_verbatim(): convert to new revindex API
      check_object(): convert to new revindex API
      bitmap_position_packfile(): convert to new revindex API
      show_objects_for_type(): convert to new revindex API
      get_size_by_pos(): convert to new revindex API
      try_partial_reuse(): convert to new revindex API
      rebuild_existing_bitmaps(): convert to new revindex API
      get_delta_base_oid(): convert to new revindex API
      retry_bad_packed_offset(): convert to new revindex API
      packed_object_info(): convert to new revindex API
      unpack_entry(): convert to new revindex API
      for_each_object_in_pack(): convert to new revindex API
      builtin/gc.c: guess the size of the revindex
      pack-revindex: remove unused 'find_pack_revindex()'
      pack-revindex: remove unused 'find_revindex_position()'
      pack-revindex: hide the definition of 'revindex_entry'
      pack-revindex.c: avoid direct revindex access in 'offset_to_pack_pos()'
      refs: expose 'for_each_fullref_in_prefixes'
      ls-refs.c: traverse prefixes of disjoint "ref-prefix" sets
      packfile: prepare for the existence of '*.rev' files
      pack-write.c: prepare to write 'pack-*.rev' files
      builtin/index-pack.c: allow stripping arbitrary extensions
      builtin/index-pack.c: write reverse indexes
      builtin/pack-objects.c: respect 'pack.writeReverseIndex'
      Documentation/config/pack.txt: advertise 'pack.writeReverseIndex'
      t: prepare for GIT_TEST_WRITE_REV_INDEX
      t: support GIT_TEST_WRITE_REV_INDEX
      pack-revindex: ensure that on-disk reverse indexes are given precedence
      t5325: check both on-disk and in-memory reverse index

Thomas Ackermann (6):
      doc hash-function-transition: fix asciidoc output
      doc hash-function-transition: use SHA-1 and SHA-256 consistently
      doc hash-function-transition: use upper case consistently
      doc hash-function-transition: fix incomplete sentence
      doc hash-function-transition: move rationale upwards
      doc: use https links

Torsten Bögershausen (1):
      MacOS: precompose_argv_prefix()

ZheNing Hu (4):
      ls_files.c: bugfix for --deleted and --modified
      ls_files.c: consolidate two for loops into one
      ls-files.c: add --deduplicate option
      difftool.c: learn a new way start at specified file

brian m. carlson (8):
      abspath: add a function to resolve paths with missing components
      rev-parse: add option for absolute or relative path formatting
      ref-filter: switch some uses of unsigned long to size_t
      commit: ignore additional signatures when parsing signed commits
      gpg-interface: improve interface for parsing tags
      commit: allow parsing arbitrary buffers with headers
      ref-filter: hoist signature parsing
      gpg-interface: remove other signature headers before verifying

Ævar Arnfjörð Bjarmason (90):
      pretty format %(trailers) test: split a long line
      pretty format %(trailers) doc: avoid repetition
      pretty-format %(trailers): fix broken standalone "valueonly"
      pretty format %(trailers): add a "keyonly"
      pretty format %(trailers): add a "key_value_separator"
      mktag doc: say <hash> not <sha1>
      mktag doc: grammar fix, when exists -> when it exists
      CoC: Update word-wrapping to match upstream
      mktag doc: update to explain why to use this
      mktag tests: don't needlessly use a subshell
      mktag tests: use "test_commit" helper
      mktag tests: remove needless SHA-1 hardcoding
      mktag tests: don't redirect stderr to a file needlessly
      mktag tests: don't create "mytag" twice
      mktag tests: run "fsck" after creating "mytag"
      mktag tests: stress test whitespace handling
      mktag tests: test "hash-object" compatibility
      mktag tests: improve verify_object() test coverage
      mktag tests: test verify_object() with replaced objects
      mktag: use default strbuf_read() hint
      mktag: remove redundant braces in one-line body "if"
      mktag: use puts(str) instead of printf("%s\n", str)
      mktag: use fsck instead of custom verify_tag()
      fsck: make fsck_config() re-usable
      mktag: allow turning off fsck.extraHeaderEntry
      mktag: allow omitting the header/body \n separator
      mktag: convert to parse-options
      mktag: mark strings for translation
      mktag: add a --[no-]strict option
      mailmap doc: create a new "gitmailmap(5)" man page
      mailmap doc: quote config variables `like.this`
      check-mailmap doc: note config options
      mailmap doc: start by mentioning the comment syntax
      mailmap tests: use our preferred whitespace syntax
      mailmap tests: modernize syntax & test idioms
      mailmap tests: improve --stdin tests
      mailmap tests: remove redundant entry in test
      mailmap tests: add a test for "not a blob" error
      mailmap tests: get rid of overly complex blame fuzzing
      mailmap: test for silent exiting on missing file/blob
      test-lib functions: expand "test_commit" comment template
      test-lib functions: document arguments to test_commit
      test-lib functions: add --author support to test_commit
      test-lib functions: add an --append option to test_commit
      tests: refactor a few tests to use "test_commit --append"
      mailmap doc + tests: add better examples & test them
      mailmap tests: add a test for comment syntax
      mailmap tests: add tests for whitespace syntax
      mailmap tests: add tests for empty "<>" syntax
      mailmap doc + tests: document and test for case-insensitivity
      shortlog: remove unused(?) "repo-abbrev" feature
      CoC: update to version 2.0 + local changes
      ci: remove GETTEXT_POISON jobs
      tests: remove support for GIT_TEST_GETTEXT_POISON
      tests: remove uses of GIT_TEST_GETTEXT_POISON=false
      cache-tree tests: refactor for modern test style
      cache-tree tests: remove unused $2 parameter
      cache-tree tests: use a sub-shell with less indirection
      cache-tree tests: explicitly test HEAD and index differences
      git svn mergeinfo tests: modernize redirection & quoting style
      git svn mergeinfo tests: refactor "test -z" to use test_must_be_empty
      upload-pack tests: avoid a non-zero "grep" exit status
      archive tests: use a cheaper "zipinfo -h" invocation to get header
      rm tests: actually test for SIGPIPE in SIGPIPE test
      config.mak.uname: remove redundant NO_LIBPCRE1_JIT flag
      Remove support for v1 of the PCRE library
      grep/pcre2 tests: don't rely on invalid UTF-8 data test
      grep/pcre2: better support invalid UTF-8 haystacks
      grep/log: remove hidden --debug and --grep-debug options
      pager: refactor wait_for_pager() function
      pager: test for exit code with and without SIGPIPE
      run-command: add braces for "if" block in wait_or_whine()
      pager: properly log pager exit code when signalled
      test-lib: remove check_var_migration
      test lib: change "error" to "BUG" as appropriate
      test-lib-functions: move test_set_index_version() to its user
      test-lib-functions: remove generate_zero_bytes() wrapper
      test libs: rename bundle helper to "lib-bundle.sh"
      test libs: rename gitweb-lib.sh to lib-gitweb.sh
      test-lib-functions: move function to lib-bitmap.sh
      t/.gitattributes: sort lines
      tests: remove last uses of GIT_TEST_GETTEXT_POISON=false
      tests: remove most uses of C_LOCALE_OUTPUT
      tests: remove last uses of C_LOCALE_OUTPUT
      tests: remove most uses of test_i18ncmp
      diff: add an API for deferred freeing
      diff: plug memory leak from regcomp() on {log,diff} -I
      test libs: rename "diff-lib" to "lib-diff"
      test-lib-functions: remove bug-inducing "diagnostics" helper param
      test-lib-functions: assert correct parameter count


Version v2.30.9; changes since v2.30.8:
---------------------------------------

Derrick Stolee (1):
      ci: update 'static-analysis' to Ubuntu 22.04

Jeff King (6):
      http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT
      http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION
      range-diff: drop useless "offset" variable from read_patches()
      http: support CURLOPT_PROTOCOLS_STR
      range-diff: handle unterminated lines in read_patches()
      range-diff: use ssize_t for parsed "len" in read_patches()

Jiang Xin (4):
      github-actions: run gcc-8 on ubuntu-20.04 image
      ci: remove the pipe after "p4 -V" to catch errors
      ci: use the same version of p4 on both Linux and macOS
      ci: install python on ubuntu

Johannes Schindelin (11):
      compat/win32/syslog: fix use-after-realloc
      nedmalloc: avoid new compile error
      t0033: GETTEXT_POISON fix
      t0003: GETTEXT_POISON fix, part 1
      t0003: GETTEXT_POISON fix, conclusion
      t5619: GETTEXT_POISON fix
      t5604: GETTEXT_POISON fix, part 1
      t5604: GETTEXT_POISON fix, conclusion
      clone.c: avoid "exceeds maximum object size" error with GCC v12.x
      apply --reject: overwrite existing `.rej` symlink if it exists
      gettext: avoid using gettext if the locale dir is not present

Junio C Hamano (1):
      http.c: clear the 'finished' member once we are done with it

Taylor Blau (5):
      t1300: demonstrate failure when renaming sections with long lines
      config: avoid fixed-sized buffer when renaming/deleting a section
      config.c: avoid integer truncation in `copy_or_rename_section_in_file()`
      config.c: disallow overly-long lines in `copy_or_rename_section_in_file()`
      Git 2.30.9


Version v2.30.8; changes since v2.30.7:
---------------------------------------

Johannes Schindelin (1):
      attr: adjust a mismatched data type

Junio C Hamano (1):
      Git 2.30.8

Patrick Steinhardt (1):
      apply: fix writing behind newly created symbolic links

Taylor Blau (3):
      t5619: demonstrate clone_local() with ambiguous transport
      clone: delay picking a transport until after get_repo_path()
      dir-iterator: prevent top-level symlinks without FOLLOW_SYMLINKS


Version v2.30.7; changes since v2.30.6:
---------------------------------------

Carlo Marcelo Arenas Belón (1):
      test-lib: add prerequisite for 64-bit platforms

Junio C Hamano (1):
      Git 2.30.7

Patrick Steinhardt (21):
      attr: fix overflow when upserting attribute with overly long name
      attr: fix out-of-bounds read with huge attribute names
      attr: fix integer overflow when parsing huge attribute names
      attr: fix out-of-bounds write when parsing huge number of attributes
      attr: fix out-of-bounds read with unreasonable amount of patterns
      attr: fix integer overflow with more than INT_MAX macros
      attr: harden allocation against integer overflows
      attr: fix silently splitting up lines longer than 2048 bytes
      attr: ignore attribute lines exceeding 2048 bytes
      attr: ignore overly large gitattributes files
      pretty: fix out-of-bounds write caused by integer overflow
      pretty: fix out-of-bounds read when left-flushing with stealing
      pretty: fix out-of-bounds read when parsing invalid padding format
      pretty: fix adding linefeed when placeholder is not expanded
      pretty: fix integer overflow in wrapping format
      utf8: fix truncated string lengths in `utf8_strnwidth()`
      utf8: fix returning negative string width
      utf8: fix overflow when returning string width
      utf8: fix checking for glyph width in `strbuf_utf8_replace()`
      utf8: refactor `strbuf_utf8_replace` to not rely on preallocated buffer
      pretty: restrict input lengths for padding and wrapping formats


Version v2.30.6; changes since v2.30.5:
---------------------------------------

Jeff King (2):
      shell: add basic tests
      shell: limit size of interactive commands

Kevin Backhouse (1):
      alias.c: reject too-long cmdline strings in split_cmdline()

Taylor Blau (12):
      builtin/clone.c: disallow `--local` clones with symlinks
      t/lib-submodule-update.sh: allow local submodules
      t/t1NNN: allow local submodules
      t/2NNNN: allow local submodules
      t/t3NNN: allow local submodules
      t/t4NNN: allow local submodules
      t/t5NNN: allow local submodules
      t/t6NNN: allow local submodules
      t/t7NNN: allow local submodules
      t/t9NNN: allow local submodules
      transport: make `protocol.file.allow` be "user" by default
      Git 2.30.6


Version v2.30.5; changes since v2.30.4:
---------------------------------------

Carlo Marcelo Arenas Belón (5):
      t: regression git needs safe.directory when using sudo
      git-compat-util: avoid failing dir ownership checks if running privileged
      t0034: add negative tests and allow git init to mostly work under sudo
      git-compat-util: allow root to access both SUDO_UID and root owned
      setup: tighten ownership checks post CVE-2022-24765

Johannes Schindelin (1):
      Git 2.30.5


Version v2.30.4; changes since v2.30.3:
---------------------------------------

Derrick Stolee (2):
      t0033: add tests for safe.directory
      setup: opt-out of check with safe.directory=*

Junio C Hamano (1):
      Git 2.30.4

Matheus Valadares (1):
      setup: fix safe.directory key not being checked


Version v2.30.3; changes since v2.30.2:
---------------------------------------

Carlo Marcelo Arenas Belón (1):
      mingw: avoid fallback for {local,gm}time_r()

Johannes Schindelin (4):
      Add a function to determine whether a path is owned by the current user
      setup_git_directory(): add an owner check for the top-level directory
      Fix `GIT_CEILING_DIRECTORIES` with `C:\` and the likes
      Git 2.30.3


Version v2.30.2; changes since v2.30.1:
---------------------------------------

Johannes Schindelin (15):
      run-command: invalidate lstat cache after a command finished
      Git 2.17.6
      Git 2.18.5
      Git 2.19.6
      Git 2.20.5
      Git 2.21.4
      Git 2.22.5
      Git 2.23.4
      Git 2.24.4
      Git 2.25.5
      Git 2.26.3
      Git 2.27.1
      Git 2.28.1
      Git 2.29.3
      Git 2.30.2

Matheus Tavares (2):
      checkout: fix bug that makes checkout follow symlinks in leading path
      unpack_trees(): start with a fresh lstat cache

Taylor Blau (1):
      .github/workflows/main.yml: run static-analysis on bionic


Version v2.30.1; changes since v2.30.0:
---------------------------------------

Adam Dinwoodie (1):
      t4129: fix setfacl-related permissions failure

Antonio Russo (1):
      t6016: move to lib-log-graph.sh framework

Daniel Levin (1):
      git-p4: fix syncing file types with pattern

Derrick Stolee (1):
      for-each-repo: do nothing on empty config

Elijah Newren (3):
      t7012: add a testcase demonstrating stash apply bugs in sparse checkouts
      stash: remove unnecessary process forking
      stash: fix stash application in sparse-checkouts

Felipe Contreras (1):
      test: bisect-porcelain: fix location of files

Jeff King (5):
      git_connect_git(): forbid newlines in host and path
      fsck: reject .gitmodules git:// urls with newlines
      t5516: loosen "not our ref" error check
      patch-ids: handle duplicate hashmap entries
      p5303: avoid sed GNU-ism

Johannes Schindelin (1):
      SKIP_DASHED_BUILT_INS: respect `config.mak`

Johannes Sixt (1):
      annotate-tests: quote variable expansions containing path names

Jonathan Tan (1):
      Doc: clarify contents of packfile sent as URI

Junio C Hamano (5):
      parse-options: format argh like error messages
      SubmittingPatches: tighten wording on "sign-off" procedure
      ci/install-depends: attempt to fix "brew cask" stuff
      Prepare for 2.30.1
      Git 2.30.1

Martin Ågren (9):
      t1300: remove duplicate test for `--file ../foo`
      t1300: remove duplicate test for `--file no-such-file`
      t1300: don't needlessly work with `core.foo` configs
      pack-format.txt: document sizes at start of delta data
      builtin/gc: don't peek into `struct lock_file`
      commit-graph: don't peek into `struct lock_file`
      midx: don't peek into `struct lock_file`
      refs/files-backend: don't peek into `struct lock_file`
      read-cache: try not to peek into `struct {lock_,temp}file`

Matheus Tavares (1):
      t4129: don't fail if setgid is set in the test directory

Peter Kaestle (1):
      submodules: fix of regression on fetching of non-init subsub-repo

Philippe Blain (3):
      gitmodules.txt: fix 'GIT_WORK_TREE' variable name
      mergetool--lib: fix '--tool-help' to correctly show available tools
      ci: do not cancel all jobs of a matrix if one fails

René Scharfe (1):
      rebase: verify commit parameter

Taylor Blau (2):
      p7519: allow running without watchman prereq
      Documentation/git-clone.txt: document race with --local

Thomas Ackermann (1):
      doc: fix some typos

Utku Gultopu (1):
      doc: remove "directory cache" from man pages

Vasyl Vavrychuk (1):
      git-send-email.txt: mention less secure app access with Gmail

ZheNing Hu (1):
      builtin/*: update usage format

brian m. carlson (1):
      docs: rephrase and clarify the git status --short format

Ævar Arnfjörð Bjarmason (10):
      branch: change "--local" to "--list" in comment
      branch tests: add to --sort tests
      ref-filter: add braces to if/else if/else chain
      ref-filter: move "cmp_fn" assignment into "else if" arm
      ref-filter: move ref_sorting flags to a bitfield
      branch: sort detached HEAD based on a flag
      branch: show "HEAD detached" first under reverse sort
      Makefile: remove a warning about old GETTEXT_POISON flag
      gettext.c: remove/reword a mostly-useless comment
      fsck doc: remove ancient out-of-date diagnostics


Version v2.30.0; changes since v2.30.0-rc2:
-------------------------------------------

Alexander Shopov (1):
      l10n: bg.po: Updated Bulgarian translation (5037t)

Arusekk (1):
      l10n: pl.po: add translation and set team leader

Baptiste Fontaine (1):
      l10n: fr.po Fix a typo

Emir Sarı (2):
      l10n: tr: v2.30.0-r1
      l10n: tr: v2.30.0-r2

Jean-Noël Avila (3):
      l10n: fr fix misleading message
      l10n: fr.po: v2.30.0 rnd 1
      l10n: fr.po v2.30.0 rnd 2

Jiang Xin (3):
      l10n: git.pot: v2.30.0 round 1 (70 new, 45 removed)
      l10n: git.pot: v2.30.0 round 2 (1 new, 2 removed)
      l10n: zh_CN: for git v2.30.0 l10n round 1 and 2

Jordi Mas (2):
      l10n: Update Catalan translation
      l10n: Update Catalan translation

Junio C Hamano (1):
      Git 2.30

Matthias Rüster (1):
      l10n: de.po: Update German translation for Git 2.30.0

Peter Krefting (2):
      l10n: sv.po: Update Swedish translation (5038t0f0u)
      l10n: sv.po: Update Swedish translation (5037t0f0u)

Philippe Blain (1):
      git.txt: fix typos in 'linkgit' macro invocation

Trần Ngọc Quân (1):
      l10n: vi.po(5037t): v2.30.0 rnd 2

Yi-Jyun Pan (1):
      l10n: zh_TW.po: v2.30.0 round 2 (1 untranslated)

m4sk1n (1):
      l10n: pl.po: started Polish translation


Version v2.30.0-rc2; changes since v2.30.0-rc1:
-----------------------------------------------

Jiang Xin (1):
      pack-redundant: fix crash when one packfile in repo

Johannes Schindelin (12):
      t1400: use `main` as initial branch name
      t3200: finish transitioning to the initial branch name `main`
      t3201: finalize transitioning to using the branch name `main`
      t3203: complete the transition to using the branch name `main`
      t3205: finalize transitioning to using the branch name `main`
      t5505: finalize transitioning to using the branch name `main`
      t5510: use `main` as initial branch name
      t5703: use `main` as initial branch name
      t6302: use `main` as initial branch name
      t9902: use `main` as initial branch name
      tests: drop the `PREPARE_FOR_MAIN_BRANCH` prereq
      checkout -p: handle tree arguments correctly again

Junio C Hamano (1):
      Git 2.30-rc2

Martin Ågren (3):
      git-maintenance.txt: add missing word
      gc: fix handling of crontab magic markers
      t7900-maintenance: test for magic markers

Nipunn Koorapati (2):
      negative-refspec: fix segfault on : refspec
      negative-refspec: improve comment on query_matches_negative_refspec


Version v2.30.0-rc1; changes since v2.30.0-rc0:
-----------------------------------------------

David Aguilar (1):
      git-gui: ssh-askpass: add a checkbox to show the input text

Dimitriy Ryazantcev (1):
      git-gui: update Russian translation

Eric Sunshine (1):
      t/perf: fix test_export() failure with BSD `sed`

Jeff Hostetler (1):
      index-format.txt: document v2 format of file system monitor extension

Jeff King (9):
      oid-array.h: drop sha1 mention from header guard
      t0064: drop sha1 mention from filename
      t0064: make duplicate tests more robust
      cache.h: move hash/oid functions to hash.h
      oid-array: make sort function public
      oid-array: provide a for-loop iterator
      commit-graph: drop count_distinct_commits() function
      commit-graph: replace packed_oid_list with oid_array
      commit-graph: use size_t for array allocation and indexing

Johannes Berg (1):
      docs: multi-pack-index: remove note about future 'verify' work

Johannes Schindelin (6):
      t6300: avoid using the default name of the initial branch
      t7064: avoid relying on a specific default branch name
      init: document `init.defaultBranch` better
      branch -m: allow renaming a yet-unborn branch
      get_default_branch_name(): prepare for showing some advice
      init: provide useful advice about init.defaultBranch

Josh Steadmon (1):
      t7900: use --fixed-value in git-maintenance tests

Junio C Hamano (5):
      strmap: make callers of strmap_remove() to call it in void context
      compat-util: pretend that stub setitimer() always succeeds
      diff: correct interaction between --exit-code and -I<pattern>
      Another batch before 2.30-rc1
      Git 2.30-rc1

Martin Schön (1):
      git-gui: use commit message template

Pratyush Yadav (1):
      git-gui: Only touch GITGUI_MSG when needed

Ramsay Jones (6):
      Documentation/Makefile: conditionally include doc.dep
      Documentation/Makefile: conditionally include ../GIT-VERSION-FILE
      gitweb/Makefile: conditionally include ../GIT-VERSION-FILE
      Makefile: don't try to clean old debian build product
      Makefile: don't use a versioned temp distribution directory
      Makefile: conditionally include GIT-VERSION-FILE

Randall S. Becker (1):
      config.mak.uname: remove old NonStop compatibility settings

Serg Tereshchenko (1):
      git-gui: Fix selected text colors

Stefan Haller (2):
      git-gui: fix colored label backgrounds when using themed widgets
      git-gui: use gray background for inactive text widgets

Taylor Blau (2):
      builtin/clone.c: don't ignore transport_fetch_refs() errors
      upload-pack.c: don't free allowed_filters util pointers

Ævar Arnfjörð Bjarmason (1):
      style: do not "break" in switch() after "return"

Đoàn Trần Công Danh (1):
      doc: mention Python 3.x supports


Version v2.30.0-rc0; changes since v2.29.3:
-------------------------------------------

Adam Spiers (1):
      hook: add sample template for push-to-checkout

Alex Vandiver (2):
      dir.c: fix comments to agree with argument name
      fsmonitor: use fsmonitor data in `git diff`

Alexey (1):
      completion: fix zsh installation instructions

Amanda Shafack (1):
      t2200,t9832: avoid using 'git' upstream in a pipe

Arnout Engelen (1):
      doc: make HTML manual reproducible

Bradley M. Kuhn (2):
      Documentation: clarify and expand description of --signoff
      Documentation: stylistically normalize references to Signed-off-by:

Caleb Tillman (1):
      t0000: use test_path_is_file instead of "test -f"

Charvi Mendiratta (5):
      t7101,t7102,t7201: modernize test formatting
      t7102,t7201: remove unnecessary blank spaces in test body
      t7102,t7201: remove whitespace after redirect operator
      t7201: use 'git -C' to avoid subshell
      t7201: put each command on a separate line

Chris. Webster (1):
      ci: github action - add check for whitespace errors

Daniel Duvall (1):
      upload-pack: allow stateless client EOF just prior to haves

Daniel Gurney (2):
      compat/bswap.h: simplify MSVC endianness detection
      compat/bswap.h: don't assume MSVC is little-endian

Dennis Ameling (1):
      ci(vs-build): stop passing the iconv library location explicitly

Denton Liu (18):
      t4068: remove unnecessary >tmp
      git-diff-index.txt: make --cached description a proper sentence
      git-diff.txt: backtick quote command text
      contrib/completion: extract common diff/difftool options
      diff-lib: accept option flags in run_diff_index()
      diff-lib: define diff_get_merge_base()
      t4068: add --merge-base tests
      builtin/diff-index: learn --merge-base
      builtin/diff-tree: learn --merge-base
      contrib/completion: complete `git diff --merge-base`
      Documentation/config/checkout: replace sq with backticks
      builtin/checkout: fix `git checkout -p HEAD...` bug
      Doc: document "A...B" form for <tree-ish> in checkout and switch
      add-patch: add NEEDSWORK about comparing commits
      t2016: add a NEEDSWORK about the PERL prerequisite
      checkout: learn to respect checkout.guess
      contrib/git-resurrect.sh: indent with tabs
      contrib/git-resurrect.sh: use hash-agnostic OID pattern

Derrick Stolee (28):
      maintenance: add prefetch task
      maintenance: add loose-objects task
      maintenance: create auto condition for loose-objects
      midx: enable core.multiPackIndex by default
      midx: use start_delayed_progress()
      maintenance: add incremental-repack task
      maintenance: auto-size incremental-repack batch
      maintenance: add incremental-repack auto condition
      maintenance: optionally skip --auto process
      maintenance: add --schedule option and config
      for-each-repo: run subcommands on configured repos
      maintenance: add [un]register subcommands
      maintenance: add start/stop subcommands
      maintenance: test commit-graph auto condition
      commit-graph: ignore duplicates when merging layers
      commit-graph: don't write commit-graph when disabled
      maintenance: core.commitGraph=false prevents writes
      maintenance: create maintenance.strategy config
      maintenance: use 'incremental' strategy by default
      maintenance: add troubleshooting guide to docs
      config: convert multi_replace to flags
      config: replace 'value_regex' with 'value_pattern'
      t1300: test "set all" mode with value-pattern
      t1300: add test for --replace-all with value-pattern
      config: add --fixed-value option, un-implemented
      config: plumb --fixed-value into config API
      config: implement --fixed-value with --get*
      maintenance: use 'git config --fixed-value'

Drew DeVault (1):
      help.c: help.autocorrect=never means "do not compute suggestions"

Elijah Newren (37):
      hashmap: add usage documentation explaining hashmap_free[_entries]()
      directory-rename-detection.txt: update references to regression tests
      t6423: more involved directory rename test
      t6423: update directory rename detection tests with new rule
      t6423: more involved rules for renaming directories into each other
      t7518: fix flaky grep invocation
      test-lib: allow selecting tests by substring/glob with --run
      t6006, t6012: adjust tests to use 'setup' instead of synonyms
      test-lib: reduce verbosity of skipped tests
      sequencer: remove duplicate rollback_lock_file() call
      t/: new helper for tests that pass with ort but fail with recursive
      merge tests: expect improved directory/file conflict handling in ort
      t6416: correct expectation for rename/rename(1to2) + directory/file
      t6404, t6423: expect improved rename/delete handling in ort backend
      t6423: expect improved conflict markers labels in the ort backend
      merge tests: expect slight differences in output for recursive vs. ort
      t6423, t6436: note improved ort handling with dirty files
      t6423: note improved ort handling with untracked files
      t6423: add more details about direct resolution of directories
      merge-ort: barebones API of new merge strategy with empty implementation
      merge-ort-wrappers: new convience wrappers to mimic the old merge API
      fast-rebase: demonstrate merge-ort's API via new test-tool command
      hashmap: adjust spacing to fix argument alignment
      hashmap: allow re-use after hashmap_free()
      hashmap: introduce a new hashmap_partial_clear()
      hashmap: provide deallocation function names
      strmap: new utility functions
      merge,rebase,revert: select ort or recursive by config or environment
      strmap: add more utility functions
      strmap: enable faster clearing and reusing of strmaps
      strmap: add functions facilitating use as a string->int map
      strmap: split create_entry() out of strmap_put()
      strmap: add a strset sub-type
      strmap: enable allocations to come from a mem_pool
      strmap: take advantage of FLEXPTR_ALLOC_STR when relevant
      Use new HASHMAP_INIT macro to simplify hashmap initialization
      shortlog: use strset from strmap.h

Emily Shaffer (1):
      MyFirstContribution: clarify asciidoc dependency

Felipe Contreras (41):
      completion: zsh: fix __gitcomp_direct()
      completion: zsh: fix name due to broken autoloading
      completion: zsh: fix bash script extension
      completion: zsh: reorganize install instructions
      completion: zsh: fix for directories with spaces
      completion: zsh: update slave script locations
      completion: prompt: fix color for Zsh
      completion: zsh: fix for command aliasing
      completion: bash: synchronize zsh wrapper
      completion: bash: remove zsh wrapper
      completion: zsh: fix completion for --no-.. options
      completion: fix conflict with bashcomp
      completion: zsh: add missing direct_append
      completion: zsh: fix splitting of words
      completion: zsh: simplify compadd functions
      completion: zsh: simplify direct compadd
      completion: zsh: trivial cleanup
      completion: zsh: simplify nl_append
      completion: zsh: simplify file_direct
      completion: zsh: shuffle functions around
      completion: zsh: refactor command completion
      completion: zsh: improve command tags
      completion: zsh: add alias descriptions
      completion: zsh: trivial simplification
      completion: zsh: add simple version check
      completion: bash: trivial cleanup
      completion: bash: cleanup cygwin check
      completion: bash: remove old compat wrappers
      zsh: update copyright notices
      completion: bash: support recursive aliases
      completion: bash: check for alias loop
      completion: bash: improve alias loop detection
      tests: push: improve cleanup of HEAD tests
      tests: push: trivial cleanup
      refspec: make @ a synonym of HEAD
      refspec: trivial cleanup
      .gitignore: remove dangling file
      test: completion: fix typos
      tests: lib-functions: trivial style cleanups
      completion: zsh: fix file completion regression
      completion: bash: fix gitk alias regression

Han-Wen Nienhuys (1):
      move sleep_millisec to git-compat-util.h

Javier Spagnoletti (1):
      userdiff: PHP: catch "abstract" and "final" functions

Jeff King (32):
      fast-import: fix over-allocation of marks storage
      usage: define a type for a reporting function
      config.mak.dev: build with -fno-common
      fast-import: remove duplicated option-parsing line
      perl: check for perl warnings while running tests
      am, sequencer: stop parsing our own committer ident
      test-pkt-line: drop colon from sideband identity
      checkout-index: drop error message from empty --stage=all
      checkout-index: propagate errors to exit code
      sideband: diagnose more sideband anomalies
      format-patch: refactor output selection
      format-patch: tie file-opening logic to output_directory
      format-patch: support --output option
      rev-parse: don't accept options after dashdash
      rev-parse: put all options under the "-" check
      rev-parse: handle --end-of-options
      compute pack .idx byte offsets using size_t
      use size_t to store pack .idx byte offsets
      fsck: correctly compute checksums on idx files larger than 4GB
      block-sha1: take a size_t length parameter
      packfile: detect overflow in .idx file size checks
      repack: make "exts" array available outside cmd_repack()
      send-pack: kill pack-objects helper on signal or exit
      submodule: fix fetch_in_submodule logic
      upload-pack: kill pack-objects helper on signal or exit
      banned.h: mark non-reentrant gmtime, etc as banned
      t7900: speed up expensive test
      gitignore: drop duplicate entry for git-sh-i18n
      banned.h: mark ctime_r() and asctime_r() as banned
      Makefile: mark git-maintenance as a builtin
      upload-pack: propagate return value from object filter config callback
      style: indent multiline "if" conditions to align

Jiang Xin (3):
      t5411: new helper filter_out_user_friendly_and_stable_output
      receive-pack: gently write messages to proc-receive
      receive-pack: use default version 0 for proc-receive

Jinoh Kang (2):
      diff: allow passing NULL to diff_free_filespec_data()
      t7800: simplify difftool test

Joey Salazar (1):
      t7006: Use test_path_is_* functions in test script

Johannes Schindelin (56):
      ci: work around old records of GitHub runs
      ci: make the "skip-if-redundant" check more defensive
      sideband: avoid reporting incomplete sideband messages
      sideband: report unhandled incomplete sideband messages as bugs
      fmt-merge-msg: also suppress "into main" by default
      t9801: use `--` in preparation for default branch rename
      tests: start moving to a different default main branch name
      t6200: adjust suppression pattern to also match "main"
      t5703: adjust a test case for the upcoming default branch name
      t3200: prepare for `main` being shorter than `master`
      t9902: prepare a test for the upcoming default branch name
      tests: prepare aligned mentions of the default branch name
      t1400: prepare for `main` being default branch name
      t5411: start using the default branch name "main"
      t5411: start adjusting the support files for init.defaultBranch=main
      t5411: adjust the remaining support files for init.defaultBranch=main
      t5411: finish preparing for `main` being the default branch name
      t5515: use `main` as the name of the main branch for testing (part 1)
      t5515: use `main` as the name of the main branch for testing (part 2)
      t5515: use `main` as the name of the main branch for testing (part 3)
      t5515: use `main` as the name of the main branch for testing (conclusion)
      t2402: fix typo
      ci: make the whitespace checker more robust
      tests: consolidate the `file_size` function into `test-lib-functions.sh`
      ci: avoid using the deprecated `set-env` construct
      p4: respect init.defaultBranch
      t1004: insert missing "branch" in a message
      t3406: indent with tabs, not spaces
      t3427: adjust stale comment
      t5400,t5402: consistently indent with tabs, not with spaces
      t5570: remove trailing padding
      t9603: use tabs for indentation
      add -i (built-in): do show an error message for incorrect inputs
      add -i (built-in): send error messages to stderr
      add -p (built-in): imitate `xdl_format_hunk_hdr()` generating hunk headers
      add -i: use `reset_color` consistently
      add -i (built-in): prevent the `reset` "color" from being configured
      add -i (built-in): use correct names to load color.diff.* config
      mergetools/bc: add `bc4` to the alias list for Beyond Compare
      mergetool: avoid letting `list_tool_variants` break user-defined setups
      add -p (built-in): do not color the progress indicator separately
      add -i (built-in): use the same indentation as the Perl version
      add -i (Perl version): color header to match the C version
      add -p: prefer color.diff.context over color.diff.plain
      add -i: verify in the tests that colors can be overridden
      t2106: adjust style to the current conventions
      t2106: make test independent of the current main branch name
      t2106: ensure that the checkout fails for the expected reason
      t3040: remove stale note
      t1309: use a neutral branch name in the `onbranch` test cases
      t4015: let the test pass with any default branch name
      pull: colorize the hint about setting `pull.rebase`
      t3404: do not depend on any specific default branch name
      t5526: avoid depending on a specific default branch name
      t5526: drop the prereq expecting the default branch name `main`
      cmake: determine list of extra built-ins dynamically

Jonathan Tan (3):
      apply: when -R, also reverse list of sections
      sequencer: tolerate abbreviated stopped-sha file
      usage: add trace2 entry upon warning()

Josh Steadmon (12):
      docs: new capability to advertise session IDs
      docs: new transfer.advertiseSID option
      trace2: add a public function for getting the SID
      upload-pack: advertise session ID in v0 capabilities
      receive-pack: advertise session ID in v0 capabilities
      serve: advertise session ID in v2 capabilities
      transport: log received server session ID
      fetch-pack: advertise session ID in capabilities
      upload-pack, serve: log received client session ID
      send-pack: advertise session ID in capabilities
      receive-pack: log received client session ID
      t7900: fix typo: "test_execpt_success"

Junio C Hamano (26):
      doc: preparatory clean-up of description on the sign-off option
      SubmittingPatches: clarify DCO is our --signoff rule
      Revert "test_cmp: diagnose incorrect arguments"
      t7102: prepare expected output inside test_expect_* block
      other small fixes for 2.29.2
      SubmittingPatches: clarify the purpose of the final resend
      First batch
      Second batch
      Makefile: enable -Wsparse-error for DEVELOPER build
      Third batch
      log: diagnose -L used with pathspec as an error
      doc: clarify that --abbrev=<n> is about the minimum length
      Fourth batch
      format-patch: make output filename configurable
      Fifth batch
      ci: avoid `set-env` construct in print-test-failures.sh
      Sixth batch
      Seventh batch
      MyFirstContribition: answering questions is not the end of the story
      config doc: value-pattern is not necessarily a regexp
      Eighth batch
      Ninth batch
      Revert "submodules: fix of regression on fetching of non-init subsub-repo"
      Tenth batch
      Eleventh batch
      Git 2.30-rc0

Konrad Borowski (1):
      userdiff: recognize 'macro_rules!' as starting a Rust function block

Kyle Meyer (1):
      stash: add missing space to an error message

Marlon Rac Cambasis (1):
      doc: fixing two trivial typos in Documentation/

Martin Ågren (5):
      list-objects-filter-options: fix function name in BUG
      grep: don't set up a "default" repo for grep
      grep: use designated initializers for `grep_defaults`
      grep: copy struct in one fell swoop
      MyFirstObjectWalk: drop `init_walken_defaults()`

Matheus Tavares (2):
      worktree: fix order of arguments in error message
      apply: don't use core.sharedRepository to create working tree files

Michał Kępień (2):
      merge-base, xdiff: zero out xpparam_t structures
      diff: add -I<regex> that ignores matching changes

Nate Avers (2):
      notes.c: fix a segfault in notes_display_config()
      t3301: test proper exit response to no-value notes.displayRef.

Nicolas Morey-Chaisemartin (1):
      imap-send: parse default git config

Nipunn Koorapati (17):
      t/perf/README: elaborate on output format
      t/perf/p7519-fsmonitor.sh: warm cache on first git status
      t/perf: add fsmonitor perf test for git diff
      perf lint: add make test-lint to perf tests
      p7519-fsmonitor: refactor to avoid code duplication
      p7519-fsmonitor: add a git add benchmark
      t/perf/fsmonitor: separate one time repo initialization
      t/perf/fsmonitor: move watchman setup to one-time-repo-setup
      t/perf/fsmonitor: improve error message if typoing hook name
      t/perf/fsmonitor: factor description out for readability
      t/perf/fsmonitor: shorten DESC to basename
      t/perf/fsmonitor: silence initial git commit
      t/perf/fsmonitor: factor setup for fsmonitor into function
      t/perf/fsmonitor: initialize test with git reset
      t/perf/fsmonitor: perf comparison of multiple fsmonitor integrations
      t/perf/fsmonitor: add benchmark for dirty status
      perf/fsmonitor: use test_must_be_empty helper

Patrick Steinhardt (4):
      t1400: avoid touching refs on filesystem
      update-ref: allow creation of multiple transactions
      p1400: use `git-update-ref --stdin` to test multiple transactions
      update-ref: disallow "start" for ongoing transactions

Peter Kaestle (1):
      submodules: fix of regression on fetching of non-init subsub-repo

Philippe Blain (14):
      ref-filter: handle CRLF at end-of-line more gracefully
      log, show: add tests for messages containing CRLF
      doc: log, gitk: move '-L' description to 'line-range-options.txt'
      doc: line-range: improve formatting
      blame-options.txt: also mention 'funcname' in '-L' description
      doc: add more pointers to gitattributes(5) for userdiff
      line-log: mention both modes in 'blame' and 'log' short help
      blame: enable funcname blaming with userdiff driver
      blame: simplify 'setup_scoreboard' interface
      blame: simplify 'setup_blame_bloom_data' interface
      pull --rebase: compute rebase arguments in separate function
      t5572: add notes on a peculiar test
      t5572: describe '--rebase' tests a little more
      pull: check for local submodule modifications with the right range

Phillip Wood (4):
      rebase -i: stop overwriting ORIG_HEAD buffer
      rebase -i: use struct object_id rather than looking up commit
      rebase -i: use struct object_id when writing state
      rebase -i: simplify get_revision_ranges()

Pranit Bauva (7):
      bisect--helper: finish porting `bisect_start()` to C
      bisect--helper: retire `--bisect-clean-state` subcommand
      bisect--helper: retire `--next-all` subcommand
      bisect--helper: reimplement `bisect_state` & `bisect_head` shell functions in C
      bisect--helper: retire `--check-expected-revs` subcommand
      bisect--helper: retire `--write-terms` subcommand
      bisect--helper: retire `--bisect-autostart` subcommand

Rafael Silva (2):
      worktree: teach `list` to annotate locked worktree
      maintenance: fix SEGFAULT when no repository

René Scharfe (19):
      Makefile: use git init/add/commit/archive for dist-doc
      Makefile: remove the unused variable TAR_DIST_EXTRA_OPTS
      grep: handle deref_tag() returning NULL
      blame: handle deref_tag() returning NULL
      line-log: handle deref_tag() returning NULL
      object: allow clear_commit_marks_all to handle any repo
      bisect: clear flags in passed repository
      stash: simplify reflog emptiness check
      pack-write: use hashwrite_be32() instead of double-buffering array
      archive: support compression levels beyond 9
      blame: silently ignore invalid ignore file objects
      csum-file: add hashwrite_be64()
      midx: use hashwrite_be64()
      pack-write: use hashwrite_be64()
      diff-lib: plug minor memory leaks in do_diff_cache()
      archive: release refname after use
      gc: fix cast in compare_tasks_by_selection()
      fetch-pack: disregard invalid pack lockfiles
      gitignore: remove entry for git serve

Robert Karszniewicz (2):
      git-completion.bash: __git_diff_common_options: add --[no-]patch
      git-completion.bash: stash-show: complete $__git_diff_common_options

SZEDER Gábor (4):
      bisect: loosen halfway() check for a large number of commits
      t5310-pack-bitmaps: skip JGit tests with SHA256
      tests: make sure nested lazy prereqs work reliably
      tests: fix description of 'test_set_prereq'

Samuel Čavoj (3):
      sequencer: fix gpg option passed to merge subcommand
      sequencer: pass explicit --no-gpg-sign to merge
      t3435: add tests for rebase -r GPG signing

Sean Barag (7):
      clone: add tests for --template and some disallowed option pairs
      clone: use more conventional config/option layering
      remote: add tests for add and rename with invalid names
      refs: consolidate remote name validation
      clone: validate --origin option before use
      clone: read new remote name from remote_name instead of option_origin
      clone: allow configurable default for `-o`/`--origin`

Sergey Organov (2):
      doc/diff-options: fix out of place mentions of '--patch/-p'
      glossary: improve "branch" definition

Sibo Dong (1):
      git-prompt.sh: localize `option` in __git_ps1_show_upstream

Simão Afonso (1):
      crendential-store: use timeout when locking file

Sohom Datta (1):
      userdiff: expand detected chunk headers for css

Srinidhi Kaushik (3):
      push: add reflog check for "--force-if-includes"
      push: parse and set flag for "--force-if-includes"
      t, doc: update tests, reference for "--force-if-includes"

Taylor Blau (5):
      builtin/repack.c: keep track of what pack-objects wrote
      builtin/repack.c: don't move existing packs out of the way
      packfile.c: protect against disappearing indexes
      midx.c: protect against disappearing packs
      builtin/bugreport.c: use thread-safe localtime_r()

Thomas Koutcher (1):
      credential: load default config

Victor Engmark (1):
      userdiff: support Bash

brian m. carlson (1):
      svn: use correct variable name for short OID

Ævar Arnfjörð Bjarmason (8):
      remote: add meaningful exit code on missing/existing
      config.mak.uname: remove unused the NO_R_TO_GCC_LINKER flag
      config.mak.uname: remove unused NEEDS_SSL_WITH_CURL flag
      submodule: use "fetch" logic instead of custom remote discovery
      submodule: remove sh function in favor of helper
      parse-remote: remove this now-unused library
      gc docs: change --keep-base-pack to --keep-largest-pack
      gc: rename keep_base_pack variable for --keep-largest-pack

Štěpán Němec (1):
      config.txt: fix a typo (backslash != backquote)


Version v2.29.3; changes since v2.29.2:
---------------------------------------

Johannes Schindelin (14):
      run-command: invalidate lstat cache after a command finished
      Git 2.17.6
      Git 2.18.5
      Git 2.19.6
      Git 2.20.5
      Git 2.21.4
      Git 2.22.5
      Git 2.23.4
      Git 2.24.4
      Git 2.25.5
      Git 2.26.3
      Git 2.27.1
      Git 2.28.1
      Git 2.29.3

Matheus Tavares (2):
      checkout: fix bug that makes checkout follow symlinks in leading path
      unpack_trees(): start with a fresh lstat cache


Version v2.29.2; changes since v2.29.1:
---------------------------------------

Christian Couder (1):
      filter-branch doc: fix filter-repo typo

Jeff King (3):
      t3436: check --committer-date-is-author-date result more carefully
      am: fix broken email with --committer-date-is-author-date
      rebase: fix broken email with --committer-date-is-author-date

Junio C Hamano (1):
      Git 2.29.2


Version v2.29.1; changes since v2.29.0:
---------------------------------------

Johannes Schindelin (1):
      SKIP_DASHED_BUILT_INS: do not skip the bin/ programs

Junio C Hamano (1):
      Git 2.29.1


Version v2.29.0; changes since v2.29.0-rc2:
-------------------------------------------

Alessandro Menti (2):
      l10n: it.po: update the Italian translation for Git 2.29.0 round 1
      l10n: it.po: update the Italian translation

Alexander Shopov (1):
      l10n: bg.po: Updated Bulgarian translation (5013t)

Daniel Santos (2):
      l10n: Portuguese translation team has changed. Wohoo!
      l10n: pt_PT: make on po/pt_PT.po

Emir Sarı (2):
      l10n: tr: v2.29.0 round 1
      l10n: tr: v2.29.0 round 2

Jean-Noël Avila (2):
      l10n: fr: v2.29.0 rnd 1
      l10n: fr: v2.29.0 rnd 2

Jiang Xin (3):
      l10n: git.pot: v2.29.0 round 1 (124 new, 42 removed)
      l10n: git.pot: v2.29.0 round 2 (1 new, 1 removed)
      l10n: zh_CN: for git v2.29.0 l10n round 1 and 2

Jordi Mas (1):
      l10n: Update Catalan translation

Junio C Hamano (1):
      Git 2.29

Matthias Rüster (1):
      l10n: de.po: Update German translation for Git 2.29.0

Peter Krefting (1):
      l10n: sv.po: Update Swedish translation (5013t0f0u)

Serg Tereshchenko (2):
      git-gui: fix mixed tabs and spaces; prefer tabs
      git-gui: improve dark mode support

Stefan Haller (1):
      git-gui: blame: prevent tool tips from sticking around after Command-Tab

Trần Ngọc Quân (1):
      l10n: vi(5013t): Updated translation for v2.29.0 rd2

Yi-Jyun Pan (1):
      l10n: zh_TW.po: v2.29.0 round 2 (2 untranslated)


Version v2.29.0-rc2; changes since v2.29.0-rc1:
-----------------------------------------------

Junio C Hamano (1):
      Git 2.29-rc2


Version v2.29.0-rc1; changes since v2.29.0-rc0:
-----------------------------------------------

Denton Liu (2):
      compat/mingw.h: drop extern from function declaration
      Makefile: ASCII-sort += lists

Jean-Noël Avila (4):
      git-bisect-lk2009: make continuation of list indented
      doc: use linkgit macro where needed.
      doc: git-remote fix ups
      doc: fix the bnf like style of some commands

Jeff King (2):
      index-pack: restore "resolving deltas" progress meter
      index-pack: drop type_cas mutex

Johannes Schindelin (6):
      GitHub workflow: automatically follow minor updates of setup-msbuild
      help: do not expect built-in commands to be hardlinked
      t1415: avoid using `main` as ref name
      tests: avoid using the branch name `main`
      ci: skip GitHub workflow runs for already-tested commits/trees
      ci: do not skip tagged revisions in GitHub workflows

Jonathan Tan (1):
      index-pack: make get_base_data() comment clearer

Junio C Hamano (1):
      Git 2.29-rc1

Đoàn Trần Công Danh (1):
      t5534: split stdout and stderr redirection


Version v2.29.0-rc0; changes since v2.28.1:
-------------------------------------------

Aaron Lipman (12):
      t6030: modernize "git bisect run" tests
      rev-list: allow bisect and first-parent flags
      cmd_bisect__helper: defer parsing no-checkout flag
      bisect: introduce first-parent flag
      bisect: combine args passed to find_bisection()
      bisect: add first-parent option to documentation
      t3200: clean side effect of git checkout --orphan
      t3201: test multiple branch filter combinations
      Doc: cover multiple contains/no-contains filters
      ref-filter: allow merged and no-merged filters
      ref-filter: make internal reachable-filter API more precise
      Doc: prefer more specific file name

Adrian Moennich (1):
      ci: fix inconsistent indentation

Alban Gruin (1):
      t6300: fix issues related to %(contents:size)

Alex Henrie (1):
      pull: don't warn if pull.ff has been set

Alex Riesen (1):
      fetch: pass --ipv4 and --ipv6 options to sub-fetches

Andrei Rybak (1):
      git-help.txt: fix mentions of option --guides

Antti Keränen (1):
      rebase -i: fix possibly wrong onto hash in todo

Beat Bolli (1):
      gitk: rename "commit summary" to "commit reference"

Ben Wijen (1):
      git clone: don't clone into non-empty directory

Chris Torek (1):
      git-mv: improve error message for conflicted file

Christian Couder (4):
      Documentation: clarify %(contents:XXXX) doc
      t6300: test refs pointing to tree and blob
      ref-filter: add support for %(contents:size)
      bisect: don't use invalid oid as rev when starting

Christian Schlack (1):
      remote: don't show success message when set-head fails

Conor Davis (1):
      commit-graph-format.txt: fix no-parent value

Danny Lin (2):
      contrib/subtree: fix "unsure" for --message in the document
      contrib/subtree: document 'push' does not take '--squash'

Denton Liu (11):
      t3701: stop using `env` in force_color()
      t5324: reorder `run_with_limited_open_files test_might_fail`
      t7107: don't use test_must_fail()
      t9834: remove use of `test_might_fail p4`
      t9400: don't use test_must_fail with cvs
      test-lib-functions: restrict test_must_fail usage
      contrib/completion: complete options that take refs for format-patch
      hooks--pre-push.sample: modernize script
      hooks--pre-push.sample: use hash-agnostic zero OID
      hooks--update.sample: use hash-agnostic zero OID
      gitk: replace tabs with spaces

Derrick Stolee (22):
      commit-graph: place bloom_settings in context
      commit-graph: change test to die on parse, not load
      bloom: fix logic in get_bloom_filter()
      commit-graph: persist existence of changed-paths
      revision.c: fix whitespace
      multi-pack-index: repack batches below --batch-size
      t/README: document GIT_TEST_DEFAULT_HASH
      commit-graph: use the "hash version" byte
      multi-pack-index: use hash version byte
      bloom/diff: properly short-circuit on max_changes
      maintenance: create basic maintenance runner
      maintenance: add --quiet option
      maintenance: replace run_auto_gc()
      maintenance: initialize task array
      maintenance: add commit-graph task
      maintenance: add --task option
      maintenance: take a lock on the objects directory
      maintenance: create maintenance.<task>.enabled config
      maintenance: use pointers to check --auto
      maintenance: add auto condition for commit-graph task
      maintenance: add trace2 regions for task execution
      commit-reach: fix in_merge_bases_many bug

Drew DeVault (1):
      git-send-email: die if sendmail.* config is set

Edmundo Carmona Antoranz (1):
      blame.c: replace instance of !oidcmp for oideq

Elijah Newren (26):
      Remove doubled words in various comments
      hashmap: fix typo in usage docs
      merge-recursive: fix unclear and outright wrong comments
      t6038: make tests fail for the right reason
      t6038: remove problematic test
      merge: make merge.renormalize work for all uses of merge machinery
      checkout: support renormalization with checkout -m <paths>
      Collect merge-related tests to t64xx
      t6418: tighten delete/normalize conflict testcase
      t6422: fix bad check against missing file
      t6416, t6422: fix incorrect untracked file count
      t6423: fix test setup for a couple tests
      t6422: fix multiple errors with the mod6 test expectations
      t6416, t6423: clarify some comments and fix some typos
      t6423: add an explanation about why one of the tests does not pass
      t6422, t6426: be more flexible for add/add conflicts involving renames
      t642[23]: be more flexible for add/add conflicts involving pair renames
      t6425: be more flexible with rename/delete conflict messages
      t3000: fix some test description typos
      dir: avoid prematurely marking nonbare repositories as matches
      sequencer: avoid garbled merge machinery messages due to commit labels
      mem-pool: add convenience functions for strdup and strndup
      mem-pool: use more standard initialization and finalization
      mem-pool: use consistent pool variable name
      dir: make clear_directory() free all relevant memory
      dir: fix problematic API to avoid memory leaks

Emily Shaffer (1):
      Revert "contrib: subtree: adjust test to change in fmt-merge-msg"

Eric Huber (1):
      gitk: Preserve window dimensions on exit when not using ttk themes

Eric Sunshine (22):
      worktree: drop pointless strbuf_release()
      worktree: drop unused code from get_linked_worktree()
      worktree: drop bogus and unnecessary path munging
      worktree: retire special-case normalization of main worktree path
      git-worktree.txt: employ fixed-width typeface consistently
      git-worktree.txt: consistently use term "working tree"
      git-worktree.txt: fix minor grammatical issues
      git-worktree.txt: make start of new sentence more obvious
      git-worktree.txt: link to man pages when citing other Git commands
      test_cmp: diagnose incorrect arguments
      init: disallow --separate-git-dir with bare repository
      worktree: add skeleton "repair" command
      worktree: teach "repair" to fix worktree back-links to main worktree
      worktree: teach "repair" to fix outgoing links to worktrees
      init: teach --separate-git-dir to repair linked worktrees
      init: make --separate-git-dir work from within linked worktree
      git-checkout.txt: document -d short option for --detach
      worktree: teach `add` to recognize -d as shorthand for --detach
      git-worktree.txt: discuss branch-based vs. throwaway worktrees
      diff: move show_interdiff() from its own file to diff-lib
      diff-lib: tighten show_interdiff()'s interface
      format-patch: use 'origin' as start of current-series-range when known

Evan Gates (1):
      Doc: show example scissors line

Han Xin (1):
      send-pack: run GPG after atomic push checking

Han-Wen Nienhuys (17):
      lib-t6000.sh: write tag using git-update-ref
      t3432: use git-reflog to inspect the reflog for HEAD
      bisect: treat BISECT_HEAD as a pseudo ref
      t1400: use git rev-parse for testing PSEUDOREF existence
      Modify pseudo refs through ref backend storage
      Make HEAD a PSEUDOREF rather than PER_WORKTREE.
      refs: move the logic to add \t to reflog to the files backend
      refs: split off reading loose ref data in separate function
      refs: fix comment about submodule ref_stores
      refs: move gitdir into base ref_store
      refs: read FETCH_HEAD and MERGE_HEAD generically
      refs: make refs_ref_exists public
      sequencer: treat CHERRY_PICK_HEAD as a pseudo ref
      builtin/commit: suggest update-ref for pseudoref removal
      sequencer: treat REVERT_HEAD as a pseudo ref
      refs: move REF_LOG_ONLY to refs-internal.h
      refs: add GIT_TRACE_REFS debugging mechanism

Hariom Verma (10):
      t6300: unify %(trailers) and %(contents:trailers) tests
      ref-filter: 'contents:trailers' show error if `:` is missing
      ref-filter: support different email formats
      ref-filter: refactor `grab_objectname()`
      ref-filter: modify error messages in `grab_objectname()`
      ref-filter: rename `objectname` related functions and fields
      ref-filter: add `short` modifier to 'tree' atom
      ref-filter: add `short` modifier to 'parent' atom
      pretty: refactor `format_sanitized_subject()`
      ref-filter: add `sanitize` option for 'subject' atom

Hugo Locurcio (1):
      bisect: swap command-line options in documentation

Jacob Keller (4):
      refspec: fix documentation referring to refspec_item
      refspec: make sure stack refspec_item variables are zeroed
      refspec: add support for negative refspecs
      format-patch: teach format.useAutoBase "whenAble" option

Jeff Hostetler (1):
      mingw: improve performance of mingw_unlink()

Jeff King (80):
      t6000: use test_tick consistently
      t9700: loosen ident timezone regex
      t5539: make timestamp requirements more explicit
      t9100: explicitly unset GIT_COMMITTER_DATE
      test-lib: set deterministic default author/committer date
      t9100: stop depending on commit timestamps
      verify_repository_format(): complain about new extensions in v0 repo
      argv-array: use size_t for count and alloc
      argv-array: rename to strvec
      strvec: rename files from argv-array to strvec
      quote: rename sq_dequote_to_argv_array to mention strvec
      strvec: convert builtin/ callers away from argv_array name
      strvec: convert more callers away from argv_array name
      strvec: convert remaining callers away from argv_array name
      strvec: fix indentation in renamed calls
      strvec: update documention to avoid argv_array
      strvec: drop argv_array compatibility layer
      log: drop "--cc implies -m" logic
      revision: add "--no-diff-merges" option to counteract "-m"
      log: enable "-m" automatically with "--first-parent"
      doc/git-log: move "Diff Formatting" from rev-list-options
      doc/git-log: drop "-r" diff option
      doc/git-log: move "-t" into diff-options list
      doc/git-log: clarify handling of merge commit diffs
      strvec: rename struct fields
      config: work around gcc-10 -Wstringop-overflow warning
      revision: avoid out-of-bounds read/write on empty pathspec
      revision: avoid leak when preparing bloom filter for "/"
      t5616: use test_i18ngrep for upload-pack errors
      sideband: mark "remote error:" prefix for translation
      t1416: avoid hard-coded sha1 ids
      t8003: check output of coalesced blame
      t8003: factor setup out of coalesce test
      blame: only coalesce lines that are adjacent in result
      Makefile: drop builtins from MSVC pdb list
      make credential helpers builtins
      make git-bugreport a builtin
      make git-fast-import a builtin
      drop vcs-svn experiment
      stop calling UNLEAK() before die()
      ls-remote: simplify UNLEAK() usage
      clear_pattern_list(): clear embedded hashmaps
      submodule--helper: use strbuf_release() to free strbufs
      checkout: fix leak of non-existent branch names
      config: fix leaks from git_config_get_string_const()
      config: drop git_config_get_string_const()
      config: fix leak in git_config_get_expiry_in_days()
      submodule--helper: fix leak of core.worktree value
      p5302: disable thread-count parameter tests by default
      p5302: count up to online-cpus for thread tests
      index-pack: adjust default threading cap
      revision: set rev_input_given in handle_revision_arg()
      worktree: fix leak in check_clean_worktree()
      xrealloc: do not reuse pointer freed by zero-length realloc()
      add-patch: fix inverted return code of repo_read_index()
      add--interactive.perl: specify --no-color explicitly
      packfile: actually set approximate_object_count_valid
      diff-highlight: correctly match blank lines for flush
      bswap.h: drop unaligned loads
      Revert "fast-export: use local array to store anonymized oid"
      shortlog: change "author" variables to "ident"
      protocol: re-enable v2 protocol by default
      shortlog: add grouping option
      trailer: add interface for iterating over commit trailers
      shortlog: match commit trailers with --group
      shortlog: de-duplicate trailer values
      shortlog: rename parse_stdin_ident()
      shortlog: parse trailer idents
      shortlog: allow multiple groups to be specified
      convert: drop unused crlf_action from check_global_conv_flags_eol()
      drop unused argc parameters
      env--helper: write to opt->value in parseopt helper
      assert PARSE_OPT_NONEG in parse-options callbacks
      push: drop unused repo argument to do_push()
      sequencer: drop repository argument from run_git_commit()
      sparse-checkout: fill in some options boilerplate
      test-advise: check argument count with argc instead of argv
      sequencer: handle ignore_footer when parsing trailers
      dir.c: drop unused "untracked" from treat_path_fast()
      combine-diff: handle --find-object in multitree code path

Jiang Xin (10):
      transport: not report a non-head push as a branch
      t5411: add basic test cases for proc-receive hook
      receive-pack: add new proc-receive hook
      receive-pack: feed report options to post-receive
      New capability "report-status-v2" for git-push
      doc: add document for capability report-status-v2
      receive-pack: new config receive.procReceiveRefs
      t5411: test updates of remote-tracking branches
      transport: parse report options for tracking refs
      doc: add documentation for the proc-receive hook

Johannes Berg (2):
      pack-write/docs: update regarding pack naming
      docs: commit-graph: fix some whitespace in the diagram

Johannes Schindelin (20):
      t3404: prepare 'short SHA-1 collision' tests for SHA-256
      ci: fix indentation of the `ci-config` job
      ci: avoid ugly "failure" in the `ci-config` job
      t/test-terminal: avoid non-inclusive language
      fast-export: avoid using unnecessary language in a code comment
      t3200: avoid variations of the `master` branch name
      msvc: copy the correct `.pdb` files in the Makefile target `install`
      Optionally skip linking/copying the built-ins
      ci: stop linking built-ins to the dashed versions
      cmake: ignore files generated by CMake as run in Visual Studio
      tests: avoid variations of the `master` branch name
      t9902: avoid using the branch name `master`
      cmake: do find Git for Windows' shell interpreter
      cmake: ensure that the `vcpkg` packages are found on Windows
      cmake: fall back to using `vcpkg`'s `msgfmt.exe` on Windows
      cmake: quote the path accurately when editing `test-lib.sh`
      cmake (Windows): let the `.dll` files be found when running the tests
      cmake (Windows): complain when encountering an unknown compiler
      cmake (Windows): initialize vcpkg/build dependencies automatically
      cmake (Windows): recommend using Visual Studio's built-in CMake support

Johannes Sixt (1):
      gitk: Un-hide selection in areas with non-default background color

Jonathan Tan (32):
      upload-pack: do not lazy-fetch "have" objects
      pack-objects: refactor to oid_object_info_extended
      pack-objects: prefetch objects to be packed
      sha1-file: make pretend_object_file() not prefetch
      sha1-file: introduce no-lazy-fetch has_object()
      apply: do not lazy fetch when applying binary
      pack-objects: no fetch when allow-{any,promisor}
      fsck: do not lazy fetch known non-promisor object
      negotiator/noop: add noop fetch negotiator
      fetch: allow refspecs specified through stdin
      fetch: avoid reading submodule config until needed
      fetch: only populate existing_refs if needed
      fetch-pack: do not lazy-fetch during ref iteration
      promisor-remote: lazy-fetch objects in subprocess
      fetch-pack: remove no_dependents code
      fetch-pack: in partial clone, pass --promisor
      Documentation: deltaBaseCacheLimit is per-thread
      index-pack: remove redundant parameter
      index-pack: unify threaded and unthreaded code
      index-pack: remove redundant child field
      index-pack: calculate {ref,ofs}_{first,last} early
      index-pack: make resolve_delta() assume base data
      (various): document from_promisor parameter
      fetch-pack: document only_packfile in get_pack()
      fetch-pack: make packfile URIs work with transfer.fsckobjects
      fetch: no FETCH_HEAD display if --no-write-fetch-head
      sha1-name: replace unsigned int with option struct
      refs: move dwim_ref() to header file
      wt-status: tolerate dangling marks
      index-pack: make quantum of work smaller
      promisor-remote: remove unused variable
      fetch: do not override partial clone filter

Junio C Hamano (49):
      gitk: be prepared to be run in a bare repository
      reflog: cleanse messages in the refs.c layer
      Revert "fmt-merge-msg: stop treating `master` specially"
      fmt-merge-msg: allow merge destination to be omitted again
      First batch post 2.28
      The second batch -- mostly minor typofixes
      Third batch
      Fourth batch
      Documentation: don't hardcode command categories twice
      compat-util: type-check parameters of no-op replacement functions
      Fifth batch
      Sixth batch
      Seventh batch
      messages: avoid SHA-1 in end-user facing messages
      Eighth batch
      fetch: optionally allow disabling FETCH_HEAD update
      Ninth batch
      ident: say whose identity is missing when giving user.name hint
      Tenth batch
      t3436: do not run git-merge-recursive in dashed form
      transport-helper: do not run git-remote-ext etc. in dashed form
      cvsexportcommit: do not run git programs in dashed form
      run_command: teach API users to use embedded 'args' more
      credential-cache: use child_process.args
      Eleventh batch
      doc: clarify how exit status of post-checkout hook is used
      Twelfth batch
      Thirteenth batch
      add -i: use the built-in version when feature.experimental is set
      Makefile: allow extra tweaking of distribution tarball
      Fourteenth batch
      quote_path: rename quote_path_relative() to quote_path()
      quote_path: give flags parameter to quote_path()
      quote_path: optionally allow quoting a path with SP in it
      quote_path: code clarification
      wt-status: consistently quote paths in "status --short" output
      quote: rename misnamed sq_lookup[] to cq_lookup[]
      quote: turn 'nodq' parameter into a set of flags
      Fifteenth batch
      Sixteenth batch
      t8013: minimum preparatory clean-up
      blame: validate and peel the object names on the ignore list
      t1506: rev-parse A..B and A...B
      sequencer: stop abbreviating stopped-sha file
      Seventeenth batch
      Eighteenth batch
      hashmap_for_each_entry(): workaround MSVC's runtime check failure #3
      Nineteenth batch
      Git 2.29-rc0

Kazuhiro Kato (1):
      gitk: fix branch name encoding error

Kyohei Kadota (1):
      Fit to Plan 9's ANSI/POSIX compatibility layer

Lin Sun (1):
      mergetool: allow auto-merge for meld to follow the vim-diff behavior

Luke Diamand (2):
      git-p4 unshelve: adding a commit breaks git-p4 unshelve
      git-p4: use HEAD~$n to find parent commit for unshelve

Martin Ågren (19):
      dir: check pathspecs before returning `path_excluded`
      t1450: fix quoting of NUL byte when corrupting pack
      t: don't spuriously close and reopen quotes
      t4104: modernize and simplify quoting
      progress: don't dereference before checking for NULL
      http-protocol.txt: document SHA-256 "want"/"have" format
      index-format.txt: document SHA-256 index format
      protocol-capabilities.txt: clarify "allow-x-sha1-in-want" re SHA-256
      shallow.txt: document SHA-256 shallow format
      Documentation: mark `--object-format=sha256` as experimental
      wt-status: replace sha1 mentions with oid
      wt-status: print to s->fp, not stdout
      wt-status: introduce wt_status_state_free_buffers()
      worktree: inline `worktree_ref()` into its only caller
      worktree: update renamed variable in comment
      worktree: rename copy-pasted variable
      worktree: use skip_prefix to parse target
      config/fmt-merge-msg.txt: drop space in quote
      config/uploadpack.txt: fix typo in `--filter=tree:<n>`

Matheus Tavares (4):
      checkout_entry(): remove unreachable error() call
      config: complain about --worktree outside of a git repo
      packfile: fix race condition on unpack_entry()
      packfile: fix memory leak in add_delta_base_cache()

Matthew Rogers (1):
      diff: teach --stat to ignore uninteresting modifications

Michael Forney (2):
      revision: use repository from rev_info when parsing commits
      submodule: use submodule repository when preparing summary

Michal Privoznik (1):
      completion: add show --color-moved[-ws]

Miriam Rubio (4):
      bisect--helper: BUG() in cmd_*() on invalid subcommand
      bisect--helper: use '-res' in 'cmd_bisect__helper' return
      bisect--helper: introduce new `write_in_file()` function
      bisect: call 'clear_commit_marks_all()' in 'bisect_next_all()'

Nikita Leonov (1):
      credential: treat CR/LF as line endings in the credential protocol

Noam Yorav-Raphael (1):
      docs: improve the example that illustrates git-notes path names

Orgad Shaneh (5):
      vcbuild: fix library name for expat with make MSVC=1
      vcbuild: fix batch file name in README
      fetch: do not look for submodule changes in unchanged refs
      submodule: suppress checking for file name and ref ambiguity for object ids
      contrib/buildsystems: fix expat library name for generated vcxproj

Patrick Steinhardt (2):
      refs: fix interleaving hook calls with reference-transaction hook
      refs: remove lookup cache for reference-transaction hook

Paul Mackerras (1):
      gitk: Resize panes correctly when reducing window size

Philippe Blain (19):
      git-log.txt: add links to 'rev-list' and 'diff' docs
      revisions.txt: describe 'rev1 rev2 ...' meaning for ranges
      git-rev-list.txt: fix Asciidoc syntax
      git-rev-list.txt: tweak wording in set operations
      git-rev-list.txt: move description to separate file
      git-log.txt: include rev-list-description.txt
      command-list.txt: add missing 'gitcredentials' and 'gitremote-helpers'
      help: drop usage of 'common' and 'useful' for guides
      git.txt: add list of guides
      fetch, pull doc: correct description of '--set-upstream'
      userdiff: add tests for Fortran xfuncname regex
      userdiff: improve Fortran xfuncname regex
      git-imap-send.txt: don't duplicate 'Examples' sections
      git-imap-send.txt: do verify SSL certificate for gmail.com
      git-imap-send.txt: add note about localized Gmail folders
      doc: mention GIT_SEQUENCE_EDITOR and 'sequence.editor' more
      git.txt: correct stale 'GIT_EXTERNAL_DIFF' description
      Makefile: add support for generating JSON compilation database
      gitsubmodules doc: invoke 'ls-files' with '--recurse-submodules'

Phillip Wood (7):
      add -p: use ALLOC_GROW_BY instead of ALLOW_GROW
      add -p: fix checking of user input
      am: stop exporting GIT_COMMITTER_DATE
      rebase -i: support --committer-date-is-author-date
      rebase -i: support --ignore-date
      add -p: fix memory leak
      add -p: fix editing of intent-to-add paths

Pranit Bauva (2):
      bisect--helper: reimplement `bisect_autostart` shell function in C
      bisect--helper: reimplement `bisect_next` and `bisect_auto_next` shell functions in C

Prathamesh Chavan (1):
      submodule: port submodule subcommand 'summary' from shell to C

Raymond E. Pasco (6):
      apply: allow "new file" patches on i-t-a entries
      blame-options.txt: document --first-parent option
      apply: make i-t-a entries never match worktree
      t4140: test apply with i-t-a paths
      diff-lib: use worktree mode in diffs from i-t-a entries
      git-apply.txt: update descriptions of --cached, --index

René Scharfe (21):
      read-cache: remove bogus shortcut
      grep: avoid using oid_to_hex() with parse_object_or_die()
      bisect: use oid_to_hex_r() instead of memcpy()+oid_to_hex()
      upload-pack: remove superfluous sigchain_pop() call
      rebase: remove unused function reschedule_last_action
      connected: use buffered I/O to talk to rev-list
      midx: use buffered I/O to talk to pack-objects
      upload-pack: use buffered I/O to talk to rev-list
      patch-id: ignore newline at end of file in diff_flush_patch_id()
      checkout, restore: make pathspec recursive
      read-cache: fix mem-pool allocation for multi-threaded index loading
      push: release strbufs used for refspec formatting
      refspec: add and use refspec_appendf()
      fast-import: use write_pack_header()
      midx: use hashwrite_u8() in write_midx_header()
      pack-bitmap-write: use hashwrite_be32() in write_hash_cache()
      pack-write: use hashwrite_be32() in write_idx_file()
      archive: read short blobs in archive.c::write_archive_entry()
      archive: add --add-file
      Makefile: use git-archive --add-file
      ref-filter: plug memory leak in reach_filter()

Rohit Ashiwal (2):
      rebase -i: add --ignore-whitespace flag
      rebase: add --reset-author-date

Ryan Zoeller (2):
      parse-options: add --git-completion-helper-all
      completion: add GIT_COMPLETION_SHOW_ALL env var

SZEDER Gábor (15):
      tree-walk.c: don't match submodule entries for 'submod/anything'
      commit-graph: fix parsing the Chunk Lookup table
      commit-graph-format.txt: all multi-byte numbers are in network byte order
      commit-slab: add a function to deep free entries on the slab
      diff.h: drop diff_tree_oid() & friends' return value
      commit-graph: clean up #includes
      commit-graph: simplify parse_commit_graph() #1
      commit-graph: simplify parse_commit_graph() #2
      commit-graph: simplify write_commit_graph_file() #1
      commit-graph: simplify write_commit_graph_file() #2
      commit-graph: unify the signatures of all write_graph_chunk_*() functions
      commit-graph: simplify chunk writes into loop
      commit-graph: check chunk sizes after writing
      commit-graph: check all leading directories in changed path Bloom filters
      ci: use absolute PYTHON_PATH in the Linux jobs

Samanta Navarro (1):
      fast-import: fix typo in documentation

Sergey Organov (9):
      revision: fix die() message for "--unpacked="
      revision: change "--diff-merges" option to require parameter
      doc/git-log: describe --diff-merges=off
      t/t4013: add test for --diff-merges=off
      pretty-options.txt: fix --no-abbrev-commit description
      revision: add separate field for "-m" of "diff-index -m"
      log_tree_diff: get rid of code duplication for first_parent_only
      log_tree_diff: get rid of extra check for NULL
      diff: get rid of redundant 'dense' argument

Shourya Shukla (11):
      submodule: remove extra line feeds between callback struct and macro
      submodule: rename helper functions to avoid ambiguity
      t7421: introduce a test script for verifying 'summary' output
      t7401: modernize style
      t7401: use 'short' instead of 'verify' and cut in rev-parse calls
      t7401: change syntax of test_i18ncmp calls for clarity
      t7401: change indentation for enhanced readability
      t7401: add a NEEDSWORK
      submodule: eliminate unused parameters from print_submodule_summary()
      submodule: fix style in function definition
      t7421: eliminate 'grep' check in t7421.4 for mingw compatibility

Sibi Siddharthan (8):
      Introduce CMake support for configuring Git
      cmake: generate the shell/perl/python scripts and templates, translations
      cmake: installation support for git
      cmake: support for testing git with ctest
      cmake: support for testing git when building out of the source tree
      cmake: support for building git on windows with mingw
      cmake: support for building git on windows with msvc and clang.
      ci: modification of main.yml to use cmake for vs-build job

Simon Legner (1):
      remote-mediawiki: fix duplicate revisions being imported

Stefan Dotterweich (1):
      gitk: add diff lines background colors

Steve Kemp (1):
      comment: fix spelling mistakes inside comments

Taylor Blau (18):
      revision: empty pathspecs should not use Bloom filters
      list_objects_filter_options: introduce 'list_object_filter_config_name'
      upload-pack.c: allow banning certain object filter(s)
      upload-pack.c: introduce 'uploadpackfilter.tree.maxDepth'
      builtin/repack.c: invalidate MIDX only when necessary
      midx: traverse the local MIDX first
      commit-graph: introduce 'get_bloom_filter_settings()'
      t4216: use an '&&'-chain
      commit-graph: pass a 'struct repository *' in more places
      t/helper/test-read-graph.c: prepare repo settings
      commit-graph: respect 'commitGraph.readChangedPaths'
      commit-graph.c: store maximum changed paths
      bloom: split 'get_bloom_filter()' in two
      bloom: use provided 'struct bloom_filter_settings'
      bloom: encode out-of-bounds filters as non-empty
      commit-graph: rename 'split_commit_graph_opts'
      builtin/commit-graph.c: introduce '--max-new-filters=<n>'
      commit-graph: introduce 'commitGraph.maxNewFilters'

Theodore Dubois (1):
      submodule update: silence underlying merge/rebase with "--quiet"

Thomas Guyot-Sionnest (1):
      diff: fix modified lines stats with --stat and --numstat

brian m. carlson (48):
      remote-curl: make --force-with-lease work with non-ASCII ref names
      t: make test-bloom initialize repository
      t1001: use $ZERO_OID
      t3305: make hash agnostic
      t6100: make hash size independent
      t6101: make hash size independent
      t6301: make hash size independent
      t6500: specify test values for SHA-256
      t6501: avoid hard-coded objects
      t7003: compute appropriate length constant
      t7063: make hash size independent
      t7201: abstract away SHA-1-specific constants
      t7102: abstract away SHA-1-specific constants
      t7400: make hash size independent
      t7405: make hash size independent
      t7506: avoid checking for SHA-1-specific constants
      t7508: use $ZERO_OID instead of hard-coded constant
      t8002: make hash size independent
      t8003: make hash size independent
      t8011: make hash size independent
      t9300: abstract away SHA-1-specific constants
      t9300: use $ZERO_OID instead of hard-coded object ID
      t9301: make hash size independent
      t9350: make hash size independent
      t9500: ensure that algorithm info is preserved in config
      t9700: make hash size independent
      t5308: make test work with SHA-256
      t0410: mark test with SHA1 prerequisite
      http-fetch: set up git directory before parsing pack hashes
      builtin/verify-pack: implement an --object-format option
      bundle: add new version for use with SHA-256
      setup: add support for reading extensions.objectformat
      repository: enable SHA-256 support by default
      t: add test_oid option to select hash algorithm
      t: allow testing different hash algorithms via environment
      t: make SHA1 prerequisite depend on default hash
      ci: run tests with SHA-256
      docs: add documentation for extensions.objectFormat
      t: remove test_oid_init in tests
      git-cvsexportcommit: support Perl before 5.10.1
      docs: document SHA-256 pack and indices
      docs: fix step in transition plan
      t4013: improve diff-post-processor logic
      po: add missing letter for French message
      docs: explain why squash merges are broken with long-running branches
      docs: explain why reverts are not always applied on merge
      docs: explain how to deal with files that are always modified
      builtin/clone: avoid failure with GIT_DEFAULT_HASH

pudinha (2):
      mergetool--lib: improve support for vimdiff-style tool variants
      mergetools: add support for nvimdiff (neovim) family

Ákos Uzonyi (2):
      completion: use "prev" variable instead of introducing "prevword"
      completion: complete refs after 'git restore -s'

Ævar Arnfjörð Bjarmason (17):
      remote-mediawiki doc: correct link to GitHub project
      remote-mediawiki doc: link to MediaWiki's current version
      remote-mediawiki doc: don't hardcode Debian PHP versions
      remote-mediawiki tests: use the login/password variables
      remote-mediawiki tests: use a 10 character password
      remote-mediawiki tests: use test_cmp in tests
      remote-mediawiki tests: change `[]` to `test`
      remote-mediawiki tests: use "$dir/" instead of "$dir."
      remote-mediawiki tests: use a more idiomatic dispatch table
      remote-mediawiki tests: replace deprecated Perl construct
      remote-mediawiki tests: use inline PerlIO for readability
      remote-mediawiki tests: use CLI installer
      remote-mediawiki tests: annotate failing tests
      remote-mediawiki: provide a list form of run_git()
      remote-mediawiki: convert to quoted run_git() invocation
      remote-mediawiki: annotate unquoted uses of run_git()
      remote-mediawiki: use "sh" to eliminate unquoted commands

Đoàn Trần Công Danh (1):
      diff: index-line: respect --abbrev in object's name

Роман Донченко (2):
      gitk: don't highlight files after submodules as submodules
      gitk: fix the context menu not appearing in the presence of submodule diffs


Version v2.28.1; changes since v2.28.0:
---------------------------------------

Johannes Schindelin (13):
      run-command: invalidate lstat cache after a command finished
      Git 2.17.6
      Git 2.18.5
      Git 2.19.6
      Git 2.20.5
      Git 2.21.4
      Git 2.22.5
      Git 2.23.4
      Git 2.24.4
      Git 2.25.5
      Git 2.26.3
      Git 2.27.1
      Git 2.28.1

Matheus Tavares (2):
      checkout: fix bug that makes checkout follow symlinks in leading path
      unpack_trees(): start with a fresh lstat cache


Version v2.28.0; changes since v2.28.0-rc2:
-------------------------------------------

Alessandro Menti (1):
      l10n: it.po: update the Italian translation for Git 2.28.0 round 1

Bojun Chen (1):
      githooks.txt: use correct "reference-transaction" hook name

Christopher Diaz Riveros (1):
      l10n: es: 2.28.0 round 1

Emir Sarı (1):
      l10n: tr: v2.28.0 round 1

Jean-Noël Avila (1):
      l10n: fr v2.28.0 round 1

Jiang Xin (2):
      l10n: git.pot: v2.28.0 round 1 (70 new, 14 removed)
      l10n: zh_CN: for git v2.28.0 l10n round 1

Jordi Mas (1):
      l10n: Update Catalan translation

Junio C Hamano (1):
      Git 2.28

Matthias Rüster (1):
      l10n: de.po: Update German translation for Git v2.28.0

Peter Krefting (1):
      l10n: sv.po: Update Swedish translation (4931t0f0u)

Ralf Thielow (1):
      l10n: de.po: fix grammar

Taylor Blau (1):
      Documentation/RelNotes: fix a typo in 2.28's relnotes

Trần Ngọc Quân (1):
      l10n: vi.po(4931t): Updated translation for v2.28.0

Yi-Jyun Pan (1):
      l10n: zh_TW.po: v2.28.0 round 1 (0 untranslated)

Đoàn Trần Công Danh (1):
      l10n: vi.po: correct "ident line" translation


Version v2.28.0-rc2; changes since v2.28.0-rc1:
-----------------------------------------------

David J. Malan (1):
      git-prompt: change == to = for zsh's sake

Junio C Hamano (2):
      RelNotes: update the v0 with extension situation
      Git 2.28-rc2

Martin Ågren (2):
      gitworkflows.txt: fix broken subsection underline
      t3200: don't grep for `strerror()` string

Mikhail Terekhov (1):
      git-gui: allow opening work trees from the startup dialog


Version v2.28.0-rc1; changes since v2.28.0-rc0:
-----------------------------------------------

Jonathan Nieder (2):
      Revert "check_repository_format_gently(): refuse extensions for old repositories"
      repository: allow repository format upgrade with extensions

Junio C Hamano (2):
      Hopefully the last batch before -rc1
      Git 2.28-rc1

Martin Ågren (2):
      git-diff.txt: don't mark required argument as optional
      git-diff.txt: reorder possible usages

SZEDER Gábor (3):
      commit-graph: fix progress of reachable commits
      commit-graph: fix "Writing out commit graph" progress counter
      commit-graph: fix "Collecting commits from input" progress line

Trygve Aaberge (2):
      Wait for child on signal death for aliases to builtins
      Wait for child on signal death for aliases to externals


Version v2.28.0-rc0; changes since v2.27.1:
-------------------------------------------

Abhishek Kumar (4):
      object: drop parsed_object_pool->commit_count
      commit-graph: introduce commit_graph_data_slab
      commit: move members graph_pos, generation to a slab
      commit-graph: minimize commit_graph_data_slab access

Andrew Ng (1):
      merge: optimization to skip evaluate_result for single strategy

Ben Keene (1):
      git-p4.py: fix --prepare-p4-only error with multiple commits

Carlo Marcelo Arenas Belón (5):
      t/helper: teach test-regex to report pattern errors (like REG_ILLSEQ)
      t4210: detect REG_ILLSEQ dynamically and skip affected tests
      bisect--helper: avoid segfault with bad syntax in `start --term-*`
      t5608: avoid say() and use "skip_all" instead for consistency
      commit-reach: avoid is_descendant_of() shim

Chris Torek (3):
      t/t3430: avoid undefined git diff behavior
      git diff: improve range handling
      Documentation: usage for diff combined commits

Christian Couder (40):
      upload-pack: remove unused 'wants' from upload_pack_data
      upload-pack: move {want,have}_obj to upload_pack_data
      upload-pack: move 'struct upload_pack_data' around
      upload-pack: use 'struct upload_pack_data' in upload_pack()
      upload-pack: pass upload_pack_data to get_common_commits()
      upload-pack: pass upload_pack_data to receive_needs()
      upload-pack: use upload_pack_data writer in receive_needs()
      upload-pack: move symref to upload_pack_data
      upload-pack: pass upload_pack_data to send_ref()
      upload-pack: pass upload_pack_data to check_non_tip()
      upload-pack: remove static variable 'stateless_rpc'
      upload-pack: pass upload_pack_data to create_pack_file()
      upload-pack: use upload_pack_data fields in receive_needs()
      upload-pack: annotate upload_pack_data fields
      upload-pack: move static vars to upload_pack_data
      upload-pack: move use_sideband to upload_pack_data
      upload-pack: move filter_capability_requested to upload_pack_data
      upload-pack: move multi_ack to upload_pack_data
      upload-pack: change multi_ack to an enum
      upload-pack: pass upload_pack_data to upload_pack_config()
      upload-pack: move keepalive to upload_pack_data
      upload-pack: move allow_filter to upload_pack_data
      upload-pack: move allow_ref_in_want to upload_pack_data
      upload-pack: move allow_sideband_all to upload_pack_data
      upload-pack: move pack_objects_hook to upload_pack_data
      upload-pack: pass upload_pack_data to send_shallow_list()
      upload-pack: pass upload_pack_data to deepen()
      upload-pack: pass upload_pack_data to deepen_by_rev_list()
      upload-pack: pass upload_pack_data to send_unshallow()
      upload-pack: move shallow_nr to upload_pack_data
      upload-pack: move extra_edge_obj to upload_pack_data
      upload-pack: move allow_unadvertised_object_request to upload_pack_data
      upload-pack: change allow_unadvertised_object_request to an enum
      upload-pack: pass upload_pack_data to process_haves()
      upload-pack: pass upload_pack_data to send_acks()
      upload-pack: pass upload_pack_data to ok_to_give_up()
      upload-pack: pass upload_pack_data to got_oid()
      upload-pack: move oldest_have to upload_pack_data
      upload-pack: refactor common code into do_got_oid()
      cat-file: add missing [=<format>] to usage/synopsis

Denton Liu (18):
      lib-submodule-update: add space after function name
      lib-submodule-update: consolidate --recurse-submodules
      remote-curl: fix typo
      remote-curl: remove label indentation
      transport: extract common fetch_pack() call
      pkt-line: extern packet_length()
      remote-curl: error on incomplete packet
      pkt-line: define PACKET_READ_RESPONSE_END
      stateless-connect: send response end packet
      t/README: avoid poor-man's small caps GIT
      CodingGuidelines: specify Python 2.7 is the oldest version
      lib-submodule-update: prepend "git" to $command
      t3200: rename "expected" to "expect"
      t3200: test for specific errors
      branch: don't mix --edit-description
      builtin/diff: update usage comment
      builtin/diff: fix botched update of usage comment
      lib-submodule-update: pass 'test_must_fail' as an argument

Derrick Stolee (3):
      line-log: integrate with changed-path Bloom filters
      commit-reach: create repo_is_descendant_of()
      commit-reach: use fast logic in repo_in_merge_base

Don Goodman-Wilson (1):
      init: allow setting the default for the initial branch name via the config

Elijah Newren (11):
      fast-import: add new --date-format=raw-permissive format
      sparse-checkout: avoid staging deletions of all files
      dir: fix treatment of negated pathspecs
      git-sparse-checkout: clarify interactions with submodules
      dir: fix a few confusing comments
      dir, clean: avoid disallowed behavior
      clean: consolidate handling of ignored parameters
      clean: optimize and document cases where we recurse into subdirectories
      wt-status: show sparse checkout status as well
      git-prompt: document how in-progress operations affect the prompt
      git-prompt: include sparsity state as well

Emily Shaffer (3):
      help: add shell-path to --build-options
      bugreport: include user interactive shell
      docs: mention MyFirstContribution in more places

Eric Sunshine (10):
      worktree: factor out repeated string literal
      worktree: give "should be pruned?" function more meaningful name
      worktree: make high-level pruning re-usable
      worktree: prune duplicate entries referencing same worktree path
      worktree: prune linked worktree referencing main worktree path
      worktree: generalize candidate worktree path validation
      worktree: make "move" refuse to move atop missing registered worktree
      worktree: drop get_worktrees() special-purpose sorting option
      worktree: drop get_worktrees() unused 'flags' argument
      worktree: avoid dead-code in conditional

Han-Wen Nienhuys (5):
      refs.h: clarify reflog iteration order
      t: use update-ref and show-ref to reading/writing refs
      refs: improve documentation for ref iterator
      reftable: clarify how empty tables should be written
      reftable: define version 2 of the spec to accomodate SHA256

Jacob Keller (16):
      completion: add test showing subpar git switch completion
      completion: add tests showing subpar DWIM logic for switch/checkout
      completion: add tests showing subar checkout --detach logic
      completion: add tests showing subpar switch/checkout --track logic
      completion: add tests showing subpar -c/-C startpoint completion
      completion: add tests showing subpar -c/C argument completion
      completion: add tests showing subpar switch/checkout --orphan logic
      completion: replace overloaded track term for __git_complete_refs
      completion: extract function __git_dwim_remote_heads
      completion: perform DWIM logic directly in __git_complete_refs
      completion: improve handling of DWIM mode for switch/checkout
      completion: improve completion for git switch with no options
      completion: improve handling of --detach in checkout
      completion: improve handling of --track in switch/checkout
      completion: improve handling of -c/-C and -b/-B in switch/checkout
      completion: improve handling of --orphan option of switch/checkout

Jeff King (14):
      diff: discard blob data from stat-unmatched pairs
      upload-pack: actually use some upload_pack_data bitfields
      t9351: derive anonymized tree checks from original repo
      fast-export: use xmemdupz() for anonymizing oids
      fast-export: store anonymized oids as hex strings
      fast-export: tighten anonymize_mem() interface to handle only strings
      fast-export: stop storing lengths in anonymized hashmaps
      fast-export: use a flex array to store anonymized entries
      fast-export: move global "idents" anonymize hashmap into function
      fast-export: add a "data" callback parameter to anonymize_str()
      fast-export: allow seeding the anonymized mapping
      fast-export: anonymize "master" refname
      fast-export: use local array to store anonymized oid
      diff: check for merge bases before assigning sym->base

Jiuyang Xie (1):
      doc: fix wrong 4-byte length of pkt-line message

Johannes Schindelin (16):
      checkout -p: handle new files correctly
      clone/fetch: anonymize URLs in the reflog
      msvc: fix "REG_STARTEND" issue
      fmt-merge-msg: stop treating `master` specially
      send-pack/transport-helper: avoid mentioning a particular branch
      submodule: fall back to remote's HEAD for missing remote.<name>.branch
      docs: add missing diamond brackets
      init: allow specifying the initial branch name for the new repository
      clone: use configured default branch name when appropriate
      remote: use the configured default branch name when appropriate
      testsvn: respect `init.defaultBranch`
      docs: adjust for the recent rename of `pu` to `seen`
      docs: adjust the technical overview for the rename `pu` -> `seen`
      tests: reference `seen` wherever `pu` was referenced
      diff-files --raw: show correct post-image of intent-to-add files
      difftool -d: ensure that intent-to-add files are handled correctly

John Lin (1):
      bash-completion: add git-prune into bash completion

Jonathan Nieder (3):
      config: let feature.experimental imply protocol.version=2
      reftable: file format documentation
      experimental: default to fetch.writeCommitGraph=false

Jonathan Tan (12):
      t5551: test that GIT_TRACE_CURL redacts password
      http, imap-send: stop using CURLOPT_VERBOSE
      http: redact all cookies, teach GIT_TRACE_REDACT=0
      http: use --stdin when indexing dumb HTTP pack
      http: refactor finish_http_pack_request()
      http-fetch: refactor into function
      http-fetch: support fetching packfiles by URL
      Documentation: order protocol v2 sections
      Documentation: add Packfile URIs design doc
      upload-pack: refactor reading of pack-objects out
      fetch-pack: support more than one pack lockfile
      upload-pack: send part of packfile response as uri

Josh Steadmon (1):
      fuzz-commit-graph: properly free graph struct

Junio C Hamano (8):
      Start the post 2.27 cycle
      The second batch
      The third batch
      The fourth batch
      The fifth batch
      The sixth batch
      The seventh batch
      Git 2.28-rc0

Laurent Arnoud (1):
      diff: add config option relative

Luc Van Oostenryck (1):
      sparse: allow '{ 0 }' to be used without warnings

Marco Trevisan (Treviño) (1):
      completion: use native ZSH array pattern matching

Martin Ågren (1):
      git-rebase.txt: fix description list separator

Matheus Tavares (1):
      entry: check for fstat() errors after checkout

Miroslav Koškár (1):
      doc: fix author vs. committer copy/paste error

Paolo Bonzini (1):
      t4014: do not use "slave branch" nomenclature

Patrick Steinhardt (1):
      refs: implement reference transaction hook

Rafael Aquini (1):
      send-email: restore --in-reply-to superseding behavior

Ramsay Jones (1):
      upload-pack: fix a sparse '0 as NULL pointer' warning

Randall S. Becker (2):
      bugreport.c: replace strbuf_write_fd with write_in_full
      strbuf: remove unreferenced strbuf_write_fd method.

René Scharfe (10):
      fsck: fix a typo in a comment
      t1450: increase test coverage of in-tree d/f detection
      t1450: demonstrate undetected in-tree d/f conflict
      fsck: detect more in-tree d/f conflicts
      checkout: add tests for -b and --track
      checkout: improve error messages for -b with extra argument
      commit-reach: plug minor memory leak after using is_descendant_of()
      pull: plug minor memory leak after using is_descendant_of()
      revision: reallocate TOPO_WALK object flags
      revision: disable min_age optimization with line-log

SZEDER Gábor (4):
      line-log: remove unused fields from 'struct line_log_data'
      t4211-line-log: add tests for parent oids
      line-log: more responsive, incremental 'git log -L'
      line-log: try to use generation number-based topo-ordering

Shourya Shukla (1):
      submodule: port subcommand 'set-branch' from shell to C

Srinidhi Kaushik (1):
      diff-files: treat "i-t-a" files as "not-in-index"

Taylor Blau (11):
      commit-graph.c: extract 'refs_cb_data'
      commit-graph.c: show progress of finding reachable commits
      commit-graph.c: peel refs in 'add_ref_to_set'
      builtin/commit-graph.c: extract 'read_one_commit()'
      builtin/commit-graph.c: dereference tags in builtin
      commit-graph.c: simplify 'fill_oids_from_commits'
      t5318: reorder test below 'graph_read_expect'
      commit-graph: drop COMMIT_GRAPH_WRITE_CHECK_OIDS flag
      t5318: use 'test_must_be_empty'
      t5318: test that '--stdin-commits' respects '--[no-]progress'
      commit.c: don't persist substituted parents when unshallowing

Ville Skyttä (2):
      completion: don't override given stash subcommand with -p
      completion: nounset mode fixes

Xin Li (4):
      repository: add a helper function to perform repository format upgrade
      fetch: allow adding a filter after initial clone
      sparse-checkout: upgrade repository to version 1 when enabling extension
      check_repository_format_gently(): refuse extensions for old repositories

brian m. carlson (61):
      t1050: match object ID paths in a hash-insensitive way
      Documentation: document v1 protocol object-format capability
      builtin/checkout: simplify metadata initialization
      t2060: add a test for switch with --orphan and --discard-changes
      connect: have ref processing code take struct packet_reader
      wrapper: add function to compare strings with different NUL termination
      remote: advertise the object-format capability on the server side
      connect: add function to parse multiple v1 capability values
      connect: add function to fetch value of a v2 server capability
      pkt-line: add a member for hash algorithm
      transport: add a hash algorithm member
      connect: add function to detect supported v1 hash functions
      send-pack: detect when the server doesn't support our hash
      connect: make parse_feature_value extern
      fetch-pack: detect when the server doesn't support our hash
      connect: detect algorithm when fetching refs
      builtin/receive-pack: detect when the server doesn't support our hash
      docs: update remote helper docs for object-format extensions
      transport-helper: implement object-format extensions
      remote-curl: implement object-format extensions
      builtin/clone: initialize hash algorithm properly
      t5562: pass object-format in synthesized test data
      fetch-pack: parse and advertise the object-format capability
      setup: set the_repository's hash algo when checking format
      t3200: mark assertion with SHA1 prerequisite
      packfile: compute and use the index CRC offset
      t5302: modernize test formatting
      builtin/show-index: provide options to determine hash algo
      t1302: expect repo format version 1 for SHA-256
      Documentation/technical: document object-format for protocol v2
      connect: pass full packet reader when parsing v2 refs
      connect: parse v2 refs with correct hash algorithm
      serve: advertise object-format capability for protocol v2
      t5500: make hash independent
      builtin/ls-remote: initialize repository based on fetch
      remote-curl: detect algorithm for dumb HTTP by size
      builtin/index-pack: add option to specify hash algorithm
      t1050: pass algorithm to index-pack when outside repo
      remote-curl: avoid truncating refs with ls-remote
      t/helper: initialize the repository for test-sha1-array
      t5702: offer an object-format capability in the test
      t5703: use object-format serve option
      t5704: send object-format capability with SHA-256
      t5300: pass --object-format to git index-pack
      bundle: detect hash algorithm when reading refs
      remote-testgit: adapt for object-format
      t9109: make test hash independent
      t9168: make test hash independent
      t9108: make test hash independent
      t9100: make test work with SHA-256
      t9104: make hash size independent
      t9101: make hash independent
      t/lib-git-svn: make hash size independent
      perl: create and switch variables for hash constants
      perl: make Git::IndexInfo work with SHA-256
      perl: make SVN code hash independent
      git-svn: set the OID length based on hash algorithm
      git-cvsserver: port to SHA-256
      git-cvsimport: port to SHA-256
      git-cvsexportcommit: port to SHA-256
      http-push: ensure unforced pushes fail when data would be lost

Đoàn Trần Công Danh (1):
      contrib: subtree: adjust test to change in fmt-merge-msg


Version v2.27.1; changes since v2.27.0:
---------------------------------------

Johannes Schindelin (12):
      run-command: invalidate lstat cache after a command finished
      Git 2.17.6
      Git 2.18.5
      Git 2.19.6
      Git 2.20.5
      Git 2.21.4
      Git 2.22.5
      Git 2.23.4
      Git 2.24.4
      Git 2.25.5
      Git 2.26.3
      Git 2.27.1

Matheus Tavares (2):
      checkout: fix bug that makes checkout follow symlinks in leading path
      unpack_trees(): start with a fresh lstat cache


Version v2.27.0; changes since v2.27.0-rc2:
-------------------------------------------

Alessandro Menti (2):
      l10n: it.po: update the Italian translation for Git 2.27.0 round 1
      l10n: it.po: update for Git 2.27.0 round #2

Alexander Shopov (2):
      l10n: bg.po: Updated Bulgarian translation (4868t)
      l10n: bg.po: Updated Bulgarian translation (4875t)

Carlo Marcelo Arenas Belón (1):
      t: avoid alternation (not POSIX) in grep's BRE

Christopher Diaz Riveros (1):
      l10n: es: 2.27.0 round 1

Emir Sarı (2):
      l10n: tr: v2.27.0 round 1
      l10n: tr: v2.27.0 round 2

Jan Engelhardt (1):
      l10n: de.po: Fix typo in the German translation of octopus

Jean-Noël Avila (2):
      l10n: fr v2.27.0 rnd 1
      l10n: fr.po v2.27.0 rnd 2

Jiang Xin (3):
      l10n: git.pot: v2.27.0 round 1 (72 new, 37 removed)
      l10n: git.pot: v2.27.0 round 2 (+1)
      l10n: zh_CN: for git v2.27.0 l10n round 1~2

Jordi Mas (3):
      l10n: Update Catalan translation
      l10n: Update Catalan translation
      l10n: Update Catalan translation

Junio C Hamano (1):
      Git 2.27

Martin Ågren (1):
      rev-list-options.txt: start a list for `show-pulls`

Matthias Rüster (1):
      l10n: de.po: Update German translation for Git 2.27.0

Peter Krefting (2):
      l10n: sv.po: Update Swedish translation (4839t0f0u)
      l10n: sv.po: Update Swedish translation (4875t0f0u)

Toon Claes (1):
      Documentation: correct hash environment variable

Trần Ngọc Quân (2):
      l10n: vi(4874t): Updated Vietnamses translation for 2.27.0
      l10n: vi(4875t): Updated Vietnamses translation for 2.27.0rd2

Yi-Jyun Pan (2):
      l10n: zh_TW.po: v2.27.0 round 1 (0 untranslated)
      l10n: zh_TW.po: v2.27.0 round 2 (0 untranslated)

Đoàn Trần Công Danh (1):
      ci/config: correct instruction for CI preferences


Version v2.27.0-rc2; changes since v2.27.0-rc1:
-----------------------------------------------

Ansgar Röber (1):
      Subject: git-gui: fix syntax error because of missing semicolon

Carlo Marcelo Arenas Belón (3):
      t4216: avoid unnecessary subshell in test_bloom_filters_not_used
      t5520: avoid alternation in grep's BRE (not POSIX)
      bisect: avoid tailing CR characters from revision in replay

Derrick Stolee (1):
      fsck: use ERROR_MULTI_PACK_INDEX

Greg Price (1):
      tests: skip small-stack tests on hppa architecture

Ismael Luceno (1):
      git-gui: Handle Ctrl + BS/Del in the commit msg

Jonathan Tan (1):
      t4067: make rename detection test output raw diff

Junio C Hamano (2):
      Hopefully final batch before 2.27-rc2
      Git 2.27-rc2

Martin Ågren (5):
      date-formats.txt: fix list continuation
      git-commit-graph.txt: fix grammo
      git-commit-graph.txt: fix list rendering
      git-credential.txt: use list continuation
      git-sparse-checkout.txt: add missing '

Philippe Blain (1):
      command-list.txt: add gitfaq to the list of guides

Todd Zullinger (1):
      gitfaq: avoid validation error with older asciidoc

Đoàn Trần Công Danh (1):
      t5703: replace "grep -a" usage by perl


Version v2.27.0-rc1; changes since v2.27.0-rc0:
-----------------------------------------------

Abhishek Kumar (1):
      commit-slab-decl.h: update include guard

Carlo Marcelo Arenas Belón (1):
      compat: remove gmtime

Derrick Stolee (1):
      progress: call trace2_region_leave() only after calling _enter()

Elijah Newren (2):
      merge-recursive: fix rename/rename(1to2) for working tree with a binary
      unpack-trees: also allow get_progress() to work on a different index

Johannes Schindelin (1):
      ci: avoid pounding on the poor ci-artifacts container

Junio C Hamano (4):
      Revert "t/test_lib: avoid naked bash arrays in file_lineno"
      Revert "ci: add a problem matcher for GitHub Actions"
      Revert "tests: when run in Bash, annotate test failures with file name/line number"
      Git 2.27-rc1

Todd Zullinger (1):
      git-bugreport.txt: adjust reference to strftime(3)

Đoàn Trần Công Danh (1):
      t1509: correct i18n test


Version v2.27.0-rc0; changes since v2.26.3:
-------------------------------------------

Alban Gruin (3):
      sequencer: mark messages for translation
      sequencer: don't abbreviate a command if it doesn't have a short form
      t3432: test `--merge' with `rebase.abbreviateCommands = true', too

Alex Henrie (1):
      pull: warn if the user didn't say whether to rebase or to merge

Alexandr Miloslavskiy (4):
      set_git_dir: fix crash when used with real_path()
      real_path: remove unsafe API
      real_path_if_valid(): remove unsafe API
      get_superproject_working_tree(): return strbuf

Andras Kucsma (1):
      run-command: trigger PATH lookup properly on Cygwin

Andrei Rybak (2):
      t9500: remove spaces after redirect operators
      t: fix whitespace around &&

Andrew Oakley (1):
      git-p4: recover from inconsistent perforce history

Ash Holland (1):
      userdiff: support Markdown

Ben Keene (8):
      git-p4: change the expansion test from basestring to list
      git-p4: rewrite prompt to be Windows compatible
      git-p4: create new function run_git_hook
      git-p4: add p4-pre-submit exit text
      git-p4: add --no-verify option
      git-p4: restructure code in submit
      git-p4: add p4 submit hooks
      git-p4: add RCS keyword status message

Carlo Marcelo Arenas Belón (8):
      credential-store: ignore bogus lines from store file
      credential: update description for credential_from_url_gently
      credential: correct order of parameters for credential_match
      builtin/receive-pack: avoid generic function name hmac()
      t/t0000-basic: make sure subtests also use TEST_SHELL_PATH
      t/test_lib: avoid naked bash arrays in file_lineno
      credential: update gitcredentials documentation
      credential: document protocol updates

Christian Couder (1):
      upload-pack: clear filter_options for each v2 fetch command

Christopher Warrington (1):
      bisect: allow CRLF line endings in "git bisect replay" input

Damien Robert (6):
      midx.c: fix an integer underflow
      doc: list all commands affected by submodule.recurse
      doc: document --recurse-submodules for reset and restore
      doc: explain how to deactivate submodule.recurse completely
      doc: be more precise on (fetch|push).recurseSubmodules
      doc: --recurse-submodules mostly applies to active submodules

Denton Liu (45):
      Makefile: ASCII-sort += lists
      t7600: use test_write_lines()
      Lib-ify fmt-merge-msg
      Lib-ify prune-packed
      t5512: don't use `test_must_fail test_cmp`
      t5512: stop losing git exit code in here-docs
      t5512: stop losing return codes of git commands
      t5550: simplify no matching line check
      t5607: reorder `nongit test_must_fail`
      t5612: don't use `test_must_fail test_cmp`
      t5612: stop losing return codes of git commands
      t5801: teach compare_refs() to accept !
      wrapper: indent with tabs
      sequencer: stop leaking buf
      sequencer: make file exists check more efficient
      sequencer: make read_oneliner() accept flags
      sequencer: configurably warn on non-existent files
      sequencer: make read_oneliner() extern
      rebase: use read_oneliner()
      sequencer: make apply_autostash() accept a path
      sequencer: rename stash_sha1 to stash_oid
      rebase: use apply_autostash() from sequencer.c
      rebase: generify reset_head()
      reset: extract reset_head() from rebase
      rebase: extract create_autostash()
      rebase: generify create_autostash()
      sequencer: extract perform_autostash() from rebase
      sequencer: unlink autostash in apply_autostash()
      sequencer: implement save_autostash()
      sequencer: implement apply_autostash_oid()
      merge: teach --autostash option
      t5520: make test_pull_autostash() accept expect_parent_num
      pull: pass --autostash to merge
      t6030: use test_path_is_missing()
      t7408: replace incorrect uses of test_must_fail
      t7508: don't use `test_must_fail test_cmp`
      t9141: use test_path_is_missing()
      t9160: use test_path_is_missing()
      t9164: use test_must_fail only on git commands
      t9819: don't use test_must_fail with p4
      Use OPT_CALLBACK and OPT_CALLBACK_F
      push: unset PARSE_OPT_OPTARG for --recurse-submodules
      rebase: save autostash entry into stash reflog on --quit
      switch: fix errors and comments related to -c and -C
      Doc: reference the "stash list" in autostash docs

Derrick Stolee (25):
      connected.c: reprepare packs for corner cases
      config: set pack.useSparse=true by default
      pack-objects: flip the use of GIT_TEST_PACK_SPARSE
      clone: document --filter options
      diff: halt tree-diff early after max_changes
      dir: refactor treat_directory to clarify control flow
      commit-graph: fix buggy --expire-time option
      t5319: replace 'touch -m' with 'test-tool chmtime'
      bloom: ignore renames when computing changed paths
      revision: --show-pulls adds helpful merges
      log-tree: make ref_filter_match() a helper method
      log: add log.excludeDecoration config option
      revision: complicated pathspecs disable filters
      tests: write commit-graph with Bloom filters
      blame: use changed-path Bloom filters
      multi-pack-index: close file descriptor after mmap
      bloom: fix whitespace around tab length
      test-bloom: fix usage typo
      sparse-checkout: stop blocking empty workdirs
      unpack-trees: avoid array out-of-bounds error
      multi-pack-index: respect repack.packKeptObjects=false
      bloom: parse commit before computing filters
      Documentation: changed-path Bloom filters use byte words
      bloom: de-duplicate directory entries
      bloom: use num_changes not nr for limit detection

Elijah Newren (37):
      oidset: remove unnecessary include
      unpack-trees: fix minor typo in comment
      unpack-trees: remove unused error type
      unpack-trees: simplify verify_absent_sparse()
      unpack-trees: simplify pattern_list freeing
      t1091: make some tests a little more defensive against failures
      unpack-trees: allow check_updates() to work on a different index
      unpack-trees: do not mark a dirty path with SKIP_WORKTREE
      unpack-trees: pull sparse-checkout pattern reading into a new function
      unpack-trees: add a new update_sparsity() function
      sparse-checkout: use new update_sparsity() function
      sparse-checkout: use improved unpack_trees porcelain messages
      unpack-trees: move ERROR_WOULD_LOSE_SUBMODULE earlier
      unpack-trees: rename ERROR_* fields meant for warnings to WARNING_*
      unpack-trees: split display_error_msgs() into two
      unpack-trees: make sparse path messages sound like warnings
      unpack-trees: provide warnings on sparse updates for unmerged paths too
      unpack-trees: failure to set SKIP_WORKTREE bits always just a warning
      sparse-checkout: provide a new reapply subcommand
      pull: avoid running both merge and rebase
      t7063: more thorough status checking
      t3000: add more testcases testing a variety of ls-files issues
      dir: fix simple typo in comment
      dir: consolidate treat_path() and treat_one_path()
      dir: fix broken comment
      dir: fix confusion based on variable tense
      dir: replace exponential algorithm with a linear one
      dir: include DIR_KEEP_UNTRACKED_CONTENTS handling in treat_directory()
      dir: replace double pathspec matching with single in treat_directory()
      Fix error-prone fill_directory() API; make it only return matches
      completion: fix 'git add' on paths under an untracked directory
      git-rebase.txt: add another hook to the hooks section, and explain more
      sequencer: honor GIT_REFLOG_ACTION
      rebase -i: mark commits that begin empty in todo editor
      rebase: reinstate --no-keep-empty
      rebase: fix an incompatible-options error message
      rebase: display an error if --root and --fork-point are both provided

Emily Shaffer (8):
      help: move list_config_help to builtin/help
      bugreport: add tool to generate debugging info
      bugreport: gather git version and build info
      bugreport: add uname info
      bugreport: add compiler info
      bugreport: drop extraneous includes
      bugreport: collect list of populated hooks
      trace2: log progress time and throughput

Emma Brooks (3):
      format-patch: teach --no-encode-email-headers
      Documentation: explain "mboxrd" pretty format
      gitweb: Recognize *-to and Closes/Fixes trailers

Eric Sunshine (1):
      restore: default to HEAD when combining --staged and --worktree

Garima Singh (13):
      commit-graph: define and use MAX_NUM_CHUNKS
      bloom.c: add the murmur3 hash implementation
      bloom.c: introduce core Bloom filter constructs
      bloom.c: core Bloom filter implementation for changed paths.
      commit-graph: compute Bloom filters for changed paths
      commit-graph: examine commits by generation number
      commit-graph: write Bloom filters to commit graph file
      commit-graph: reuse existing Bloom filters during write
      commit-graph: add --changed-paths option to write subcommand
      revision.c: use Bloom filters to speed up path based revision walks
      revision.c: add trace2 stats around Bloom filter usage
      t4216: add end to end tests for git log with Bloom filters
      commit-graph: add GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS test flag

Hans Jerry Illikainen (2):
      t: increase test coverage of signature verification output
      gpg-interface: prefer check_signature() for GPG verification

Heba Waly (4):
      advice: extract vadvise() from advise()
      advice: change "setupStreamFailure" to "setUpstreamFailure"
      advice: revamp advise API
      tag: use new advice API to check visibility

Jeff King (41):
      t3419: drop EXPENSIVE tests
      t/lib-credential.sh: drop shebang line
      t/lib-*.sh: drop executable bit
      test-lib-functions: make packetize() more efficient
      upload-pack: handle unexpected delim packets
      p5310: stop timing non-bitmap pack-to-disk
      Makefile: avoid running curl-config multiple times
      Makefile: use curl-config --cflags
      test-lib-functions: simplify packetize() stdin code
      commit-graph: examine changed-path objects in pack order
      oid_array: use size_t for count and allocation
      oid_array: use size_t for iteration
      oid_array: rename source file from sha1-array
      test-tool: rename sha1-array to oid-array
      bisect: stop referring to sha1_array
      ref-filter: stop referring to "sha1 array"
      oidset: stop referring to sha1-array
      clone: use "quick" lookup while following tags
      Makefile: avoid running curl-config unnecessarily
      fast-import: replace custom hash with hashmap.c
      repository: mark the "refs" pointer as private
      remote: drop auto-strlen behavior of make_branch() and make_rewrite()
      parse_config_key(): return subsection len as size_t
      config: drop useless length variable in write_pair()
      git_config_parse_key(): return baselen as size_t
      config: use size_t to store parsed variable baselen
      config: reject parsing of files over INT_MAX
      credential: treat "?" and "#" in URLs as end of host
      blame: drop unused parameter from maybe_changed_path
      test-bloom: fix some whitespace issues
      test-bloom: check that we have expected arguments
      commit-graph: close descriptors after mmap
      t0000: disable GIT_TEST_FAIL_PREREQS in sub-tests
      gitcredentials(7): clarify quoting of helper examples
      gitcredentials(7): make shell-snippet example more realistic
      CodingGuidelines: drop arithmetic expansion advice to use "$x"
      ref-filter: apply --ignore-case to all sorting keys
      ref-filter: apply fallback refname sort only after all user sorts
      list-objects-filter: treat NULL filter_options as "disabled"
      pack-bitmap: pass object filter to fill-in traversal
      ci: allow per-branch config for GitHub Actions

Jessica Clarke (1):
      config.mak.uname: Define FREAD_READS_DIRECTORIES for GNU/Hurd

Jiang Xin (5):
      send-pack: fix inconsistent porcelain output
      t5543: never report what we do not push
      send-pack: mark failure of atomic push properly
      transport-helper: mark failure for atomic push
      transport-helper: new method reject_atomic_push()

Johannes Schindelin (36):
      cherry-pick: add test for `--skip` advice in `git commit`
      tests(junit-xml): avoid invalid XML
      import-tars: ignore the global PAX header
      tests(gpg): allow the gpg-agent to start on Windows
      t/lib-gpg.sh: stop pretending to be a stand-alone script
      tests: do not let lazy prereqs inside `test_expect_*` turn off tracing
      tests: turn GPG, GPGSM and RFC1991 into lazy prereqs
      tests: increase the verbosity of the GPG-related prereqs
      MyFirstObjectWalk: remove unnecessary conditional statement
      t0007: fix a typo
      ci/lib: if CI type is unknown, show the environment variables
      ci/lib: allow running in GitHub Actions
      ci: fix the `jobname` of the `GETTEXT_POISON` job
      subtree: fix build with AsciiDoctor 2
      mingw: do not treat `COM0` as a reserved file name
      t3904: fix incorrect demonstration of a bug
      stash -p: (partially) fix bug concerning split hunks
      mingw: help debugging by optionally executing bash with strace
      interactive: refactor code asking the user for interactive input
      ci: run gem with sudo to install asciidoctor
      README: add a build badge for the GitHub Actions runs
      ci: retire the Azure Pipelines definition
      tests: when run in Bash, annotate test failures with file name/line number
      ci: add a problem matcher for GitHub Actions
      ci: let GitHub Actions upload failed tests' directories
      t: consolidate the `is_hidden` functions
      mingw: make test_path_is_hidden more robust
      t: restrict `is_hidden` to be called only on Windows
      credential: fix grammar
      credential: optionally allow partial URLs in credential_from_url_gently()
      credential: optionally allow partial URLs in credential_from_url_gently()
      credential: handle `credential.<partial-URL>.<key>` again
      macOS/brew: let the build find gettext headers/libraries/msgfmt
      push: anonymize URLs in error messages and warnings
      credential: handle `credential.<partial-URL>.<key>` again
      rebase --autosquash: fix a potential segfault

Jonathan Nieder (1):
      Revert "fetch: default to protocol version 2"

Jonathan Tan (11):
      connected: always use partial clone optimization
      promisor-remote: accept 0 as oid_nr in function
      diff: make diff_populate_filespec_options struct
      diff: refactor object read
      diff: restrict when prefetching occurs
      rebase --merge: optionally skip upstreamed commits
      fetch-pack: return enum from process_acks()
      fetch-pack: in protocol v2, in_vain only after ACK
      fetch-pack: in protocol v2, reset in_vain upon ACK
      commit-graph: avoid memory leaks
      t5500: count objects through stderr, not trace

Jorge Lopez Silva (2):
      http: add client cert support for HTTPS proxies
      http: add environment variable support for HTTPS proxies

Josh Steadmon (1):
      trace2: teach Git to log environment variables

Julien Moutinho (1):
      gitweb: fix UTF-8 encoding when using CGI::Fast

Junio C Hamano (26):
      rebase: --fork-point regression fix
      describe: force long format for a name based on a mislocated tag
      update how-to-maintain-git
      parse-options: teach "git cmd -h" to show alias as alias
      clone: reorder --recursive/--recurse-submodules
      log: give --[no-]use-mailmap a more sensible synonym --[no-]mailmap
      separate tar.* config to its own source file
      The first batch post 2.26 cycle
      The second batch post 2.26 cycle
      t/README: suggest how to leave test early with failure
      CodingGuidelines: allow ${#posix} == strlen($posix)
      sha1-name: do not assume that the ref store is initialized
      receive-pack: compilation fix
      The third batch
      The fourth batch
      credential-store: document the file format a bit more
      Revert "commit-graph.c: introduce '--[no-]check-oids'"
      The fifth batch
      The sixth batch
      The seventh batch
      auto-gc: extract a reusable helper from "git fetch"
      auto-gc: pass --quiet down from am, commit, merge and rebase
      CodingGuidelines: do not ==/!= compare with 0 or '\0' or NULL
      The eighth batch
      The ninth batch
      Git 2.27-rc0

Li Xuejiang (1):
      git-submodule.sh: setup uninitialized variables

Martin Ågren (9):
      Doc: drop support for docbook-xsl before 1.71.1
      Doc: drop support for docbook-xsl before 1.72.0
      Doc: drop support for docbook-xsl before 1.73.0
      manpage-bold-literal.xsl: stop using git.docbook.backslash
      manpage-normal.xsl: fold in manpage-base.xsl
      INSTALL: drop support for docbook-xsl before 1.74
      user-manual.conf: don't specify [listingblock]
      config.txt: move closing "----" to cover entire listing
      merge: use skip_prefix to parse config key

Matheus Tavares (3):
      test-lib: allow short options to be bundled
      grep: follow conventions for printing paths w/ unusual chars
      config doc: fix reference to config.worktree info

Matthias Aßhauer (1):
      mingw: use modern strftime implementation if possible

Michael F. Schönitzer (1):
      docs: fix minor glitch in illustration

Nathan Sanders (1):
      mingw: cope with the Isilon network file system

Patrick Steinhardt (9):
      refs: fix segfault when aborting empty transaction
      git-update-ref.txt: add missing word
      strbuf: provide function to append whole lines
      update-ref: organize commands in an array
      update-ref: drop unused argument for `parse_refname`
      update-ref: pass end pointer instead of strbuf
      update-ref: move transaction handling into `update_refs_stdin()`
      update-ref: read commands in a line-wise fashion
      update-ref: implement interactive transaction handling

Philippe Blain (9):
      t7112: remove mention of KNOWN_FAILURE_SUBMODULE_RECURSIVE_NESTED
      t/lib-submodule-update: remove outdated test description
      t/lib-submodule-update: move a test to the right section
      unpack-trees: remove outdated description for verify_clean_submodule
      unpack-trees: check for missing submodule directory in merged_entry
      t/lib-submodule-update: add test removing nested submodules
      git-rebase.txt: fix typo
      pull doc: refer to a specific section in 'fetch' doc
      pull doc: correct outdated description of an example

Phillip Wood (6):
      t3404: use test_cmp_rev
      cherry-pick: check commit error messages
      sequencer: write CHERRY_PICK_HEAD for reword and edit
      commit: use enum value for multiple cherry-picks
      commit: encapsulate determine_whence() for sequencer
      commit: give correct advice for empty commit during a rebase

René Scharfe (4):
      pull: document more passthru options
      pull: remove --update-head-ok from documentation
      pull: pass documented fetch options on
      fsck: report non-consecutive duplicate names in trees

SZEDER Gábor (4):
      ci: use python3 in linux-gcc and osx-gcc and python2 elsewhere
      commit-slab: clarify slabname##_peek()'s return value
      ci: make MAKEFLAGS available inside the Docker container in the Linux32 job
      completion: offer '--(no-)patch' among 'git log' options

Shourya Shukla (4):
      submodule--helper.c: Rename 'cb_foreach' to 'foreach_cb'
      gitfaq: files in .gitignore are tracked
      gitfaq: fetching and pulling a repository
      submodule: port subcommand 'set-url' from shell to C

Son Luong Ngoc (1):
      midx: teach "git multi-pack-index repack" honor "git repack" configurations

Taylor Blau (24):
      t/helper/test-read-graph.c: support commit-graph chains
      builtin/commit-graph.c: support for '--split[=<strategy>]'
      builtin/commit-graph.c: introduce split strategy 'no-merge'
      builtin/commit-graph.c: introduce split strategy 'replace'
      oidset: introduce 'oidset_size'
      commit-graph.h: replace 'commit_hex' with 'commits'
      commit-graph.c: introduce '--[no-]check-oids'
      diff-tree.c: load notes machinery when required
      commit-graph.c: don't use discarded graph_name in error
      t/test-lib.sh: make ULIMIT_FILE_DESCRIPTORS available to tests
      commit-graph.c: gracefully handle file descriptor exhaustion
      t5537: use test_write_lines and indented heredocs for readability
      shallow.c: use '{commit,rollback}_shallow_file'
      tempfile.c: introduce 'create_tempfile_mode'
      lockfile.c: introduce 'hold_lock_file_for_update_mode'
      commit-graph.c: write non-split graphs as read-only
      commit-graph.c: ensure graph layers respect core.sharedRepository
      commit-graph.c: make 'commit-graph-chain's read-only
      commit: make 'commit_graft_pos' non-static
      shallow: extract a header file for shallow-related functions
      shallow.h: document '{commit,rollback}_shallow_file'
      shallow: use struct 'shallow_lock' for additional safety
      pack-bitmap.c: make object filtering functions generic
      pack-bitmap.c: support 'tree:0' filtering

Terry Moschou (1):
      complete: zsh: add missing sub cmd completion candidates

Thomas Gummerer (2):
      stash: get git_stash_config at the top level
      stash: remove the stash.useBuiltin setting

Vasil Dimov (2):
      range-diff: fix a crash in parsing git-log output
      range-diff: avoid negative string precision

Yang Zhao (12):
      git-p4: make python2.7 the oldest supported version
      git-p4: remove string type aliasing
      git-p4: encode/decode communication with p4 for python3
      git-p4: encode/decode communication with git for python3
      git-p4: convert path to unicode before processing them
      git-p4: open .gitp4-usercache.txt in text mode
      git-p4: use marshal format version 2 when sending to p4
      git-p4: fix freezing while waiting for fast-import progress
      git-p4: use functools.reduce instead of reduce
      git-p4: use dict.items() iteration for python3 compatibility
      git-p4: simplify regex pattern generation for parsing diff-tree
      git-p4: use python3's input() everywhere

brian m. carlson (34):
      builtin/pack-objects: make hash agnostic
      hash: implement and use a context cloning function
      hex: introduce parsing variants taking hash algorithms
      hex: add functions to parse hex object IDs in any algorithm
      repository: require a build flag to use SHA-256
      t: use hash-specific lookup tables to define test constants
      t6300: abstract away SHA-1-specific constants
      t6300: make hash algorithm independent
      t/helper/test-dump-split-index: initialize git repository
      t/helper: initialize repository if necessary
      t/helper: make repository tests hash independent
      setup: allow check_repository_format to read repository format
      builtin/init-db: allow specifying hash algorithm on command line
      builtin/init-db: add environment variable for new repo hash
      init-db: move writing repo version into a function
      worktree: allow repository version 1
      commit: use expected signature header for SHA-256
      fast-import: permit reading multiple marks files
      fast-import: add helper function for inserting mark object entries
      fast-import: make find_marks work on any mark set
      fast-import: add a generic function to iterate over marks
      fast-import: add options for rewriting submodules
      builtin/checkout: pass branch info down to checkout_worktree
      convert: permit passing additional metadata to filter processes
      convert: provide additional metadata to filters
      builtin/checkout: compute checkout metadata for checkouts
      builtin/clone: compute checkout metadata for clones
      builtin/rebase: compute checkout metadata for rebases
      builtin/reset: compute checkout metadata for reset
      t0021: test filter metadata for additional cases
      docs: add a FAQ
      builtin/receive-pack: use constant-time comparison for HMAC value
      credential: fix matching URLs with multiple levels in path
      docs: document credential.helper allowed values

luciano.rocha@booking.com (1):
      freshen_file(): use NULL `times' for implicit current-time

Đoàn Trần Công Danh (34):
      t4061: use POSIX compliant regex(7)
      test-lib-functions: test_cmp: eval $GIT_TEST_CMP
      t5003: drop the subshell in test_lazy_prereq
      t5003: skip conversion test if unzip -a is unavailable
      t5616: use rev-parse instead to get HEAD's object_id
      t7063: drop non-POSIX argument "-ls" from find(1)
      t4124: tweak test so that non-compliant diff(1) can also be used
      t5703: feed raw data into test-tool unpack-sideband
      rebase.c: honour --no-gpg-sign
      cherry-pick/revert: honour --no-gpg-sign in all case
      Documentation: document am --no-gpg-sign
      Documentation: reword commit --no-gpg-sign
      Documentation: merge commit-tree --[no-]gpg-sign
      Documentation: document merge option --no-gpg-sign
      ci/lib-docker: preserve required environment variables
      ci/linux32: parameterise command to switch arch
      ci: refactor docker runner script
      ci/linux32: libify install-dependencies step
      travis: build and test on Linux with musl libc and busybox
      ci/lib: set TERM environment variable if not exist
      ci: explicit install all required packages
      ci: configure GitHub Actions for CI/PR
      t4254: merge 2 steps of a single test
      mailinfo.c: avoid strlen on strings that can contains NUL
      mailinfo: disallow NUL character in mail's header
      date.c: s/is_date/set_date/
      date.c: validate and set time in a helper function
      date.c: skip fractional second part of ISO-8601
      date.c: allow compact version of ISO-8601 datetime
      test-parse-pathspec-file.c: s/0/NULL/ for pointer type
      compat/regex: move stdlib.h up in inclusion chain
      graph.c: limit linkage of internal variable
      progress.c: silence cgcc suggestion about internal linkage
      bloom: fix `make sparse` warning

마누엘 (1):
      interactive: explicitly `fflush` stdout before expecting input


Version v2.26.3; changes since v2.26.2:
---------------------------------------

Johannes Schindelin (11):
      run-command: invalidate lstat cache after a command finished
      Git 2.17.6
      Git 2.18.5
      Git 2.19.6
      Git 2.20.5
      Git 2.21.4
      Git 2.22.5
      Git 2.23.4
      Git 2.24.4
      Git 2.25.5
      Git 2.26.3

Matheus Tavares (2):
      checkout: fix bug that makes checkout follow symlinks in leading path
      unpack_trees(): start with a fresh lstat cache


Version v2.26.2; changes since v2.26.1:
---------------------------------------

Jeff King (6):
      t0300: make "quit" helper more realistic
      t0300: use more realistic inputs
      credential: parse URL without host as empty host, not unset
      credential: refuse to operate when missing host or protocol
      credential: die() when parsing invalid urls
      Git 2.17.5

Jonathan Nieder (4):
      fsck: convert gitmodules url to URL passed to curl
      credential: treat URL without scheme as invalid
      credential: treat URL with empty scheme as invalid
      fsck: reject URL with empty host in .gitmodules


Version v2.26.1; changes since v2.26.0:
---------------------------------------

Jeff King (4):
      credential: avoid writing values with newlines
      t/lib-credential: use test_i18ncmp to check stderr
      credential: detect unrepresentable values when parsing urls
      fsck: detect gitmodules URLs with embedded newlines

Junio C Hamano (1):
      Git 2.17.4


Version v2.26.0; changes since v2.26.0-rc2:
-------------------------------------------

Alessandro Menti (2):
      l10n: it.po: update the Italian translation for Git 2.26.0 round 1
      l10n: it.po: update the Italian translation for Git 2.26.0 round 2

Alexander Shopov (2):
      l10n: bg.po: Updated Bulgarian translation (4835t)
      l10n: bg.po: Updated Bulgarian translation (4839t)

Beat Bolli (1):
      unicode: update the width tables to Unicode 13.0

Christian Stimming (3):
      git-gui: update pot template and German translation to current source code
      git-gui: extend translation glossary template with more terms
      git-gui: update German translation

Christopher Diaz Riveros (1):
      l10n: es: 2.26.0 round#2

Elijah Newren (1):
      RelNotes/2.26.0: fix various typos

Emir Sarı (5):
      l10n: tr: Add Turkish translation team info
      l10n: tr: Add Turkish translations
      l10n: tr: Add glossary for Turkish translations
      l10n: tr: v2.26.0 round 2
      l10n: tr: Fix a couple of ambiguities

Fangyi Zhou (1):
      l10n: zh_CN: Revise v2.26.0 translation

Jean-Noël Avila (2):
      l10n: fr v2.26.0 rnd1
      l10n: fr : v2.26.0 rnd 2

Jiang Xin (4):
      l10n: git.pot: v2.26.0 round 1 (73 new, 38 removed)
      l10n: git.pot: v2.26.0 round 2 (7 new, 2 removed)
      l10n: zh_CN: for git v2.26.0 l10n round 1 and 2
      l10n: tr.po: change file mode to 644

Jordi Mas (3):
      l10n: Update Catalan translation
      l10n: Update Catalan translation
      l10n: Update Catalan translation

Junio C Hamano (2):
      Git 2.25.2
      Git 2.26

Luke Bonanomi (1):
      git-gui--askpass: coerce answers to UTF-8 on Windows

Matthias Rüster (1):
      l10n: de.po: Update German translation for Git 2.26.0

Peter Krefting (2):
      l10n: sv.po: Update Swedish translation (4835t0f0u)
      l10n: sv.po: Update Swedish translation (4839t0f0u)

Pratyush Yadav (4):
      git-gui: add missing close bracket
      git-gui: fix error popup when doing blame -> "Show History Context"
      git-gui: reduce Tcl version requirement from 8.6 to 8.5
      git-gui: create a new namespace for chord script evaluation

Ralf Thielow (1):
      l10n: de.po: add missing space

Trần Ngọc Quân (1):
      l10n: vi(4839t): Updated Vietnamese translation for v2.26.0

Yi-Jyun Pan (2):
      l10n: zh_TW.po: v2.26.0 round 1 (11 untranslated)
      l10n: zh_TW.po: v2.26.0 round 2 (0 untranslated)

brian m. carlson (1):
      t3419: prevent failure when run with EXPENSIVE

Đoàn Trần Công Danh (1):
      l10n: vi: fix translation + grammar


Version v2.26.0-rc2; changes since v2.26.0-rc1:
-----------------------------------------------

Elijah Newren (3):
      sequencer: clear state upon dropping a become-empty commit
      git-rebase.txt: highlight backend differences with commit rewording
      t6022, t6046: fix flaky files-are-updated checks

Emily Shaffer (1):
      prefix_path: show gitdir if worktree unavailable

Jeff King (1):
      remote: drop "explicit" parameter from remote_ref_for_branch()

Jiang Xin (1):
      i18n: unmark a message in rebase.c

Junio C Hamano (3):
      Documentation: clarify that `-h` alone stands for `help`
      Hopefully the final batch before -rc2
      Git 2.26-rc2

Martin Ågren (1):
      t1091: don't grep for `strerror()` string


Version v2.26.0-rc1; changes since v2.26.0-rc0:
-----------------------------------------------

Alexandr Miloslavskiy (9):
      doc: rm: synchronize <pathspec> description
      rm: support the --pathspec-from-file option
      doc: stash: split options from description (1)
      doc: stash: split options from description (2)
      doc: stash: document more options
      doc: stash: synchronize <pathspec> description
      stash: eliminate crude option parsing
      stash push: support the --pathspec-from-file option
      mingw: workaround for hangs when sending STDIN

Elijah Newren (6):
      merge-recursive: apply collision handling unification to recursive case
      t602[1236], t6034: modernize test formatting
      t6020, t6022, t6035: update merge tests to use test helper functions
      t3035: prefer test_must_fail to bash negation for git commands
      t6022, t6046: test expected behavior instead of testing a proxy for it
      t6020: new test with interleaved lexicographic ordering of directories

Harald van Dijk (1):
      show_one_mergetag: print non-parent in hex form.

Jeff King (1):
      config.mak.dev: re-enable -Wformat-zero-length

Junio C Hamano (1):
      Git 2.26-rc1

Kir Kolyshkin (1):
      completion: add diff --color-moved[-ws]

Paolo Bonzini (5):
      parse-options: add testcases for OPT_CMDMODE()
      parse-options: convert "command mode" to a flag
      am: convert "resume" variable to a struct
      am: support --show-current-patch=raw as a synonym for--show-current-patch
      am: support --show-current-patch=diff to retrieve .git/rebase-apply/patch

Ralf Thielow (1):
      rebase-interactive.c: silence format-zero-length warnings

Rasmus Jonsson (1):
      t1050: replace test -f with test_path_is_file

René Scharfe (1):
      remote-curl: show progress for fetches over dumb HTTP


Version v2.26.0-rc0; changes since v2.25.5:
-------------------------------------------

Abhishek Kumar (2):
      lib-log-graph: consolidate test_cmp_graph logic
      lib-log-graph: consolidate colored graph cmp logic

Alban Gruin (4):
      rebase -i: stop checking out the tip of the branch to rebase
      sequencer: move check_todo_list_from_file() to rebase-interactive.c
      rebase-interactive: warn if commit is dropped with `rebase --edit-todo'
      builtin/rebase: remove a call to get_oid() on `options.switch_to'

Alexandr Miloslavskiy (5):
      parse_branchname_arg(): extract part as new function
      checkout: don't revert file on ambiguous tracking branches
      t: add tests for error conditions with --pathspec-from-file
      t: fix quotes tests for --pathspec-from-file
      t: directly test parse_pathspec_file()

Benno Evers (1):
      describe: don't abort too early when searching tags

Bert Wesarg (6):
      pull --rebase/remote rename: document and honor single-letter abbreviations rebase types
      remote: clean-up by returning early to avoid one indentation
      remote: clean-up config callback
      remote rename/remove: handle branch.<name>.pushRemote config values
      config: provide access to the current line number
      remote rename/remove: gently handle remote.pushDefault config

Denton Liu (32):
      t/lib-git-p4: use test_path_is_missing()
      t0000: replace test_must_fail with run_sub_test_lib_test_err()
      t0003: use named parameters in attr_check()
      t0003: use test_must_be_empty()
      t0003: don't use `test_must_fail attr_check`
      t0020: don't use `test_must_fail has_cr`
      t0020: use ! check_packed_refs_marked
      t1306: convert `test_might_fail rm` to `rm -f`
      t1307: reorder `nongit test_must_fail`
      t1409: let sed open its own input file
      t1409: use test_path_is_missing()
      t1501: remove use of `test_might_fail cp`
      t1507: stop losing return codes of git commands
      t1507: run commands within test_expect_success
      t1507: inline full_name()
      contrib/credential/netrc: make PERL_PATH configurable
      contrib/credential/netrc: work outside a repo
      t2018: remove trailing space from test description
      t2018: add space between function name and ()
      t2018: improve style of if-statement
      t2018: be more discerning when checking for expected exit codes
      t2018: teach do_checkout() to accept `!` arg
      t2018: don't lose return code of git commands
      t2018: replace "sha" with "oid"
      t3030: use test_path_is_missing()
      t3310: extract common notes_merge_files_gone()
      t3415: stop losing return codes of git commands
      t3415: increase granularity of test_auto_{fixup,squash}()
      t3419: stop losing return code of git command
      t3507: fix indentation
      t3507: use test_path_is_missing()
      t4124: only mark git command with test_must_fail

Derrick Stolee (21):
      graph: add test to demonstrate horizontal line bug
      graph: fix collapse of multiple edges
      t1091: use check_files to reduce boilerplate
      t1091: improve here-docs
      sparse-checkout: create leading directories
      clone: fix --sparse option with URLs
      sparse-checkout: cone mode does not recognize "**"
      sparse-checkout: detect short patterns
      sparse-checkout: warn on globs in cone patterns
      sparse-checkout: properly match escaped characters
      sparse-checkout: write escaped patterns in cone mode
      sparse-checkout: unquote C-style strings over --stdin
      sparse-checkout: use C-style quotes in 'list' subcommand
      sparse-checkout: escape all glob characters on write
      sparse-checkout: improve docs around 'set' in cone mode
      sparse-checkout: fix cone mode behavior mismatch
      sparse-checkout: extract add_patterns_from_input()
      sparse-checkout: extract pattern update from 'set' subcommand
      sparse-checkout: create 'add' subcommand
      sparse-checkout: work with Windows paths
      sparse-checkout: allow one-character directories in cone mode

Elijah Newren (20):
      git-rebase.txt: update description of --allow-empty-message
      t3404: directly test the behavior of interest
      rebase (interactive-backend): make --keep-empty the default
      rebase (interactive-backend): fix handling of commits that become empty
      t3406: simplify an already simple test
      rebase, sequencer: remove the broken GIT_QUIET handling
      rebase: make sure to pass along the quiet flag to the sequencer
      rebase: fix handling of restrict_revision
      t3432: make these tests work with either am or merge backends
      rebase: allow more types of rebases to fast-forward
      git-rebase.txt: add more details about behavioral differences of backends
      rebase: move incompatibility checks between backend options a bit earlier
      rebase: add an --am option
      git-prompt: change the prompt for interactive-based rebases
      rebase: drop '-i' from the reflog for interactive-based rebases
      rebase tests: mark tests specific to the am-backend with --am
      rebase tests: repeat some tests using the merge backend instead of am
      rebase: make the backend configurable via config setting
      rebase: change the default backend from "am" to "merge"
      rebase: rename the two primary rebase backends

Emily Shaffer (5):
      fetch: emphasize failure during submodule fetch
      MyFirstContribution: add avenues for getting help
      MyFirstContribution: rephrase contact info
      submodule--helper: use C99 named initializer
      clone: pass --single-branch during --recurse-submodules

Eric Sunshine (6):
      t3400: make test clean up after itself
      rebase: refuse to switch to branch already checked out elsewhere
      worktree: drop unused code from get_main_worktree()
      worktree: improve find_worktree() documentation
      worktree: add utility to find worktree by pathname
      worktree: don't allow "add" validation to be fooled by suffix matching

Eyal Soha (3):
      color.c: refactor color_output arguments
      color.c: support bright aixterm colors
      color.c: alias RGB colors 8-15 to aixterm colors

Hans Jerry Illikainen (2):
      editorconfig: indent text files with tabs
      gpg-interface: add minTrustLevel as a configuration option

Hariom Verma (4):
      get_main_worktree(): allow it to be called in the Git directory
      t5509: use a bare repository for test push target
      receive.denyCurrentBranch: respect all worktrees
      t2402: test worktree path when called in .git directory

Heba Waly (3):
      add: use advise function to display hints
      git: update documentation for --git-dir
      add: change advice config variables used by the add API

Jeff King (52):
      builtin/pack-objects: report reused packfile objects
      packfile: expose get_delta_base()
      ewah/bitmap: introduce bitmap_word_alloc()
      pack-bitmap: introduce bitmap_walk_contains()
      pack-bitmap: uninteresting oid can be outside bitmapped packfile
      pack-bitmap: simplify bitmap_has_oid_in_uninteresting()
      csum-file: introduce hashfile_total()
      pack-objects: introduce pack.allowPackReuse
      builtin/pack-objects: introduce obj_is_packed()
      pack-objects: improve partial packfile reuse
      pack-objects: add checks for duplicate objects
      pack-bitmap: don't rely on bitmap_git->reuse_objects
      sparse-checkout: fix documentation typo for core.sparseCheckoutCone
      verify_filename(): handle backslashes in "wildcards are pathspecs" rule
      t1400: avoid "test" string comparisons
      t1506: drop space after redirection operator
      doc: drop "explicitly given" from push.default description
      sha1-name: mark get_oid() error messages for translation
      normalize_path_copy(): document "dst" size expectations
      walker_fetch(): avoid raw array length computation
      traverse_trees(): use stack array for name entries
      diff: move diff.wsErrorHighlight to "basic" config
      tree-walk.c: break circular dependency with unpack-trees
      mailinfo: treat header values as C strings
      mailinfo: simplify parsing of header values
      mailinfo: be more liberal with header whitespace
      mailinfo: factor out some repeated header handling
      pack-bitmap: factor out type iterator initialization
      pack-bitmap: fix leak of haves/wants object lists
      rev-list: fallback to non-bitmap traversal when filtering
      pack-bitmap: refuse to do a bitmap traversal with pathspecs
      rev-list: factor out bitmap-optimized routines
      rev-list: make --count work with --objects
      rev-list: allow bitmaps when counting objects
      t5310: factor out bitmap traversal comparison
      rev-list: allow commit-only bitmap traversals
      pack-bitmap: basic noop bitmap filter infrastructure
      rev-list: use bitmap filters for traversal
      bitmap: add bitmap_unset() function
      pack-bitmap: implement BLOB_NONE filtering
      pack-bitmap: implement BLOB_LIMIT filtering
      pack-objects: support filters with bitmaps
      nth_packed_object_oid(): use customary integer return
      pack-objects: read delta base oid into object_id struct
      pack-objects: convert oe_set_delta_ext() to use object_id
      pack-objects: use object_id struct in pack-reuse code
      pack-bitmap: use object_id when loading on-disk bitmaps
      pack-check: convert "internal error" die to a BUG()
      pack-check: push oid lookup into loop
      packed_object_info(): use object_id for returning delta base
      packed_object_info(): use object_id internally for delta base
      packfile: drop nth_packed_object_sha1()

Johannes Schindelin (19):
      built-in add -p: prepare for patch modes other than "stage"
      built-in add -p: implement the "stash" and "reset" patch modes
      legacy stash -p: respect the add.interactive.usebuiltin setting
      built-in stash: use the built-in `git add -p` if so configured
      built-in add -p: implement the "checkout" patch modes
      built-in add -p: implement the "worktree" patch modes
      commit --interactive: make it work with the built-in `add -i`
      t3701: adjust difffilter test
      built-in add -p: support interactive.diffFilter
      built-in add -p: handle diff.algorithm
      terminal: make the code of disable_echo() reusable
      terminal: accommodate Git for Windows' default terminal
      terminal: add a new function to read a single keystroke
      built-in add -p: respect the `interactive.singlekey` config setting
      built-in add -p: handle Escape sequences in interactive.singlekey mode
      built-in add -p: handle Escape sequences more efficiently
      ci: include the built-in `git add -i` in the `linux-gcc` job
      t9001, t9116: avoid pipes
      t5537: adjust test_oid label

Johannes Sixt (1):
      t3504: do check for conflict marker after failed cherry-pick

Jonathan Nieder (9):
      sha1-file: document how to use pretend_object_file
      fetch test: avoid use of "VAR= cmd" with a shell function
      t/check-non-portable-shell: detect "FOO= shell_func", too
      fetch test: mark test of "skipping" haves as v0-only
      fetch test: use more robust test for filtered objects
      config doc: protocol.version is not experimental
      test: request GIT_TEST_PROTOCOL_VERSION=0 when appropriate
      protocol test: let protocol.version override GIT_TEST_PROTOCOL_VERSION
      fetch: default to protocol version 2

Jonathan Tan (2):
      connected: verify promisor-ness of partial clone
      fetch: forgo full connectivity check if --filter

Junio C Hamano (11):
      The first batch post 2.25 cycle
      The second batch
      C: use skip_prefix() to avoid hardcoded string length
      The third batch for 2.26
      The fourth batch for 2.26
      The fifth batch for 2.26
      The sixth batch for 2.26
      rev-list --count: comment on the use of count_right++
      The seventh batch for 2.26
      The eighth batch for 2.26
      Git 2.26-rc0

Kevin Willford (4):
      fsmonitor: change last update timestamp on the index_state to opaque token
      fsmonitor: handle version 2 of the hooks that will use opaque token
      fsmonitor: add fsmonitor hook scripts for version 2
      fsmonitor: update documentation for hook version and watchman hooks

Kyle Meyer (1):
      submodule add: show 'add --dry-run' stderr when aborting

Lucius Hu (1):
      templates: fix deprecated type option `--bool`

Luke Diamand (7):
      git-p4: make closeStreams() idempotent
      git-p4: add P4CommandException to report errors talking to Perforce
      git-p4: disable some pylint warnings, to get pylint output to something manageable
      git-p4: create helper function importRevisions()
      git-p4: cleanup better on error exit
      git-p4: check for access to remote host earlier
      git-p4: avoid leak of file handle when cloning

Martin Ågren (4):
      name-rev: rewrite create_or_update_name()
      t4117: check for files using `test_path_is_file`
      t9810: drop debug `cat` call
      t: drop debug `cat` calls

Matheus Tavares (21):
      grep: fix race conditions on userdiff calls
      grep: fix race conditions at grep_submodule()
      grep: fix racy calls in grep_objects()
      replace-object: make replace operations thread-safe
      object-store: allow threaded access to object reading
      grep: replace grep_read_mutex by internal obj read lock
      submodule-config: add skip_if_read option to repo_read_gitmodules()
      grep: allow submodule functions to run in parallel
      grep: protect packed_git [re-]initialization
      grep: re-enable threads in non-worktree case
      grep: move driver pre-load out of critical section
      grep: use no. of cores as the default no. of threads
      doc: sparse-checkout: mention --cone option
      completion: add support for sparse-checkout
      diff: make diff_populate_filespec() honor its repo argument
      cache-tree: use given repo's hash_algo at verify_one()
      pack-check: use given repo's hash_algo at verify_packfile()
      streaming: allow open_istream() to handle any repo
      sha1-file: pass git_hash_algo to write_object_file_prepare()
      sha1-file: pass git_hash_algo to hash_object_file()
      sha1-file: allow check_object_signature() to handle any repo

Matthew Rogers (10):
      config: fix typo in variable name
      t1300: fix over-indented HERE-DOCs
      t1300: create custom config file without special characters
      config: make scope_name non-static and rename it
      config: split repo scope to local and worktree
      config: clarify meaning of command line scoping
      config: preserve scope in do_git_config_sequence
      config: teach git_config_source to remember its scope
      submodule-config: add subomdule config scope
      config: add '--show-scope' to print the scope of a config value

Miriam Rubio (3):
      bisect--helper: convert `vocab_*` char pointers to char arrays
      bisect: use the standard 'if (!var)' way to check for 0
      bisect: add enum to represent bisect returning codes

Peter Kaestle (3):
      t7400: add a testcase for submodule status on empty dirs
      submodule: fix status of initialized but not cloned submodules
      t7400: testcase for submodule status on unregistered inner git repos

Pranit Bauva (7):
      bisect--helper: return error codes from `cmd_bisect__helper()`
      bisect: libify `exit_if_skipped_commits` to `error_if_skipped*` and its dependents
      bisect: libify `bisect_checkout`
      bisect: libify `check_merge_bases` and its dependents
      bisect: libify `check_good_are_ancestors_of_bad` and its dependents
      bisect: libify `handle_bad_merge_base` and its dependents
      bisect: libify `bisect_next_all`

René Scharfe (20):
      name-rev: remove unused typedef
      name-rev: respect const qualifier
      name-rev: don't leak path copy in name_ref()
      name-rev: don't _peek() in create_or_update_name()
      name-rev: put struct rev_name into commit slab
      name-rev: factor out get_parent_name()
      name-rev: pre-size buffer in get_parent_name()
      name-rev: generate name strings only if they are better
      name-rev: release unused name strings
      name-rev: sort tip names before applying
      strbuf: add and use strbuf_insertstr()
      mailinfo: don't insert header prefix for handle_content_type()
      parse-options: use COPY_ARRAY in parse_options_concat()
      parse-options: factor out parse_options_count()
      parse-options: const parse_options_concat() parameters
      parse-options: simplify parse_options_dup()
      quote: use isalnum() to check for alphanumeric characters
      use strpbrk(3) to search for characters from a given set
      blame: provide type of fingerprints pointer
      commit-graph: use progress title directly

SZEDER Gábor (6):
      t9902-completion: add tests for the __git_find_on_cmdline() helper
      completion: clean up the __git_find_on_cmdline() helper function
      completion: return the index of found word from __git_find_on_cmdline()
      completion: simplify completing 'git worktree' subcommands and options
      completion: list existing working trees for 'git worktree' subcommands
      completion: list paths and refs for 'git worktree add'

Shourya Shukla (2):
      t6025: modernize style
      t6025: use helpers to replace test -f <path>

Tanushree Tumane (2):
      bisect--helper: change `retval` to `res`
      bisect--helper: introduce new `decide_next()` function

Taylor Blau (5):
      t5318: don't pass non-object directory to '--object-dir'
      commit-graph.h: store an odb in 'struct write_commit_graph_context'
      commit-graph.h: store object directory in 'struct commit_graph'
      commit-graph.c: remove path normalization, comparison
      commit-graph.h: use odb in 'load_commit_graph_one_fd_st'

brian m. carlson (46):
      t4054: make hash-size independent
      t4066: compute index line in diffs
      t4134: compute appropriate length constant
      t4200: make hash size independent
      t4202: abstract away SHA-1-specific constants
      t4204: make hash size independent
      t4300: abstract away SHA-1-specific constants
      t5318: update for SHA-256
      t5319: change invalid offset for SHA-256 compatibility
      t5319: make test work with SHA-256
      t5324: make hash size independent
      t5504: make hash algorithm independent
      t5510: make hash size independent
      t5512: abstract away SHA-1-specific constants
      t5530: compute results based on object length
      t5537: make hash size independent
      t5540: make hash size independent
      t5562: use $ZERO_OID
      t5601: switch into repository to hash object
      t5604: make hash independent
      t/lib-pack: support SHA-256
      t3206: make hash size independent
      t3308: make test work with SHA-256
      t3309: make test work with SHA-256
      t3310: make test work with SHA-256
      t3311: make test work with SHA-256
      t4013: make test hash independent
      t4211: move SHA-1-specific test cases into a directory
      t4211: add test cases for SHA-256
      t4060: make test work with SHA-256
      t5302: make hash size independent
      t5309: make test hash independent
      t5313: make test hash independent
      t5321: make test hash independent
      t5515: make test hash independent
      t5318: update for SHA-256
      t5607: make hash size independent
      t5703: make test work with SHA-256
      t6000: abstract away SHA-1-specific constants
      t6006: make hash size independent
      t6024: update for SHA-256
      mailmap: add an additional email address for brian m. carlson
      t1300: add test for urlmatch with multiple wildcards
      t0300: add tests for some additional cases
      credential: use the last matching username in the config
      credential: allow wildcard patterns when matching config


Version v2.25.5; changes since v2.25.4:
---------------------------------------

Johannes Schindelin (10):
      run-command: invalidate lstat cache after a command finished
      Git 2.17.6
      Git 2.18.5
      Git 2.19.6
      Git 2.20.5
      Git 2.21.4
      Git 2.22.5
      Git 2.23.4
      Git 2.24.4
      Git 2.25.5

Matheus Tavares (2):
      checkout: fix bug that makes checkout follow symlinks in leading path
      unpack_trees(): start with a fresh lstat cache


Version v2.25.4; changes since v2.25.3:
---------------------------------------

Jeff King (6):
      t0300: make "quit" helper more realistic
      t0300: use more realistic inputs
      credential: parse URL without host as empty host, not unset
      credential: refuse to operate when missing host or protocol
      credential: die() when parsing invalid urls
      Git 2.17.5

Jonathan Nieder (4):
      fsck: convert gitmodules url to URL passed to curl
      credential: treat URL without scheme as invalid
      credential: treat URL with empty scheme as invalid
      fsck: reject URL with empty host in .gitmodules


Version v2.25.3; changes since v2.25.2:
---------------------------------------

Jeff King (4):
      credential: avoid writing values with newlines
      t/lib-credential: use test_i18ncmp to check stderr
      credential: detect unrepresentable values when parsing urls
      fsck: detect gitmodules URLs with embedded newlines

Junio C Hamano (1):
      Git 2.17.4


Version v2.25.2; changes since v2.25.1:
---------------------------------------

Alexandr Miloslavskiy (1):
      mingw: workaround for hangs when sending STDIN

Beat Bolli (1):
      unicode: update the width tables to Unicode 13.0

David Turner (1):
      git rm submodule: succeed if .gitmodules index stat info is zero

Derrick Stolee (2):
      partial-clone: demonstrate bugs in partial fetch
      partial-clone: avoid fetching when looking for objects

Elijah Newren (4):
      unpack-trees: exit check_updates() early if updates are not wanted
      check-ignore: fix documentation and implementation to match
      t3433: new rebase testcase documenting a stat-dirty-like failure
      merge-recursive: fix the refresh logic in update_file_flags

Emily Shaffer (2):
      prefix_path: show gitdir when arg is outside repo
      prefix_path: show gitdir if worktree unavailable

Harald van Dijk (1):
      show_one_mergetag: print non-parent in hex form.

Jeff King (9):
      merge-recursive: silence -Wxor-used-as-pow warning
      avoid computing zero offsets from NULL pointer
      xdiff: avoid computing non-zero offset from NULL pointer
      obstack: avoid computing offsets from NULL pointer
      index-pack: downgrade twice-resolved REF_DELTA to die()
      doc: move credential helper info into gitcredentials(7)
      doc/config/push: use longer "--" line for preformatted example
      doc-diff: use single-colon rule in rendering Makefile
      run-command.h: fix mis-indented struct member

Johan Herland (2):
      t3305: check notes fanout more carefully and robustly
      notes.c: fix off-by-one error when decreasing notes fanout

Johannes Schindelin (11):
      built-in add -i: do not try to `patch`/`diff` an empty list of files
      built-in add -i: accept open-ended ranges again
      parse_insn_line(): improve error message when parsing failed
      rebase -i: re-fix short SHA-1 collision
      rebase -i: also avoid SHA-1 collisions with missingCommitsCheck
      tests: fix --write-junit-xml with subshells
      t5580: test cloning without file://, test fetching via UNC paths
      mingw: add a helper function to attach GDB to the current process
      t/lib-httpd: avoid using macOS' sed
      ci: prevent `perforce` from being quarantined
      Azure Pipeline: switch to the latest agent pools

Junio C Hamano (4):
      merge-recursive: use subtraction to flip stage
      Documentation: clarify that `-h` alone stands for `help`
      Revert "gpg-interface: prefer check_signature() for GPG verification"
      Git 2.25.2

Philippe Blain (4):
      t7410: rename to t2405-worktree-submodule.sh
      t2405: use git -C and test_commit -C instead of subshells
      t2405: clarify test descriptions and simplify test
      submodule.c: use get_git_dir() instead of get_git_common_dir()


Version v2.25.1; changes since v2.25.0:
---------------------------------------

Denton Liu (2):
      .mailmap: fix erroneous authorship for Johannes Schindelin
      .mailmap: map Yi-Jyun Pan's email

Derrick Stolee (3):
      unpack-trees: correctly compute result count
      clean: demonstrate a bug with pathspecs
      fetch: document and test --refmap=""

Elijah Newren (2):
      string-list: note in docs that callers can specify sorting function
      dir: treat_leading_path() and read_directory_recursive(), round 2

Emily Shaffer (2):
      unpack-trees: watch for out-of-range index position
      submodule: add newline on invalid submodule error

Heba Waly (2):
      commit: honor advice.statusHints when rejecting an empty commit
      doc/gitcore-tutorial: fix prose to match example command

Jacques Bodin-Hullin (1):
      parse-options: lose an unnecessary space in an error message

Jeff King (7):
      restore: invalidate cache-tree when removing entries with --staged
      transport: don't flush when disconnecting stateless-rpc helper
      dir: restructure in a way to avoid passing around a struct dirent
      dir: point treat_leading_path() warning to the right place
      Makefile: use compat regex with SANITIZE=address
      t4018: drop "debugging" cat from hunk-header tests
      t7800: don't rely on reuse_worktree_file()

Johannes Berg (1):
      pack-format: correct multi-pack-index description

Johannes Schindelin (3):
      msvc: accommodate for vcpkg's upgrade to OpenSSL v1.1.x
      ci: ignore rubygems warning in the "Documentation" job
      convert: fix typo

Jonathan Tan (2):
      sha1-file: remove OBJECT_INFO_SKIP_CACHED
      t5616: make robust to delta base change

Junio C Hamano (2):
      .mailmap: fix GGG authoship screwup
      Git 2.25.1

Kyle Meyer (1):
      submodule foreach: replace $path with $sm_path in example

Martin Ågren (2):
      git-filter-branch.txt: wrap "maths" notation in backticks
      diff-options.txt: avoid "regex" overload in example

Masaya Suzuki (1):
      doc: describe Git bundle format

Philippe Blain (1):
      grep: ignore --recurse-submodules if --no-index is given

Ralf Thielow (1):
      submodule.c: mark more strings for translation

brian m. carlson (7):
      run-command: avoid undefined behavior in exists_in_PATH
      docs: use "currently" for the present time
      doc: move author and committer information to git-commit(1)
      docs: expand on possible and recommended user config options
      doc: provide guidance on user.name format
      doc: dissuade users from trying to ignore tracked files
      docs: mention when increasing http.postBuffer is valuable


Version v2.25.0; changes since v2.25.0-rc2:
-------------------------------------------

Alessandro Menti (1):
      l10n: it.po: update the Italian translation for Git 2.25.0

Alexander Shopov (1):
      l10n: bg.po: Updated Bulgarian translation (4800t)

Christopher Diaz Riveros (1):
      l10n: es: 2.25.0 round #1

Jean-Noël Avila (1):
      l10n: fr.po v2.25.0 rnd 1

Jiang Xin (2):
      l10n: git.pot: v2.25.0 round 1 (119 new, 13 removed)
      l10n: zh_CN: for git v2.25.0 l10n round 1

Johannes Schindelin (1):
      mingw: safeguard better against backslashes in file names

Jordi Mas (2):
      l10n: Update Catalan translation
      l10n: Update Catalan translation

Junio C Hamano (2):
      Revert "Merge branch 'ra/rebase-i-more-options'"
      Git 2.25

Martin Ågren (1):
      config/advice.txt: fix description list separator

Matthias Rüster (1):
      l10n: de.po: Update German translation v2.25.0 round 1

Peter Krefting (1):
      l10n: sv.po: Update Swedish translation (4800t0f0u)

Thomas Braun (1):
      l10n: de.po: Reword generation numbers

Trần Ngọc Quân (1):
      l10n: vi(4800t): Updated Vietnamese translation v2.25.0

Yi-Jyun Pan (2):
      l10n: zh_TW: add translation for v2.24.0
      l10n: zh_TW.po: update translation for v2.25.0 round 1


Version v2.25.0-rc2; changes since v2.25.0-rc1:
-----------------------------------------------

Denis Ovsienko (1):
      gitweb: fix a couple spelling errors in comments

Derrick Stolee (6):
      sparse-checkout: list directories in cone mode
      sparse-checkout: document interactions with submodules
      sparse-checkout: use extern for global variables
      commit-graph: prefer default size_mult when given zero
      graph: drop assert() for merge with two collapsing parents
      graph: fix lack of color in horizontal lines

Elijah Newren (1):
      merge-recursive: remove unnecessary oid_eq function

Eric Wong (2):
      packfile: remove redundant fcntl F_GETFD/F_SETFD
      packfile: replace lseek+read with pread

Johannes Berg (1):
      multi-pack-index: correct configuration in documentation

Johannes Schindelin (1):
      mingw: only test index entries for backslashes, not tree entries

Jonathan Gilbert (3):
      git-gui: consolidate naming conventions
      git-gui: update status bar to track operations
      git-gui: revert untracked files by deleting them

Junio C Hamano (2):
      The final batch before -rc2
      Git 2.25-rc2

Kazuhiro Kato (1):
      git gui: fix branch name encoding error

Paul Menzel (1):
      am: document that Date: can appear as an in-body header

Philippe Blain (2):
      doc: log, gitk: document accepted line-log diff formats
      doc: log, gitk: line-log arguments must exist in starting revision

Pratyush Yadav (1):
      git-gui: allow closing console window with Escape

Taylor Blau (1):
      Documentation/git-sparse-checkout.txt: fix a typo

Thomas Menzel (1):
      doc: submodule: fix typo for command absorbgitdirs

Zoli Szabó (1):
      git-gui: allow opening currently selected file in default app


Version v2.25.0-rc1; changes since v2.25.0-rc0:
-----------------------------------------------

Ben Keene (2):
      git-p4: yes/no prompts should sanitize user text
      git-p4: show detailed help when parsing options fail

Ed Maste (1):
      CI: add FreeBSD CI support via Cirrus-CI

Elijah Newren (1):
      rebase: fix saving of --signoff state for am-based rebases

Johannes Schindelin (2):
      mingw: short-circuit the conversion of `/dev/null` to UTF-16
      mingw: refuse paths containing reserved names

Johannes Sixt (1):
      t3008: find test-tool through path lookup

Junio C Hamano (2):
      mailmap: mask accentless variant for Công Danh
      Git 2.25-rc1


Version v2.25.0-rc0; changes since v2.24.4:
-------------------------------------------

Alban Gruin (6):
      sequencer: update `total_nr' when adding an item to a todo list
      sequencer: update `done_nr' when skipping commands in a todo list
      sequencer: move the code writing total_nr on the disk to a new function
      rebase: fill `squash_onto' in get_replay_opts()
      sequencer: directly call pick_commits() from complete_action()
      sequencer: fix a memory leak in sequencer_continue()

Alexandr Miloslavskiy (14):
      parse-options.h: add new options `--pathspec-from-file`, `--pathspec-file-nul`
      pathspec: add new function to parse file
      doc: reset: synchronize <pathspec> description
      reset: support the `--pathspec-from-file` option
      doc: commit: synchronize <pathspec> description
      commit: support the --pathspec-from-file option
      cmd_add: prepare for next patch
      add: support the --pathspec-from-file option
      doc: checkout: remove duplicate synopsis
      doc: checkout: fix broken text reference
      doc: checkout: synchronize <pathspec> description
      doc: restore: synchronize <pathspec> description
      checkout, restore: support the --pathspec-from-file option
      commit: forbid --pathspec-from-file --all

Andreas Schwab (1):
      t7812: add missing redirects

Andrei Rybak (1):
      INSTALL: use existing shell scripts as example

Colin Stolley (1):
      packfile.c: speed up loading lots of packfiles

Daniel Ferreira (2):
      diff: export diffstat interface
      built-in add -i: implement the `status` command

Denton Liu (93):
      format-patch: replace erroneous and condition
      format-patch: use enum variables
      format-patch: teach --cover-from-description option
      rebase: hide --preserve-merges option
      t4108: replace create_file with test_write_lines
      t4108: remove git command upstream of pipe
      t4108: use `test_config` instead of `git config`
      t4108: demonstrate bug in apply
      apply: respect merge.conflictStyle in --3way
      submodule: teach set-url subcommand
      git-diff.txt: document return code of `--no-index`
      completion: learn to complete `git rebase --onto=`
      t4215: use helper function to check output
      argv-array: add space after `while`
      rev-list-options.txt: remove reference to --show-notes
      SubmittingPatches: use generic terms for hash
      pretty-formats.txt: use generic terms for hash
      SubmittingPatches: remove dq from commit reference
      completion: complete `tformat:` pretty format
      revision: make get_revision_mark() return const pointer
      pretty.c: inline initalize format_context
      t4205: cover `git log --reflog -z` blindspot
      pretty: add struct cmt_fmt_map::default_date_mode_type
      pretty: implement 'reference' format
      SubmittingPatches: use `--pretty=reference`
      pretty-options.txt: --notes accepts a ref instead of treeish
      t3206: remove spaces after redirect operators
      t3206: disable parameter substitution in heredoc
      t3206: s/expected/expect/
      t3206: range-diff compares logs with commit notes
      range-diff: output `## Notes ##` header
      range-diff: pass through --notes to `git log`
      format-patch: pass notes configuration to range-diff
      t0000: test multiple local assignment
      t: teach test_cmp_rev to accept ! for not-equals
      t5520: improve test style
      t5520: use sq for test case names
      t5520: let sed open its own input
      t5520: replace test -f with test-lib functions
      t5520: remove spaces after redirect operator
      t5520: use test_line_count where possible
      t5520: replace test -{n,z} with test-lib functions
      t5520: use test_cmp_rev where possible
      t5520: test single-line files by git with test_cmp
      t5520: don't put git in upstream of pipe
      t5520: replace $(cat ...) comparison with test_cmp
      t5520: remove redundant lines in test cases
      t5520: replace `! git` with `test_must_fail git`
      lib-bash.sh: move `then` onto its own line
      apply-one-time-sed.sh: modernize style
      t0014: remove git command upstream of pipe
      t0090: stop losing return codes of git commands
      t3301: stop losing return codes of git commands
      t3600: use test_line_count() where possible
      t3600: stop losing return codes of git commands
      t3600: comment on inducing SIGPIPE in `git rm`
      t4015: stop losing return codes of git commands
      t4015: use test_write_lines()
      t4138: stop losing return codes of git commands
      t5317: stop losing return codes of git commands
      t5317: use ! grep to check for no matching lines
      t5703: simplify one-time-sed generation logic
      t5703: stop losing return codes of git commands
      t7501: remove spaces after redirect operators
      t7501: stop losing return codes of git commands
      t7700: drop redirections to /dev/null
      t7700: remove spaces after redirect operators
      t7700: move keywords onto their own line
      t7700: s/test -f/test_path_is_file/
      doc: replace MARC links with lore.kernel.org
      RelNotes: replace Gmane with real Message-IDs
      doc: replace LKML link with lore.kernel.org
      t7700: consolidate code into test_no_missing_in_packs()
      t7700: consolidate code into test_has_duplicate_object()
      t7700: replace egrep with grep
      t7700: make references to SHA-1 generic
      t7700: stop losing return codes of git commands
      t3400: demonstrate failure with format.useAutoBase
      format-patch: fix indentation
      t4014: use test_config()
      format-patch: teach --no-base
      rebase: fix format.useAutoBase breakage
      t3206: fix incorrect test name
      range-diff: mark pointers as const
      range-diff: clear `other_arg` at end of function
      notes: rename to load_display_notes()
      notes: create init_display_notes() helper
      notes: extract logic into set_display_notes()
      format-patch: use --notes behavior for format.notes
      format-patch: move git_config() before repo_init_revisions()
      config/format.txt: clarify behavior of multiple format.notes
      notes: break set_display_notes() into smaller functions
      notes.h: fix typos in comment

Derrick Stolee (22):
      test-tool: use 'read-graph' helper
      sparse-checkout: create builtin with 'list' subcommand
      sparse-checkout: create 'init' subcommand
      clone: add --sparse mode
      sparse-checkout: 'set' subcommand
      sparse-checkout: add '--stdin' option to set subcommand
      sparse-checkout: create 'disable' subcommand
      sparse-checkout: add 'cone' mode
      sparse-checkout: use hashmaps for cone patterns
      sparse-checkout: init and set in cone mode
      unpack-trees: hash less in cone mode
      unpack-trees: add progress to clear_ce_flags()
      sparse-checkout: sanitize for nested folders
      sparse-checkout: update working directory in-process
      sparse-checkout: use in-process update for disable subcommand
      sparse-checkout: write using lockfile
      sparse-checkout: cone mode should not interact with .gitignore
      sparse-checkout: update working directory in-process for 'init'
      sparse-checkout: check for dirty status
      progress: create GIT_PROGRESS_DELAY
      commit-graph: use start_delayed_progress()
      sparse-checkout: respect core.ignoreCase in cone mode

Dimitriy Ryazantcev (1):
      l10n: minor case fix in 'git branch' '--unset-upstream' description

Dominic Jäger (1):
      merge-strategies: fix typo "reflected to" to "reflected in"

Ed Maste (3):
      t4210: skip i18n tests that don't work on FreeBSD
      userdiff: remove empty subexpression from elixir regex
      sparse-checkout: improve OS ls compatibility

Elia Pinto (1):
      kset.h, tar.h: add missing header guard to prevent multiple inclusion

Elijah Newren (26):
      merge-recursive: clean up get_renamed_dir_portion()
      merge-recursive: fix merging a subdirectory into the root directory
      t604[236]: do not run setup in separate tests
      Documentation: fix a bunch of typos, both old and new
      Fix spelling errors in documentation outside of Documentation/
      git-filter-branch.txt: correct argument name typo
      hashmap: fix documentation misuses of -> versus .
      name-hash.c: remove duplicate word in comment
      t6024: modernize style
      Fix spelling errors in code comments
      Fix spelling errors in comments of testcases
      Fix spelling errors in names of tests
      Fix spelling errors in messages shown to users
      Fix spelling errors in test commands
      sha1dc: fix trivial comment spelling error
      multimail: fix a few simple spelling errors
      Fix spelling errors in no-longer-updated-from-upstream modules
      t3011: demonstrate directory traversal failures
      Revert "dir.c: make 'git-status --ignored' work within leading directories"
      dir: remove stray quote character in comment
      dir: exit before wildcard fall-through if there is no wildcard
      dir: break part of read_directory_recursive() out for reuse
      t3434: mark successful test as such
      dir: fix checks on common prefix directory
      dir: synchronize treat_leading_path() and read_directory_recursive()
      dir: consolidate similar code in treat_directory()

Emily Shaffer (4):
      documentation: add tutorial for object walking
      myfirstcontrib: add 'psuh' to command-list.txt
      myfirstcontrib: add dependency installation step
      myfirstcontrib: hint to find gitgitgadget allower

Erik Chen (1):
      fetch: add trace2 instrumentation

Hans Jerry Illikainen (4):
      gpg-interface: refactor the free-and-xmemdupz pattern
      gpg-interface: limit search for primary key fingerprint
      gpg-interface: prefer check_signature() for GPG verification
      grep: don't return an expression from pcre2_free()

Hariom Verma (2):
      builtin/blame.c: constants into bit shift format
      git-compat-util.h: drop the `PRIuMAX` and other fallback definitions

Heba Waly (22):
      config: move documentation to config.h
      documentation: remove empty doc files
      diff: move doc to diff.h and diffcore.h
      dir: move doc to dir.h
      graph: move doc to graph.h and graph.c
      merge: move doc to ll-merge.h
      sha1-array: move doc to sha1-array.h
      remote: move doc to remote.h and refspec.h
      refs: move doc to refs.h
      attr: move doc to attr.h
      revision: move doc to revision.h
      pathspec: move doc to pathspec.h
      sigchain: move doc to sigchain.h
      cache: move doc to cache.h
      argv-array: move doc to argv-array.h
      credential: move doc to credential.h
      parse-options: add link to doc file in parse-options.h
      run-command: move doc to run-command.h
      trace: move doc to trace.h
      tree-walk: move doc to tree-walk.h
      submodule-config: move doc to submodule-config.h
      trace2: move doc to trace2.h

James Coglan (13):
      graph: automatically track display width of graph lines
      graph: handle line padding in `graph_next_line()`
      graph: reuse `find_new_column_by_commit()`
      graph: reduce duplication in `graph_insert_into_new_columns()`
      graph: remove `mapping_idx` and `graph_update_width()`
      graph: extract logic for moving to GRAPH_PRE_COMMIT state
      graph: example of graph output that can be simplified
      graph: tidy up display of left-skewed merges
      graph: commit and post-merge lines for left-skewed merges
      graph: rename `new_mapping` to `old_mapping`
      graph: smooth appearance of collapsing edges on commit lines
      graph: flatten edges that fuse with their right neighbor
      graph: fix coloring of octopus dashes

James Shubin (1):
      completion: tab-complete "git svn --recursive"

Jean-Noël Avila (2):
      doc: remove non pure ASCII characters
      doc: indent multi-line items in list

Jeff Hostetler (1):
      trace2: add region in clear_ce_flags

Jeff King (37):
      parse_commit_buffer(): treat lookup_commit() failure as parse error
      parse_commit_buffer(): treat lookup_tree() failure as parse error
      parse_tag_buffer(): treat NULL tag pointer as parse error
      commit, tag: don't set parsed bit for parse failures
      fsck: stop checking commit->tree value
      fsck: stop checking commit->parent counts
      fsck: stop checking tag->tagged
      fsck: require an actual buffer for non-blobs
      fsck: unify object-name code
      fsck_describe_object(): build on our get_object_name() primitive
      fsck: use oids rather than objects for object_name API
      fsck: don't require object structs for display functions
      fsck: only provide oid/type in fsck_error callback
      fsck: only require an oid for skiplist functions
      fsck: don't require an object struct for report()
      fsck: accept an oid instead of a "struct blob" for fsck_blob()
      fsck: drop blob struct from fsck_finish()
      fsck: don't require an object struct for fsck_ident()
      fsck: don't require an object struct in verify_headers()
      fsck: rename vague "oid" local variables
      fsck: accept an oid instead of a "struct tag" for fsck_tag()
      fsck: accept an oid instead of a "struct commit" for fsck_commit()
      fsck: accept an oid instead of a "struct tree" for fsck_tree()
      hex: drop sha1_to_hex_r()
      pack-objects: avoid pointless oe_map_new_pack() calls
      hex: drop sha1_to_hex()
      send-pack: check remote ref status on pack-objects failure
      t9502: pass along all arguments in xss helper
      t/gitweb-lib.sh: drop confusing quotes
      t/gitweb-lib.sh: set $REQUEST_URI
      gitweb: escape URLs generated by href()
      rev-parse: make --show-toplevel without a worktree an error
      perf-lib: use a single filename for all measurement types
      t/perf: don't depend on Git.pm
      send-pack: use OBJECT_INFO_QUICK to check negative objects
      doc: recommend lore.kernel.org over public-inbox.org
      doc: replace public-inbox links with lore.kernel.org

Johannes Schindelin (57):
      t1400: wrap setup code in test case
      git_path(): handle `.lock` files correctly
      vreportf(): avoid relying on stdio buffering
      update-index: optionally leave skip-worktree entries alone
      stash: handle staged changes in skip-worktree files correctly
      fetch: add the command-line option `--write-commit-graph`
      fetch: avoid locking issues between fetch.jobs/fetch.writeCommitGraph
      remote-curl: unbreak http.extraHeader with custom allocators
      Start to implement a built-in version of `git add --interactive`
      built-in add -i: implement the main loop
      built-in add -i: show unique prefixes of the commands
      built-in add -i: support `?` (prompt help)
      rebase-merges: move labels' whitespace mangling into `label_oid()`
      git svn: stop using `rebase --preserve-merges`
      mingw: demonstrate that all file handles are inherited by child processes
      mingw: work around incorrect standard handles
      mingw: spawned processes need to inherit only standard handles
      mingw: restrict file handle inheritance only on Windows 7 and later
      mingw: do set `errno` correctly when trying to restrict handle inheritance
      add-interactive: make sure to release `rev.prune_data`
      built-in add -i: allow filtering the modified files list
      built-in add -i: prepare for multi-selection commands
      built-in add -i: implement the `update` command
      built-in add -i: re-implement `revert` in C
      built-in add -i: re-implement `add-untracked` in C
      built-in add -i: implement the `patch` command
      built-in add -i: re-implement the `diff` command
      built-in add -i: offer the `quit` command
      pkt-line: fix a typo
      mingw: forbid translating ERROR_SUCCESS to an errno value
      t3701: add a test for advanced split-hunk editing
      t3701: avoid depending on the TTY prerequisite
      t3701: add a test for the different `add -p` prompts
      t3701: verify the shown messages when nothing can be added
      t3701: verify that the diff.algorithm config setting is handled
      git add -p: use non-zero exit code when the diff generation failed
      apply --allow-overlap: fix a corner case
      t3404: fix indentation
      built-in add -i: start implementing the `patch` functionality in C
      built-in add -i: wire up the new C code for the `patch` command
      built-in add -p: show colored hunks by default
      built-in add -p: adjust hunk headers as needed
      built-in add -p: color the prompt and the help text
      built-in add -p: offer a helpful error message when hunk navigation failed
      built-in add -p: support multi-file diffs
      built-in add -p: handle deleted empty files
      built-in app -p: allow selecting a mode change as a "hunk"
      built-in add -p: show different prompts for mode changes and deletions
      built-in add -p: implement the hunk splitting feature
      built-in add -p: coalesce hunks after splitting them
      strbuf: add a helper function to call the editor "on an strbuf"
      built-in add -p: implement hunk editing
      built-in add -p: implement the 'g' ("goto") command
      built-in add -p: implement the '/' ("search regex") command
      built-in add -p: implement the 'q' ("quit") command
      built-in add -p: only show the applicable parts of the help text
      built-in add -p: show helpful hint when nothing can be staged

Jonathan Tan (6):
      fetch-pack: write fetched refs to .promisor
      fetch: remove fetch_if_missing=0
      clone: remove fetch_if_missing=0
      promisor-remote: remove fetch_if_missing=0
      Doc: explain submodule.alternateErrorStrategy
      submodule--helper: advise on fatal alternate error

Josh Holland (1):
      userdiff: support Python async functions

Junio C Hamano (13):
      doc: am --show-current-patch gives an entire e-mail message
      The first batch post 2.24 cycle
      fsmonitor: do not compare bitmap size with size of split index
      ci(osx): update homebrew-cask repository with less noise
      rebase -i: finishing touches to --reset-author-date
      The second batch
      The third batch
      The fourth batch
      The fifth batch
      Makefile: drop GEN_HDRS
      The sixth batch
      dir.c: use st_add3() for allocation size
      Git 2.25-rc0

Kevin Willford (1):
      fsmonitor: fix watchman integration

Manish Goregaokar (2):
      doc: document 'git submodule status --cached'
      submodule: fix 'submodule status' when called from a subdirectory

Martin Ågren (1):
      t7004: check existence of correct tag

Matthew Rogers (1):
      rebase -r: let `label` generate safer labels

Mihail Atanassov (1):
      Documentation/git-bisect.txt: add --no-ff to merge command

Mike Hommey (2):
      revision: clear the topo-walk flags in reset_revision_walk
      revision: free topo_walk_info before creating a new one in init_topo_walk

Miriam Rubio (1):
      clone: rename static function `dir_exists()`.

Nathan Stocks (1):
      t: fix typo in test descriptions

Naveen Nathan (1):
      doc: improve readability of --rebase-merges in git-rebase

Nika Layzell (1):
      reset: parse rev as tree-ish in patch mode

Philip Oakley (1):
      Doc: Bundle file usage

Philippe Blain (4):
      help: add gitsubmodules to the list of guides
      worktree: teach "add" to ignore submodule.recurse config
      doc: mention that 'git submodule update' fetches missing commits
      gitmodules: link to gitsubmodules guide

Phillip Wood (7):
      t3404: remove unnecessary subshell
      t3404: set $EDITOR in subshell
      t3404: remove uneeded calls to set_fake_editor
      sequencer.h fix placement of #endif
      move run_commit_hook() to libgit and use it there
      sequencer: run post-commit hook
      sequencer: fix empty commit check when amending

Prarit Bhargava (3):
      t6006: use test-lib.sh definitions
      t4203: use test-lib.sh definitions
      pretty: add "%aL" etc. to show local-part of email addresses

Pratyush Yadav (1):
      git-shortlog.txt: include commit limiting options

Ralf Thielow (1):
      fetch.c: fix typo in a warning message

René Scharfe (32):
      trace2: add dots directly to strbuf in perf_fmt_prepare()
      utf8: use skip_iprefix() in same_utf_encoding()
      convert: use skip_iprefix() in validate_encoding()
      mingw: use COPY_ARRAY for copying array
      parse-options: avoid arithmetic on pointer that's potentially NULL
      pretty: provide short date format
      fetch: use skip_prefix() instead of starts_with()
      fmt-merge-msg: use skip_prefix() instead of starts_with()
      shell: use skip_prefix() instead of starts_with()
      push: use skip_prefix() instead of starts_with()
      name-rev: use skip_prefix() instead of starts_with()
      run-command: use prepare_git_cmd() in prepare_cmd()
      t1512: use test_line_count
      t1410: use test_line_count
      t1400: use test_must_be_empty
      test: use test_must_be_empty F instead of test -z $(cat F)
      test: use test_must_be_empty F instead of test_cmp empty F
      t9300: don't create unused file
      t7811: don't create unused file
      xdiff: unignore changes in function context
      name-rev: use strbuf_strip_suffix() in get_rev_name()
      commit: use strbuf_add() to add a length-limited string
      patch-id: use oid_to_hex() to print multiple object IDs
      archive-zip: use enum for compression method
      t4256: don't create unused file
      t7004: don't create unused file
      refs: pass NULL to refs_read_ref_full() because object ID is not needed
      remote: pass NULL to read_ref_full() because object ID is not needed
      t3501: don't create unused file
      t5580: don't create unused file
      t6030: don't create unused file
      t4015: improve coverage of function context test

Robin H. Johnson (3):
      bundle: framework for options before bundle file
      bundle-create: progress output control
      bundle-verify: add --quiet

Rohit Ashiwal (6):
      rebase -i: add --ignore-whitespace flag
      sequencer: allow callers of read_author_script() to ignore fields
      rebase -i: support --committer-date-is-author-date
      sequencer: rename amend_author to author_to_rename
      rebase -i: support --ignore-date
      rebase: add --reset-author-date

Ruud van Asseldonk (1):
      t5150: skip request-pull test if Perl is disabled

SZEDER Gábor (29):
      Documentation: mention more worktree-specific exceptions
      path.c: clarify trie_find()'s in-code comment
      path.c: mark 'logs/HEAD' in 'common_list' as file
      path.c: clarify two field names in 'struct common_dir'
      path.c: don't call the match function without value in trie_find()
      builtin/commit-graph.c: remove subcommand-less usage string
      builtin/blame.c: remove '--indent-heuristic' from usage string
      test-lib: don't check prereqs of test cases that won't be run anyway
      t6120-describe: correct test repo history graph in comment
      builtin/unpack-objects.c: show throughput progress
      tests: add 'test_bool_env' to catch non-bool GIT_TEST_* values
      t5608-clone-2gb.sh: turn GIT_TEST_CLONE_2GB into a bool
      sequencer: don't re-read todo for revert and cherry-pick
      test-lib-functions: suppress a 'git rev-parse' error in 'test_commit_bulk'
      ci: build Git with GCC 9 in the 'osx-gcc' build job
      t9300-fast-import: store the PID in a variable instead of pidfile
      t9300-fast-import: don't hang if background fast-import exits too early
      t6120-describe: modernize the 'check_describe' helper
      name-rev: avoid unnecessary cast in name_ref()
      name-rev: use sizeof(*ptr) instead of sizeof(type) in allocation
      t6120: add a test to cover inner conditions in 'git name-rev's name_rev()
      name-rev: extract creating/updating a 'struct name_rev' into a helper
      name-rev: pull out deref handling from the recursion
      name-rev: restructure parsing commits and applying date cutoff
      name-rev: restructure creating/updating 'struct rev_name' instances
      name-rev: drop name_rev()'s 'generation' and 'distance' parameters
      name-rev: use 'name->tip_name' instead of 'tip_name'
      name-rev: eliminate recursion in name_rev()
      name-rev: cleanup name_ref()

Slavica Đukić (3):
      built-in add -i: color the header in the `status` command
      built-in add -i: use color in the main loop
      built-in add -i: implement the `help` command

Tanushree Tumane (2):
      bisect--helper: avoid use-after-free
      bisect--helper: convert `*_warning` char pointers to char arrays.

Thomas Gummerer (1):
      stash: make sure we have a valid index before writing it

Todd Zullinger (1):
      t7812: expect failure for grep -i with invalid UTF-8 data

Utsav Shah (1):
      unpack-trees: skip stat on fsmonitor-valid files

William Baker (6):
      midx: add MIDX_PROGRESS flag
      midx: add progress to write_midx_file
      midx: add progress to expire_midx_packs
      midx: honor the MIDX_PROGRESS flag in verify_midx_file
      midx: honor the MIDX_PROGRESS flag in midx_repack
      multi-pack-index: add [--[no-]progress] option.

brian m. carlson (16):
      t/oid-info: allow looking up hash algorithm name
      t/oid-info: add empty tree and empty blob values
      rev-parse: add a --show-object-format option
      t1305: avoid comparing extensions
      t3429: remove SHA1 annotation
      t4010: abstract away SHA-1-specific constants
      t4011: abstract away SHA-1-specific constants
      t4015: abstract away SHA-1-specific constants
      t4027: make hash-size independent
      t4034: abstract away SHA-1-specific constants
      t4038: abstract away SHA-1 specific constants
      t4039: abstract away SHA-1-specific constants
      t4044: update test to work with SHA-256
      t4045: make hash-size independent
      t4048: abstract away SHA-1-specific constants
      t9001: avoid including non-trailing NUL bytes in variables

r.burenkov (1):
      git-p4: honor lfs.storage configuration variable

ryenus (1):
      fix-typo: consecutive-word duplications

Đoàn Trần Công Danh (14):
      t3301: test diagnose messages for too few/many paramters
      notes: fix minimum number of parameters to "copy" subcommand
      t0028: eliminate non-standard usage of printf
      configure.ac: define ICONV_OMITS_BOM if necessary
      t3900: demonstrate git-rebase problem with multi encoding
      sequencer: reencode to utf-8 before arrange rebase's todo list
      sequencer: reencode revert/cherry-pick's todo list
      sequencer: reencode squashing commit's message
      sequencer: reencode old merge-commit message
      sequencer: reencode commit message for am/rebase --show-current-patch
      sequencer: handle rebase-merges for "onto" message
      date.c: switch to reentrant {gm,local}time_r
      archive-zip.c: switch to reentrant localtime_r
      mingw: use {gm,local}time_s as backend for {gm,local}time_r

Łukasz Niemier (1):
      userdiff: add Elixir to supported userdiff languages


Version v2.24.4; changes since v2.24.3:
---------------------------------------

Johannes Schindelin (9):
      run-command: invalidate lstat cache after a command finished
      Git 2.17.6
      Git 2.18.5
      Git 2.19.6
      Git 2.20.5
      Git 2.21.4
      Git 2.22.5
      Git 2.23.4
      Git 2.24.4

Matheus Tavares (2):
      checkout: fix bug that makes checkout follow symlinks in leading path
      unpack_trees(): start with a fresh lstat cache


Version v2.24.3; changes since v2.24.2:
---------------------------------------

Jeff King (6):
      t0300: make "quit" helper more realistic
      t0300: use more realistic inputs
      credential: parse URL without host as empty host, not unset
      credential: refuse to operate when missing host or protocol
      credential: die() when parsing invalid urls
      Git 2.17.5

Jonathan Nieder (4):
      fsck: convert gitmodules url to URL passed to curl
      credential: treat URL without scheme as invalid
      credential: treat URL with empty scheme as invalid
      fsck: reject URL with empty host in .gitmodules


Version v2.24.2; changes since v2.24.1:
---------------------------------------

Jeff King (4):
      credential: avoid writing values with newlines
      t/lib-credential: use test_i18ncmp to check stderr
      credential: detect unrepresentable values when parsing urls
      fsck: detect gitmodules URLs with embedded newlines

Johannes Schindelin (1):
      msvc: accommodate for vcpkg's upgrade to OpenSSL v1.1.x

Junio C Hamano (1):
      Git 2.17.4


Version v2.24.1; changes since v2.24.0:
---------------------------------------

Garima Singh (2):
      test-path-utils: offer to run a protectNTFS/protectHFS benchmark
      tests: add a helper to stress test argument quoting

Jeff King (7):
      t9300: drop some useless uses of cat
      t9300: create marks files for double-import-marks test
      fast-import: tighten parsing of boolean command line options
      fast-import: stop creating leading directories for import-marks
      fast-import: delay creating leading directories for export-marks
      fast-import: disallow "feature export-marks" by default
      fast-import: disallow "feature import-marks" by default

Johannes Schindelin (36):
      clone --recurse-submodules: prevent name squatting on Windows
      mingw: disallow backslash characters in tree objects' file names
      path.c: document the purpose of `is_ntfs_dotgit()`
      is_ntfs_dotgit(): only verify the leading segment
      path: safeguard `.git` against NTFS Alternate Streams Accesses
      is_ntfs_dotgit(): speed it up
      mingw: fix quoting of arguments
      path: also guard `.gitmodules` against NTFS Alternate Data Streams
      protect_ntfs: turn on NTFS protection by default
      Disallow dubiously-nested submodule git directories
      quote-stress-test: accept arguments to test via the command-line
      t6130/t9350: prepare for stringent Win32 path validation
      quote-stress-test: allow skipping some trials
      unpack-trees: let merged_entry() pass through do_add_entry()'s errors
      mingw: refuse to access paths with illegal characters
      quote-stress-test: offer to test quoting arguments for MSYS2 sh
      mingw: refuse to access paths with trailing spaces or periods
      mingw: handle `subst`-ed "DOS drives"
      Git 2.14.6
      Git 2.15.4
      test-drop-caches: use `has_dos_drive_prefix()`
      Git 2.16.6
      Git 2.17.3
      Git 2.18.2
      Git 2.19.3
      t7415: adjust test for dubiously-nested submodule gitdirs for v2.20.x
      Git 2.20.2
      mingw: detect when MSYS2's sh is to be spawned more robustly
      mingw: use MSYS2 quoting even when spawning shell scripts
      mingw: fix quoting of empty arguments for `sh`
      t7415: drop v2.20.x-specific work-around
      mingw: sh arguments need quoting in more circumstances
      Git 2.21.1
      Git 2.22.2
      Git 2.23.1
      Git 2.24.1

Jonathan Nieder (3):
      submodule: reject submodule.update = !command in .gitmodules
      fsck: reject submodule.update = !command in .gitmodules
      submodule: defend against submodule.update = !command in .gitmodules


Version v2.24.0; changes since v2.24.0-rc2:
-------------------------------------------

Alessandro Menti (2):
      l10n: it.po: update the Italian translation for Git 2.24.0
      l10n: it.po: update the Italian translation for Git 2.24.0 round #2

Alexander Shopov (2):
      l10n: bg.po: Updated Bulgarian translation (4693)
      l10n: bg.po: Updated Bulgarian translation (4694)

Bert Wesarg (2):
      git-gui: use existing interface to query a path's attribute
      git-gui: support for diff3 conflict style

Christopher Diaz Riveros (1):
      l10n: es: 2.24.0 round 2

Derrick Stolee (2):
      t5510-fetch.sh: demonstrate fetch.writeCommitGraph bug
      commit-graph: fix writing first commit-graph during fetch

Elijah Newren (2):
      RelNotes/2.24.0: typofix
      RelNotes/2.24.0: fix self-contradictory note

Jean-Noël Avila (2):
      l10n: fr 2.24.0 rnd 1
      l10n: fr v2.24.0 rnd2

Jiang Xin (3):
      l10n: git.pot: v2.24.0 round 1 (35 new, 16 removed)
      l10n: git.pot: v2.24.0 round 2 (1 new)
      l10n: zh_CN: for git v2.24.0 l10n round 1~2

Johannes Schindelin (1):
      Fix build with core.autocrlf=true

Jonathan Tan (1):
      fetch: delay fetch_if_missing=0 until after config

Jordi Mas (1):
      l10n: Update Catalan translation

Junio C Hamano (1):
      Git 2.24

Martin Ågren (2):
      treewide: correct several "up-to-date" to "up to date"
      manpage-bold-literal.xsl: match for namespaced "d:literal" in template

Matthias Rüster (1):
      l10n: de.po: Update German translation

Peter Krefting (2):
      l10n: sv.po: Update Swedish translation (4674t0f0u)
      l10n: sv.po: Update Swedish translation (4695t0f0u)

Pratyush Yadav (1):
      git-gui: add a readme

Thomas Klaeger (1):
      git-gui (Windows): use git-bash.exe if it is available

Trần Ngọc Quân (1):
      l10n: vi(4694t): Updated translation for v2.24.0

kdnakt (1):
      git-gui: improve Japanese translation


Version v2.24.0-rc2; changes since v2.24.0-rc1:
-----------------------------------------------

Johannes Schindelin (1):
      mingw: avoid a buffer overrun in `needs_hiding()`

Junio C Hamano (1):
      Git 2.24-rc2

Robert Luberda (1):
      gitweb: correctly store previous rev in javascript-actions mode

William Baker (1):
      t7519-status-fsmonitor: improve comments


Version v2.24.0-rc1; changes since v2.24.0-rc0:
-----------------------------------------------

Bert Wesarg (1):
      t4014: make output-directory tests self-contained

Carlo Marcelo Arenas Belón (3):
      grep: make PCRE1 aware of custom allocator
      grep: make PCRE2 aware of custom allocator
      grep: avoid leak of chartables in PCRE2

Denton Liu (1):
      t7419: change test_must_fail to ! for grep

Derrick Stolee (1):
      repo-settings: read an int for index.version

Johannes Schindelin (3):
      ci(visual-studio): use strict compile flags, and optimization
      ci(visual-studio): actually run the tests in parallel
      ci(osx): use new location of the `perforce` cask

Junio C Hamano (2):
      Eleventh batch
      Git 2.24-rc1

Maxim Belsky (1):
      completion: clarify installation instruction for zsh

Norman Rasmussen (1):
      diff-highlight: fix a whitespace nit

SZEDER Gábor (2):
      test-progress: fix test failures on big-endian systems
      ci: fix GCC install in the Travis CI GCC OSX job

Stephen Boyd (1):
      userdiff: fix some corner cases in dts regex

William Baker (1):
      fsmonitor: don't fill bitmap with entries to be removed

brian m. carlson (1):
      remote-curl: pass on atomic capability to remote side


Version v2.24.0-rc0; changes since v2.23.4:
-------------------------------------------

Adam Roben (1):
      mingw: fix launching of externals from Unicode paths

Alex Henrie (4):
      doc: fix reference to --ignore-submodules
      commit-graph: remove a duplicate assignment
      diffcore-break: use a goto instead of a redundant if statement
      wrapper: use a loop instead of repetitive statements

Alexandr Miloslavskiy (4):
      contrib/buildsystems: fix Visual Studio Debug configuration
      t0028: fix test for UTF-16-LE-BOM
      t0028: add more tests
      t0061: fix test for argv[0] with spaces (MINGW only)

Ali Utku Selen (1):
      shallow.c: don't free unallocated slabs

Andrey Mazo (1):
      .mailmap: update email address of Andrey Mazo

Beat Bolli (3):
      grep: under --debug, show whether PCRE JIT is enabled
      utf8: use ARRAY_SIZE() in git_wcwidth()
      git-compat-util: fix documentation syntax

Ben Milman (1):
      repository-layout.txt: correct pluralization of 'object'

Ben Wijen (2):
      builtin/rebase.c: make sure the active branch isn't moved when autostashing
      builtin/rebase.c: Remove pointless message

Bert Wesarg (4):
      git-gui: convert new/amend commit radiobutton to checkbutton
      git-gui: add horizontal scrollbar to commit buffer
      builtin/submodule--helper: fix usage string for 'update-clone'
      format-patch: create leading components of output directory

Birger Skogeng Pedersen (2):
      git-gui: add hotkeys to set widget focus
      git-gui: add hotkey to toggle "Amend Last Commit"

CB Bailey (1):
      t4038: Remove non-portable '-a' option passed to test_cmp

Cameron Steffen (1):
      doc: minor formatting fix

Carlo Marcelo Arenas Belón (4):
      http: use xmalloc with cURL
      grep: make sure NO_LIBPCRE1_JIT disable JIT in PCRE1
      grep: refactor and simplify PCRE1 support
      grep: skip UTF8 checks explicitly

Christian Couder (15):
      t0410: remove pipes after git commands
      fetch-object: make functions return an error code
      Add initial support for many promisor remotes
      promisor-remote: implement promisor_remote_get_direct()
      promisor-remote: add promisor_remote_reinit()
      promisor-remote: use repository_format_partial_clone
      Use promisor_remote_get_direct() and has_promisor_remote()
      promisor-remote: parse remote.*.partialclonefilter
      builtin/fetch: remove unique promisor remote limitation
      t0410: test fetching from many promisor remotes
      partial-clone: add multiple remotes in the doc
      remote: add promisor and partial clone config to the doc
      Remove fetch-object.{c,h} in favor of promisor-remote.{c,h}
      Move repository_format_partial_clone to promisor-remote.c
      Move core_partial_clone_filter_default to promisor-remote.c

Clément Chigot (1):
      contrib/svn-fe: fix shebang for svnrdump_sim.py

Corentin BOMPARD (1):
      pull, fetch: add --set-upstream option

David Turner (1):
      clarify documentation for remote helpers

Denton Liu (49):
      packfile.h: drop extern from function declaration
      t4014: drop unnecessary blank lines from test cases
      t3431: add rebase --fork-point tests
      t3432: test rebase fast-forward behavior
      completion: merge options for cherry-pick and revert
      completion: add --skip for cherry-pick and revert
      status: mention --skip for revert and cherry-pick
      rebase: refactor can_fast_forward into goto tower
      rebase: fast-forward --onto in more cases
      rebase: fast-forward --fork-point in more cases
      rebase: teach rebase --keep-base
      mingw: apply array.cocci rule
      compat/*.[ch]: remove extern from function declarations using spatch
      t4014: s/expected/expect/
      t4014: move closing sq onto its own line
      t4014: use sq for test case names
      t4014: remove spaces after redirect operators
      t4014: use indentable here-docs
      t4014: drop redirections to /dev/null
      t4014: let sed open its own files
      t4014: use test_line_count() where possible
      t4014: remove confusing pipe in check_threading()
      t4014: stop losing return codes of git commands
      Doc: add more detail for git-format-patch
      config/format.txt: specify default value of format.coverLetter
      t: use common $SQ variable
      completion: teach rebase to use __gitcomp_builtin
      completion: teach archive to use __gitcomp_builtin
      git-submodule.txt: fix AsciiDoc formatting error
      Makefile: strip leading ./ in $(LIB_H)
      Makefile: define THIRD_PARTY_SOURCES
      Makefile: strip leading ./ in $(FIND_SOURCE_FILES)
      Makefile: run coccicheck on more source files
      gitk: rename zh_CN.po to zh_cn.po
      promisor-remote.h: drop extern from function declaration
      apply.h: include missing header
      promisor-remote.h: include missing header
      pack-bitmap.h: remove magic number
      Makefile: emulate compile in $(HCO) target better
      test-lib: let test_merge() perform octopus merges
      t4214: use test_merge
      t4214: generate expect in their own test cases
      t4214: explicitly list tags in log
      t4214: demonstrate octopus graph coloring failure
      git-rev-list.txt: prune options in synopsis
      t4014: treat rev-list output as the expected value
      t0000: cover GIT_SKIP_TESTS blindspots
      pthread.h: manually align parameter lists
      Makefile: respect $(V) in %.cocci.patch target

Derrick Stolee (14):
      repo-settings: consolidate some config settings
      t6501: use 'git gc' in quiet mode
      commit-graph: turn on commit-graph by default
      repo-settings: parse core.untrackedCache
      repo-settings: create feature.manyFiles setting
      repo-settings: create feature.experimental setting
      merge-recursive: introduce an enum for detect_directory_renames values
      checkout: add simple check for 'git checkout -b'
      fetch: add fetch.writeCommitGraph config setting
      treewide: rename 'struct exclude' to 'struct path_pattern'
      treewide: rename 'struct exclude_list' to 'struct pattern_list'
      treewide: rename 'EXCL_FLAG_' to 'PATTERN_FLAG_'
      treewide: rename 'exclude' methods to 'pattern'
      unpack-trees: rename 'is_excluded_from_list()'

Elijah Newren (53):
      git-fast-import.txt: clarify that multiple merge commits are allowed
      checkout: remove duplicate code
      merge-recursive: be consistent with assert
      checkout: provide better conflict hunk description with detached HEAD
      merge-recursive: enforce opt->ancestor != NULL when calling merge_trees()
      merge-recursive: provide a better label for diff3 common ancestor
      merge-recursive: future-proof update_file_flags() against memory leaks
      merge-recursive: remove another implicit dependency on the_repository
      Ensure index matches head before invoking merge machinery, round N
      merge-recursive: exit early if index != head
      merge-recursive: remove useless parameter in merge_trees()
      merge-recursive: don't force external callers to do our logging
      cache-tree: share code between functions writing an index as a tree
      merge-recursive: fix some overly long lines
      merge-recursive: use common name for ancestors/common/base_list
      merge-recursive: rename 'mrtree' to 'result_tree', for clarity
      merge-recursive: rename merge_options argument to opt in header
      merge-recursive: move some definitions around to clean up the header
      merge-recursive: consolidate unnecessary fields in merge_options
      merge-recursive: comment and reorder the merge_options fields
      merge-recursive: avoid losing output and leaking memory holding that output
      merge-recursive: split internal fields into a separate struct
      merge-recursive: rename MERGE_RECURSIVE_* to MERGE_VARIANT_*
      merge-recursive: add sanity checks for relevant merge_options
      merge-recursive: alphabetize include list
      merge-options.txt: clarify meaning of various ff-related options
      t3427: accelerate this test by using fast-export and fast-import
      t6006: simplify, fix, and optimize empty message test
      Recommend git-filter-repo instead of git-filter-branch
      t9902: use a non-deprecated command for testing
      t7300: add testcases showing failure to clean specified pathspecs
      dir: fix typo in comment
      dir: fix off-by-one error in match_pathspec_item
      dir: also check directories for matching pathspecs
      dir: make the DO_MATCH_SUBMODULE code reusable for a non-submodule case
      dir: if our pathspec might match files under a dir, recurse into it
      dir: add commentary explaining match_pathspec_item's return value
      git-clean.txt: do not claim we will delete files with -n/--dry-run
      clean: disambiguate the definition of -d
      clean: avoid removing untracked files in a nested git repository
      clean: rewrap overly long line
      clean: fix theoretical path corruption
      fast-export: fix exporting a tag and nothing else
      dir: special case check for the possibility that pathspec is NULL
      merge-recursive: fix the diff3 common ancestor label for virtual commits
      fast-import: fix handling of deleted tags
      fast-import: allow tags to be identified by mark labels
      fast-import: add support for new 'alias' command
      fast-export: add support for --import-marks-if-exists
      fast-export: allow user to request tags be marked with --mark-tags
      t9350: add tests for tags of things other than a commit
      fast-export: handle nested tags
      merge-recursive: fix the fix to the diff3 common ancestor label

Emily Shaffer (1):
      promisor-remote: skip move_to_tail when no-op

Eric Wong (20):
      diff: use hashmap_entry_init on moved_entry.ent
      coccicheck: detect hashmap_entry.hash assignment
      packfile: use hashmap_entry in delta_base_cache_entry
      hashmap_entry_init takes "struct hashmap_entry *"
      hashmap_get_next takes "const struct hashmap_entry *"
      hashmap_add takes "struct hashmap_entry *"
      hashmap_get takes "const struct hashmap_entry *"
      hashmap_remove takes "const struct hashmap_entry *"
      hashmap_put takes "struct hashmap_entry *"
      introduce container_of macro
      hashmap_get_next returns "struct hashmap_entry *"
      hashmap: use *_entry APIs to wrap container_of
      hashmap_get{,_from_hash} return "struct hashmap_entry *"
      hashmap_cmp_fn takes hashmap_entry params
      hashmap: use *_entry APIs for iteration
      hashmap: hashmap_{put,remove} return hashmap_entry *
      hashmap: introduce hashmap_free_entries
      OFFSETOF_VAR macro to simplify hashmap iterators
      hashmap: remove type arg from hashmap_{get,put,remove}_entry
      hashmap_entry: remove first member requirement from docs

Gabriele Mazzotta (1):
      gitk: Do not mistake unchanged lines for submodule changes

Garima Singh (3):
      commit-graph: add --[no-]progress to write and verify
      commit-graph: emit trace2 cmd_mode for each sub-command
      sq_quote_buf_pretty: don't drop empty arguments

Hervé Beraud (1):
      hg-to-git: make it compatible with both python3 and python2

Jakob Jarmar (1):
      stash: avoid recursive hard reset on submodules

Jeff Hostetler (7):
      trace2: cleanup column alignment in perf target format
      trace2: trim whitespace in region messages in perf target format
      trace2: remove dead code in maybe_add_string_va()
      trace2: trim trailing whitespace in normal format error message
      quote: add sq_append_quote_argv_pretty()
      trace2: cleanup whitespace in normal format
      trace2: cleanup whitespace in perf format

Jeff King (32):
      setup_traverse_info(): stop copying oid
      tree-walk: drop oid from traverse_info
      tree-walk: use size_t consistently
      tree-walk: accept a raw length for traverse_path_len()
      tree-walk: add a strbuf wrapper for make_traverse_path()
      tree-walk: harden make_traverse_path() length computations
      revision: allow --end-of-options to end option parsing
      parse-options: allow --end-of-options as a synonym for "--"
      gitcli: document --end-of-options
      t1309: use short branch name in includeIf.onbranch test
      common-main: delay trace2 initialization
      config: stop checking whether the_repository is NULL
      t/perf: rename duplicate-numbered test script
      packfile: drop release_pack_memory()
      notes: avoid potential use-after-free during insertion
      fast-import: duplicate parsed encoding string
      fast-import: duplicate into history rather than passing ownership
      git-am: handle missing "author" when parsing commit
      pack-objects: use object_id in packlist_alloc()
      bulk-checkin: zero-initialize hashfile_checkpoint
      diff-delta: set size out-parameter to 0 for NULL delta
      test-read-cache: drop namelen variable
      pack-objects: drop packlist index_pos optimization
      commit-graph: turn off save_commit_buffer
      list-objects: don't queue root trees unless revs->tree_objects is set
      commit-graph: bump DIE_ON_LOAD check to actual load-time
      upload-pack: disable commit graph more gently for shallow traversal
      list-objects-filter: delay parsing of sparse oid
      list-objects-filter: use empty string instead of NULL for sparse "base"
      git_mkstemps_mode(): replace magic numbers with computed value
      add a Code of Conduct document
      CODE_OF_CONDUCT: mention individual project-leader emails

Johannes Schindelin (41):
      Drop unused git-rebase--am.sh
      t3400: stop referring to the scripted rebase
      .gitignore: there is no longer a built-in `git-rebase--interactive`
      sequencer: the `am` and `rebase--interactive` scripts are gone
      rebase: fold git-rebase--common into the -p backend
      t3427: add a clarifying comment
      t3427: simplify the `setup` test case significantly
      t3427: move the `filter-branch` invocation into the `setup` case
      t3427: condense the unnecessarily repetitive test cases into three
      t3427: fix erroneous assumption
      t3427: accommodate for the `rebase --merge` backend having been replaced
      t3427: fix another incorrect assumption
      rebase -r: support merge strategies other than `recursive`
      t/lib-rebase: prepare for testing `git rebase --rebase-merges`
      t3418: test `rebase -r` with merge strategies
      rebase -r: do not (re-)generate root commits with `--root` *and* `--onto`
      setup_git_directory(): handle UNC paths correctly
      Fix .git/ discovery at the root of UNC shares
      setup_git_directory(): handle UNC root paths correctly
      .gitignore: stop ignoring `.manifest` files
      Move git_sort(), a stable sort, into into libgit.a
      diffcore_rename(): use a stable sort
      ci: run `hdr-check` as part of the `Static Analysis` job
      range-diff: internally force `diff.noprefix=true`
      push: do not pretend to return `int` from `die_push_simple()`
      fetch: let --jobs=<n> parallelize --multiple, too
      stash apply: report status correctly even in a worktree's subdirectory
      msvc: avoid using minus operator on unsigned types
      winansi: use FLEX_ARRAY to avoid compiler warning
      compat/win32/path-utils.h: add #include guards
      msvc: ignore some libraries when linking
      msvc: handle DEVELOPER=1
      msvc: work around a bug in GetEnvironmentVariable()
      vcxproj: only copy `git-remote-http.exe` once it was built
      vcxproj: include more generated files
      test-tool run-command: learn to run (parts of) the testsuite
      tests: let --immediate and --write-junit-xml play well together
      ci: really use shallow clones on Azure Pipelines
      ci: also build and test with MS Visual Studio on Azure Pipelines
      xdiffi: fix typos and touch up comments
      doc(stash): clarify the description of `save`

Johannes Sixt (2):
      diff, log doc: say "patch text" instead of "patches"
      diff, log doc: small grammer, format, and language fixes

Jon Simons (2):
      t5616: test cloning/fetching with sparse:oid=<oid> filter
      list-objects-filter: give a more specific error sparse parsing error

Jonathan Tan (6):
      diff: skip GITLINK when lazy fetching missing objs
      transport-helper: skip ls-refs if unnecessary
      transport: teach all vtables to allow fetch first
      cache-tree: do not lazy-fetch tentative tree
      merge-recursive: symlink's descendants not in way
      send-pack: never fetch when checking exclusions

Josh Steadmon (7):
      t7503: verify proper hook execution
      fetch: add trace2 instrumentation
      push: add trace2 instrumentation
      docs: mention trace2 target-dir mode in git-config
      docs: clarify trace2 version invariants
      trace2: discard new traces if target directory has too many files
      trace2: write discard message to sentinel files

Junio C Hamano (14):
      First batch after Git 2.23
      t: use LF variable defined in the test harness
      t3005: remove unused variable
      Second batch
      Third batch
      SubmittingPatches: git-gui has a new maintainer
      Fourth batch
      Fifth batch
      Sixth batch
      transport: push codepath can take arbitrary repository
      Seventh batch
      Eighth batch
      Ninth batch
      Git 2.24-rc0

Kunal Tyagi (1):
      add -i: show progress counter in the prompt

Martin Ågren (14):
      Documentation: wrap blocks with "--"
      git-merge-base.txt: render indentations correctly under Asciidoctor
      Documentation: wrap config listings in "----"
      git-ls-remote.txt: wrap shell listing in "----"
      git-receive-pack.txt: wrap shell [script] listing in "----"
      git-merge-index.txt: wrap shell listing in "----"
      gitweb.conf.txt: switch pluses to backticks to help Asciidoctor
      Doc/Makefile: give mansource/-version/-manual attributes
      asciidoctor-extensions: provide `<refmiscinfo/>`
      doc-diff: replace --cut-header-footer with --cut-footer
      user-manual.txt: add missing section label
      user-manual.txt: change header notation
      asciidoctor-extensions.rb: handle "book" doctype in linkgit
      user-manual.txt: render ASCII art correctly under Asciidoctor

Masaya Suzuki (1):
      fetch: use oidset to keep the want OIDs for faster lookup

Matheus Tavares (1):
      grep: fix worktree case in submodules

Matthew DeVore (10):
      list-objects-filter: encapsulate filter components
      list-objects-filter: put omits set in filter struct
      list-objects-filter-options: always supply *errbuf
      list-objects-filter: implement composite filters
      list-objects-filter-options: move error check up
      list-objects-filter-options: make filter_spec a string_list
      strbuf: give URL-encoding API a char predicate fn
      list-objects-filter-options: allow mult. --filter
      list-objects-filter-options: clean up use of ALLOC_GROW
      list-objects-filter-options: make parser void

Max Rothman (1):
      completion: add missing completions for log, diff, show

Michael J Gruber (3):
      merge: do no-verify like commit
      git-merge: honor pre-merge-commit hook
      merge: --no-verify to bypass pre-merge-commit hook

Mike Hommey (3):
      notes: avoid leaking duplicate entries
      commit: free the right buffer in release_commit_memory
      http: don't leak urlmatch_config.vars

Mischa POSLAWSKY (1):
      ref-filter: initialize empty name or email fields

Paul Mackerras (1):
      gitk: Make web links clickable

Paul Wise (1):
      gitk: Use right colour for remote refs in the "Tags and heads" dialog

Pedro Sousa (1):
      doc: MyFirstContribution: fix cmd placement instructions

Philip.McGraw (1):
      git-p4: auto-delete named temporary file

Phillip Wood (3):
      rebase -i: always update HEAD before rewording
      rebase -i: check for updated todo after squash and reword
      sequencer: simplify root commit creation

Pratyush Yadav (6):
      git-gui: call do_quit before destroying the main window
      git-gui: allow reverting selected lines
      git-gui: allow reverting selected hunk
      git-gui: return early when patch fails to apply
      git-gui: allow undoing last revert
      Documentation: update the location of the git-gui repo

René Scharfe (28):
      nedmalloc: do assignments only after the declaration section
      nedmalloc: avoid compiler warning about unused value
      archive-tar: report wrong pax extended header length
      archive-tar: fix pax extended header length calculation
      archive-tar: use size_t in strbuf_append_ext_header()
      archive-tar: turn length miscalculation warning into BUG
      parseopt: move definition of enum parse_opt_result up
      sha1-name: make sort_ambiguous_oid_array() thread-safe
      log-tree: always use return value of strbuf_detach()
      grep: use return value of strbuf_detach()
      trace2: use warning() directly in tr2_dst_malformed_warning()
      help: make help_unknown_ref() NORETURN
      tree: simplify parse_tree_indirect()
      tag: factor out get_tagged_oid()
      use get_tagged_oid()
      log: test --decorate-refs-exclude with --simplify-by-decoration
      log-tree: call load_ref_decorations() in get_name_decoration()
      rev-parse: demonstrate overflow of N for "foo^N" and "foo~N"
      sha1-name: check for overflow of N in "foo^N" and "foo~N"
      commit-graph: use commit_list_count()
      sha1_name: simplify strbuf handling in interpret_nth_prior_checkout()
      git: use COPY_ARRAY and MOVE_ARRAY in handle_alias()
      treewide: remove duplicate #include directives
      convert: fix handling of dashless UTF prefix in validate_encoding()
      tests: remove "cat foo" before "test_i18ngrep bar foo"
      http-push: simplify deleting a list item
      column: use utf8_strnwidth() to strip out ANSI color escapes
      remote-curl: use argv_array in parse_push()

SZEDER Gábor (33):
      t5510-fetch: fix negated 'test_i18ngrep' invocation
      t5510-fetch: run non-httpd-specific test before sourcing 'lib-httpd.sh'
      t5703: run all non-httpd-specific tests before sourcing 'lib-httpd.sh'
      t: warn against adding non-httpd-specific tests after sourcing 'lib-httpd'
      t5318-commit-graph: use 'test_expect_code'
      commit-graph: turn a group of write-related macro flags into an enum
      commit-graph: error out on invalid commit oids in 'write --stdin-commits'
      t0000-basic: use realistic test script names in the verbose tests
      tests: show the test name and number at the start of verbose output
      completion: fix a typo in a comment
      completion: complete more values of more 'color.*' configuration variables
      completion: add tests for 'git config' completion
      completion: deduplicate configuration sections
      completion: use 'sort -u' to deduplicate config variable names
      completion: simplify inner 'case' pattern in __gitcomp()
      completion: split _git_config()
      completion: complete configuration sections and variable names for 'git -c'
      completion: complete values of configuration variables after 'git -c var='
      completion: complete config variables names and values for 'git clone -c'
      completion: complete config variables and values for 'git clone --config='
      worktree remove: clarify error message on dirty worktree
      diff: 'diff.indentHeuristic' is no longer experimental
      line-log: extract pathspec parsing from line ranges into a helper function
      line-log: avoid unnecessary full tree diffs
      t7300-clean: demonstrate deleting nested repo with an ignored file breakage
      t/lib-git-svn.sh: check GIT_TEST_SVN_HTTPD when running SVN HTTP tests
      ci: restore running httpd tests
      commit-graph: don't show progress percentages while expanding reachable commits
      Revert "progress: use term_clear_line()"
      Test the progress display
      t/helper: ignore only executable files
      travis-ci: do not skip successfully tested trees in debug mode
      name-rev: avoid cutoff timestamp underflow

Stephen Boyd (1):
      userdiff: add a builtin pattern for dts files

Stephen P. Smith (2):
      Quit passing 'now' to date code
      test_date.c: remove reference to GIT_TEST_DATE_NOW

Sun Chao (1):
      pack-refs: always refresh after taking the lock file

Tanay Abhra (1):
      t1308-config-set: fix a test that has a typo

Taylor Blau (4):
      banned.h: fix vsprintf()'s ban message
      t/t5318: introduce failing 'git commit-graph write' tests
      commit-graph.c: handle commit parsing errors
      commit-graph.c: handle corrupt/missing trees

Thomas Gummerer (6):
      t0021: make sure clean filter runs
      push: disallow --all and refspecs when remote.<name>.mirror is set
      factor out refresh_and_write_cache function
      merge: use refresh_and_write_cache
      stash: make sure to write refreshed cache
      range-diff: don't segfault with mode-only changes

Tobias Klauser (1):
      git-svn: trim leading and trailing whitespaces in author name

Torsten Bögershausen (1):
      mingw: support UNC in git clone file://server/share/repo

Varun Naik (2):
      checkout.c: unstage empty deleted ita files
      restore: add test for deleted ita files

YanKe (1):
      gitk: Add Chinese (zh_CN) translation

brian m. carlson (43):
      builtin/replace: make hash size independent
      patch-id: convert to use the_hash_algo
      fetch-pack: use parse_oid_hex
      builtin/receive-pack: switch to use the_hash_algo
      builtin/blame: switch uses of GIT_SHA1_HEXSZ to the_hash_algo
      builtin/rev-parse: switch to use the_hash_algo
      blame: remove needless comparison with GIT_SHA1_HEXSZ
      show-index: switch hard-coded constants to the_hash_algo
      connected: switch GIT_SHA1_HEXSZ to the_hash_algo
      bundle: switch to use the_hash_algo
      combine-diff: replace GIT_SHA1_HEXSZ with the_hash_algo
      config: use the_hash_algo in abbrev comparison
      sha1-lookup: switch hard-coded constants to the_hash_algo
      bisect: switch to using the_hash_algo
      sequencer: convert to use the_hash_algo
      pack-write: use hash_to_hex when writing checksums
      builtin/repack: write object IDs of the proper length
      builtin/worktree: switch null_sha1 to null_oid
      cache: remove null_sha1
      wt-status: convert struct wt_status to object_id
      packfile: replace sha1_to_hex
      builtin/index-pack: replace sha1_to_hex
      builtin/receive-pack: replace sha1_to_hex
      rerere: replace sha1_to_hex
      builtin/show-index: replace sha1_to_hex
      midx: switch to using the_hash_algo
      t3201: abstract away SHA-1-specific constants
      t3206: abstract away hash size constants
      t3301: abstract away SHA-1-specific constants
      t3305: make hash size independent
      t3306: abstract away SHA-1-specific constants
      t3404: abstract away SHA-1-specific constants
      t3430: avoid hard-coded object IDs
      t3506: make hash independent
      t3600: make hash size independent
      t3800: make hash-size independent
      t3903: abstract away SHA-1-specific constants
      t4000: make hash size independent
      t4002: make hash independent
      t4009: make hash size independent
      path: add a function to check for path suffix
      am: reload .gitattributes after patching it
      Documentation: fix build with Asciidoctor 2

Ævar Arnfjörð Bjarmason (20):
      log tests: test regex backends in "--encode=<enc>" tests
      grep: don't use PCRE2?_UTF8 with "log --encoding=<non-utf8>"
      t4210: skip more command-line encoding tests on MinGW
      grep: inline the return value of a function call used only once
      grep tests: move "grep binary" alongside the rest
      grep tests: move binary pattern tests into their own file
      grep: make the behavior for NUL-byte in patterns sane
      grep: drop support for \0 in --fixed-strings <pattern>
      grep: remove the kwset optimization
      grep: use PCRE v2 for optimized fixed-string search
      grep: remove overly paranoid BUG(...) code
      grep: stop "using" a custom JIT stack with PCRE v2
      grep: stop using a custom JIT stack with PCRE v1
      grep: consistently use "p->fixed" in compile_regexp()
      grep: create a "is_fixed" member in "grep_pat"
      grep: stess test PCRE v2 on invalid UTF-8 data
      grep: do not enter PCRE2_UTF mode on fixed matching
      t3432: distinguish "noop-same" v.s. "work-same" in "same head" tests
      t3432: test for --no-ff's interaction with fast-forward
      rebase tests: test linear branch topology


Version v2.23.4; changes since v2.23.3:
---------------------------------------

Johannes Schindelin (8):
      run-command: invalidate lstat cache after a command finished
      Git 2.17.6
      Git 2.18.5
      Git 2.19.6
      Git 2.20.5
      Git 2.21.4
      Git 2.22.5
      Git 2.23.4

Matheus Tavares (2):
      checkout: fix bug that makes checkout follow symlinks in leading path
      unpack_trees(): start with a fresh lstat cache


Version v2.23.3; changes since v2.23.2:
---------------------------------------

Jeff King (6):
      t0300: make "quit" helper more realistic
      t0300: use more realistic inputs
      credential: parse URL without host as empty host, not unset
      credential: refuse to operate when missing host or protocol
      credential: die() when parsing invalid urls
      Git 2.17.5

Jonathan Nieder (4):
      fsck: convert gitmodules url to URL passed to curl
      credential: treat URL without scheme as invalid
      credential: treat URL with empty scheme as invalid
      fsck: reject URL with empty host in .gitmodules


Version v2.23.2; changes since v2.23.1:
---------------------------------------

Jeff King (4):
      credential: avoid writing values with newlines
      t/lib-credential: use test_i18ncmp to check stderr
      credential: detect unrepresentable values when parsing urls
      fsck: detect gitmodules URLs with embedded newlines

Junio C Hamano (1):
      Git 2.17.4


Version v2.23.1; changes since v2.23.0:
---------------------------------------

Garima Singh (2):
      test-path-utils: offer to run a protectNTFS/protectHFS benchmark
      tests: add a helper to stress test argument quoting

Jeff King (7):
      t9300: drop some useless uses of cat
      t9300: create marks files for double-import-marks test
      fast-import: tighten parsing of boolean command line options
      fast-import: stop creating leading directories for import-marks
      fast-import: delay creating leading directories for export-marks
      fast-import: disallow "feature export-marks" by default
      fast-import: disallow "feature import-marks" by default

Johannes Schindelin (35):
      clone --recurse-submodules: prevent name squatting on Windows
      mingw: disallow backslash characters in tree objects' file names
      path.c: document the purpose of `is_ntfs_dotgit()`
      is_ntfs_dotgit(): only verify the leading segment
      path: safeguard `.git` against NTFS Alternate Streams Accesses
      is_ntfs_dotgit(): speed it up
      mingw: fix quoting of arguments
      path: also guard `.gitmodules` against NTFS Alternate Data Streams
      protect_ntfs: turn on NTFS protection by default
      Disallow dubiously-nested submodule git directories
      quote-stress-test: accept arguments to test via the command-line
      t6130/t9350: prepare for stringent Win32 path validation
      quote-stress-test: allow skipping some trials
      unpack-trees: let merged_entry() pass through do_add_entry()'s errors
      mingw: refuse to access paths with illegal characters
      quote-stress-test: offer to test quoting arguments for MSYS2 sh
      mingw: refuse to access paths with trailing spaces or periods
      mingw: handle `subst`-ed "DOS drives"
      Git 2.14.6
      Git 2.15.4
      test-drop-caches: use `has_dos_drive_prefix()`
      Git 2.16.6
      Git 2.17.3
      Git 2.18.2
      Git 2.19.3
      t7415: adjust test for dubiously-nested submodule gitdirs for v2.20.x
      Git 2.20.2
      mingw: detect when MSYS2's sh is to be spawned more robustly
      mingw: use MSYS2 quoting even when spawning shell scripts
      mingw: fix quoting of empty arguments for `sh`
      t7415: drop v2.20.x-specific work-around
      mingw: sh arguments need quoting in more circumstances
      Git 2.21.1
      Git 2.22.2
      Git 2.23.1

Jonathan Nieder (3):
      submodule: reject submodule.update = !command in .gitmodules
      fsck: reject submodule.update = !command in .gitmodules
      submodule: defend against submodule.update = !command in .gitmodules


Version v2.23.0; changes since v2.23.0-rc2:
-------------------------------------------

Alessandro Menti (3):
      l10n: it.po: update the Italian translation
      l10n: it.po: update the Italian translation for v2.23.0
      l10n: it.po: update the Italian localization for v2.23.0 round 2

Alexander Shopov (1):
      l10n: bg.po: Updated Bulgarian translation (4674t)

Carmine Zaccagnino (1):
      l10n: it.po: remove an extra space

Christopher Díaz Riveros (1):
      l10n: es: 2.23.0 round 2

Dimitriy Ryazantcev (1):
      l10n: ru.po: update Russian translation

Jean-Noël Avila (1):
      l10n: fr v2.23.0 round 2

Jiang Xin (3):
      l10n: git.pot: v2.23.0 round 1 (130 new, 35 removed)
      l10n: git.pot: v2.23.0 round 2 (4 new, 6 removed)
      l10n: zh_CN: for git v2.23.0 l10n round 1~2

Jordi Mas (2):
      l10n: Update Catalan translation
      l10n: Update Catalan translation

Junio C Hamano (2):
      Git 2.22.1
      Git 2.23

Mark Rushakoff (1):
      doc: fix repeated words

Matthias Rüster (1):
      l10n: de.po: Update German translation

Peter Krefting (1):
      l10n: sv.po: Update Swedish translation (4676t0f0u)

Philip Oakley (1):
      .mailmap: update email address of Philip Oakley

Philipp Weißmann (1):
      l10n: de.po: Fix typo in German translation

Trần Ngọc Quân (2):
      l10n: vi.po (4676t): Updated Vietnamese translation
      l10n: vi(4674t): Updated translation for Vietnamese


Version v2.23.0-rc2; changes since v2.23.0-rc1:
-----------------------------------------------

Derrick Stolee (1):
      commit-graph: fix bug around octopus merges

Elijah Newren (1):
      merge-recursive: avoid directory rename detection in recursive case

Jean-Noël Avila (1):
      l10n: reformat some localized strings for v2.23.0

Jeff King (1):
      t0000: reword comments for "local" test

Jonathan Nieder (1):
      t: decrease nesting in test_oid_to_path

Junio C Hamano (1):
      Git 2.23-rc2

Mark Rushakoff (1):
      doc: typo: s/can not/cannot/ and s/is does/does/

René Scharfe (4):
      commit-graph: release strbufs after use
      dir-iterator: release strbuf after use
      test-dir-iterator: use path argument directly
      sha1-file: release strbuf after use

William Chargin (1):
      restore: fix typo in docs


Version v2.23.0-rc1; changes since v2.23.0-rc0:
-----------------------------------------------

Carlo Marcelo Arenas Belón (3):
      xdiff: drop system includes in xutils.c
      xdiff: remove duplicate headers from xhistogram.c
      xdiff: remove duplicate headers from xpatience.c

Jeff King (6):
      verify-tag: drop signal.h include
      wt-status.h: drop stdio.h include
      t: sort output of hashmap iteration
      t7700: clean up .keep file in bitmap-writing test
      repack: silence warnings when auto-enabled bitmaps cannot be built
      repack: simplify handling of auto-bitmaps and .keep files

Johannes Schindelin (15):
      Vcproj.pm: auto-generate GUIDs
      Vcproj.pm: do not configure VCWebServiceProxyGeneratorTool
      Vcproj.pm: urlencode '<' and '>' when generating VC projects
      contrib/buildsystems: ignore irrelevant files in Generators/
      contrib/buildsystems: error out on unknown option
      contrib/buildsystems: handle libiconv, too
      contrib/buildsystems: also handle -lexpat
      contrib/buildsystems: handle options starting with a slash
      contrib/buildsystems: add a backend for modern Visual Studio versions
      msvc: add a Makefile target to pre-generate the Visual Studio solution
      vcxproj: also link-or-copy builtins
      .gitignore: ignore Visual Studio's temporary/generated files
      bin-wrappers: append `.exe` to target paths if necessary
      git: avoid calling aliased builtins via their dashed form
      config: work around bug with includeif:onbranch and early config

Junio C Hamano (5):
      test-dir-iterator: do not assume errno values
      A few more last-minute fixes
      log: flip the --mailmap default unconditionally
      log: really flip the --mailmap default
      Git 2.23-rc1

Martin Ågren (2):
      RelNotes/2.21.1: typofix
      RelNotes/2.23.0: fix a few typos and other minor issues

Philip Oakley (9):
      Vcproj.pm: list git.exe first to be startup project
      contrib/buildsystems: ignore invalidcontinue.obj
      contrib/buildsystems: fix misleading error message
      contrib/buildsystems: handle quoted spaces in filenames
      contrib/buildsystems: ignore gettext stuff
      contrib/buildsystems: redirect errors of the dry run into a log file
      contrib/buildsystems: optionally capture the dry-run in a file
      contrib/buildsystems: handle the curl library option
      .gitignore: touch up the entries regarding Visual Studio

SZEDER Gábor (1):
      Documentation/git-fsck.txt: include fsck.* config variables

brian m. carlson (10):
      t: add helper to convert object IDs to paths
      t1410: make hash size independent
      t1450: make hash size independent
      t5000: make hash independent
      t6030: make test work with SHA-256
      t0027: make hash size independent
      t0090: make test pass with SHA-256
      t1007: remove SHA1 prerequisites
      t1710: make hash independent
      t2203: avoid hard-coded object ID values


Version v2.23.0-rc0; changes since v2.22.5:
-------------------------------------------

Andrey Mazo (8):
      git-p4: detect/prevent infinite loop in gitCommitByP4Change()
      git-p4: add failing test for "git-p4: match branches case insensitively if configured"
      git-p4: match branches case insensitively if configured
      git-p4: don't groom exclude path list on every commit
      git-p4: add failing test for "don't exclude other files with same prefix"
      git-p4: don't exclude other files with same prefix
      git-p4: add failing test for "git-p4: respect excluded paths when detecting branches"
      git-p4: respect excluded paths when detecting branches

Ariadne Conill (3):
      log: add warning for unspecified log.mailmap setting
      documentation: mention --no-use-mailmap and log.mailmap false setting
      tests: defang pager tests by explicitly disabling the log.mailmap warning

Barret Rhoden (8):
      fsck: rename and touch up init_skiplist()
      Move oidset_parse_file() to oidset.c
      blame: use a helper function in blame_chunk()
      blame: add the ability to ignore commits and their changes
      blame: add config options for the output of ignored or unblamable lines
      blame: optionally track line fingerprints during fill_blame_origin()
      blame: use the fingerprint heuristic to match ignored lines
      blame: add a test to cover blame_coalesce()

Beat Bolli (1):
      grep: print the pcre2_jit_on value

Ben Avison (1):
      clone: add `--remote-submodules` flag

Boxuan Li (2):
      userdiff: add Octave
      userdiff: fix grammar and style issues

Carlo Marcelo Arenas Belón (1):
      trace2: correct typo in technical documentation

Cesar Eduardo Barros (1):
      mingw: embed a manifest to trick UAC into Doing The Right Thing

Christian Couder (7):
      t/helper: add test-oidmap.c
      t: add t0016-oidmap.sh
      oidmap: use sha1hash() instead of static hash() function
      test-hashmap: remove 'hash' command
      doc: improve usage string in MyFirstContribution
      test-oidmap: remove 'add' subcommand
      t0016: add 'remove' subcommand test

Daniel Ferreira (1):
      dir-iterator: add tests for dir-iterator API

Denton Liu (3):
      git-format-patch.txt: document --no-notes option
      format-patch: teach format.notes config option
      config: learn the "onbranch:" includeIf condition

Derrick Stolee (35):
      revision: use generation for A..B --topo-order queries
      revision: keep topo-walk free of unintersting commits
      repack: refactor pack deletion for future use
      Docs: rearrange subcommands for multi-pack-index
      multi-pack-index: prepare for 'expire' subcommand
      midx: simplify computation of pack name lengths
      midx: refactor permutation logic and pack sorting
      multi-pack-index: implement 'expire' subcommand
      multi-pack-index: prepare 'repack' subcommand
      midx: implement midx_repack()
      multi-pack-index: test expire while adding packs
      midx: add test that 'expire' respects .keep files
      t5319-multi-pack-index.sh: test batch size zero
      commit-graph: document commit-graph chains
      commit-graph: prepare for commit-graph chains
      commit-graph: rename commit_compare to oid_compare
      commit-graph: load commit-graph chains
      commit-graph: add base graphs chunk
      commit-graph: rearrange chunk count logic
      commit-graph: write commit-graph chains
      commit-graph: add --split option to builtin
      commit-graph: merge commit-graph chains
      commit-graph: allow cross-alternate chains
      commit-graph: expire commit-graph files
      commit-graph: create options for split files
      commit-graph: verify chains with --shallow mode
      commit-graph: clean up chains after flattened write
      commit-graph: test octopus merges with --split
      commit-graph: test --split across alternate without --split
      commit-graph: normalize commit-graph filenames
      commit-graph: test verify across alternates
      fetch: add --[no-]show-forced-updates argument
      fetch: warn about forced updates in branch listing
      pull: add --[no-]show-forced-updates passthrough
      t5319: use 'test-tool path-utils' instead of 'ls -l'

Dimitriy Ryazantcev (1):
      l10n: localizable upload progress messages

Edmundo Carmona Antoranz (1):
      builtin/merge.c - cleanup of code in for-cycle that tests strategies

Elijah Newren (5):
      t9350: fix encoding test to actually test reencoding
      fast-import: support 'encoding' commit header
      fast-export: avoid stripping encoding header if we cannot reencode
      fast-export: differentiate between explicitly UTF-8 and implicitly UTF-8
      fast-export: do automatic reencoding of commit messages only if requested

Emily Shaffer (4):
      documentation: add tutorial for first contribution
      documentation: add anchors to MyFirstContribution
      doc: add some nit fixes to MyFirstContribution
      rev-list: teach --no-object-names to enable piping

Eric Wong (2):
      update-server-info: avoid needless overwrites
      repack: disable bitmaps-by-default if .keep files exist

Jeff Hostetler (13):
      cache-tree/blame: avoid reusing the DEBUG constant
      msvc: mark a variable as non-const
      msvc: do not re-declare the timespec struct
      msvc: define ftello()
      msvc: fix detect_msys_tty()
      msvc: update Makefile to allow for spaces in the compiler path
      status: add status.aheadbehind setting
      status: warn when a/b calculation takes too long
      status: ignore status.aheadbehind in porcelain formats
      msvc: support building Git using MS Visual C++
      msvc: add a compile-time flag to allow detailed heap debugging
      msvc: do not pretend to support all signals
      msvc: ignore .dll and incremental compile output

Jeff King (42):
      cmd_{read,write}_tree: rename "unused" variable that is used
      builtin: consistently pass cmd_* prefix to parse_options
      submodule: drop unused prefix parameter from some functions
      clone: drop dest parameter from copy_alternates()
      read-cache: drop unused parameter from threaded load
      wt-status: drop unused status parameter
      mktree: drop unused length parameter
      name-rev: drop unused parameters from is_better_name()
      pack-objects: drop unused rev_info parameters
      receive-pack: drop unused "commands" from prepare_shallow_update()
      remove_all_fetch_refspecs(): drop unused "remote" parameter
      rev-list: drop unused void pointer from finish_commit()
      show-branch: drop unused parameter from show_independent()
      verify-commit: simplify parameters to run_gpg_verify()
      help_unknown_ref(): duplicate collected refnames
      help_unknown_ref(): check for refname ambiguity
      describe: fix accidental oid/hash type-punning
      upload-pack: rename a "sha1" variable to "oid"
      pack-bitmap-write: convert some helpers to use object_id
      pack-objects: convert packlist_find() to use object_id
      pack-objects: convert locate_object_entry_hash() to object_id
      object: convert lookup_unknown_object() to use object_id
      object: convert lookup_object() to use object_id
      object: convert internal hash_obj() to object_id
      object: convert create_object() to use object_id
      khash: drop broken oid_map typedef
      khash: rename kh_oid_t to kh_oid_set
      delta-islands: convert island_marks khash to use oids
      pack-bitmap: convert khash_sha1 maps into kh_oid_map
      khash: drop sha1-specific map types
      khash: rename oid helper functions
      hash.h: move object_id definition from cache.h
      hashmap: convert sha1hash() to oidhash()
      blame: drop some unused function parameters
      object-store.h: move for_each_alternate_ref() from transport.h
      check_everything_connected: assume alternate ref tips are valid
      test-lib: introduce test_commit_bulk
      t5310: increase the number of bitmapped commits
      t3311: use test_commit_bulk
      t5702: use test_commit_bulk
      t5703: use test_commit_bulk
      t6200: use test_commit_bulk

Johannes Schindelin (18):
      Drop unused git-rebase--am.sh
      t3400: stop referring to the scripted rebase
      .gitignore: there is no longer a built-in `git-rebase--interactive`
      sequencer: the `am` and `rebase--interactive` scripts are gone
      rebase: fold git-rebase--common into the -p backend
      mingw: fix a typo in the msysGit-specific section
      Mark .bat files as requiring CR/LF endings
      t0001 (mingw): do not expect a specific order of stdout/stderr
      obstack: fix compiler warning
      mingw: replace mingw_startup() hack
      msvc: fix dependencies of compat/msvc.c
      msvc: avoid debug assertion windows in Debug Mode
      mingw: enable stack smashing protector
      mingw: get pw_name in UTF-8 format
      mingw: use Unicode functions explicitly
      mingw: fix possible buffer overrun when calling `GetUserNameW()`
      rebase: fix white-space
      git: mark cmd_rebase as requiring a worktree

Johannes Sixt (5):
      userdiff: two simplifications of patterns for rust
      t7610-mergetool: do not place pipelines headed by `yes` in subshells
      t7610-mergetool: use test_cmp instead of test $(cat file) = $txt
      mergetool: dissect strings with shell variable magic instead of `expr`
      mergetool: use shell variable magic instead of `awk`

John Lin (1):
      status: remove the empty line after hints

Junio C Hamano (8):
      The first batch after 2.22
      The second batch
      The third batch
      The fourth batch
      The fifth batch
      The sixth batch
      The seventh batch
      Git 2.23-rc0

Karsten Blees (2):
      gettext: always use UTF-8 on native Windows
      mingw: initialize HOME on startup

Marc-André Lureau (1):
      userdiff: add built-in pattern for rust

Martin Ågren (1):
      ref-filter: fix memory leak in `free_array_item()`

Matheus Tavares (8):
      clone: better handle symlinked files at .git/objects/
      dir-iterator: use warning_errno when possible
      dir-iterator: refactor state machine model
      dir-iterator: add flags parameter to dir_iterator_begin
      clone: copy hidden paths at local clone
      clone: extract function from copy_or_link_directory
      clone: use dir-iterator to avoid explicit dir traversal
      clone: replace strcmp by fspathcmp

Matthew DeVore (2):
      list-objects-filter-options: error is localizeable
      ref-filter: sort detached HEAD lines firstly

Michael Osipov (1):
      configure: Detect linking style for HP aCC on HP-UX

Michael Platings (2):
      blame: add a fingerprint heuristic to match ignored lines
      t8014: remove unnecessary braces

Nguyễn Thái Ngọc Duy (60):
      git-checkout.txt: spell out --no-option
      git-checkout.txt: fix one syntax line
      doc: document --overwrite-ignore
      git-checkout.txt: fix monospace typeset
      t: rename t2014-switch.sh to t2014-checkout-switch.sh
      checkout: advice how to get out of detached HEAD mode
      checkout: inform the user when removing branch state
      checkout: keep most #include sorted
      checkout: factor out some code in parse_branchname_arg()
      checkout: make "opts" in cmd_checkout() a pointer
      checkout: move 'confict_style' and 'dwim_..' to checkout_opts
      checkout: split options[] array in three pieces
      checkout: split part of it to new command 'switch'
      switch: better names for -b and -B
      switch: add --discard-changes
      switch: remove -l
      switch: stop accepting pathspec
      switch: reject "do nothing" case
      switch: only allow explicit detached HEAD
      switch: add short option for --detach
      switch: implicit dwim, use --no-guess to disable it
      switch: no worktree status unless real branch switch happens
      switch: reject if some operation is in progress
      switch: make --orphan switch to an empty tree
      t: add tests for switch
      completion: support switch
      doc: promote "git switch"
      checkout: split part of it to new command 'restore'
      restore: take tree-ish from --source option instead
      restore: make pathspec mandatory
      restore: disable overlay mode by default
      checkout: factor out worktree checkout code
      restore: add --worktree and --staged
      restore: reject invalid combinations with --staged
      restore: default to --source=HEAD when only --staged is specified
      restore: replace --force with --ignore-unmerged
      restore: support --patch
      t: add tests for restore
      completion: support restore
      user-manual.txt: prefer 'merge --abort' over 'reset --hard'
      doc: promote "git restore"
      help: move git-diff and git-reset to different groups
      Declare both git-switch and git-restore experimental
      merge: remove drop_save() in favor of remove_merge_branch_state()
      worktree add: sanitize worktree names
      merge: add --quit
      fetch: only run 'gc' once when fetching multiple remotes
      t2027: use test_must_be_empty
      switch: allow to switch in the middle of bisect
      completion: disable dwim on "git switch -d"
      fetch-pack: move capability names out of i18n strings
      fetch-pack: print all relevant supported capabilities with -v -v
      fetch-pack: print server version at the top in -v -v
      sha1-file.c: remove the_repo from read_object_with_reference()
      tree-walk.c: remove the_repo from fill_tree_descriptor()
      tree-walk.c: remove the_repo from get_tree_entry()
      tree-walk.c: remove the_repo from get_tree_entry_follow_symlinks()
      match-trees.c: remove the_repo from shift_tree*()
      Use the right 'struct repository' instead of the_repository
      t7814: do not generate same commits in different repos

Nickolai Belakovski (3):
      ref-filter: add worktreepath atom
      branch: update output to include worktree info
      branch: add worktree info on verbose output

Philip Oakley (5):
      git.c: show usage for accessing the git(1) help page
      Doc: git.txt: remove backticks from link and add git-scm.com/docs
      msvc: include sigset_t definition
      msvc: define O_ACCMODE
      msvc: add pragmas for common warnings

Phillip Wood (7):
      rebase -r: always reword merge -c
      show --continue/skip etc. consistently in synopsis
      sequencer: always allow tab after command name
      sequencer: factor out todo command name parsing
      status: do not report errors in sequencer/todo
      git-prompt: improve cherry-pick/revert detection
      t3420: remove progress lines before comparing output

Ramsay Jones (1):
      env--helper: mark a file-local symbol as static

Rohit Ashiwal (5):
      sequencer: add advice for revert
      sequencer: rename reset_for_rollback to reset_merge
      sequencer: use argv_array in reset_merge
      cherry-pick/revert: add --skip option
      cherry-pick/revert: advise using --skip

SZEDER Gábor (1):
      travis-ci: build with GCC 4.8 as well

Stephen Boyd (2):
      format-patch: inform user that patch-id generation is unstable
      format-patch: make --base patch-id output stable

Taylor Blau (1):
      ref-filter.c: find disjoint pattern prefixes

Thomas Gummerer (15):
      apply: replace marc.info link with public-inbox
      apply: only pass required data to skip_tree_prefix
      apply: only pass required data to git_header_name
      apply: only pass required data to check_header_line
      apply: only pass required data to find_name_*
      apply: only pass required data to gitdiff_* functions
      apply: make parse_git_diff_header public
      range-diff: fix function parameter indentation
      range-diff: split lines manually
      range-diff: don't remove funcname from inner diff
      range-diff: suppress line count in outer diff
      range-diff: add section header instead of diff header
      range-diff: add filename to inner diff
      range-diff: add headers to the outer hunk header
      stash: fix handling removed files with --keep-index

Tigran Mkrtchyan (1):
      tag: add tag.gpgSign config option to force all tags be GPG-signed

Ævar Arnfjörð Bjarmason (20):
      send-email: move the read_config() function above getopts
      send-email: rename the @bcclist variable for consistency
      send-email: do defaults -> config -> getopt in that order
      tests: add a special setup where prerequisites fail
      Makefile: remove the NO_R_TO_GCC_LINKER flag
      send-email: remove cargo-culted multi-patch pattern in tests
      send-email: fix broken transferEncoding tests
      send-email: document --no-[to|cc|bcc]
      send-email: fix regression in sendemail.identity parsing
      Revert "test-lib: whitelist GIT_TR2_* in the environment"
      config tests: simplify include cycle test
      env--helper: new undocumented builtin wrapping git_env_*()
      config.c: refactor die_bad_number() to not call gettext() early
      t6040 test: stop using global "script" variable
      tests: make GIT_TEST_GETTEXT_POISON a boolean
      tests README: re-flow a previously changed paragraph
      tests: replace test_tristate with "git env--helper"
      tests: make GIT_TEST_FAIL_PREREQS a boolean
      tests: mark two failing tests under FAIL_PREREQS
      clone: test for our behavior on odd objects/* content


Version v2.22.5; changes since v2.22.4:
---------------------------------------

Johannes Schindelin (7):
      run-command: invalidate lstat cache after a command finished
      Git 2.17.6
      Git 2.18.5
      Git 2.19.6
      Git 2.20.5
      Git 2.21.4
      Git 2.22.5

Matheus Tavares (2):
      checkout: fix bug that makes checkout follow symlinks in leading path
      unpack_trees(): start with a fresh lstat cache


Version v2.22.4; changes since v2.22.3:
---------------------------------------

Jeff King (6):
      t0300: make "quit" helper more realistic
      t0300: use more realistic inputs
      credential: parse URL without host as empty host, not unset
      credential: refuse to operate when missing host or protocol
      credential: die() when parsing invalid urls
      Git 2.17.5

Jonathan Nieder (4):
      fsck: convert gitmodules url to URL passed to curl
      credential: treat URL without scheme as invalid
      credential: treat URL with empty scheme as invalid
      fsck: reject URL with empty host in .gitmodules


Version v2.22.3; changes since v2.22.2:
---------------------------------------

Jeff King (4):
      credential: avoid writing values with newlines
      t/lib-credential: use test_i18ncmp to check stderr
      credential: detect unrepresentable values when parsing urls
      fsck: detect gitmodules URLs with embedded newlines

Junio C Hamano (1):
      Git 2.17.4


Version v2.22.2; changes since v2.22.1:
---------------------------------------

Garima Singh (2):
      test-path-utils: offer to run a protectNTFS/protectHFS benchmark
      tests: add a helper to stress test argument quoting

Jeff King (7):
      t9300: drop some useless uses of cat
      t9300: create marks files for double-import-marks test
      fast-import: tighten parsing of boolean command line options
      fast-import: stop creating leading directories for import-marks
      fast-import: delay creating leading directories for export-marks
      fast-import: disallow "feature export-marks" by default
      fast-import: disallow "feature import-marks" by default

Johannes Schindelin (34):
      clone --recurse-submodules: prevent name squatting on Windows
      mingw: disallow backslash characters in tree objects' file names
      path.c: document the purpose of `is_ntfs_dotgit()`
      is_ntfs_dotgit(): only verify the leading segment
      path: safeguard `.git` against NTFS Alternate Streams Accesses
      is_ntfs_dotgit(): speed it up
      mingw: fix quoting of arguments
      path: also guard `.gitmodules` against NTFS Alternate Data Streams
      protect_ntfs: turn on NTFS protection by default
      Disallow dubiously-nested submodule git directories
      quote-stress-test: accept arguments to test via the command-line
      t6130/t9350: prepare for stringent Win32 path validation
      quote-stress-test: allow skipping some trials
      unpack-trees: let merged_entry() pass through do_add_entry()'s errors
      mingw: refuse to access paths with illegal characters
      quote-stress-test: offer to test quoting arguments for MSYS2 sh
      mingw: refuse to access paths with trailing spaces or periods
      mingw: handle `subst`-ed "DOS drives"
      Git 2.14.6
      Git 2.15.4
      test-drop-caches: use `has_dos_drive_prefix()`
      Git 2.16.6
      Git 2.17.3
      Git 2.18.2
      Git 2.19.3
      t7415: adjust test for dubiously-nested submodule gitdirs for v2.20.x
      Git 2.20.2
      mingw: detect when MSYS2's sh is to be spawned more robustly
      mingw: use MSYS2 quoting even when spawning shell scripts
      mingw: fix quoting of empty arguments for `sh`
      t7415: drop v2.20.x-specific work-around
      mingw: sh arguments need quoting in more circumstances
      Git 2.21.1
      Git 2.22.2

Jonathan Nieder (3):
      submodule: reject submodule.update = !command in .gitmodules
      fsck: reject submodule.update = !command in .gitmodules
      submodule: defend against submodule.update = !command in .gitmodules


Version v2.22.1; changes since v2.22.0:
---------------------------------------

Beat Bolli (1):
      unicode: update the width tables to Unicode 12.1

Carlo Marcelo Arenas Belón (5):
      fsmonitor: avoid signed integer overflow / infinite loop
      wrapper: avoid undefined behaviour in macOS
      xdiff: drop system includes in xutils.c
      xdiff: remove duplicate headers from xhistogram.c
      xdiff: remove duplicate headers from xpatience.c

Chris Mayo (1):
      send-email: update documentation of required Perl modules

Denton Liu (2):
      config/alias.txt: change " and ' to `
      config/alias.txt: document alias accepting non-command first word

Derrick Stolee (15):
      commit-graph: fix the_repository reference
      sha1-file: split OBJECT_INFO_FOR_PREFETCH
      commit-graph: return with errors during write
      commit-graph: collapse parameters into flags
      commit-graph: remove Future Work section
      commit-graph: create write_commit_graph_context
      commit-graph: extract fill_oids_from_packs()
      commit-graph: extract fill_oids_from_commit_hex()
      commit-graph: extract fill_oids_from_all_packs()
      commit-graph: extract count_distinct_commits()
      commit-graph: extract copy_oids_to_commits()
      commit-graph: extract write_commit_graph_file()
      commit-graph: use raw_object_store when closing
      packfile: close commit-graph in close_all_packs
      packfile: rename close_all_packs to close_object_store

Doug Ilijev (1):
      README: fix rendering of text in angle brackets

Dr. Adam Nielsen (1):
      gitignore.txt: make slash-rules more readable

Emily Shaffer (3):
      grep: fail if call could output and name is null
      doc: hint about GIT_DEBUGGER in CodingGuidelines
      transport-helper: enforce atomic in push_refs_with_push

Eric Wong (1):
      server-info: do not list unlinked packs

Felipe Contreras (5):
      t5801 (remote-helpers): cleanup refspec stuff
      t5801 (remote-helpers): add test to fetch tags
      fetch: trivial cleanup
      fetch: make the code more understandable
      fetch: fix regression with transport helpers

Jakub Wilk (1):
      doc: don't use git.kernel.org as example gitweb URL

Jeff King (10):
      upload-pack: strip namespace from symref data
      am: simplify prompt response handling
      am: read interactive input from stdin
      am: drop tty requirement for --interactive
      am: fix --interactive HEAD tree resolution
      interpret-trailers: load default config
      verify-tag: drop signal.h include
      wt-status.h: drop stdio.h include
      delta-islands: respect progress flag
      xdiff: clamp function context indices in post-image

Johannes Schindelin (14):
      bisect--helper: verify HEAD could be parsed before continuing
      fill_stat_cache_info(): prepare for an fsmonitor fix
      mark_fsmonitor_valid(): mark the index as changed if needed
      bundle verify: error out if called without an object database
      poll (mingw): allow compiling with GCC 8 and DEVELOPER=1
      kwset: allow building with GCC 8
      winansi: simplify loading the GetCurrentConsoleFontEx() function
      config: avoid calling `labs()` on too-large data type
      t3404: fix a typo
      t0001: fix on case-insensitive filesystems
      rebase --am: ignore rebase.rescheduleFailedExec
      diff: munmap() file contents before running external diff
      mingw: support spawning programs containing spaces in their names
      clean: show an error message when the path is too long

Jonathan Tan (5):
      t5616: refactor packfile replacement
      index-pack: prefetch missing REF_DELTA bases
      t5616: use correct flag to check object is missing
      t5616: cover case of client having delta base
      t5551: test usage of chunked encoding explicitly

Josh Steadmon (1):
      trace2: correct trace2 field name documentation

Junio C Hamano (6):
      transport-helper: avoid var decl in for () loop control
      rm: resolving by removal is not a warning-worthy event
      CodingGuidelines: spell out post-C89 rules
      Flush fixes up to the third batch post 2.22.0
      Merge fixes made on the 'master' front
      Git 2.22.1

Martin Ågren (1):
      RelNotes/2.21.1: typofix

Matthew DeVore (3):
      list-objects-filter: correct usage of ALLOC_GROW
      url: do not read past end of buffer
      url: do not allow %00 to represent NUL in URLs

Miguel Ojeda (1):
      clang-format: use git grep to generate the ForEachMacros list

Mike Hommey (2):
      dup() the input fd for fast-import used for remote helpers
      Use xmmap_gently instead of xmmap in use_pack

Mike Mueller (1):
      p4 unshelve: fix "Not a valid object name HEAD0" on Windows

Morian Sonnet (1):
      submodule foreach: fix recursion of options

Nguyễn Thái Ngọc Duy (3):
      init: make --template path relative to $CWD
      worktree add: be tolerant of corrupt worktrees
      completion: do not cache if --git-completion-helper fails

Paolo Bonzini (2):
      request-pull: quote regex metacharacters in local ref
      request-pull: warn if the remote object is not the same as the local one

Philip Oakley (2):
      doc branch: provide examples for listing remote tracking branches
      .mailmap: update email address of Philip Oakley

Phillip Wood (5):
      rebase: fix a memory leak
      rebase: warn if state directory cannot be removed
      sequencer: return errors from sequencer_remove_state()
      rebase --abort/--quit: cleanup refs/rewritten
      add -p: fix checkout -p with pathological context

Quentin Nerden (2):
      docs: git-clone: refer to long form of options
      docs: git-clone: list short form of options first

René Scharfe (6):
      cleanup: fix possible overflow errors in binary search, part 2
      coccinelle: use COPY_ARRAY for copying arrays
      use COPY_ARRAY for copying arrays
      config: use unsigned_mult_overflows to check for overflows
      config: don't multiply in parse_unit_factor()
      config: simplify parsing of unit factors

Robert Morgan (1):
      gpg(docs): use correct --verify syntax

SZEDER Gábor (11):
      t3404: modernize here doc style
      t3404: make the 'rebase.missingCommitsCheck=ignore' test more focused
      pager: add a helper function to clear the last line in the terminal
      t5551: use 'test_i18ngrep' to check translated output
      rebase: fix garbled progress display with '-x'
      progress: use term_clear_line()
      Document that 'git -C ""' works and doesn't change directory
      ci: don't update Homebrew
      ci: disable Homebrew's auto cleanup
      ci/lib.sh: update a comment about installed P4 and Git-LFS versions
      Documentation/git-fsck.txt: include fsck.* config variables

Simon Williams (1):
      git-p4: allow unshelving of branched files

Steven Roberts (1):
      gpg-interface: do not scan past the end of buffer

Thomas Gummerer (1):
      stash: fix show referencing stash index

Varun Naik (1):
      read-cache.c: do not die if mmap fails

Vishal Verma (1):
      merge: refuse --commit with --squash

Xin Li (1):
      clone: respect user supplied origin name when setting up partial clone

Ævar Arnfjörð Bjarmason (1):
      hash-object doc: stop mentioning git-cvsimport


Version v2.22.0; changes since v2.22.0-rc3:
-------------------------------------------

Alessandro Menti (1):
      l10n: it.po: Updated Italian translation

Alexander Shopov (3):
      l10n: bg.po: Updated Bulgarian translation (4577t)
      l10n: bg.po: Updated Bulgarian translation (4580t)
      l10n: bg.po: Updated Bulgarian translation (4581t)

Christopher Díaz Riveros (3):
      l10n: es: 2.22.0 round 1
      l10n: es: 2.22.0 round 2
      l10n: es: 2.22.0 round 3

Cédric Malard (1):
      l10n: fr.po: Review French translation

Elijah Newren (1):
      merge-recursive: restore accidentally dropped setting of path

Fangyi Zhou (1):
      l10n: zh_CN: Revision for git v2.22.0 l10n

Jean-Noël Avila (3):
      l10n: fr.po v2.22.0.rnd1
      l10n: fr.po v2.22.0 round 2
      l10n: fr v2.22.0 rnd 3

Jiang Xin (4):
      l10n: git.pot: v2.22.0 round 1 (270 new, 56 removed)
      l10n: git.pot: v2.22.0 round 2 (6 new, 3 removed)
      l10n: git.pot: v2.22.0 round 3 (3 new, 2 removed)
      l10n: zh_CN: for git v2.22.0 l10n round 1~3

Jordi Mas (1):
      l10n: Update Catalan translation

Junio C Hamano (1):
      Git 2.22

Matthias Rüster (2):
      l10n: TEAMS: Change German translation team leader
      l10n: de.po: Update German translation

Peter Krefting (2):
      l10n: sv.po: Update Swedish translation
      l10n: sv.po: Update Swedish translation (4577t0f0u)

Ralf Thielow (1):
      l10n: de.po: improve description of 'git reset --quiet'

Trần Ngọc Quân (3):
      l10n: vi.po(4577t): Updated Vietnamese translation for v2.22.0 round 1
      l10n: vi.po(4580t): Updated Vietnamese translation for v2.22.0 round 2
      l10n: vi.po(4581t): Updated Vietnamese translation for v2.22.0 round 3


Version v2.22.0-rc3; changes since v2.22.0-rc2:
-----------------------------------------------

Christian Couder (1):
      list-objects-filter: disable 'sparse:path' filters

Jiang Xin (1):
      i18n: fix typos found during l10n for git 2.22.0

Junio C Hamano (1):
      Git 2.22-rc3

Todd Zullinger (1):
      RelNotes: minor typo fixes in 2.22.0 draft


Version v2.22.0-rc2; changes since v2.22.0-rc1:
-----------------------------------------------

Emily Shaffer (1):
      gitsubmodules: align html and nroff lists

Jean-Noël Avila (1):
      diff: fix mistake in translatable strings

Jeff Hostetler (1):
      trace2: fix tracing when NO_PTHREADS is defined

Johannes Schindelin (4):
      rebase: replace incorrect logical negation by correct bitwise one
      tests: mark a couple more test cases as requiring `rebase -p`
      docs: say that `--rebase=preserve` is deprecated
      rebase docs: recommend `-r` over `-p`

Jonathan Tan (1):
      fetch-pack: send server options after command

Junio C Hamano (1):
      Git 2.22-rc2

Nguyễn Thái Ngọc Duy (3):
      diff-parseopt: correct variable types that are used by parseopt
      diff-parseopt: restore -U (no argument) behavior
      parse-options: check empty value in OPT_INTEGER and OPT_ABBREV

SZEDER Gábor (3):
      trace2: rename environment variables to GIT_TRACE2*
      trace2: document the supported values of GIT_TRACE2* env variables
      progress: avoid empty line when breaking the progress line


Version v2.22.0-rc1; changes since v2.22.0-rc0:
-----------------------------------------------

Boxuan Li (1):
      t4253-am-keep-cr-dos: avoid using pipes

Carlo Marcelo Arenas Belón (1):
      http-push: prevent format overflow warning with gcc >= 9

Chris Mayo (1):
      notes: correct documentation of format_display_notes()

Chris. Webster (1):
      diff-highlight: use correct /dev/null for UNIX and Windows

Denton Liu (10):
      t7610: unsuppress output
      t7610: add mergetool --gui tests
      t2018: cleanup in current test
      branch: make create_branch accept a merge base rev
      tag: fix typo in nested tagging hint
      mergetool: use get_merge_tool function
      mergetool--lib: create gui_mode function
      mergetool: fallback to tool when guitool unavailable
      difftool: make --gui, --tool and --extcmd mutually exclusive
      difftool: fallback on merge.guitool

Derrick Stolee (3):
      midx: pass a repository pointer
      midx: add packs to packed_git linked list
      trace2: add variable description to git.txt

Dustin Spicuzza (1):
      cvsexportcommit: force crlf translation

Elijah Newren (1):
      Honor core.precomposeUnicode in more places

Eric Sunshine (1):
      check-non-portable-shell: support Perl versions older than 5.10

Jeff King (4):
      coccicheck: optionally batch spatch invocations
      t/lib-httpd: pass LSAN_OPTIONS through apache
      coccicheck: make batch size of 0 mean "unlimited"
      get_oid: handle NULL repo->index

Johannes Schindelin (8):
      t5580: verify that alternates can be UNC paths
      fsmonitor: demonstrate that it is not refreshed after discard_index()
      fsmonitor: force a refresh after the index was discarded
      t6500(mingw): use the Windows PID of the shell
      difftool --no-index: error out on --dir-diff (and don't crash)
      status: fix display of rebase -ir's `label` command
      parse-options: adjust `parse_opt_unknown_cb()`s declared return type
      stash: document stash.useBuiltin

Josh Steadmon (1):
      commit-graph: fix memory leak

Junio C Hamano (2):
      pkt-line: drop 'const'-ness of a param to set_packet_header()
      Git 2.22-rc1

Mike Hommey (1):
      Make fread/fwrite-like functions in http.c more like fread/fwrite.

Nguyễn Thái Ngọc Duy (2):
      parse-options: don't emit "ambiguous option" for aliases
      submodule--helper: add a missing \n

SZEDER Gábor (1):
      ci: install 'libsvn-perl' instead of 'git-svn'

Tanushree Tumane (1):
      mingw: remove obsolete IPv6-related code

Todd Zullinger (1):
      test-lib: try harder to ensure a working jgit

Ævar Arnfjörð Bjarmason (8):
      perf README: correct docs for 3c8f12c96c regression
      perf aggregate: remove GIT_TEST_INSTALLED from --codespeed
      perf-lib.sh: make "./run <revisions>" use the correct gits
      perf-lib.sh: remove GIT_TEST_INSTALLED from perf-lib.sh
      perf tests: add "bindir" prefix to git tree test results
      perf-lib.sh: forbid the use of GIT_TEST_INSTALLED
      trace2: fix up a missing "leave" entry point
      sha1dc: update from upstream

İsmail Dönmez (2):
      mingw: do not let ld strip relocations
      mingw: enable DEP and ASLR


Version v2.22.0-rc0; changes since v2.21.4:
-------------------------------------------

Alban Gruin (18):
      sequencer: changes in parse_insn_buffer()
      sequencer: make the todo_list structure public
      sequencer: remove the 'arg' field from todo_item
      sequencer: refactor transform_todos() to work on a todo_list
      sequencer: introduce todo_list_write_to_file()
      sequencer: refactor check_todo_list() to work on a todo_list
      sequencer: refactor sequencer_add_exec_commands() to work on a todo_list
      sequencer: refactor rearrange_squash() to work on a todo_list
      sequencer: make sequencer_make_script() write its script to a strbuf
      sequencer: change complete_action() to use the refactored functions
      rebase--interactive: move sequencer_add_exec_commands()
      rebase--interactive: move rearrange_squash_in_todo_file()
      sequencer: refactor skip_unnecessary_picks() to work on a todo_list
      rebase-interactive: use todo_list_write_to_file() in edit_todo_list()
      rebase-interactive: append_todo_help() changes
      rebase-interactive: rewrite edit_todo_list() to handle the initial edit
      sequencer: use edit_todo_list() in complete_action()
      rebase--interactive: move transform_todo_file()

Alexander Blesius (1):
      doc: fix typos in man pages

Alexander Shopov (1):
      gitk: Update Bulgarian translation (317t)

Anders Waldenborg (7):
      doc: group pretty-format.txt placeholders descriptions
      pretty: allow %(trailers) options with explicit value
      pretty: single return path in %(trailers) handling
      pretty: allow showing specific trailers
      pretty: add support for "valueonly" option in %(trailers)
      strbuf: separate callback for strbuf_expand:ing literals
      pretty: add support for separator option in %(trailers)

Andreas Heiduk (1):
      revisions.txt: remove ambibuity between <rev>:<path> and :<path>

Andrei Rybak (1):
      t4150: remove unused variable

Baruch Siach (1):
      send-email: don't cc *-by lines with '-' prefix

Beat Bolli (1):
      unicode: update the width tables to Unicode 12

Ben Peart (1):
      read-cache: add post-index-change hook

Brandon Richardson (1):
      commit-tree: utilize parse-options api

Christian Couder (4):
      t6050: use test_line_count instead of wc -l
      t6050: redirect expected error output to a file
      replace: peel tag when passing a tag as parent to --graft
      replace: peel tag when passing a tag first to --graft

Clément Chigot (2):
      Makefile: use fileno macro work around on AIX
      git-compat-util: work around for access(X_OK) under root

Corentin BOMPARD (2):
      doc/CodingGuidelines: URLs and paths as monospace
      doc: format pathnames and URLs as monospace.

Damien Robert (1):
      ref-filter: use correct branch for %(push:track)

Daniels Umanovskis (1):
      branch: introduce --show-current display option

David Aguilar (2):
      mergetools: add support for smerge (Sublime Merge)
      contrib/completion: add smerge to the mergetool completion candidates

David Kastrup (1):
      blame.c: don't drop origin blobs as eagerly

Denton Liu (28):
      completion: complete git submodule absorbgitdirs
      git-submodule.txt: "--branch <branch>" option defaults to 'master'
      submodule--helper: teach config subcommand --unset
      submodule: document default behavior
      git-reset.txt: clarify documentation
      git-clean.txt: clarify ignore pattern files
      docs: move core.excludesFile from git-add to gitignore
      contrib/subtree: ensure only one rev is provided
      midx.c: convert FLEX_ALLOC_MEM to FLEX_ALLOC_STR
      cocci: FLEX_ALLOC_MEM to FLEX_ALLOC_STR
      tag: fix formatting
      submodule: teach set-branch subcommand
      tag: advise on nested tags
      t7600: clean up style
      t3507: clean up style
      t7604: clean up style
      t7502: clean up style
      commit: extract cleanup_mode functions to sequencer
      parse-options.h: extract common --cleanup option
      merge: cleanup messages like commit
      merge: add scissors line on merge conflict
      cherry-pick/revert: add scissors line on merge conflict
      *.[ch]: remove extern from function declarations using spatch
      *.[ch]: remove extern from function declarations using sed
      *.[ch]: manually align parameter lists
      revisions.txt: change "rev" to "<rev>"
      revisions.txt: mark optional rev arguments with []
      revisions.txt: mention <rev>~ form

Derrick Stolee (1):
      trace2:data: pack-objects: add trace2 regions

Elijah Newren (22):
      log,diff-tree: add --combined-all-paths option
      merge-options.txt: correct wording of --no-commit option
      t9300: demonstrate bug with get-mark and empty orphan commits
      git-fast-import.txt: fix wording about where ls command can appear
      fast-import: check most prominent commands first
      fast-import: only allow cat-blob requests where it makes sense
      fast-import: fix erroneous handling of get-mark with empty orphan commits
      Use 'unsigned short' for mode, like diff_filespec does
      merge-recursive: rename merge_options argument from 'o' to 'opt'
      merge-recursive: rename diff_filespec 'one' to 'o'
      merge-recursive: rename locals 'o' and 'a' to 'obuf' and 'abuf'
      merge-recursive: use 'ci' for rename_conflict_info variable name
      merge-recursive: move some struct declarations together
      merge-recursive: shrink rename_conflict_info
      merge-recursive: remove ren[12]_other fields from rename_conflict_info
      merge-recursive: track branch where rename occurred in rename struct
      merge-recursive: cleanup handle_rename_* function signatures
      merge-recursive: switch from (oid,mode) pairs to a diff_filespec
      t6043: fix copied test description to match its purpose
      merge-recursive: track information associated with directory renames
      merge-recursive: give callers of handle_content_merge() access to contents
      merge-recursive: switch directory rename detection default

Eric Wong (1):
      repack: enable bitmaps by default on bare repos

Jean-Noël Avila (2):
      l10n: fr.po remove obsolete entries
      Doc: fix misleading asciidoc formating

Jeff Hostetler (29):
      trace2: Documentation/technical/api-trace2.txt
      trace2: create new combined trace facility
      trace2: collect Windows-specific process information
      trace2:data: add trace2 regions to wt-status
      trace2:data: add editor/pager child classification
      trace2:data: add trace2 sub-process classification
      trace2:data: add trace2 transport child classification
      trace2:data: add trace2 hook classification
      trace2:data: add trace2 instrumentation to index read/write
      trace2:data: add subverb to checkout command
      trace2:data: add subverb to reset command
      trace2:data: add subverb for rebase
      trace2: t/helper/test-trace2, t0210.sh, t0211.sh, t0212.sh
      trace2: add for_each macros to clang-format
      progress: add sparse mode to force 100% complete message
      trace2:data: add trace2 data to midx
      midx: add progress indicators in multi-pack-index verify
      midx: during verify group objects by packfile to speed verification
      config: initialize opts structure in repo_read_config()
      trace2: refactor setting process starting time
      trace2: add absolute elapsed time to start event
      trace2: find exec-dir before trace2 initialization
      config: add read_very_early_config()
      trace2: use system/global config for default trace2 settings
      trace2: report peak memory usage of the process
      trace2: clarify UTC datetime formatting
      trace2: make SIDs more unique
      trace2: update docs to describe system/global config settings
      trace2: fixup access problem on /etc/gitconfig in read_very_early_config

Jeff King (88):
      prune: lazily perform reachability traversal
      prune: use bitmaps for reachability traversal
      prune: check SEEN flag for reachability
      t5304: rename "sha1" variables to "oid"
      diff: drop options parameter from diffcore_fix_diff_index()
      diff: drop unused color reset parameters
      diff: drop unused emit data parameter from sane_truncate_line()
      diff: drop complete_rewrite parameter from run_external_diff()
      merge-recursive: drop several unused parameters
      pack-objects: drop unused parameter from oe_map_new_pack()
      files-backend: drop refs parameter from split_symref_update()
      ref-filter: drop unused buf/sz pairs
      ref-filter: drop unused "obj" parameters
      ref-filter: drop unused "sz" parameters
      diff: reuse diff setup for --no-index case
      bisect: use string arguments to feed internal diff-tree
      bisect: fix internal diff-tree config loading
      bisect: make diff-tree output prettier
      fetch: avoid calling write_or_die()
      fetch: ignore SIGPIPE during network operation
      rev-list: allow cached objects in existence check
      doc/fsck: clarify --connectivity-only behavior
      fsck: always compute USED flags for unreachable objects
      compat/bswap: add include header guards
      config: document --type=color output is a complete line
      line-log: suppress diff output with "-s"
      line-log: detect unsupported formats
      point pull requesters to GitGitGadget
      Makefile: fix unaligned loads in sha1dc with UBSan
      t5310: correctly remove bitmaps for jgit test
      pack-objects: default to writing bitmap hash-cache
      perf-lib.sh: rely on test-lib.sh for --tee handling
      revision: drop some unused "revs" parameters
      log: drop unused rev_info from early output
      log: drop unused "len" from show_tagger()
      update-index: drop unused prefix_length parameter from do_reupdate()
      test-date: drop unused "now" parameter from parse_dates()
      unpack-trees: drop name_entry from traverse_by_cache_tree()
      unpack-trees: drop unused error_type parameters
      report_path_error(): drop unused prefix parameter
      fetch_pack(): drop unused parameters
      parse-options: drop unused ctx parameter from show_gitcomp()
      pretty: drop unused "type" parameter in needs_rfc2047_encoding()
      pretty: drop unused strbuf from parse_padding_placeholder()
      git: read local config in --list-cmds
      completion: fix multiple command removals
      parse_opt_ref_sorting: always use with NONEG flag
      refs/files-backend: handle packed transaction prepare failure
      refs/files-backend: don't look at an aborted transaction
      http: factor out curl result code normalization
      http: normalize curl results for dumb loose and alternates fetches
      http: use normalize_curl_result() instead of manual conversion
      revision: use a prio_queue to hold rewritten parents
      get_commit_tree(): return NULL for broken tree
      rev-list: let traversal die when --missing is not in use
      rev-list: detect broken root trees
      test-prio-queue: use xmalloc
      xdiff: use git-compat-util
      xdiff: use xmalloc/xrealloc
      progress: use xmalloc/xcalloc
      t5516: drop ok=sigpipe from unreachable-want tests
      t5530: check protocol response for "not our ref"
      upload-pack: send ERR packet for non-tip objects
      pkt-line: prepare buffer before handling ERR packets
      fetch: use free_refs()
      remote.c: make singular free_ref() public
      fetch: do not consider peeled tags as advertised tips
      packfile.h: drop extern from function declarations
      pack-revindex: open index if necessary
      t5319: fix bogus cat-file argument
      t5319: drop useless --buffer from cat-file
      midx: check both pack and index names for containment
      packfile: fix pack basename computation
      http: simplify parsing of remote objects/info/packs
      server-info: fix blind pointer arithmetic
      server-info: simplify cleanup in parse_pack_def()
      server-info: use strbuf to read old info/packs file
      server-info: drop nr_alloc struct member
      server-info: drop objdirlen pointer arithmetic
      update_info_refs(): drop unused force parameter
      t5304: add a test for pruning with bitmaps
      untracked-cache: be defensive about missing NULs in index
      untracked-cache: simplify parsing by dropping "next"
      untracked-cache: simplify parsing by dropping "len"
      p5302: create the repo in each index-pack test
      doc/ls-files: put nested list for "-t" option into block
      t/perf: depend on perl JSON only when using --codespeed
      t/perf: add perf script for partial clones

Jiang Xin (4):
      t5323: test cases for git-pack-redundant
      pack-redundant: delay creation of unique_objects
      pack-redundant: rename pack_list.all_objects
      pack-redundant: consistent sort method

Joel Teichroeb (5):
      stash: improve option parsing test coverage
      stash: convert apply to builtin
      stash: convert drop and clear to builtin
      stash: convert branch to builtin
      stash: convert pop to builtin

Joey Hess (1):
      convert: avoid malloc of original file size

Johannes Schindelin (55):
      ident: add the ability to provide a "fallback identity"
      travis: remove the hack to build the Windows job on Azure Pipelines
      tests: let --stress-limit=<N> imply --stress
      tests: introduce --stress-jobs=<N>
      built-in rebase: no need to check out `onto` twice
      built-in rebase: use the correct reflog when switching branches
      built-in rebase: demonstrate that ORIG_HEAD is not set correctly
      built-in rebase: set ORIG_HEAD just once, before the rebase
      Makefile: use `git ls-files` to list header files, if possible
      curl: anonymize URLs in error messages and warnings
      remote-curl: mark all error messages for translation
      stash: add back the original, scripted `git stash`
      stash: optionally use the scripted version again
      tests: add a special setup where stash.useBuiltin is off
      legacy stash: fix "rudimentary backport of -q"
      built-in stash: handle :(glob) pathspecs again
      mingw: drop MakeMaker reference
      mingw: allow building with an MSYS2 runtime v3.x
      rebase: deprecate --preserve-merges
      mingw: respect core.hidedotfiles = false in git-init again
      test-lib: introduce 'test_atexit'
      git-daemon: use 'test_atexit` to stop 'git-daemon'
      git p4 test: use 'test_atexit' to kill p4d and the watchdog process
      rebase -i: demonstrate obscure loose object cache bug
      sequencer: improve error message when an OID could not be parsed
      sequencer: move stale comment into correct location
      get_oid(): when an object was not found, try harder
      difftool: remove obsolete (and misleading) comment
      parse-options: make OPT_ARGUMENT() more useful
      difftool: allow running outside Git worktrees with --no-index
      docs: move gitremote-helpers into section 7
      docs: do not document the `git remote-testgit` command
      check-docs: really look at the documented commands again
      check-docs: do not expect guide pages to correspond to commands
      check-docs: fix for setups where executables have an extension
      tests (rebase): spell out the `--keep-empty` option
      tests (rebase): spell out the `--force-rebase` option
      t7810: do not abbreviate `--no-exclude-standard` nor `--invert-match`
      t5531: avoid using an abbreviated option
      tests (push): do not abbreviate the `--follow-tags` option
      tests (status): spell out the `--find-renames` option in full
      tests (pack-objects): use the full, unabbreviated `--revs` option
      t3301: fix false negative
      untracked cache: fix off-by-one
      tests: disallow the use of abbreviated options (by default)
      t9822: skip tests if file names cannot be ISO-8859-1 encoded
      macOS: make sure that gettext is found
      remote-testgit: move it into the support directory for t5801
      Makefile: drop the NO_INSTALL variable
      help -a: do not list commands that are excluded from the build
      check-docs: allow command-list.txt to contain excluded commands
      docs: exclude documentation for commands that have been excluded
      check-docs: do not bother checking for legacy scripts' documentation
      test-tool: handle the `-C <directory>` option just like `git`
      Turn `git serve` into a test helper

Jonathan Tan (24):
      remote-curl: reduce scope of rpc_state.argv
      remote-curl: reduce scope of rpc_state.stdin_preamble
      remote-curl: reduce scope of rpc_state.result
      remote-curl: refactor reading into rpc_state's buf
      remote-curl: use post_rpc() for protocol v2 also
      tests: define GIT_TEST_PROTOCOL_VERSION
      t5601: check ssh command only with protocol v0
      tests: always test fetch of unreachable with v0
      t5503: fix overspecification of trace expectation
      t5512: compensate for v0 only sending HEAD symrefs
      t5700: only run with protocol version 1
      tests: fix protocol version for overspecifications
      t5552: compensate for v2 filtering ref adv.
      submodule: explain first attempt failure clearly
      t5551: mark half-auth no-op fetch test as v0-only
      fetch-pack: call prepare_shallow_info only if v0
      fetch-pack: respect --no-update-shallow in v2
      sha1-file: support OBJECT_INFO_FOR_PREFETCH
      fetch-pack: binary search when storing wanted-refs
      diff: batch fetching of missing blobs
      pack-objects: write objects packed to trace2
      transport: die if server options are unsupported
      clone: send server options when using protocol v2
      worktree: update is_bare heuristics

Jordi Mas (1):
      l10n: Fixes to Catalan translation

Josh Steadmon (4):
      protocol-capabilities.txt: document symref
      trace2: write to directory targets
      clone: do faster object check for partial clones
      trace2: fix incorrect function pointer check

Junio C Hamano (14):
      test: caution on our version of 'yes'
      builtin/log: downcase the beginning of error messages
      format-patch: notice failure to open cover letter for writing
      Start 2.22 cycle
      The second batch
      The third batch
      The fourth batch
      gettext tests: export the restored GIT_TEST_GETTEXT_POISON
      The fifth batch
      The sixth batch
      Makefile: dedup list of files obtained from ls-files
      The seventh batch
      The eighth batch
      Git 2.22-rc0

Kyle Meyer (5):
      rebase docs: fix "gitlink" typo
      submodule: refuse to add repository with no commits
      dir: do not traverse repositories with no commits
      add: error appropriately on repository with no commits
      t3000 (ls-files -o): widen description to reflect current tests

Martin Ågren (14):
      setup: free old value before setting `work_tree`
      setup: fix memory leaks with `struct repository_format`
      config/diff.txt: drop spurious backtick
      config/fsck.txt: avoid starting line with dash
      git.txt: remove empty line before list continuation
      git-svn.txt: drop escaping '\' that ends up being rendered
      Documentation: turn middle-of-line tabs into spaces
      Documentation/Makefile: add missing xsl dependencies for manpages
      Documentation/Makefile: add missing dependency on asciidoctor-extensions
      asciidoctor-extensions: fix spurious space after linkgit
      Doc: auto-detect changed build flags
      doc-diff: let `render_tree()` take an explicit directory name
      doc-diff: support diffing from/to AsciiDoc(tor)
      doc-diff: add `--cut-header-footer`

Matthew Kraai (1):
      t3903: add test for --intent-to-add file

Michal Suchanek (1):
      worktree: fix worktree add race

Mike Hommey (1):
      fix pack protocol example client/server communication

Nguyễn Thái Ngọc Duy (124):
      parse-options.h: remove extern on function prototypes
      parse-options: add one-shot mode
      parse-options: disable option abbreviation with PARSE_OPT_KEEP_UNKNOWN
      parse-options: add OPT_BITOP()
      parse-options: stop abusing 'callback' for lowlevel callbacks
      parse-options: avoid magic return codes
      parse-options: allow ll_callback with OPTION_CALLBACK
      diff.h: keep forward struct declarations sorted
      diff.h: avoid bit fields in struct diff_flags
      diff.c: prepare to use parse_options() for parsing
      diff.c: convert -u|-p|--patch
      diff.c: convert -U|--unified
      diff.c: convert -W|--[no-]function-context
      diff.c: convert --raw
      read-cache.c: fix writing "link" index ext with null base oid
      completion: add more parameter value completion
      diff-parseopt: convert --patch-with-raw
      diff-parseopt: convert --numstat and --shortstat
      diff-parseopt: convert --dirstat and friends
      diff-parseopt: convert --check
      diff-parseopt: convert --summary
      diff-parseopt: convert --patch-with-stat
      diff-parseopt: convert --name-only
      diff-parseopt: convert --name-status
      diff-parseopt: convert -s|--no-patch
      diff-parseopt: convert --stat*
      diff-parseopt: convert --[no-]compact-summary
      diff-parseopt: convert --output-*
      diff-parseopt: convert -B|--break-rewrites
      diff-parseopt: convert -M|--find-renames
      diff-parseopt: convert -D|--irreversible-delete
      diff-parseopt: convert -C|--find-copies
      diff-parseopt: convert --find-copies-harder
      diff-parseopt: convert --no-renames|--[no--rename-empty
      diff-parseopt: convert --relative
      diff-parseopt: convert --[no-]minimal
      diff-parseopt: convert --ignore-some-changes
      Delete check-racy.c
      diff-parseopt: convert --[no-]indent-heuristic
      diff-parseopt: convert --patience
      diff-parseopt: convert --histogram
      diff-parseopt: convert --diff-algorithm
      diff-parseopt: convert --anchored
      diff-parseopt: convert --binary
      diff-parseopt: convert --full-index
      diff-parseopt: convert -a|--text
      diff-parseopt: convert -R
      diff-parseopt: convert --[no-]follow
      diff-parseopt: convert --[no-]color
      diff-parseopt: convert --word-diff
      diff-parseopt: convert --word-diff-regex
      diff-parseopt: convert --color-words
      diff-parseopt: convert --exit-code
      diff-parseopt: convert --quiet
      diff-parseopt: convert --ext-diff
      diff-parseopt: convert --textconv
      diff-parseopt: convert --ignore-submodules
      diff-parseopt: convert --submodule
      files-backend.c: factor out per-worktree code in loose_fill_ref_dir()
      files-backend.c: reduce duplication in add_per_worktree_entries_to_dir()
      Make sure refs/rewritten/ is per-worktree
      unpack-trees: fix oneway_merge accidentally carry over stage index
      checkout.txt: note about losing staged changes with --merge
      commit: improve error message in "-a <paths>" case
      unpack-trees: keep gently check inside add_rejected_path
      unpack-trees: rename "gently" flag to "quiet"
      read-tree: add --quiet
      checkout: prevent losing staged changes with --merge
      diff-parseopt: convert --ws-error-highlight
      diff-parseopt: convert --ita-[in]visible-in-index
      diff-parseopt: convert -z
      diff-parseopt: convert -l
      diff-parseopt: convert -S|-G
      diff-parseopt: convert --pickaxe-all|--pickaxe-regex
      diff-parseopt: convert -O
      diff-parseopt: convert --find-object
      diff-parseopt: convert --diff-filter
      diff-parseopt: convert --[no-]abbrev
      diff-parseopt: convert --[src|dst]-prefix
      diff-parseopt: convert --line-prefix
      diff-parseopt: convert --no-prefix
      diff-parseopt: convert --inter-hunk-context
      diff-parseopt: convert --[no-]color-moved
      diff-parseopt: convert --color-moved-ws
      diff.c: allow --no-color-moved-ws
      range-diff: use parse_options() instead of diff_opt_parse()
      diff --no-index: use parse_options() instead of diff_opt_parse()
      am: avoid diff_opt_parse()
      config: correct '**' matching in includeIf patterns
      interpret-trailers.txt: start the desc line with a capital letter
      read-tree.txt: clarify --reset and worktree changes
      packfile.c: add repo_approximate_object_count()
      refs.c: add refs_ref_exists()
      refs.c: add refs_shorten_unambiguous_ref()
      refs.c: remove the_repo from substitute_branch_name()
      refs.c: remove the_repo from expand_ref()
      refs.c: add repo_dwim_ref()
      refs.c: add repo_dwim_log()
      refs.c: remove the_repo from read_ref_at()
      submodule foreach: fix "<command> --quiet" not being respected
      commit.cocci: refactor code, avoid double rewrite
      commit.c: add repo_get_commit_tree()
      sha1-name.c: remove the_repo from sort_ambiguous()
      sha1-name.c: remove the_repo from find_abbrev_len_packed()
      sha1-name.c: add repo_find_unique_abbrev_r()
      sha1-name.c: store and use repo in struct disambiguate_state
      sha1-name.c: add repo_for_each_abbrev()
      sha1-name.c: remove the_repo from get_short_oid()
      sha1-name.c: remove the_repo from interpret_nth_prior_checkout()
      sha1-name.c: remove the_repo from interpret_branch_mark()
      sha1-name.c: add repo_interpret_branch_name()
      sha1-name.c: remove the_repo from get_oid_oneline()
      sha1-name.c: remove the_repo from get_describe_name()
      sha1-name.c: remove the_repo from get_oid_basic()
      sha1-name.c: remove the_repo from get_oid_1()
      sha1-name.c: remove the_repo from handle_one_ref()
      sha1-name.c: remove the_repo from diagnose_invalid_index_path()
      sha1-name.c: remove the_repo from resolve_relative_path()
      sha1-name.c: remove the_repo from get_oid_with_context_1()
      sha1-name.c: add repo_get_oid()
      submodule-config.c: use repo_get_oid for reading .gitmodules
      sha1-name.c: remove the_repo from maybe_die_on_misspelt_object_name
      sha1-name.c: remove the_repo from other get_oid_*
      sha1-name.c: remove the_repo from get_oid_mb()

Paul-Sebastian Ungureanu (17):
      sha1-name.c: add `get_oidf()` which acts like `get_oid()`
      strbuf.c: add `strbuf_join_argv()`
      strbuf.c: add `strbuf_insertf()` and `strbuf_vinsertf()`
      t3903: modernize style
      stash: rename test cases to be more descriptive
      stash: add tests for `git stash show` config
      stash: mention options in `show` synopsis
      stash: convert list to builtin
      stash: convert show to builtin
      stash: convert store to builtin
      stash: convert create to builtin
      stash: convert push to builtin
      stash: make push -q quiet
      stash: convert save to builtin
      stash: optimize `get_untracked_files()` and `check_changes()`
      stash: replace all `write-tree` child processes with API calls
      stash: convert `stash--helper.c` into `stash.c`

Philip Oakley (2):
      rerere doc: quote `rerere.enabled`
      describe doc: remove '7-char' abbreviation reference

Phillip Wood (21):
      am/cherry-pick/rebase/revert: document --rerere-autoupdate
      merge: tweak --rerere-autoupdate documentation
      sequencer: break some long lines
      cherry-pick: demonstrate option amnesia
      cherry-pick --continue: remember options
      commit/reset: try to clean up sequencer state
      fix cherry-pick/revert status after commit
      sequencer: fix cleanup with --signoff and -x
      sequencer.c: save and restore cleanup mode
      sequencer: always discard index after checkout
      rebase: don't translate trace strings
      rebase: rename write_basic_state()
      rebase: use OPT_RERERE_AUTOUPDATE()
      rebase -i: combine rebase--interactive.c with rebase.c
      rebase -i: remove duplication
      rebase -i: use struct commit when parsing options
      rebase -i: use struct object_id for squash_onto
      rebase -i: use struct rebase_options to parse args
      rebase -i: use struct rebase_options in do_interactive_rebase()
      rebase: use a common action enum
      rebase -i: run without forking rebase--interactive

Ramsay Jones (2):
      prune-packed: check for too many arguments
      Makefile: fix 'hdr-check' when GCRYPT not installed

René Scharfe (1):
      get-tar-commit-id: parse comment record

Robert P. J. Day (3):
      mention use of "hooks.allownonascii" in "man githooks"
      docs/git-gc: fix typo "--prune=all" to "--prune=now"
      attr.c: ".gitattribute" -> ".gitattributes" (comments)

Rohit Ashiwal (3):
      test functions: add function `test_file_not_empty`
      t3600: modernize style
      t3600: use helpers to replace test -d/f/e/s <path>

SZEDER Gábor (23):
      test-lib: fix interrupt handling with 'dash' and '--verbose-log -x'
      t/lib-git-daemon: make sure to kill the 'git-daemon' process
      tests: use 'test_atexit' to stop httpd
      t0301-credential-cache: use 'test_atexit' to stop the credentials helper
      git p4 test: clean up the p4d cleanup functions
      git p4 test: simplify timeout handling
      git p4 test: disable '-x' tracing in the p4d watchdog loop
      t9811-git-p4-label-import: fix pipeline negation
      t5318-commit-graph: remove unused variable
      Documentation/git-diff-tree.txt: fix formatting
      Documentation/technical/api-config.txt: fix formatting
      Documentation/technical/protocol-v2.txt: fix formatting
      ci: install Asciidoctor in 'ci/install-dependencies.sh'
      index-pack: show progress while checking objects
      ci: stick with Asciidoctor v1.5.8 for now
      ci: fix AsciiDoc/Asciidoctor stderr check in the documentation build job
      progress: make display_progress() return void
      progress: assemble percentage and counters in a strbuf before printing
      blame: default to HEAD in a bare repo when no start commit is given
      builtin rebase: use FREE_AND_NULL
      builtin rebase: use oideq()
      progress: clear previous progress update dynamically
      progress: break too long progress bar lines

Sun Chao (2):
      pack-redundant: delete redundant code
      pack-redundant: new algorithm to find min packs

Sven Strickroth (1):
      MSVC: include compat/win32/path-utils.h for MSVC, too, for real_path()

Taylor Blau (4):
      t: move 'hex2oct' into test-lib-functions.sh
      t: introduce tests for unexpected object types
      list-objects.c: handle unexpected non-blob entries
      list-objects.c: handle unexpected non-tree entries

Thomas Gummerer (15):
      move worktree tests to t24*
      entry: factor out unlink_entry function
      entry: support CE_WT_REMOVE flag in checkout_entry
      read-cache: add invalidate parameter to remove_marked_cache_entries
      checkout: clarify comment
      checkout: factor out mark_cache_entry_for_checkout function
      checkout: introduce --{,no-}overlay option
      checkout: introduce checkout.overlayMode config
      revert "checkout: introduce checkout.overlayMode config"
      ident: don't require calling prepare_fallback_ident first
      stash: drop unused parameter
      stash: pass pathspec as pointer
      glossary: add definition for overlay
      stash: setup default diff output format if necessary
      ls-files: use correct format string

Todd Zullinger (7):
      t4038-diff-combined: quote paths with whitespace
      t9902: test multiple removals via completion.commands
      completion: use __git when calling --list-cmds
      Documentation/rev-list-options: wrap --date=<format> block with "--"
      Documentation/git-status: fix titles in porcelain v2 section
      Documentation/git-svn: improve asciidoctor compatibility
      Documentation/git-show-branch: avoid literal {apostrophe}

Torsten Bögershausen (1):
      trace2: NULL is not allowed for va_list

Trần Ngọc Quân (1):
      l10n: Updated Vietnamese translation for v2.21 rd2

Vadim Kochan (1):
      autoconf: #include <libintl.h> when checking for gettext()

William Hubbs (1):
      config: allow giving separate author and committer idents

Yash Bhatambare (1):
      gitattributes.txt: fix typo

brian m. carlson (35):
      t/lib-submodule-update: use appropriate length constant
      khash: move oid hash table definition
      pack-bitmap: make bitmap header handling hash agnostic
      pack-bitmap: convert struct stored_bitmap to object_id
      pack-bitmap: replace sha1_to_hex
      pack-bitmap: switch hard-coded constants to the_hash_algo
      pack-bitmap: switch hash tables to use struct object_id
      submodule: avoid hard-coded constants
      notes-merge: switch to use the_hash_algo
      notes: make hash size independent
      notes: replace sha1_to_hex
      object-store: rename and expand packed_git's sha1 member
      builtin/name-rev: make hash-size independent
      fast-import: make hash-size independent
      fast-import: replace sha1_to_hex
      builtin/am: make hash size independent
      builtin/pull: make hash-size independent
      http-push: convert to use the_hash_algo
      http-backend: allow 64-character hex names
      http-push: remove remaining uses of sha1_to_hex
      http-walker: replace sha1_to_hex
      http: replace hard-coded constant with the_hash_algo
      http: compute hash of downloaded objects using the_hash_algo
      http: replace sha1_to_hex
      remote-curl: make hash size independent
      hash: add a function to lookup hash algorithm by length
      builtin/get-tar-commit-id: make hash size independent
      archive: convert struct archiver_args to object_id
      refspec: make hash size independent
      builtin/difftool: use parse_oid_hex
      dir: make untracked cache extension hash size independent
      read-cache: read data in a hash-independent way
      Git.pm: make hash size independent
      gitweb: make hash size independent
      send-email: default to quoted-printable when CR is present

Ævar Arnfjörð Bjarmason (36):
      receive-pack: fix use-after-free bug
      commit-graph tests: split up corrupt_graph_and_verify()
      commit-graph tests: test a graph that's too small
      Makefile: remove an out-of-date comment
      Makefile: move "strip" assignment down from flags
      Makefile: add/remove comments at top and tweak whitespace
      Makefile: Move *_LIBS assignment into its own section
      Makefile: move the setting of *FLAGS closer to "include"
      Makefile: allow for combining DEVELOPER=1 and CFLAGS="..."
      gc: remove redundant check for gc_auto_threshold
      gc: convert to using the_hash_algo
      gc: refactor a "call me once" pattern
      reflog tests: make use of "test_config" idiom
      reflog tests: test for the "points nowhere" warning
      rebase: remove the rebase.useBuiltin setting
      gc docs: modernize the advice for manually running "gc"
      gc docs: stop noting "repack" flags
      gc docs: clean grammar for "gc.bigPackThreshold"
      commit-graph: fix segfault on e.g. "git status"
      commit-graph: don't early exit(1) on e.g. "git status"
      commit-graph: don't pass filename to load_commit_graph_one_fd_st()
      commit-graph verify: detect inability to read the graph
      commit-graph write: don't die if the existing graph is corrupt
      commit-graph: improve & i18n error messages
      reflog tests: assert lack of early exit with expiry="never"
      gc: handle & check gc.reflogExpire config
      test-lib: whitelist GIT_TR2_* in the environment
      gc docs: include the "gc.*" section from "config" in "gc"
      gc docs: re-flow the "gc.*" section in "config"
      gc docs: fix formatting for "gc.writeCommitGraph"
      gc docs: note how --aggressive impacts --window & --depth
      gc docs: downplay the usefulness of --aggressive
      gc docs: note "gc --aggressive" in "fast-import"
      gc docs: clarify that "gc" doesn't throw away referenced objects
      gc docs: remove incorrect reference to gc.auto=0
      trace2: fix up a missing "leave" entry point


Version v2.21.4; changes since v2.21.3:
---------------------------------------

Johannes Schindelin (6):
      run-command: invalidate lstat cache after a command finished
      Git 2.17.6
      Git 2.18.5
      Git 2.19.6
      Git 2.20.5
      Git 2.21.4

Matheus Tavares (2):
      checkout: fix bug that makes checkout follow symlinks in leading path
      unpack_trees(): start with a fresh lstat cache


Version v2.21.3; changes since v2.21.2:
---------------------------------------

Jeff King (6):
      t0300: make "quit" helper more realistic
      t0300: use more realistic inputs
      credential: parse URL without host as empty host, not unset
      credential: refuse to operate when missing host or protocol
      credential: die() when parsing invalid urls
      Git 2.17.5

Jonathan Nieder (4):
      fsck: convert gitmodules url to URL passed to curl
      credential: treat URL without scheme as invalid
      credential: treat URL with empty scheme as invalid
      fsck: reject URL with empty host in .gitmodules


Version v2.21.2; changes since v2.21.1:
---------------------------------------

Jeff King (4):
      credential: avoid writing values with newlines
      t/lib-credential: use test_i18ncmp to check stderr
      credential: detect unrepresentable values when parsing urls
      fsck: detect gitmodules URLs with embedded newlines

Junio C Hamano (1):
      Git 2.17.4


Version v2.21.1; changes since v2.21.0:
---------------------------------------

Garima Singh (2):
      test-path-utils: offer to run a protectNTFS/protectHFS benchmark
      tests: add a helper to stress test argument quoting

Jeff King (7):
      t9300: drop some useless uses of cat
      t9300: create marks files for double-import-marks test
      fast-import: tighten parsing of boolean command line options
      fast-import: stop creating leading directories for import-marks
      fast-import: delay creating leading directories for export-marks
      fast-import: disallow "feature export-marks" by default
      fast-import: disallow "feature import-marks" by default

Johannes Schindelin (33):
      clone --recurse-submodules: prevent name squatting on Windows
      mingw: disallow backslash characters in tree objects' file names
      path.c: document the purpose of `is_ntfs_dotgit()`
      is_ntfs_dotgit(): only verify the leading segment
      path: safeguard `.git` against NTFS Alternate Streams Accesses
      is_ntfs_dotgit(): speed it up
      mingw: fix quoting of arguments
      path: also guard `.gitmodules` against NTFS Alternate Data Streams
      protect_ntfs: turn on NTFS protection by default
      Disallow dubiously-nested submodule git directories
      quote-stress-test: accept arguments to test via the command-line
      t6130/t9350: prepare for stringent Win32 path validation
      quote-stress-test: allow skipping some trials
      unpack-trees: let merged_entry() pass through do_add_entry()'s errors
      mingw: refuse to access paths with illegal characters
      quote-stress-test: offer to test quoting arguments for MSYS2 sh
      mingw: refuse to access paths with trailing spaces or periods
      mingw: handle `subst`-ed "DOS drives"
      Git 2.14.6
      Git 2.15.4
      test-drop-caches: use `has_dos_drive_prefix()`
      Git 2.16.6
      Git 2.17.3
      Git 2.18.2
      Git 2.19.3
      t7415: adjust test for dubiously-nested submodule gitdirs for v2.20.x
      Git 2.20.2
      mingw: detect when MSYS2's sh is to be spawned more robustly
      mingw: use MSYS2 quoting even when spawning shell scripts
      mingw: fix quoting of empty arguments for `sh`
      t7415: drop v2.20.x-specific work-around
      mingw: sh arguments need quoting in more circumstances
      Git 2.21.1

Jonathan Nieder (3):
      submodule: reject submodule.update = !command in .gitmodules
      fsck: reject submodule.update = !command in .gitmodules
      submodule: defend against submodule.update = !command in .gitmodules


Version v2.21.0; changes since v2.21.0-rc2:
-------------------------------------------

Alessandro Menti (1):
      l10n: it: update the Italian translation

Alexander Shopov (1):
      l10n: bg.po: Updated Bulgarian translation (4363t)

Christopher Díaz Riveros (1):
      l10n: es: 2.21.0 round 2

Fabien Villepinte (2):
      l10n: fr.po Fix some typos
      l10n: fr.po Fix some typos from round3

Fangyi Zhou (1):
      l10n: zh_CN: Revision for git v2.21.0 l10n

Jean-Noël Avila (1):
      l10n: fr.po v2.21.0 rnd 2

Jiang Xin (3):
      l10n: git.pot: v2.21.0 round 1 (214 new, 38 removed)
      l10n: git.pot: v2.21.0 round 2 (3 new, 3 removed)
      l10n: zh_CN: for git v2.21.0 l10n round 1~2

Jimmy Angelakos (1):
      l10n: el: add Greek l10n team and essential translations

Johannes Schindelin (1):
      README: adjust for final Azure Pipeline ID

Jordi Mas (2):
      l10n: Update Catalan translation
      l10n: Fixes to Catalan translation

Junio C Hamano (1):
      Git 2.21

Nguyễn Thái Ngọc Duy (1):
      l10n: bg.po: correct typo

Peter Krefting (1):
      l10n: Update Swedish translation (4363t0f0u)

Ralf Thielow (1):
      l10n: update German translation

Sebastian Staudt (3):
      l10n: de.po: consistent translation of 'root commit'
      l10n: de.po: fix a message for index-pack.c
      l10n: de.po: fix grammar in message for tag.c

Yoichi Nakayama (1):
      checkout doc: fix an unmatched double-quote pair

Zhilei Han (1):
      l10n: zh_CN: fix typo of submodule init message

Ævar Arnfjörð Bjarmason (3):
      tests: avoid syntax triggering old dash bug
      tests: fix unportable "\?" and "\+" regex syntax
      commit-graph tests: fix unportable "dd" invocation


Version v2.21.0-rc2; changes since v2.21.0-rc1:
-----------------------------------------------

Elijah Newren (1):
      git-rebase.txt: update to reflect merge now implemented on sequencer

Emilio Cobos Álvarez (1):
      docs/git-rebase: remove redundant entry in incompatible options list

Johannes Schindelin (2):
      mingw: safe-guard a bit more against getenv() problems
      tests: teach the test-tool to generate NUL bytes and use it

Junio C Hamano (3):
      t1404: do not rely on the exact phrasing of strerror()
      Revert "t5562: replace /dev/zero with a pipe from generate_zero_bytes"
      Git 2.21-rc2

Max Kirillov (2):
      t5562: do not depend on /dev/zero
      t5562: do not reuse output files

Todd Zullinger (1):
      t/lib-httpd: pass GIT_TEST_SIDEBAND_ALL through Apache


Version v2.21.0-rc1; changes since v2.21.0-rc0:
-----------------------------------------------

Derrick Stolee (1):
      Makefile: add coverage-prove target

Jean-Noël Avila (1):
      Fix typos in translatable strings for v2.21.0

Jeff King (4):
      remote-curl: refactor smart-http discovery
      remote-curl: tighten "version 2" check for smart-http
      RelNotes/2.21: tweak "--date=auto" mention
      RelNotes/2.21: misc typo/English fixups

Johannes Schindelin (4):
      Revert "rebase: introduce a shortcut for --reschedule-failed-exec"
      mingw: fix CPU reporting in `git version --build-options`
      .mailmap: map Clemens Buchacher's mail addresses
      mingw: use a more canonical method to fix the CPU reporting

Josh Steadmon (3):
      t5551: test server-side ERR packet
      fuzz-commit-graph: initialize repo object
      object: fix leak of shallow_stat

Junio C Hamano (3):
      ci: clear and mark MAKEFLAGS exported just once
      Seventh batch for 2.21
      Git 2.21-rc1

Katrin Leinweber (1):
      doc: prevent overflowing <code> tag in rendered HTML

Kevin Daudt (1):
      t0028: fix wrong octal values for BOM in setup

Luke Diamand (1):
      git-p4: remove ticket expiry test

Nguyễn Thái Ngọc Duy (5):
      checkout: update count-checkouts messages
      checkout: count and print -m paths separately
      imap-send.c: add a missing space in error message
      git-compat-util: work around fileno(fp) that is a macro
      get_oid_with_context(): match prototype and implementation

Ramsay Jones (1):
      sequencer: make sign_off_header a file local symbol

Randall S. Becker (6):
      t5403: correct bash ambiguous redirect error in subtest 8 by quoting $GIT_DIR
      config.mak.uname: add FREAD_READS_DIRECTORIES for NonStop platform
      test-lib-functions.sh: add generate_zero_bytes function
      t5318: replace use of /dev/zero with generate_zero_bytes
      t5562: replace /dev/zero with a pipe from generate_zero_bytes
      config.mak.uname: move location of bash on NonStop to CoreUtils

SZEDER Gábor (3):
      ci: make sure we build Git parallel
      test-lib: make '--stress' more bisect-friendly
      test-lib: fix non-portable pattern bracket expressions

Todd Zullinger (2):
      t/lib-gpg: quote path to ${GNUPGHOME}/trustlist.txt
      t/lib-gpg: drop redundant killing of gpg-agent

brian m. carlson (1):
      utf8: handle systems that don't write BOM for UTF-16

Ævar Arnfjörð Bjarmason (1):
      rebase: fix regression in rebase.useBuiltin=false test mode


Version v2.21.0-rc0; changes since v2.20.5:
-------------------------------------------

Arti Zirk (1):
      git-instaweb: add Python builtin http.server support

Ben Peart (2):
      checkout: add test demonstrating regression with checkout -b on initial commit
      checkout: fix regression in checkout -b on intitial checkout

Brandon Richardson (1):
      commit-tree: add missing --gpg-sign flag

Brandon Williams (1):
      mailmap: update brandon williams's email address

Carlo Marcelo Arenas Belón (4):
      t6036: avoid non-portable "cp -a"
      tests: add lint for non portable cp -a
      t5004: avoid using tar for empty packages
      config.mak.uname: OpenBSD uses BSD semantics with fread for directories

Chayoung You (3):
      zsh: complete unquoted paths with spaces correctly
      completion: treat results of git ls-tree as file paths
      completion: fix typo in git-completion.bash

Christian Couder (3):
      fetch: fix extensions.partialclone name in error message
      partial-clone: add missing 'is' in doc
      helper/test-ref-store: fix "new-sha1" vs "old-sha1" typo

David Turner (1):
      Do not print 'dangling' for cat-file in case of ambiguity

Denis Ovsienko (1):
      docs: fix $strict_export text in gitweb.conf.txt

Derrick Stolee (8):
      merge-recursive: combine error handling
      commit-graph: writing missing parents is a BUG
      git-gc.txt: fix typo about gc.writeCommitGraph
      revision: add mark_tree_uninteresting_sparse
      list-objects: consume sparse tree walk
      revision: implement sparse algorithm
      pack-objects: create pack.useSparse setting
      pack-objects: create GIT_TEST_PACK_SPARSE

Elijah Newren (30):
      t6042: add tests for consistency in file collision conflict handling
      t6036, t6042: testcases for rename collision of already conflicting files
      merge-recursive: increase marker length with depth of recursion
      merge-recursive: new function for better colliding conflict resolutions
      merge-recursive: fix rename/add conflict handling
      merge-recursive: improve handling for rename/rename(2to1) conflicts
      merge-recursive: use handle_file_collision for add/add conflicts
      merge-recursive: improve rename/rename(1to2)/add[/add] handling
      t6036, t6043: increase code coverage for file collision handling
      fast-export: convert sha1 to oid
      git-fast-import.txt: fix documentation for --quiet option
      git-fast-export.txt: clarify misleading documentation about rev-list args
      fast-export: use value from correct enum
      fast-export: avoid dying when filtering by paths and old tags exist
      fast-export: move commit rewriting logic into a function for reuse
      fast-export: when using paths, avoid corrupt stream with non-existent mark
      fast-export: ensure we export requested refs
      fast-export: add --reference-excluded-parents option
      fast-import: remove unmaintained duplicate documentation
      fast-export: add a --show-original-ids option to show original names
      git-rebase.txt: update note about directory rename detection and am
      rebase: make builtin and legacy script error messages the same
      rebase: fix incompatible options error message
      t5407: add a test demonstrating how interactive handles --skip differently
      am, rebase--merge: do not overlook --skip'ed commits with post-rewrite
      git-rebase, sequencer: extend --quiet option for the interactive machinery
      git-legacy-rebase: simplify unnecessary triply-nested if
      rebase: define linearization ordering and enforce it
      rebase: implement --merge via the interactive machinery
      git-show-ref.txt: fix order of flags

Eric Sunshine (1):
      doc/config: do a better job of introducing 'worktree.guessRemote'

Eric Wong (2):
      banned.h: mark strncat() as banned
      t1512: test ambiguous cat-file --batch and --batch-output

Erin Dahlgren (1):
      Simplify handling of setup_git_directory_gently() failure cases.

Force Charlie (1):
      http: add support selecting http version

Frank Dana (1):
      docs/gitweb.conf: config variable typo

Issac Trotts (1):
      log: add %S option (like --source) to log --format

Jean-Noël Avila (2):
      Documentation/Makefile add optional targets for l10n
      doc: tidy asciidoc style

Jeff King (50):
      fsck: do not reuse child_process structs
      submodule--helper: prefer strip_suffix() to ends_with()
      rename "alternate_object_database" to "object_directory"
      sha1_file_name(): overwrite buffer instead of appending
      handle alternates paths the same as the main object dir
      sha1-file: use an object_directory for the main object dir
      object-store: provide helpers for loose_objects_cache
      sha1-file: use loose object cache for quick existence check
      fetch-pack: drop custom loose object cache
      odb_load_loose_cache: fix strbuf leak
      transport-helper: drop read/write errno checks
      sha1-file: fix outdated sha1 comment references
      update comment references to sha1_object_info()
      http: use struct object_id instead of bare sha1
      sha1-file: modernize loose object file functions
      sha1-file: modernize loose header/stream functions
      sha1-file: convert pass-through functions to object_id
      convert has_sha1_file() callers to has_object_file()
      sha1-file: drop has_sha1_file()
      sha1-file: prefer "loose object file" to "sha1 file" in messages
      sha1-file: avoid "sha1 file" for generic use in messages
      prefer "hash mismatch" to "sha1 mismatch"
      upload-pack: support hidden refs with protocol v2
      remote: check config validity before creating rewrite struct
      get_super_prefix(): copy getenv() result
      commit: copy saved getenv() result
      config: make a copy of $GIT_CONFIG string
      init: make a copy of $GIT_DIR string
      merge-recursive: copy $GITHEAD strings
      builtin_diff(): read $GIT_DIFF_OPTS closer to use
      add: use separate ADD_CACHE_RENORMALIZE flag
      attr: do not mark queried macros as unset
      t4006: resurrect commented-out tests
      diff: clear emitted_symbols flag after use
      combine-diff: factor out stat-format mask
      combine-diff: treat --shortstat like --stat
      combine-diff: treat --summary like --stat
      combine-diff: treat --dirstat like --stat
      match-trees: drop unused path parameter from score functions
      apply: drop unused "def" parameter from find_name_gnu()
      create_bundle(): drop unused "header" parameter
      column: drop unused "opts" parameter in item_length()
      show_date_relative(): drop unused "tz" parameter
      config: drop unused parameter from maybe_remove_section()
      convert: drop len parameter from conversion checks
      convert: drop path parameter from actual conversion functions
      doc/gitattributes: clarify "autocrlf overrides eol"
      docs/config: clarify "text property" in core.eol
      test-date: drop unused parameter to getnanos()
      add_to_index(): convert forgotten HASH_RENORMALIZE check

Johannes Schindelin (35):
      rebase: introduce --reschedule-failed-exec
      rebase: add a config option to default to --reschedule-failed-exec
      rebase: introduce a shortcut for --reschedule-failed-exec
      gc/repack: release packs when needed
      add --edit: truncate the patch file
      t6042: work around speed optimization on Windows
      abspath_part_inside_repo: respect core.ignoreCase
      rebase: move `reset_head()` into a better spot
      rebase: avoid double reflog entry when switching branches
      rebase: teach `reset_head()` to optionally skip the worktree
      built-in rebase: call `git am` directly
      mingw (t5580): document bug when cloning from backslashed UNC paths
      mingw: special-case arguments to `sh`
      tests: explicitly use `test-tool.exe` on Windows
      travis: fix skipping tagged releases
      ci: rename the library of common functions
      ci/lib.sh: encapsulate Travis-specific things
      ci: inherit --jobs via MAKEFLAGS in run-build-and-tests
      ci: use a junction on Windows instead of a symlink
      test-date: add a subcommand to measure times in shell scripts
      tests: optionally write results as JUnit-style .xml
      ci/lib.sh: add support for Azure Pipelines
      Add a build definition for Azure DevOps
      ci: add a Windows job to the Azure Pipelines definition
      ci: use git-sdk-64-minimal build artifact
      mingw: be more generous when wrapping up the setitimer() emulation
      README: add a build badge (status of the Azure Pipelines build)
      tests: avoid calling Perl just to determine file sizes
      tests: include detailed trace logs with --write-junit-xml upon failure
      mingw: try to work around issues with the test cleanup
      tests: add t/helper/ to the PATH with --with-dashes
      t0061: workaround issues with --with-dashes and RUNTIME_PREFIX
      tests: optionally skip bin-wrappers/
      ci: speed up Windows phase
      ci: parallelize testing on Windows

Jonathan Nieder (1):
      stripspace: allow -s/-c outside git repository

Jonathan Tan (9):
      revision: use commit graph in get_reference()
      fetch-pack: support protocol version 2
      fetch-pack: do not take shallow lock unnecessarily
      upload-pack: teach deepen-relative in protocol v2
      pkt-line: introduce struct packet_writer
      sideband: reverse its dependency on pkt-line
      {fetch,upload}-pack: sideband v2 fetch response
      tests: define GIT_TEST_SIDEBAND_ALL
      ls-refs: filter refs using namespace-stripped name

Josh Steadmon (4):
      filter-options: expand scaled numbers
      commit-graph, fuzz: add fuzzer for commit-graph
      commit-graph: fix buffer read-overflow
      Makefile: correct example fuzz build

Junio C Hamano (11):
      t0027: squelch checkout path run outside test_expect_* block
      t0061: do not fail test if '.' is part of $PATH
      submodule update: run at most one fetch job unless otherwise set
      Prepare for 2.21 cycle to start soonish
      First batch after 2.20.1
      ref-filter: give uintmax_t to format with %PRIuMAX
      Second batch after 2.20
      Third batch after 2.20
      Fourth batch after 2.20
      Fifth batch for 2.21
      Git 2.21-rc0

Kim Gybels (1):
      diff: ensure correct lifetime of external_diff_cmd

Kyle Meyer (2):
      rebase docs: drop stray word in merge command description
      init docs: correct a punctuation typo

Laura Abbott (1):
      git-quiltimport: add --keep-non-patch option

Linus Torvalds (1):
      Add 'human' date format

Luke Diamand (2):
      git-p4: add failing test for shelved CL update involving move/copy
      git-p4: handle update of moved/copied files when updating a shelve

Martin Ågren (5):
      git-column.txt: fix section header
      Documentation: do not nest open blocks
      git-status.txt: render tables correctly under Asciidoctor
      t7510: invoke git as part of &&-chain
      doc-diff: don't `cd_to_toplevel`

Masaya Suzuki (7):
      Use packet_reader instead of packet_read_line
      pack-protocol.txt: accept error packets in any context
      http: support file handles for HTTP_KEEP_ERROR
      http: enable keep_error for HTTP requests
      remote-curl: define struct for CURLOPT_WRITEFUNCTION
      remote-curl: unset CURLOPT_FAILONERROR
      test: test GIT_CURL_VERBOSE=1 shows an error

Matthew DeVore (4):
      list-objects.c: don't segfault for missing cmdline objects
      revision.c: put promisor option in specialized struct
      list-objects-filter: teach tree:# how to handle >0
      tree:<depth>: skip some trees even when collecting omits

Matthieu Moy (1):
      git-multimail: update to release 1.5.0

Max Kirillov (1):
      http-backend: enable cleaning up forked upload/receive-pack on exit

Nguyễn Thái Ngọc Duy (62):
      git.c: mark more strings for translation
      alias.c: mark split_cmdline_strerror() strings for translation
      archive.c: mark more strings for translation
      attr.c: mark more string for translation
      read-cache.c: turn die("internal error") to BUG()
      read-cache.c: mark more strings for translation
      read-cache.c: add missing colon separators
      reflog: mark strings for translation
      remote.c: turn some error() or die() to BUG()
      remote.c: mark messages for translation
      repack: mark more strings for translation
      parse-options: replace opterror() with optname()
      parse-options.c: turn some die() to BUG()
      parse-options.c: mark more strings for translation
      fsck: reduce word legos to help i18n
      fsck: mark strings for translation
      wt-status.c: remove implicit dependency on the_index
      wt-status.c: remove implicit dependency the_repository
      list-objects-filter.c: remove implicit dependency on the_index
      list-objects.c: reduce the_repository references
      notes-merge.c: remove implicit dependency on the_index
      notes-merge.c: remove implicit dependency the_repository
      transport.c: remove implicit dependency on the_index
      sequencer.c: remove implicit dependency on the_index
      sequencer.c: remove implicit dependency on the_repository
      blame.c: remove implicit dependency the_repository
      bisect.c: remove the_repository reference
      branch.c: remove the_repository reference
      bundle.c: remove the_repository references
      cache-tree.c: remove the_repository references
      delta-islands.c: remove the_repository references
      diff-lib.c: remove the_repository references
      line-log.c: remove the_repository reference
      notes-cache.c: remove the_repository references
      pack-check.c: remove the_repository references
      pack-*.c: remove the_repository references
      rerere.c: remove the_repository references
      rebase-interactive.c: remove the_repository references
      checkout: disambiguate dwim tracking branches and local files
      checkout: print something when checking out paths
      tree.c: make read_tree*() take 'struct repository *'
      tree-walk.c: make tree_entry_interesting() take an index
      pathspec.h: clean up "extern" in function declarations
      dir.c: move, rename and export match_attrs()
      tree-walk: support :(attr) matching
      Indent code with TABs
      style: the opening '{' of a function is in a separate line
      worktree: allow to (re)move worktrees with uninitialized submodules
      grep: use grep_opt->repo instead of explict repo argument
      notes-utils.c: remove the_repository references
      repository.c: replace hold_locked_index() with repo_hold_locked_index()
      checkout: avoid the_index when possible
      read-cache.c: kill read_index()
      read-cache.c: replace update_index_if_able with repo_&
      sha1-name.c: remove implicit dependency on the_index
      merge-recursive.c: remove implicit dependency on the_index
      merge-recursive.c: remove implicit dependency on the_repository
      read-cache.c: remove the_* from index_has_changes()
      cache.h: flip NO_THE_INDEX_COMPATIBILITY_MACROS switch
      fetch: prefer suffix substitution in compact fetch.output
      help: align the longest command in the command listing
      git-commit.txt: better description what it does

Olga Telezhnaya (6):
      ref-filter: add objectsize:disk option
      ref-filter: add check for negative file size
      ref-filter: add tests for objectsize:disk
      ref-filter: add deltabase option
      ref-filter: add tests for deltabase
      ref-filter: add docs for new options

Orgad Shaneh (2):
      t5403: simplify by using a single repository
      rebase: run post-checkout hook on checkout

Patrick Hogg (2):
      pack-objects: move read mutex to packing_data struct
      pack-objects: merge read_lock and lock in packing_data struct

Peter Osterlund (1):
      git-p4: fix problem when p4 login is not necessary

Phillip Wood (11):
      diff: document --no-color-moved
      Use "whitespace" consistently
      diff: allow --no-color-moved-ws
      diff --color-moved-ws: demonstrate false positives
      diff --color-moved-ws: fix false positives
      diff --color-moved=zebra: be stricter with color alternation
      diff --color-moved-ws: optimize allow-indentation-change
      diff --color-moved-ws: modify allow-indentation-change
      diff --color-moved-ws: handle blank lines
      implicit interactive rebase: don't run sequence editor
      rebase -x: sanity check command

Pranit Bauva (7):
      bisect--helper: `bisect_reset` shell function in C
      bisect--helper: `bisect_write` shell function in C
      wrapper: move is_empty_file() and rename it as is_empty_or_missing_file()
      bisect--helper: `check_and_set_terms` shell function in C
      bisect--helper: `bisect_next_check` shell function in C
      bisect--helper: `get_terms` & `bisect_terms` shell function in C
      bisect--helper: `bisect_start` shell function partially in C

Ramsay Jones (2):
      config.mak.uname: remove obsolete SPARSE_FLAGS setting
      Makefile: improve SPARSE_FLAGS customisation

Randall S. Becker (4):
      transport-helper: use xread instead of read
      config.mak.uname: support for modern HPE NonStop config.
      git-compat-util.h: add FLOSS headers for HPE NonStop
      compat/regex/regcomp.c: define intptr_t and uintptr_t on NonStop

René Scharfe (5):
      sha1-file: close fd of empty file in map_sha1_file_1()
      object-store: factor out odb_loose_cache()
      object-store: factor out odb_clear_loose_cache()
      object-store: use one oid_array per subdirectory for loose cache
      object-store: retire odb_load_loose_cache()

SZEDER Gábor (22):
      clone: use a more appropriate variable name for the default refspec
      clone: respect additional configured fetch refspecs during initial fetch
      Documentation/clone: document ignored configuration variables
      test-lib: check Bash version for '-x' without using shell arrays
      test-lib: translate SIGTERM and SIGHUP to an exit
      test-lib: extract Bash version check for '-x' tracing
      test-lib: parse options in a for loop to keep $@ intact
      test-lib: parse command line options earlier
      test-lib: consolidate naming of test-results paths
      test-lib: set $TRASH_DIRECTORY earlier
      test-lib-functions: introduce the 'test_set_port' helper function
      test-lib: add the '--stress' option to run a test repeatedly under load
      compat/obstack: fix -Wcast-function-type warnings
      .gitignore: ignore external debug symbols from GCC on macOS
      travis-ci: don't be '--quiet' when running the tests
      travis-ci: switch to Xcode 10.1 macOS image
      travis-ci: build with the right compiler
      commit-graph: rename "large edges" to "extra edges"
      commit-graph: don't call write_graph_chunk_extra_edges() unnecessarily
      strbuf.cocci: suggest strbuf_addbuf() to add one strbuf to an other
      object_as_type: initialize commit-graph-related fields of 'struct commit'
      travis-ci: make the OSX build jobs' 'brew update' more quiet

Sebastian Staudt (2):
      describe: setup working tree for --dirty
      t6120: test for describe with a bare repository

Sergey Organov (4):
      t3510: stop using '-m 1' to force failure mid-sequence of cherry-picks
      cherry-pick: do not error on non-merge commits when '-m 1' is specified
      t3502: validate '-m 1' argument is now accepted for non-merge commits
      t3506: validate '-m 1 -ff' is now accepted for non-merge commits

Shahzad Lone (1):
      various: tighten constness of some local variables

Slavica Djukic (1):
      stash: tolerate missing user identity

Stefan Beller (39):
      sha1_file: allow read_object to read objects in arbitrary repositories
      packfile: allow has_packed_and_bad to handle arbitrary repositories
      diff: align move detection error handling with other options
      object-store: allow read_object_file_extended to read from any repo
      object-store: prepare read_object_file to deal with any repo
      object-store: prepare has_{sha1, object}_file to handle any repo
      object: parse_object to honor its repository argument
      commit: allow parse_commit* to handle any repo
      commit-reach.c: allow paint_down_to_common to handle any repo
      commit-reach.c: allow merge_bases_many to handle any repo
      commit-reach.c: allow remove_redundant to handle any repo
      commit-reach.c: allow get_merge_bases_many_0 to handle any repo
      commit-reach: prepare get_merge_bases to handle any repo
      commit-reach: prepare in_merge_bases[_many] to handle any repo
      commit: prepare get_commit_buffer to handle any repo
      commit: prepare repo_unuse_commit_buffer to handle any repo
      commit: prepare logmsg_reencode to handle arbitrary repositories
      pretty: prepare format_commit_message to handle arbitrary repositories
      sideband: color lines with keyword only
      sha1-array: provide oid_array_filter
      submodule.c: fix indentation
      submodule.c: sort changed_submodule_names before searching it
      submodule.c: tighten scope of changed_submodule_names struct
      submodule: store OIDs in changed_submodule_names
      repository: repo_submodule_init to take a submodule struct
      submodule: migrate get_next_submodule to use repository structs
      submodule.c: fetch in submodules git directory instead of in worktree
      fetch: ensure submodule objects fetched
      submodule update: add regression test with old style setups
      submodule: unset core.worktree if no working tree is present
      submodule--helper: fix BUG message in ensure_core_worktree
      submodule deinit: unset core.worktree
      submodule: use submodule repos for object lookup
      submodule: don't add submodule as odb for push
      commit-graph: convert remaining functions to handle any repo
      commit: prepare free_commit_buffer and release_commit_memory for any repo
      path.h: make REPO_GIT_PATH_FUNC repository agnostic
      t/helper/test-repository: celebrate independence from the_repository
      git-submodule: abort if core.worktree could not be set correctly

Stephen P. Smith (4):
      Replace the proposed 'auto' mode with 'auto:'
      Add 'human' date format documentation
      Add `human` format to test-tool
      Add `human` date format tests.

Sven van Haastregt (1):
      git-submodule.sh: shorten submodule SHA-1s using rev-parse

Thomas Braun (1):
      log -G: ignore binary files

Thomas Gummerer (3):
      t5570: drop racy test
      Revert "t/lib-git-daemon: record daemon log"
      config.mak.dev: add -Wall, primarily for -Wformat, to help autoconf users

Torsten Bögershausen (3):
      git clone <url> C:\cygwin\home\USER\repo' is working (again)
      test-lint: only use only sed [-n] [-e command] [-f command_file]
      Support working-tree-encoding "UTF-16LE-BOM"

brian m. carlson (19):
      sha1-file: rename algorithm to "sha1"
      sha1-file: provide functions to look up hash algorithms
      hex: introduce functions to print arbitrary hashes
      cache: make hashcmp and hasheq work with larger hashes
      t: add basic tests for our SHA-1 implementation
      t: make the sha1 test-tool helper generic
      sha1-file: add a constant for hash block size
      t/helper: add a test helper to compute hash speed
      commit-graph: convert to using the_hash_algo
      Add a base implementation of SHA-256 support
      sha256: add an SHA-256 implementation using libgcrypt
      hash: add an SHA-256 implementation using OpenSSL
      tree-walk: copy object ID before use
      match-trees: compute buffer offset correctly when splicing
      match-trees: use hashcpy to splice trees
      tree-walk: store object_id in a separate member
      cache: make oidcpy always copy GIT_MAX_RAWSZ bytes
      fetch-pack: clear alternate shallow when complete
      fetch-pack: clear alternate shallow in one more place

Ævar Arnfjörð Bjarmason (17):
      remote.c: add braces in anticipation of a follow-up change
      i18n: remote.c: mark error(...) messages for translation
      push: improve the error shown on unqualified <dst> push
      push: move unqualified refname error into a function
      push: add an advice on unqualified <dst> push
      push: test that <src> doesn't DWYM if <dst> is unqualified
      push doc: document the DWYM behavior pushing to unqualified <dst>
      commit-graph: split up close_reachable() progress output
      commit-graph write: use pack order when finding commits
      commit-graph write: add "Writing out" progress output
      commit-graph write: more descriptive "writing out" output
      commit-graph write: show progress for object search
      commit-graph write: add more descriptive progress output
      commit-graph write: remove empty line for readability
      commit-graph write: add itermediate progress
      commit-graph write: emit a percentage for all progress
      diff-tree doc: correct & remove wrong documentation


Version v2.20.5; changes since v2.20.4:
---------------------------------------

Johannes Schindelin (5):
      run-command: invalidate lstat cache after a command finished
      Git 2.17.6
      Git 2.18.5
      Git 2.19.6
      Git 2.20.5

Matheus Tavares (2):
      checkout: fix bug that makes checkout follow symlinks in leading path
      unpack_trees(): start with a fresh lstat cache


Version v2.20.4; changes since v2.20.3:
---------------------------------------

Jeff King (6):
      t0300: make "quit" helper more realistic
      t0300: use more realistic inputs
      credential: parse URL without host as empty host, not unset
      credential: refuse to operate when missing host or protocol
      credential: die() when parsing invalid urls
      Git 2.17.5

Jonathan Nieder (4):
      fsck: convert gitmodules url to URL passed to curl
      credential: treat URL without scheme as invalid
      credential: treat URL with empty scheme as invalid
      fsck: reject URL with empty host in .gitmodules


Version v2.20.3; changes since v2.20.2:
---------------------------------------

Jeff King (4):
      credential: avoid writing values with newlines
      t/lib-credential: use test_i18ncmp to check stderr
      credential: detect unrepresentable values when parsing urls
      fsck: detect gitmodules URLs with embedded newlines

Junio C Hamano (1):
      Git 2.17.4


Version v2.20.2; changes since v2.20.1:
---------------------------------------

Garima Singh (2):
      test-path-utils: offer to run a protectNTFS/protectHFS benchmark
      tests: add a helper to stress test argument quoting

Jeff King (7):
      t9300: drop some useless uses of cat
      t9300: create marks files for double-import-marks test
      fast-import: tighten parsing of boolean command line options
      fast-import: stop creating leading directories for import-marks
      fast-import: delay creating leading directories for export-marks
      fast-import: disallow "feature export-marks" by default
      fast-import: disallow "feature import-marks" by default

Johannes Schindelin (27):
      clone --recurse-submodules: prevent name squatting on Windows
      mingw: disallow backslash characters in tree objects' file names
      path.c: document the purpose of `is_ntfs_dotgit()`
      is_ntfs_dotgit(): only verify the leading segment
      path: safeguard `.git` against NTFS Alternate Streams Accesses
      is_ntfs_dotgit(): speed it up
      mingw: fix quoting of arguments
      path: also guard `.gitmodules` against NTFS Alternate Data Streams
      protect_ntfs: turn on NTFS protection by default
      Disallow dubiously-nested submodule git directories
      quote-stress-test: accept arguments to test via the command-line
      t6130/t9350: prepare for stringent Win32 path validation
      quote-stress-test: allow skipping some trials
      unpack-trees: let merged_entry() pass through do_add_entry()'s errors
      mingw: refuse to access paths with illegal characters
      quote-stress-test: offer to test quoting arguments for MSYS2 sh
      mingw: refuse to access paths with trailing spaces or periods
      mingw: handle `subst`-ed "DOS drives"
      Git 2.14.6
      Git 2.15.4
      test-drop-caches: use `has_dos_drive_prefix()`
      Git 2.16.6
      Git 2.17.3
      Git 2.18.2
      Git 2.19.3
      t7415: adjust test for dubiously-nested submodule gitdirs for v2.20.x
      Git 2.20.2

Jonathan Nieder (3):
      submodule: reject submodule.update = !command in .gitmodules
      fsck: reject submodule.update = !command in .gitmodules
      submodule: defend against submodule.update = !command in .gitmodules


Version v2.20.1; changes since v2.20.0:
---------------------------------------

Derrick Stolee (1):
      .gitattributes: ensure t/oid-info/* has eol=lf

Johannes Schindelin (4):
      help.h: fix coding style
      help -a: handle aliases with long names gracefully
      t4256: mark support files as LF-only
      t9902: 'send-email' test case requires PERL

Junio C Hamano (2):
      run-command: report exec failure
      Git 2.20.1

Nguyễn Thái Ngọc Duy (1):
      parse-options: fix SunCC compiler warning


Version v2.20.0; changes since v2.20.0-rc2:
-------------------------------------------

Alexander Shopov (3):
      l10n: bg.po: Updated Bulgarian translation (4185t)
      l10n: bg.po: Updated Bulgarian translation (4185t)
      l10n: bg.po: Updated Bulgarian translation (4187t)

Christopher Díaz Riveros (2):
      l10n: es.po v2.20.0 round 1
      l10n: es.po v2.20.0 round 3

Jean-Noël Avila (2):
      l10n: fr.po v2.20 rnd 1
      l10n: fr.po v2.20.0 round 3

Jiang Xin (5):
      l10n: zh_CN: review for git v2.19.0 l10n
      l10n: git.pot: v2.20.0 round 1 (254 new, 27 removed)
      l10n: git.pot: v2.20.0 round 2 (2 new, 2 removed)
      l10n: git.pot: v2.20.0 round 3 (5 new, 3 removed)
      l10n: zh_CN: for git v2.20.0 l10n round 1 to 3

Johannes Sixt (1):
      rebase docs: fix incorrect format of the section Behavioral Differences

Jordi Mas (2):
      l10n: Update Catalan translation
      l10n: Update Catalan translation

Junio C Hamano (1):
      Git 2.20

Martin Ågren (4):
      range-diff: always pass at least minimal diff options
      RelNotes 2.20: move some items between sections
      RelNotes 2.20: clarify sentence
      RelNotes 2.20: drop spurious double quote

Minh Nguyen (1):
      l10n: vi.po: fix typo in pack-objects

Peter Krefting (2):
      l10n: sv.po: Update Swedish translation (4185t0f0u)
      l10n: sv.po: Update Swedish translation (4187t0f0u)

Ralf Thielow (3):
      l10n: update German translation
      l10n: update German translation
      l10n: de.po: fix two messages

Trần Ngọc Quân (2):
      l10n: vi(4185t): Updated Vietnamese translation for v2.20.0
      l10n: vi(4187t): Updated Vietnamese translation for v2.20.0 rd3


Version v2.20.0-rc2; changes since v2.20.0-rc1:
-----------------------------------------------

Greg Hurrell (1):
      doc: update diff-format.txt for removed ellipses in --raw

Jean-Noël Avila (1):
      i18n: fix small typos

Jeff King (1):
      t5562: fix perl path

Johannes Schindelin (2):
      rebase: fix GIT_REFLOG_ACTION regression
      rebase --stat: fix when rebasing to an unrelated history

Junio C Hamano (2):
      format-patch: do not let its diff-options affect --range-diff
      Git 2.20-rc2

Martin Ågren (2):
      git-reset.txt: render tables correctly under Asciidoctor
      git-reset.txt: render literal examples as monospace

Nguyễn Thái Ngọc Duy (2):
      files-backend.c: fix build error on Solaris
      transport-helper.c: do not translate a string twice

Ralf Thielow (1):
      builtin/rebase.c: remove superfluous space in messages

SZEDER Gábor (3):
      tests: send "bug in the test script" errors to the script's stderr
      test-lib-functions: make 'test_cmp_rev' more informative on failure
      t/lib-git-daemon: fix signal checking

Sven Strickroth (1):
      msvc: directly use MS version (_stricmp) of strcasecmp

Torsten Bögershausen (1):
      t5601-99: Enable colliding file detection for MINGW

Ævar Arnfjörð Bjarmason (2):
      push: change needlessly ambiguous example in error
      advice: don't pointlessly suggest --convert-graft-file


Version v2.20.0-rc1; changes since v2.20.0-rc0:
-----------------------------------------------

Derrick Stolee (1):
      pack-objects: ignore ambiguous object warnings

Jeff King (3):
      pack-objects: fix tree_depth and layer invariants
      pack-objects: zero-initialize tree_depth/layer arrays
      pack-objects: fix off-by-one in delta-island tree-depth computation

Johannes Schindelin (7):
      tests: fix GIT_TEST_INSTALLED's PATH to include t/helper/
      tests: respect GIT_TEST_INSTALLED when initializing repositories
      t/lib-gettext: test installed git-sh-i18n if GIT_TEST_INSTALLED is set
      tests: do not require Git to be built when testing an installed Git
      tests: explicitly use `git.exe` on Windows
      legacy-rebase: backport -C<n> and --whitespace=<option> checks
      rebase: warn about the correct tree's OID

Jonathan Nieder (3):
      eoie: default to not writing EOIE section
      ieot: default to not writing IEOT section
      index: make index.threads=true enable ieot and eoie

Junio C Hamano (5):
      Makefile: ease dynamic-gettext-poison transition
      RelNotes: name the release properly
      Prepare for 2.20-rc1
      Git 2.19.2
      Git 2.20-rc1

Nguyễn Thái Ngọc Duy (2):
      format-patch: respect --stat in cover letter's diffstat
      clone: fix colliding file detection on APFS

SZEDER Gábor (1):
      coccicheck: introduce 'pending' semantic patches

Todd Zullinger (1):
      Documentation: build technical/multi-pack-index

Torsten Bögershausen (2):
      Upcast size_t variables to uintmax_t when printing
      remote-curl.c: xcurl_off_t is not portable (on 32 bit platfoms)

Ævar Arnfjörð Bjarmason (2):
      i18n: make GETTEXT_POISON a runtime option
      read-cache: make the split index obey umask settings

Đoàn Trần Công Danh (1):
      git-compat-util: prefer poll.h to sys/poll.h


Version v2.20.0-rc0; changes since v2.19.6:
-------------------------------------------

Aaron Lindsay (1):
      send-email: avoid empty transfer encoding header

Alban Gruin (21):
      sequencer: make three functions and an enum from sequencer.c public
      rebase -i: rewrite append_todo_help() in C
      editor: add a function to launch the sequence editor
      rebase -i: rewrite the edit-todo functionality in C
      sequencer: add a new function to silence a command, except if it fails
      rebase -i: rewrite setup_reflog_action() in C
      rebase -i: rewrite checkout_onto() in C
      sequencer: refactor append_todo_help() to write its message to a buffer
      sequencer: change the way skip_unnecessary_picks() returns its result
      t3404: todo list with commented-out commands only aborts
      rebase -i: rewrite complete_action() in C
      rebase -i: remove unused modes and functions
      rebase -i: implement the logic to initialize $revisions in C
      rebase -i: rewrite the rest of init_revisions_and_shortrevisions() in C
      rebase -i: rewrite write_basic_state() in C
      rebase -i: rewrite init_basic_state() in C
      rebase -i: implement the main part of interactive rebase as a builtin
      rebase--interactive2: rewrite the submodes of interactive rebase in C
      rebase -i: remove git-rebase--interactive.sh
      rebase -i: move rebase--helper modes to rebase--interactive
      p3400: replace calls to `git checkout -b' by `git checkout -B'

Andreas Gruenbacher (1):
      rev-parse: clear --exclude list after 'git rev-parse --all'

Anton Serbulov (1):
      mingw: fix getcwd when the parent directory cannot be queried

Antonio Ospite (10):
      submodule: add a print_config_from_gitmodules() helper
      submodule: factor out a config_set_in_gitmodules_file_gently function
      t7411: merge tests 5 and 6
      t7411: be nicer to future tests and really clean things up
      submodule--helper: add a new 'config' subcommand
      submodule: use the 'submodule--helper config' command
      t7506: clean up .gitmodules properly before setting up new scenario
      submodule: add a helper to check if it is safe to write to .gitmodules
      submodule: support reading .gitmodules when it's not in the working tree
      t/helper: add test-submodule-nested-repo-config

Ben Peart (18):
      checkout: optimize "git checkout -b <new_branch>"
      t/README: correct spelling of "uncommon"
      preload-index: use git_env_bool() not getenv() for customization
      fsmonitor: update GIT_TEST_FSMONITOR support
      read-cache: update TEST_GIT_INDEX_VERSION support
      preload-index: update GIT_FORCE_PRELOAD_TEST support
      read-cache: clean up casting and byte decoding
      eoie: add End of Index Entry (EOIE) extension
      config: add new index.threads config setting
      read-cache: load cache extensions on a worker thread
      ieot: add Index Entry Offset Table (IEOT) extension
      read-cache: load cache entries on worker threads
      reset: don't compute unstaged changes after reset when --quiet
      reset: add new reset.quiet config setting
      reset: warn when refresh_index() takes more than 2 seconds
      speed up refresh_index() by utilizing preload_index()
      add: speed up cmd_add() by utilizing read_cache_preload()
      refresh_index: remove unnecessary calls to preload_index()

Brendan Forster (1):
      http: add support for disabling SSL revocation checks in cURL

Carlo Marcelo Arenas Belón (8):
      unpack-trees: avoid dead store for struct progress
      multi-pack-index: avoid dead store for struct progress
      read-cache: use of memory after it is freed
      commit-slabs: move MAYBE_UNUSED out
      khash: silence -Wunused-function for delta-islands
      compat: make sure git_mmap is not expected to write
      sequencer: cleanup for gcc warning in non developer mode
      builtin/notes: remove unnecessary free

Christian Couder (3):
      pack-objects: refactor code into compute_layer_order()
      pack-objects: move tree_depth into 'struct packing_data'
      pack-objects: move 'layer' into 'struct packing_data'

Christian Hesse (2):
      subtree: add build targets 'man' and 'html'
      subtree: make install targets depend on build targets

Denton Liu (3):
      mergetool: accept -g/--[no-]gui as arguments
      completion: support `git mergetool --[no-]gui`
      doc: document diff/merge.guitool config keys

Derrick Stolee (86):
      multi-pack-index: add design document
      multi-pack-index: add format details
      multi-pack-index: add builtin
      multi-pack-index: add 'write' verb
      midx: write header information to lockfile
      multi-pack-index: load into memory
      t5319: expand test data
      packfile: generalize pack directory list
      multi-pack-index: read packfile list
      multi-pack-index: write pack names in chunk
      midx: read pack names into array
      midx: sort and deduplicate objects from packfiles
      midx: write object ids in a chunk
      midx: write object id fanout chunk
      midx: write object offsets
      config: create core.multiPackIndex setting
      midx: read objects from multi-pack-index
      midx: use midx in abbreviation calculations
      midx: use existing midx when writing new one
      midx: use midx in approximate_object_count
      midx: prevent duplicate packfile loads
      packfile: skip loading index if in multi-pack-index
      midx: clear midx on repack
      commit-reach: move walk methods from commit.c
      commit.h: remove method declarations
      commit-reach: move ref_newer from remote.c
      commit-reach: move commit_contains from ref-filter
      upload-pack: make reachable() more generic
      upload-pack: refactor ok_to_give_up()
      upload-pack: generalize commit date cutoff
      commit-reach: move can_all_from_reach_with_flags
      test-reach: create new test tool for ref_newer
      test-reach: test in_merge_bases
      test-reach: test is_descendant_of
      test-reach: test get_merge_bases_many
      test-reach: test reduce_heads
      test-reach: test can_all_from_reach_with_flags
      test-reach: test commit_contains
      commit-reach: replace ref_newer logic
      commit-reach: make can_all_from_reach... linear
      commit-reach: use can_all_from_reach
      multi-pack-index: provide more helpful usage info
      multi-pack-index: store local property
      midx: mark bad packed objects
      midx: stop reporting garbage
      midx: fix bug that skips midx with alternates
      packfile: add all_packs list
      treewide: use get_all_packs
      midx: test a few commands that use get_all_packs
      pack-objects: consider packs in multi-pack-index
      commit-graph: define GIT_TEST_COMMIT_GRAPH
      t3206-range-diff.sh: cover single-patch case
      t5318: use test_oid for HASH_LEN
      multi-pack-index: add 'verify' verb
      multi-pack-index: verify bad header
      multi-pack-index: verify corrupt chunk lookup table
      multi-pack-index: verify packname order
      multi-pack-index: verify missing pack
      multi-pack-index: verify oid fanout order
      multi-pack-index: verify oid lookup order
      multi-pack-index: fix 32-bit vs 64-bit size check
      multi-pack-index: verify object offsets
      multi-pack-index: report progress during 'verify'
      fsck: verify multi-pack-index
      commit-reach: properly peel tags
      commit-reach: fix memory and flag leaks
      commit-reach: cleanups in can_all_from_reach...
      commit-graph: clean up leaked memory during write
      commit-graph: reduce initial oid allocation
      midx: fix broken free() in close_midx()
      contrib: add coverage-diff script
      ci: add optional test variables
      commit-reach: fix first-parent heuristic
      midx: close multi-pack-index on repack
      multi-pack-index: define GIT_TEST_MULTI_PACK_INDEX
      packfile: close multi-pack-index in close_all_packs
      prio-queue: add 'peek' operation
      test-reach: add run_three_modes method
      test-reach: add rev-list tests
      revision.c: begin refactoring --topo-order logic
      commit/revisions: bookkeeping before refactoring
      revision.c: generation-based topo-order algorithm
      t6012: make rev-list tests more interesting
      commit-reach: implement get_reachable_subset
      test-reach: test get_reachable_subset
      remote: make add_missing_tags() linear

Elijah Newren (7):
      merge-recursive: set paths correctly when three-way merging content
      merge-recursive: avoid wrapper function when unnecessary and wasteful
      merge-recursive: remove final remaining caller of merge_file_one()
      merge-recursive: rename merge_file_1() and merge_content()
      merge-recursive: improve auto-merging messages with path collisions
      merge-recursive: avoid showing conflicts with merge branch before HEAD
      fsck: move fsck_head_link() to get_default_heads() to avoid some globals

Eric Sunshine (26):
      format-patch: allow additional generated content in make_cover_letter()
      format-patch: add --interdiff option to embed diff in cover letter
      format-patch: teach --interdiff to respect -v/--reroll-count
      interdiff: teach show_interdiff() to indent interdiff
      log-tree: show_log: make commentary block delimiting reusable
      format-patch: allow --interdiff to apply to a lone-patch
      range-diff: respect diff_option.file rather than assuming 'stdout'
      range-diff: publish default creation factor
      range-diff: relieve callers of low-level configuration burden
      format-patch: add --range-diff option to embed diff in cover letter
      format-patch: extend --range-diff to accept revision range
      format-patch: teach --range-diff to respect -v/--reroll-count
      format-patch: add --creation-factor tweak for --range-diff
      format-patch: allow --range-diff to apply to a lone-patch
      worktree: don't die() in library function find_worktree()
      worktree: move delete_git_dir() earlier in file for upcoming new callers
      worktree: generalize delete_git_dir() to reduce code duplication
      worktree: prepare for more checks of whether path can become worktree
      worktree: disallow adding same path multiple times
      worktree: teach 'add' to respect --force for registered but missing path
      worktree: teach 'move' to override lock when --force given twice
      worktree: teach 'remove' to override lock when --force given twice
      worktree: delete .git/worktrees if empty after 'remove'
      doc-diff: fix non-portable 'man' invocation
      doc-diff: add --clean mode to remove temporary working gunk
      doc/Makefile: drop doc-diff worktree and temporary files on "make clean"

James Knight (1):
      build: link with curl-defined linker flags

Jann Horn (2):
      patch-delta: fix oob read
      patch-delta: consistently report corruption

Jeff King (73):
      branch: make "-l" a synonym for "--list"
      Add delta-islands.{c,h}
      pack-objects: add delta-islands support
      repack: add delta-islands support
      t5320: tests for delta islands
      t/perf: factor boilerplate out of test_perf
      t/perf: factor out percent calculations
      t/perf: add infrastructure for measuring sizes
      t/perf: add perf tests for fetches from a bitmapped server
      pack-bitmap: save "have" bitmap from walk
      pack-objects: reuse on-disk deltas for thin "have" objects
      SubmittingPatches: mention doc-diff
      rev-list: make empty --stdin not an error
      coccinelle: use <...> for function exclusion
      introduce hasheq() and oideq()
      convert "oidcmp() == 0" to oideq()
      convert "hashcmp() == 0" to hasheq()
      convert "oidcmp() != 0" to "!oideq()"
      convert "hashcmp() != 0" to "!hasheq()"
      convert hashmap comparison functions to oideq()
      read-cache: use oideq() in ce_compare functions
      show_dirstat: simplify same-content check
      doc-diff: always use oids inside worktree
      test-delta: read input into a heap buffer
      t5303: test some corrupt deltas
      patch-delta: handle truncated copy parameters
      t5303: use printf to generate delta bases
      doc/git-branch: remove obsolete "-l" references
      bitmap_has_sha1_in_uninteresting(): drop BUG check
      t5310: test delta reuse with bitmaps
      traverse_bitmap_commit_list(): don't free result
      pack-bitmap: drop "loaded" flag
      doc-diff: force worktree add
      pack-objects: handle island check for "external" delta base
      more oideq/hasheq conversions
      transport: drop refnames from for_each_alternate_ref
      test-tool: show tool list on error
      config.mak.dev: enable -Wunused-function
      t5410: use longer path for sample script
      ls-remote: do not send ref prefixes for patterns
      ls-remote: pass heads/tags prefixes to transport
      read_istream_pack_non_delta(): document input handling
      xdiff: provide a separate emit callback for hunks
      xdiff-interface: provide a separate consume callback for hunks
      rev-list: handle flags for --indexed-objects
      approxidate: handle pending number for "specials"
      pathspec: handle non-terminated strings with :(attr)
      diff: avoid generating unused hunk header lines
      diff: discard hunk headers for patch-ids earlier
      diff: use hunk callback for word-diff
      combine-diff: use an xdiff hunk callback
      diff: convert --check to use a hunk callback
      range-diff: use a hunk callback
      xdiff-interface: drop parse_hunk_header()
      apply: mark include/exclude options as NONEG
      am: handle --no-patch-format option
      ls-files: mark exclude options as NONEG
      pack-objects: mark index-version option as NONEG
      cat-file: mark batch options with NONEG
      status: mark --find-renames option with NONEG
      format-patch: mark "--no-numbered" option with NONEG
      show-branch: mark --reflog option as NONEG
      tag: mark "--message" option with NONEG
      cat-file: report an error on multiple --batch options
      apply: return -1 from option callback instead of calling exit(1)
      parse-options: drop OPT_DATE()
      assert NOARG/NONEG behavior of parse-options callbacks
      midx: double-check large object write loop
      merge: extract verify_merge_signature() helper
      merge: handle --verify-signatures for unborn branch
      pull: handle --verify-signatures for unborn branch
      approxidate: fix NULL dereference in date_time()
      bundle: dup() output descriptor closer to point-of-use

Johannes Schindelin (47):
      compat/poll: prepare for targeting Windows Vista
      mingw: set _WIN32_WINNT explicitly for Git for Windows
      mingw: bump the minimum Windows version to Vista
      builtin rebase: prepare for builtin rebase -i
      rebase -i: clarify what happens on a failed `exec`
      rebase -i: introduce the 'break' command
      getpwuid(mingw): initialize the structure only once
      getpwuid(mingw): provide a better default for the user name
      mingw: use domain information for default email
      http: add support for selecting SSL backends at runtime
      rebase (autostash): avoid duplicate call to state_dir_path()
      rebase (autostash): store the full OID in <state-dir>/autostash
      rebase (autostash): use an explicit OID to apply the stash
      mingw: factor out code to set stat() data
      rebase --autostash: demonstrate a problem with dirty submodules
      rebase --autostash: fix issue with dirty submodules
      mingw: load system libraries the recommended way
      mingw: ensure `getcwd()` reports the correct case
      http: when using Secure Channel, ignore sslCAInfo by default
      t7800: fix quoting
      mingw: reencode environment variables on the fly (UTF-16 <-> UTF-8)
      config: rename `dummy` parameter to `cb` in git_default_config()
      config: allow for platform-specific core.* config settings
      config: move Windows-specific config settings into compat/mingw.c
      mingw: unset PERL5LIB by default
      mingw: fix isatty() after dup2()
      t3404: decouple some test cases from outcomes of previous test cases
      t3418: decouple test cases from a previous `rebase -p` test case
      tests: optionally skip `git rebase -p` tests
      Windows: force-recompile git.res for differing architectures
      built-in rebase: demonstrate regression with --autostash
      built-in rebase --autostash: leave the current branch alone if possible
      Update .mailmap
      rebase -r: demonstrate bug with conflicting merges
      rebase -r: do not write MERGE_HEAD unless needed
      rebase -i: include MERGE_HEAD into files to clean up
      built-in rebase --skip/--abort: clean up stale .git/<name> files
      status: rebase and merge can be in progress at the same time
      apply --recount: allow "no-op hunks"
      rebase: consolidate clean-up code before leaving reset_head()
      rebase: prepare reset_head() for more flags
      built-in rebase: reinstate `checkout -q` behavior where appropriate
      mingw: use `CreateHardLink()` directly
      rebase: really just passthru the `git am` options
      rebase: validate -C<n> and --whitespace=<mode> parameters early
      config: report a bug if git_dir exists without commondir
      mingw: replace an obsolete link with the superseding one

Johannes Sixt (1):
      rebase -i: recognize short commands without arguments

Jonathan Nieder (4):
      gc: improve handling of errors reading gc.log
      gc: exit with status 128 on failure
      gc: do not return error for prior errors in daemonized mode
      commit-reach: correct accidental #include of C file

Jonathan Tan (11):
      connected: document connectivity in partial clones
      fetch: in partial clone, check presence of targets
      transport: allow skipping of ref listing
      transport: do not list refs if possible
      transport: list refs before fetch if necessary
      fetch: do not list refs if fetching only hashes
      cache-tree: skip some blob checks in partial clone
      upload-pack: make have_obj not global
      upload-pack: make want_obj not global
      upload-pack: clear flags before each v2 request
      fetch-pack: be more precise in parsing v2 response

Josh Steadmon (4):
      fuzz: add basic fuzz testing target.
      fuzz: add fuzz testing for packfile indices.
      archive: initialize archivers earlier
      Makefile: use FUZZ_CXXFLAGS for linking fuzzers

Joshua Watt (1):
      send-email: explicitly disable authentication

Junio C Hamano (19):
      Revert "doc/Makefile: drop doc-diff worktree and temporary files on "make clean""
      Initial batch post 2.19
      Second batch post 2.19
      t0000: do not get self-test disrupted by environment warnings
      Declare that the next one will be named 2.20
      Third batch for 2.20
      rebase: fix typoes in error messages
      Fourth batch for 2.20
      Revert "subtree: make install targets depend on build targets"
      Fifth batch for 2.20
      http: give curl version warnings consistently
      Sixth batch for 2.20
      Seventh batch for 2.20
      fetch: replace string-list used as a look-up table with a hashmap
      rebase: apply cocci patch
      Eighth batch for 2.20
      Ninth batch for 2.20
      Tenth batch for 2.20
      Git 2.20-rc0

Karsten Blees (2):
      mingw: replace MSVCRT's fstat() with a Win32-based implementation
      mingw: implement nanosecond-precision file times

Loo Rong Jie (1):
      win32: replace pthread_cond_*() with much simpler code

Lucas De Marchi (1):
      range-diff: allow to diff files regardless of submodule config

Luke Diamand (3):
      git-p4: do not fail in verbose mode for missing 'fileSize' key
      git-p4: unshelve into refs/remotes/p4-unshelved, not refs/remotes/p4/unshelved
      git-p4: fully support unshelving changelists

Martin Ågren (4):
      Doc: use `--type=bool` instead of `--bool`
      git-config.txt: fix 'see: above' note
      builtin/commit-graph.c: UNLEAK variables
      sequencer: break out of loop explicitly

Matthew DeVore (17):
      list-objects: store common func args in struct
      list-objects: refactor to process_tree_contents
      list-objects: always parse trees gently
      t/README: reformat Do, Don't, Keep in mind lists
      Documentation: add shell guidelines
      tests: standardize pipe placement
      t/*: fix ordering of expected/observed arguments
      tests: don't swallow Git errors upstream of pipes
      t9109: don't swallow Git errors upstream of pipes
      tests: order arguments to git-rev-list properly
      rev-list: handle missing tree objects properly
      revision: mark non-user-given objects instead
      list-objects-filter: use BUG rather than die
      list-objects-filter-options: do not over-strbuf_init
      list-objects-filter: implement filter tree:0
      filter-trees: code clean-up of tests
      list-objects: support for skipping tree traversal

Max Kirillov (1):
      http-backend test: make empty CONTENT_LENGTH test more realistic

Michał Górny (6):
      gpg-interface.c: detect and reject multiple signatures on commits
      gpg-interface.c: use flags to determine key/signer info presence
      gpg-interface.c: support getting key fingerprint via %GF format
      gpg-interface.c: obtain primary key fingerprint as well
      t/t7510-signed-commit.sh: Add %GP to custom format checks
      t/t7510-signed-commit.sh: add signing subkey to Eris Discordia key

Nguyễn Thái Ngọc Duy (164):
      clone: report duplicate entries on case-insensitive filesystems
      trace.h: support nested performance tracing
      unpack-trees: add performance tracing
      unpack-trees: optimize walking same trees with cache-tree
      unpack-trees: reduce malloc in cache-tree walk
      unpack-trees: reuse (still valid) cache-tree from src_index
      unpack-trees: add missing cache invalidation
      cache-tree: verify valid cache-tree in the test suite
      Document update for nd/unpack-trees-with-cache-tree
      bisect.c: make show_list() build again
      t/helper: keep test-tool command list sorted
      t/helper: merge test-dump-untracked-cache into test-tool
      t/helper: merge test-pkt-line into test-tool
      t/helper: merge test-parse-options into test-tool
      t/helper: merge test-dump-fsmonitor into test-tool
      Makefile: add a hint about TEST_BUILTINS_OBJS
      config.txt: follow camelCase naming
      config.txt: move fetch part out to a separate file
      config.txt: move format part out to a separate file
      config.txt: move gitcvs part out to a separate file
      config.txt: move gui part out to a separate file
      config.txt: move pull part out to a separate file
      config.txt: move push part out to a separate file
      config.txt: move receive part out to a separate file
      config.txt: move sendemail part out to a separate file
      config.txt: move sequence.editor out of "core" part
      config.txt: move submodule part out to a separate file
      archive.c: remove implicit dependency the_repository
      status: show progress bar if refreshing the index takes too long
      completion: support "git fetch --multiple"
      read-cache.c: remove 'const' from index_has_changes()
      diff.c: reduce implicit dependency on the_index
      combine-diff.c: remove implicit dependency on the_index
      blame.c: rename "repo" argument to "r"
      diff.c: remove the_index dependency in textconv() functions
      grep.c: remove implicit dependency on the_index
      diff.c: remove implicit dependency on the_index
      read-cache.c: remove implicit dependency on the_index
      diff-lib.c: remove implicit dependency on the_index
      ll-merge.c: remove implicit dependency on the_index
      merge-blobs.c: remove implicit dependency on the_index
      merge.c: remove implicit dependency on the_index
      patch-ids.c: remove implicit dependency on the_index
      sha1-file.c: remove implicit dependency on the_index
      rerere.c: remove implicit dependency on the_index
      userdiff.c: remove implicit dependency on the_index
      line-range.c: remove implicit dependency on the_index
      submodule.c: remove implicit dependency on the_index
      tree-diff.c: remove implicit dependency on the_index
      ws.c: remove implicit dependency on the_index
      revision.c: remove implicit dependency on the_index
      revision.c: reduce implicit dependency the_repository
      read-cache.c: optimize reading index format v4
      help -a: improve and make --verbose default
      refs.c: indent with tabs, not spaces
      Add a place for (not) sharing stuff between worktrees
      submodule.c: remove some of the_repository references
      completion: fix __gitcomp_builtin no longer consider extra options
      t1300: extract and use test_cmp_config()
      worktree: add per-worktree config files
      refs: new ref types to make per-worktree refs visible to all worktrees
      revision.c: correct a parameter name
      revision.c: better error reporting on ref from different worktrees
      fsck: check HEAD and reflog from other worktrees
      reflog expire: cover reflog from all worktrees
      Update makefile in preparation for Documentation/config/*.txt
      config.txt: move advice.* to a separate file
      config.txt: move core.* to a separate file
      config.txt: move add.* to a separate file
      config.txt: move alias.* to a separate file
      config.txt: move am.* to a separate file
      config.txt: move apply.* to a separate file
      config.txt: move blame.* to a separate file
      config.txt: move branch.* to a separate file
      config.txt: move browser.* to a separate file
      config.txt: move checkout.* to a separate file
      config.txt: move clean.* to a separate file
      config.txt: move color.* to a separate file
      config.txt: move column.* to a separate file
      config.txt: move commit.* to a separate file
      config.txt: move credential.* to a separate file
      config.txt: move completion.* to a separate file
      config.txt: move diff-config.txt to config/
      config.txt: move difftool.* to a separate file
      config.txt: move fastimport.* to a separate file
      config.txt: move fetch-config.txt to config/
      config.txt: move filter.* to a separate file
      config.txt: move format-config.txt to config/
      config.txt: move fmt-merge-msg-config.txt to config/
      config.txt: move fsck.* to a separate file
      config.txt: move gc.* to a separate file
      config.txt: move gitcvs-config.txt to config/
      config.txt: move gitweb.* to a separate file
      config.txt: move grep.* to a separate file
      config.txt: move gpg.* to a separate file
      config.txt: move gui-config.txt to config/
      config.txt: move guitool.* to a separate file
      config.txt: move help.* to a separate file
      config.txt: move ssh.* to a separate file
      config.txt: move http.* to a separate file
      config.txt: move i18n.* to a separate file
      git-imap-send.txt: move imap.* to a separate file
      config.txt: move index.* to a separate file
      config.txt: move init.* to a separate file
      config.txt: move instaweb.* to a separate file
      config.txt: move interactive.* to a separate file
      config.txt: move log.* to a separate file
      config.txt: move mailinfo.* to a separate file
      config.txt: move mailmap.* to a separate file
      config.txt: move man.* to a separate file
      config.txt: move merge-config.txt to config/
      config.txt: move mergetool.* to a separate file
      config.txt: move notes.* to a separate file
      config.txt: move pack.* to a separate file
      config.txt: move pager.* to a separate file
      config.txt: move pretty.* to a separate file
      config.txt: move protocol.* to a separate file
      config.txt: move pull-config.txt to config/
      config.txt: move push-config.txt to config/
      config.txt: move rebase-config.txt to config/
      config.txt: move receive-config.txt to config/
      config.txt: move remote.* to a separate file
      config.txt: move remotes.* to a separate file
      config.txt: move repack.* to a separate file
      config.txt: move rerere.* to a separate file
      config.txt: move reset.* to a separate file
      config.txt: move sendemail-config.txt to config/
      config.txt: move sequencer.* to a separate file
      config.txt: move showBranch.* to a separate file
      config.txt: move splitIndex.* to a separate file
      config.txt: move status.* to a separate file
      config.txt: move stash.* to a separate file
      config.txt: move submodule.* to a separate file
      config.txt: move tag.* to a separate file
      config.txt: move transfer.* to a separate file
      config.txt: move uploadarchive.* to a separate file
      config.txt: move uploadpack.* to a separate file
      config.txt: move url.* to a separate file
      config.txt: move user.* to a separate file
      config.txt: move versionsort.* to a separate file
      config.txt: move web.* to a separate file
      config.txt: move worktree.* to a separate file
      config.txt: remove config/dummy.txt
      thread-utils: macros to unconditionally compile pthreads API
      wildmatch: change behavior of "foo**bar" in WM_PATHNAME mode
      git-worktree.txt: correct linkgit command name
      sequencer.c: remove a stray semicolon
      tree-walk.c: fix overoptimistic inclusion in :(exclude) matching
      run-command.h: include thread-utils.h instead of pthread.h
      send-pack.c: move async's #ifdef NO_PTHREADS back to run-command.c
      index-pack: remove #ifdef NO_PTHREADS
      name-hash.c: remove #ifdef NO_PTHREADS
      attr.c: remove #ifdef NO_PTHREADS
      grep: remove #ifdef NO_PTHREADS
      grep: clean up num_threads handling
      preload-index.c: remove #ifdef NO_PTHREADS
      pack-objects: remove #ifdef NO_PTHREADS
      read-cache.c: remove #ifdef NO_PTHREADS
      read-cache.c: reduce branching based on HAVE_THREADS
      read-cache.c: initialize copy_len to shut up gcc 8
      Clean up pthread_create() error handling
      completion: use __gitcomp_builtin for format-patch
      build: fix broken command-list.h generation with core.autocrlf
      doc: move extensions.worktreeConfig to the right place

Nickolai Belakovski (2):
      worktree: update documentation for lock_reason and lock_reason_valid
      worktree: rename is_worktree_locked to worktree_lock_reason

Olga Telezhnaya (3):
      ref-filter: free memory from used_atom
      ls-remote: release memory instead of UNLEAK
      ref-filter: free item->value and item->value->s

Phillip Wood (11):
      diff: fix --color-moved-ws=allow-indentation-change
      diff --color-moved-ws: fix double free crash
      diff --color-moved-ws: fix out of bounds string access
      diff --color-moved-ws: fix a memory leak
      diff --color-moved-ws: fix another memory leak
      diff --color-moved: fix a memory leak
      am: don't die in read_author_script()
      am: improve author-script error reporting
      am: rename read_author_script()
      add read_author_script() to libgit
      sequencer: use read_author_script()

Pratik Karki (46):
      rebase: start implementing it as a builtin
      rebase: refactor common shell functions into their own file
      builtin/rebase: support running "git rebase <upstream>"
      builtin rebase: support --onto
      builtin rebase: support `git rebase --onto A...B`
      builtin rebase: handle the pre-rebase hook and --no-verify
      builtin rebase: support --quiet
      builtin rebase: support the `verbose` and `diffstat` options
      builtin rebase: require a clean worktree
      builtin rebase: try to fast forward when possible
      builtin rebase: support --force-rebase
      builtin rebase: start a new rebase only if none is in progress
      builtin rebase: only store fully-qualified refs in `options.head_name`
      builtin rebase: support `git rebase <upstream> <switch-to>`
      builtin rebase: support --continue
      builtin rebase: support --skip
      builtin rebase: support --abort
      builtin rebase: support --quit
      builtin rebase: support --edit-todo and --show-current-patch
      builtin rebase: actions require a rebase in progress
      builtin rebase: stop if `git am` is in progress
      builtin rebase: allow selecting the rebase "backend"
      builtin rebase: support --signoff
      builtin rebase: support --rerere-autoupdate
      builtin rebase: support --committer-date-is-author-date
      builtin rebase: support `ignore-whitespace` option
      builtin rebase: support `ignore-date` option
      builtin rebase: support `keep-empty` option
      builtin rebase: support `--autosquash`
      builtin rebase: support `--gpg-sign` option
      builtin rebase: support `-C` and `--whitespace=<type>`
      builtin rebase: support `--autostash` option
      builtin rebase: support `--exec`
      builtin rebase: support `--allow-empty-message` option
      builtin rebase: support --rebase-merges[=[no-]rebase-cousins]
      merge-base --fork-point: extract libified function
      builtin rebase: support `fork-point` option
      builtin rebase: add support for custom merge strategies
      builtin rebase: support --root
      builtin rebase: optionally auto-detect the upstream
      builtin rebase: optionally pass custom reflogs to reset_head()
      builtin rebase: fast-forward to onto if it is a proper descendant
      builtin rebase: show progress when connected to a terminal
      builtin rebase: use no-op editor when interactive is "implied"
      builtin rebase: error out on incompatible option/mode combinations
      rebase: default to using the builtin rebase

Rafael Ascensão (2):
      refs: show --exclude failure with --branches/tags/remotes=glob
      refs: fix some exclude patterns being ignored

Ralf Thielow (1):
      git-rebase.sh: fix typos in error messages

Ramsay Jones (12):
      Makefile: add a hdr-check target
      json-writer.h: add missing include (hdr-check)
      ewah/ewok_rlw.h: add missing include (hdr-check)
      refs/ref-cache.h: add missing declarations (hdr-check)
      refs/packed-backend.h: add missing declaration (hdr-check)
      refs/refs-internal.h: add missing declarations (hdr-check)
      midx.h: add missing forward declarations (hdr-check)
      delta-islands.h: add missing forward declarations (hdr-check)
      headers: normalize the spelling of some header guards
      fetch-object.h: add missing declaration (hdr-check)
      ewok_rlw.h: add missing 'inline' to function definition
      commit-reach.h: add missing declarations (hdr-check)

Rasmus Villemoes (6):
      help: redirect to aliased commands for "git cmd --help"
      git.c: handle_alias: prepend alias info when first argument is -h
      git-help.txt: document "git help cmd" vs "git cmd --help" for aliases
      Documentation/git-send-email.txt: style fixes
      send-email: only consider lines containing @ or <> for automatic Cc'ing
      send-email: also pick up cc addresses from -by trailers

René Scharfe (11):
      mailinfo: support format=flowed
      fsck: add a performance test for skipList
      fsck: use strbuf_getline() to read skiplist file
      fsck: use oidset instead of oid_array for skipList
      grep: add -r/--[no-]recursive
      fetch-pack: factor out is_unmatched_ref()
      fetch-pack: load tip_oids eagerly iff needed
      khash: factor out kh_release_*
      oidset: use khash
      oidset: uninline oidset_init()
      commit-reach: fix cast in compare_commits_by_gen()

Roger Strain (1):
      subtree: performance improvement for finding unexpected parent commits

SZEDER Gábor (4):
      t1404: increase core.packedRefsTimeout to avoid occasional test failure
      object_id.cocci: match only expressions of type 'struct object_id'
      travis-ci: install packages in 'ci/install-dependencies.sh'
      ref-filter: don't look for objects when outside of a repository

Stefan Beller (21):
      git-submodule.sh: align error reporting for update mode to use path
      git-submodule.sh: rename unused variables
      builtin/submodule--helper: factor out submodule updating
      builtin/submodule--helper: store update_clone information in a struct
      builtin/submodule--helper: factor out method to update a single submodule
      submodule--helper: replace connect-gitdir-workingtree by ensure-core-worktree
      submodule--helper: introduce new update-module-mode helper
      test_decode_color: understand FAINT and ITALIC
      t3206: add color test for range-diff --dual-color
      diff.c: simplify caller of emit_line_0
      diff.c: reorder arguments for emit_line_ws_markup
      diff.c: add set_sign to emit_line_0
      diff: use emit_line_0 once per line
      diff.c: omit check for line prefix in emit_line_0
      diff.c: rewrite emit_line_0 more understandably
      diff.c: add --output-indicator-{new, old, context}
      range-diff: make use of different output indicators
      range-diff: indent special lines as context
      diff.c: pass sign_index to emit_line_ws_markup
      submodule helper: convert relative URL to absolute URL if needed
      builtin/submodule--helper: remove debugging leftover tracing

Stephen P. Smith (10):
      wt-status.c: move has_unmerged earlier in the file
      wt-status: rename commitable to committable
      t7501: add test of "commit --dry-run --short"
      wt-status.c: set the committable flag in the collect phase
      roll wt_status_state into wt_status and populate in the collect phase
      t2000: rename and combine checkout clash tests
      t7509: cleanup description and filename
      t7502: rename commit test script to comply with naming convention
      t7500: rename commit tests script to comply with naming convention
      t7501: rename commit test to comply with naming convention

Steve Hoelzer (1):
      poll: use GetTickCount64() to avoid wrap-around issues

Steven Fernandez (1):
      git-completion.bash: add completion for stash list

Strain, Roger L (4):
      subtree: refactor split of a commit into standalone method
      subtree: make --ignore-joins pay attention to adds
      subtree: use commits before rejoins for splits
      subtree: improve decision on merges kept in split

Taylor Blau (4):
      transport.c: extract 'fill_alternate_refs_command'
      transport.c: introduce core.alternateRefsCommand
      transport.c: introduce core.alternateRefsPrefixes
      Documentation/config.txt: fix typo in core.alternateRefsCommand

Thomas Gummerer (13):
      rerere: unify error messages when read_cache fails
      rerere: lowercase error messages
      rerere: wrap paths in output in sq
      rerere: mark strings for translation
      rerere: add documentation for conflict normalization
      rerere: fix crash with files rerere can't handle
      rerere: only return whether a path has conflicts or not
      rerere: factor out handle_conflict function
      rerere: return strbuf from handle path
      rerere: teach rerere to handle nested conflicts
      rerere: recalculate conflict ID when unresolved conflict is committed
      rerere: mention caveat about unmatched conflict markers
      rerere: add note about files with existing conflict markers

Tim Schumacher (3):
      alias: add support for aliases of an alias
      alias: show the call history when an alias is looping
      t0014: introduce an alias testing suite

brian m. carlson (26):
      t: add test functions to translate hash-related values
      t0000: use hash translation table
      t0000: update tests for SHA-256
      t0002: abstract away SHA-1 specific constants
      t0064: make hash size independent
      t1006: make hash size independent
      t1400: switch hard-coded object ID to variable
      t1405: make hash size independent
      t1406: make hash-size independent
      t1407: make hash size independent
      editorconfig: provide editor settings for Git developers
      editorconfig: indicate settings should be kept in sync
      pack-bitmap-write: use GIT_MAX_RAWSZ for allocation
      builtin/repack: replace hard-coded constants
      builtin/mktree: remove hard-coded constant
      builtin/fetch-pack: remove constants with parse_oid_hex
      pack-revindex: express constants in terms of the_hash_algo
      packfile: express constants in terms of the_hash_algo
      refs/packed-backend: express constants using the_hash_algo
      upload-pack: express constants in terms of the_hash_algo
      transport: use parse_oid_hex instead of a constant
      tag: express constant in terms of the_hash_algo
      apply: replace hard-coded constants
      apply: rename new_sha1_prefix and old_sha1_prefix
      submodule: make zero-oid comparison hash function agnostic
      rerere: convert to use the_hash_algo

Ævar Arnfjörð Bjarmason (31):
      fetch: change "branch" to "reference" in --force -h output
      push tests: make use of unused $1 in test description
      push tests: use spaces in interpolated string
      fetch tests: add a test for clobbering tag behavior
      push doc: remove confusing mention of remote merger
      push doc: move mention of "tag <tag>" later in the prose
      push doc: correct lies about how push refspecs work
      fetch: document local ref updates with/without --force
      fetch: stop clobbering existing tags without --force
      fsck tests: setup of bogus commit object
      fsck tests: add a test for no skipList input
      fsck: document and test sorted skipList input
      fsck: document and test commented & empty line skipList input
      fsck: document that skipList input must be unabbreviated
      fsck: add a performance test
      fsck: support comments & empty lines in skipList
      commit-graph write: add progress output
      commit-graph verify: add progress output
      config doc: add missing list separator for checkout.optimizeNewBranch
      push doc: add spacing between two words
      fetch doc: correct grammar in --force docs
      gc: fix regression in 7b0f229222 impacting --quiet
      gc doc: mention the commit-graph in the intro
      pack-objects test: modernize style
      pack-objects tests: don't leave test .git corrupt at end
      index-pack tests: don't leave test repo dirty at end
      range-diff doc: add a section about output stability
      range-diff: fix regression in passing along diff options
      range-diff: make diff option behavior (e.g. --stat) consistent
      rebase doc: document rebase.useBuiltin
      tests: add a special setup where rebase.useBuiltin is off


Version v2.19.6; changes since v2.19.5:
---------------------------------------

Johannes Schindelin (4):
      run-command: invalidate lstat cache after a command finished
      Git 2.17.6
      Git 2.18.5
      Git 2.19.6

Matheus Tavares (2):
      checkout: fix bug that makes checkout follow symlinks in leading path
      unpack_trees(): start with a fresh lstat cache


Version v2.19.5; changes since v2.19.4:
---------------------------------------

Jeff King (6):
      t0300: make "quit" helper more realistic
      t0300: use more realistic inputs
      credential: parse URL without host as empty host, not unset
      credential: refuse to operate when missing host or protocol
      credential: die() when parsing invalid urls
      Git 2.17.5

Jonathan Nieder (4):
      fsck: convert gitmodules url to URL passed to curl
      credential: treat URL without scheme as invalid
      credential: treat URL with empty scheme as invalid
      fsck: reject URL with empty host in .gitmodules


Version v2.19.4; changes since v2.19.3:
---------------------------------------

Jeff King (4):
      credential: avoid writing values with newlines
      t/lib-credential: use test_i18ncmp to check stderr
      credential: detect unrepresentable values when parsing urls
      fsck: detect gitmodules URLs with embedded newlines

Junio C Hamano (1):
      Git 2.17.4


Version v2.19.3; changes since v2.19.2:
---------------------------------------

Garima Singh (2):
      test-path-utils: offer to run a protectNTFS/protectHFS benchmark
      tests: add a helper to stress test argument quoting

Jeff King (7):
      t9300: drop some useless uses of cat
      t9300: create marks files for double-import-marks test
      fast-import: tighten parsing of boolean command line options
      fast-import: stop creating leading directories for import-marks
      fast-import: delay creating leading directories for export-marks
      fast-import: disallow "feature export-marks" by default
      fast-import: disallow "feature import-marks" by default

Johannes Schindelin (25):
      clone --recurse-submodules: prevent name squatting on Windows
      mingw: disallow backslash characters in tree objects' file names
      path.c: document the purpose of `is_ntfs_dotgit()`
      is_ntfs_dotgit(): only verify the leading segment
      path: safeguard `.git` against NTFS Alternate Streams Accesses
      is_ntfs_dotgit(): speed it up
      mingw: fix quoting of arguments
      path: also guard `.gitmodules` against NTFS Alternate Data Streams
      protect_ntfs: turn on NTFS protection by default
      Disallow dubiously-nested submodule git directories
      quote-stress-test: accept arguments to test via the command-line
      t6130/t9350: prepare for stringent Win32 path validation
      quote-stress-test: allow skipping some trials
      unpack-trees: let merged_entry() pass through do_add_entry()'s errors
      mingw: refuse to access paths with illegal characters
      quote-stress-test: offer to test quoting arguments for MSYS2 sh
      mingw: refuse to access paths with trailing spaces or periods
      mingw: handle `subst`-ed "DOS drives"
      Git 2.14.6
      Git 2.15.4
      test-drop-caches: use `has_dos_drive_prefix()`
      Git 2.16.6
      Git 2.17.3
      Git 2.18.2
      Git 2.19.3

Jonathan Nieder (2):
      submodule: reject submodule.update = !command in .gitmodules
      fsck: reject submodule.update = !command in .gitmodules


Version v2.19.2; changes since v2.19.1:
---------------------------------------

Alexander Pyhalov (1):
      t7005-editor: quote filename to fix whitespace-issue

Andreas Heiduk (6):
      doc: clarify boundaries of 'git worktree list --porcelain'
      doc: fix ASCII art tab spacing
      doc: fix inappropriate monospace formatting
      doc: fix descripion for 'git tag --format'
      doc: fix indentation of listing blocks in gitweb.conf.txt
      doc: fix formatting in git-update-ref

Ben Peart (1):
      git-mv: allow submodules and fsmonitor to work together

Brandon Williams (1):
      config: document value 2 for protocol.version

Daniels Umanovskis (3):
      doc: move git-rev-parse from porcelain to plumbing
      doc: move git-get-tar-commit-id to plumbing
      doc: move git-cherry to plumbing

David Zych (1):
      doc: clarify gitcredentials path component matching

Derrick Stolee (6):
      commit-graph: update design document
      test-repository: properly init repo
      commit-graph: not compatible with replace objects
      commit-graph: not compatible with grafts
      commit-graph: not compatible with uninitialized repo
      commit-graph: close_commit_graph before shallow walk

Elijah Newren (7):
      Remove superfluous trailing semicolons
      t4200: demonstrate rerere segfault on specially crafted merge
      rerere: avoid buffer overrun
      update-ref: fix type of update_flags variable to match its usage
      update-ref: allow --no-deref with --stdin
      sequencer: fix --allow-empty-message behavior, make it smarter
      commit: fix erroneous BUG, 'multiple renames on the same target? how?'

Frederick Eaton (3):
      git-archimport.1: specify what kind of Arch we're talking about
      git-column.1: clarify initial description, provide examples
      git-describe.1: clarify that "human readable" is also git-readable

Jeff Hostetler (2):
      t0051: test GIT_TRACE to a windows named pipe
      mingw: fix mingw_open_append to work with named pipes

Jeff King (16):
      trailer: use size_t for string offsets
      trailer: use size_t for iterating trailer list
      trailer: pass process_trailer_opts to trailer_info_get()
      interpret-trailers: tighten check for "---" patch boundary
      interpret-trailers: allow suppressing "---" divider
      pretty, ref-filter: format %(trailers) with no_divider option
      sequencer: ignore "---" divider when parsing trailers
      append_signoff: use size_t for string offsets
      reopen_tempfile(): truncate opened file
      config.mak.dev: add -Wformat-security
      receive-pack: update comment with check_everything_connected
      run-command: mark path lookup errors with ENOENT
      upload-pack: fix broken if/else chain in config callback
      t1450: check large blob in trailing-garbage test
      check_stream_sha1(): handle input underflow
      cat-file: handle streaming failures consistently

Johannes Schindelin (8):
      rebase -i --autosquash: demonstrate a problem skipping the last squash
      rebase -i: be careful to wrap up fixup/squash chains
      pack-objects: fix typo 'detla' -> 'delta'
      pack-objects (mingw): demonstrate a segmentation fault with large deltas
      pack-objects (mingw): initialize `packing_data` mutex in the correct spot
      repack: point out a bug handling stale shallow info
      shallow: offer to prune only non-existing entries
      repack -ad: prune the list of shallow commits

Johannes Sixt (2):
      diff: don't attempt to strip prefix from absolute Windows paths
      t3404-rebase-interactive: test abbreviated commands

Jonathan Nieder (2):
      mailmap: consistently normalize brian m. carlson's name
      git doc: direct bug reporters to mailing list archive

Jonathan Tan (4):
      fetch-object: unify fetch_object[s] functions
      fetch-object: set exact_oid when fetching
      fetch-pack: avoid object flags if no_dependents
      fetch-pack: exclude blobs when lazy-fetching trees

Junio C Hamano (5):
      CodingGuidelines: document the API in *.h files
      receive: denyCurrentBranch=updateinstead should not blindly update
      cocci: simplify "if (++u > 1)" to "if (u++)"
      fsck: s/++i > 1/i++/
      Git 2.19.2

Martin Ågren (5):
      git-commit-graph.txt: fix bullet lists
      git-commit-graph.txt: typeset more in monospace
      git-commit-graph.txt: refer to "*commit*-graph file"
      Doc: refer to the "commit-graph file" with dash
      t1400: drop debug `echo` to actually execute `test`

Matthew DeVore (2):
      Documentation/git-log.txt: do not show --exclude-promisor-objects
      exclude-promisor-objects: declare when option is allowed

Michael Witten (3):
      docs: typo: s/go/to/
      docs: graph: remove unnecessary `graph_update()' call
      docs: typo: s/isimilar/similar/

Mihir Mehta (1):
      doc: fix a typo and clarify a sentence

Nguyễn Thái Ngọc Duy (2):
      add: do not accept pathspec magic 'attr'
      config.txt: correct the note about uploadpack.packObjectsHook

Noam Postavsky (1):
      log: fix coloring of certain octopus merge shapes

René Scharfe (1):
      sequencer: use return value of oidset_insert()

SZEDER Gábor (12):
      Documentation/git.txt: clarify that GIT_TRACE=/path appends
      t3701-add-interactive: tighten the check of trace output
      t1700-split-index: drop unnecessary 'grep'
      t0090: disable GIT_TEST_SPLIT_INDEX for the test checking split index
      t1700-split-index: document why FSMONITOR is disabled in this test script
      split-index: add tests to demonstrate the racy split index problem
      t1700-split-index: date back files to avoid racy situations
      split-index: count the number of deleted entries
      split-index: don't compare cached data of entries already marked for split index
      split-index: smudge and add racily clean cache entries to split index
      split-index: BUG() when cache entry refers to non-existing shared entry
      test-lib: introduce the '-V' short option for '--verbose-log'

Sam McKelvie (1):
      rev-parse: --show-superproject-working-tree should work during a merge

Saulius Gurklys (1):
      doc: fix small typo in git show-branch

Sebastian Staudt (1):
      travis-ci: no longer use containers

Shulhan (1):
      builtin/remote: quote remote name on error to display empty name

Stefan Beller (4):
      refs.c: migrate internal ref iteration to pass thru repository argument
      refs.c: upgrade for_each_replace_ref to be a each_repo_ref_fn callback
      string-list: remove unused function print_string_list
      strbuf.h: format according to coding guidelines

Tao Qingyun (3):
      refs: docstring typo
      builtin/branch.c: remove useless branch_get
      branch: trivial style fix

Thomas Gummerer (4):
      .gitattributes: add conflict-marker-size for relevant files
      linear-assignment: fix potential out of bounds memory access
      t5551: move setup code inside test_expect blocks
      t5551: compare sorted cookies files

Tim Schumacher (1):
      Documentation/Makefile: make manpage-base-url.xsl generation quieter

Torsten Bögershausen (2):
      Make git_check_attr() a void function
      path.c: char is not (always) signed

Uwe Kleine-König (1):
      howto/using-merge-subtree: mention --allow-unrelated-histories


Version v2.19.1; changes since v2.19.0:
---------------------------------------

Jeff King (5):
      submodule--helper: use "--" to signal end of clone options
      submodule-config: ban submodule urls that start with dash
      submodule-config: ban submodule paths that start with a dash
      fsck: detect submodule urls starting with dash
      fsck: detect submodule paths starting with dash

Junio C Hamano (6):
      Git 2.14.5
      Git 2.15.3
      Git 2.16.5
      Git 2.17.2
      Git 2.18.1
      Git 2.19.1


Version v2.19.0; changes since v2.19.0-rc2:
-------------------------------------------

Alexander Shopov (1):
      l10n: bg.po: Updated Bulgarian translation (3958t)

Christopher Díaz Riveros (1):
      l10n: es.po v2.19.0 round 2

Dimitriy Ryazantcev (1):
      l10n: ru.po: update Russian translation

Jean-Noël Avila (2):
      l10n: fr.po v2.19.0 rnd 1
      l10n: fr.po v2.19.0 rnd 2

Jiang Xin (4):
      l10n: zh_CN: review for git 2.18.0
      l10n: git.pot: v2.19.0 round 1 (382 new, 30 removed)
      l10n: git.pot: v2.19.0 round 2 (3 new, 5 removed)
      l10n: zh_CN: for git v2.19.0 l10n round 1 to 2

Jonathan Nieder (1):
      Revert "Merge branch 'sb/submodule-core-worktree'"

Junio C Hamano (1):
      Git 2.19

Max Kirillov (1):
      http-backend: allow empty CONTENT_LENGTH

Peter Krefting (2):
      l10n: sv.po: Update Swedish translation(3608t0f0u)
      l10n: sv.po: Update Swedish translation (3958t0f0u)

Ralf Thielow (1):
      l10n: de.po: translate 108 new messages

Raphaël Hertzog (1):
      l10n: fr: fix a message seen in git bisect

Trần Ngọc Quân (1):
      l10n: vi.po(3958t): updated Vietnamese translation v2.19.0 round 2


Version v2.19.0-rc2; changes since v2.19.0-rc1:
-----------------------------------------------

Derrick Stolee (1):
      commit: don't use generation numbers if not needed

Elijah Newren (3):
      t3401: add another directory rename testcase for rebase and am
      merge-recursive: add ability to turn off directory rename detection
      am: avoid directory rename detection when calling recursive merge machinery

Eric Sunshine (2):
      chainlint: match "quoted" here-doc tags
      config.mak.uname: resolve FreeBSD iconv-related compilation warning

Junio C Hamano (1):
      Git 2.19-rc2

Phillip Wood (2):
      sequencer: handle errors from read_author_ident()
      sequencer: fix quoting in write_author_script

Ævar Arnfjörð Bjarmason (8):
      tests: fix and add lint for non-portable head -c N
      tests: fix and add lint for non-portable seq
      tests: fix comment syntax in chainlint.sed for AIX sed
      tests: use shorter labels in chainlint.sed for AIX sed
      tests: fix version-specific portability issue in Perl JSON
      tests: fix and add lint for non-portable grep --file
      tests: fix non-portable "${var:-"str"}" construct
      tests: fix non-portable iconv invocation


Version v2.19.0-rc1; changes since v2.19.0-rc0:
-----------------------------------------------

Derrick Stolee (2):
      commit: use timestamp_t for author_date_slab
      config: fix commit-graph related config docs

Elia Pinto (1):
      worktree: add --quiet option

Jean-Noël Avila (1):
      i18n: fix mistakes in translated strings

Jeff King (2):
      test-tool.h: include git-compat-util.h
      hashcmp: assert constant hash size

Junio C Hamano (3):
      config.txt: clarify core.checkStat
      Getting ready for -rc1
      Git 2.19-rc1

Kyle Meyer (1):
      range-diff: update stale summary of --no-dual-color

Nguyễn Thái Ngọc Duy (2):
      pack-objects: fix performance issues on packing large deltas
      generate-cmdlist.sh: collect config from all config.txt files

René Scharfe (3):
      checkout-index: improve argument help for --stage
      remote: improve argument help for add --mirror
      parseopt: group literal string alternatives in argument help

SZEDER Gábor (11):
      tests: use 'test_must_be_empty' instead of '! test -s'
      tests: use 'test_must_be_empty' instead of 'test ! -s'
      tests: use 'test_must_be_empty' instead of 'test_cmp /dev/null <out>'
      tests: use 'test_must_be_empty' instead of 'test_cmp <empty> <out>'
      t7501-commit: drop silly command substitution
      t0020-crlf: check the right file
      t4051-diff-function-context: read the right file
      t6018-rev-list-glob: fix 'empty stdin' test
      t3903-stash: don't try to grep non-existing file
      t3420-rebase-autostash: don't try to grep non-existing files
      t/lib-rebase.sh: support explicit 'pick' commands in 'fake_editor.sh'

Samuel Maftoul (1):
      branch: support configuring --sort via .gitconfig

Ævar Arnfjörð Bjarmason (1):
      refactor various if (x) FREE_AND_NULL(x) to just FREE_AND_NULL(x)


Version v2.19.0-rc0; changes since v2.18.5:
-------------------------------------------

Aaron Schrab (1):
      sequencer: use configured comment character

Alban Gruin (4):
      rebase: introduce a dedicated backend for --preserve-merges
      rebase: strip unused code in git-rebase--preserve-merges.sh
      rebase: use the new git-rebase--preserve-merges.sh
      rebase: remove -p code from git-rebase--interactive.sh

Alejandro R. Sedeño (1):
      Makefile: tweak sed invocation

Aleksandr Makarov (1):
      for-each-ref: consistently pass WM_IGNORECASE flag

Andrei Rybak (2):
      Documentation: fix --color option formatting
      t4150: fix broken test for am --scissors

Anthony Sottile (1):
      config.c: fix regression for core.safecrlf false

Antonio Ospite (6):
      config: move config_from_gitmodules to submodule-config.c
      submodule-config: add helper function to get 'fetch' config from .gitmodules
      submodule-config: add helper to get 'update-clone' config from .gitmodules
      submodule-config: make 'config_from_gitmodules' private
      submodule-config: pass repository as argument to config_from_gitmodules
      submodule-config: reuse config_from_gitmodules in repo_read_gitmodules

Beat Bolli (10):
      builtin/config: work around an unsized array forward declaration
      unicode: update the width tables to Unicode 11
      connect.h: avoid forward declaration of an enum
      refs/refs-internal.h: avoid forward declaration of an enum
      convert.c: replace "\e" escapes with "\033".
      sequencer.c: avoid empty statements at top level
      string-list.c: avoid conversion from void * to function pointer
      utf8.c: avoid char overflow
      Makefile: add a DEVOPTS flag to get pedantic compilation
      packfile: ensure that enum object_type is defined

Ben Peart (3):
      convert log_ref_write_fd() to use strbuf
      handle lower case drive letters on Windows
      t3507: add a testcase showing failure with sparse checkout

Brandon Williams (15):
      commit: convert commit_graft_pos() to handle arbitrary repositories
      commit: convert register_commit_graft to handle arbitrary repositories
      commit: convert read_graft_file to handle arbitrary repositories
      test-pkt-line: add unpack-sideband subcommand
      docs: link to gitsubmodules
      upload-pack: implement ref-in-want
      upload-pack: test negotiation with changing repository
      fetch: refactor the population of peer ref OIDs
      fetch: refactor fetch_refs into two functions
      fetch: refactor to make function args narrower
      fetch-pack: put shallow info in output parameter
      fetch-pack: implement ref-in-want
      clone: send ref-prefixes when using protocol v2
      fetch-pack: mark die strings for translation
      pack-protocol: mention and point to docs for protocol v2

Chen Bin (1):
      git-p4: add the `p4-pre-submit` hook

Christian Couder (1):
      t9104: kosherly remove remote refs

Derrick Stolee (43):
      ref-filter: fix outdated comment on in_commit_list
      commit: add generation number to struct commit
      commit-graph: compute generation numbers
      commit: use generations in paint_down_to_common()
      commit-graph: always load commit-graph information
      ref-filter: use generation number for --contains
      commit: use generation numbers for in_merge_bases()
      commit: add short-circuit to paint_down_to_common()
      commit: use generation number in remove_redundant()
      merge: check config before loading commits
      commit-graph.txt: update design document
      commit-graph: fix UX issue when .lock file exists
      ewah/bitmap.c: delete unused 'bitmap_clear()'
      ewah/bitmap.c: delete unused 'bitmap_each_bit()'
      ewah_bitmap: delete unused 'ewah_and()'
      ewah_bitmap: delete unused 'ewah_and_not()'
      ewah_bitmap: delete unused 'ewah_not()'
      ewah_bitmap: delete unused 'ewah_or()'
      ewah_io: delete unused 'ewah_serialize()'
      t5318-commit-graph.sh: use core.commitGraph
      commit-graph: UNLEAK before die()
      commit-graph: fix GRAPH_MIN_SIZE
      commit-graph: parse commit from chosen graph
      commit: force commit to parse from object database
      commit-graph: load a root tree from specific graph
      commit-graph: add 'verify' subcommand
      commit-graph: verify catches corrupt signature
      commit-graph: verify required chunks are present
      commit-graph: verify corrupt OID fanout and lookup
      commit-graph: verify objects exist
      commit-graph: verify root tree OIDs
      commit-graph: verify parent list
      commit-graph: verify generation number
      commit-graph: verify commit date
      commit-graph: test for corrupted octopus edge
      commit-graph: verify contents match checksum
      fsck: verify commit-graph
      commit-graph: use string-list API for input
      commit-graph: add '--reachable' option
      gc: automatically write commit-graph files
      commit-graph: update design document
      commit-graph: fix documentation inconsistencies
      coccinelle: update commit.cocci

Elijah Newren (63):
      t6036, t6042: use test_create_repo to keep tests independent
      t6036, t6042: use test_line_count instead of wc -l
      t6036, t6042: prefer test_path_is_file, test_path_is_missing
      t6036, t6042: prefer test_cmp to sequences of test
      t6036: prefer test_when_finished to manual cleanup in following test
      merge-recursive: fix miscellaneous grammar error in comment
      merge-recursive: fix numerous argument alignment issues
      merge-recursive: align labels with their respective code blocks
      merge-recursive: clarify the rename_dir/RENAME_DIR meaning
      merge-recursive: rename conflict_rename_*() family of functions
      merge-recursive: add pointer about unduly complex looking code
      git-rebase.txt: document incompatible options
      git-rebase.sh: update help messages a bit
      t3422: new testcases for checking when incompatible options passed
      git-rebase: error out when incompatible options passed
      git-rebase.txt: address confusion between --no-ff vs --force-rebase
      directory-rename-detection.txt: technical docs on abilities and limitations
      git-rebase.txt: document behavioral differences between modes
      t3401: add directory rename testcases for rebase and am
      git-rebase: make --allow-empty-message the default
      t3418: add testcase showing problems with rebase -i and strategy options
      Fix use of strategy options with interactive rebases
      git-rebase--merge: modernize "git-$cmd" to "git $cmd"
      apply: fix grammar error in comment
      t5407: fix test to cover intended arguments
      read-cache.c: move index_has_changes() from merge.c
      index_has_changes(): avoid assuming operating on the_index
      t6044: verify that merges expected to abort actually abort
      t6036: add a failed conflict detection case with symlink modify/modify
      t6036: add a failed conflict detection case with symlink add/add
      t6036: add a failed conflict detection case with submodule modify/modify
      t6036: add a failed conflict detection case with submodule add/add
      t6036: add a failed conflict detection case with conflicting types
      t6042: add testcase covering rename/add/delete conflict type
      t6042: add testcase covering rename/rename(2to1)/delete/delete conflict
      t6042: add testcase covering long chains of rename conflicts
      t6036: add lots of detail for directory/file conflicts in recursive case
      t6036: add a failed conflict detection case: regular files, different modes
      t6044: add a testcase for index matching head, when head doesn't match HEAD
      merge-recursive: make sure when we say we abort that we actually abort
      merge-recursive: fix assumption that head tree being merged is HEAD
      t6044: add more testcases with staged changes before a merge is invoked
      merge-recursive: enforce rule that index matches head before merging
      merge: fix misleading pre-merge check documentation
      t7405: add a file/submodule conflict
      t7405: add a directory/submodule conflict
      t7405: verify 'merge --abort' works after submodule/path conflicts
      merge-recursive: preserve skip_worktree bit when necessary
      t1015: demonstrate directory/file conflict recovery failures
      read-cache: fix directory/file conflict handling in read_index_unmerged()
      t3031: update test description to mention desired behavior
      t7406: fix call that was failing for the wrong reason
      t7406: simplify by using diff --name-only instead of diff --raw
      t7406: avoid having git commands upstream of a pipe
      t7406: prefer test_* helper functions to test -[feds]
      t7406: avoid using test_must_fail for commands other than git
      git-update-index.txt: reword possibly confusing example
      Add missing includes and forward declarations
      alloc: make allocate_alloc_state and clear_alloc_state more consistent
      Move definition of enum branch_track from cache.h to branch.h
      urlmatch.h: fix include guard
      compat/precompose_utf8.h: use more common include guard style
      Remove forward declaration of an enum

Eric Sunshine (53):
      t: use test_might_fail() instead of manipulating exit code manually
      t: use test_write_lines() instead of series of 'echo' commands
      t: use sane_unset() rather than 'unset' with broken &&-chain
      t: drop unnecessary terminating semicolon in subshell
      t/lib-submodule-update: fix "absorbing" test
      t5405: use test_must_fail() instead of checking exit code manually
      t5406: use write_script() instead of birthing shell script manually
      t5505: modernize and simplify hard-to-digest test
      t6036: fix broken "merge fails but has appropriate contents" tests
      t7201: drop pointless "exit 0" at end of subshell
      t7400: fix broken "submodule add/reconfigure --force" test
      t7810: use test_expect_code() instead of hand-rolled comparison
      t9001: fix broken "invoke hook" test
      t9814: simplify convoluted check that command correctly errors out
      t0000-t0999: fix broken &&-chains
      t1000-t1999: fix broken &&-chains
      t2000-t2999: fix broken &&-chains
      t3000-t3999: fix broken &&-chains
      t3030: fix broken &&-chains
      t4000-t4999: fix broken &&-chains
      t5000-t5999: fix broken &&-chains
      t6000-t6999: fix broken &&-chains
      t7000-t7999: fix broken &&-chains
      t9000-t9999: fix broken &&-chains
      t9119: fix broken &&-chains
      t6046/t9833: fix use of "VAR=VAL cmd" with a shell function
      t/check-non-portable-shell: stop being so polite
      t/check-non-portable-shell: make error messages more compact
      t/check-non-portable-shell: detect "FOO=bar shell_func"
      t/test-lib: teach --chain-lint to detect broken &&-chains in subshells
      t/Makefile: add machinery to check correctness of chainlint.sed
      t/chainlint: add chainlint "basic" test cases
      t/chainlint: add chainlint "whitespace" test cases
      t/chainlint: add chainlint "one-liner" test cases
      t/chainlint: add chainlint "nested subshell" test cases
      t/chainlint: add chainlint "loop" and "conditional" test cases
      t/chainlint: add chainlint "cuddled" test cases
      t/chainlint: add chainlint "complex" test cases
      t/chainlint: add chainlint "specialized" test cases
      diff: --color-moved: rename "dimmed_zebra" to "dimmed-zebra"
      mw-to-git/t9360: fix broken &&-chain
      t/chainlint.sed: drop extra spaces from regex character class
      sequencer: fix "rebase -i --root" corrupting author header
      sequencer: fix "rebase -i --root" corrupting author header timezone
      sequencer: fix "rebase -i --root" corrupting author header timestamp
      sequencer: don't die() on bogus user-edited timestamp
      color: protect against out-of-bounds reads and writes
      chainlint: match arbitrary here-docs tags rather than hard-coded names
      chainlint: match 'quoted' here-doc tags
      chainlint: recognize multi-line $(...) when command cuddled with "$("
      chainlint: let here-doc and multi-line string commence on same line
      chainlint: recognize multi-line quoted strings more robustly
      chainlint: add test of pathological case which triggered false positive

Han-Wen Nienhuys (2):
      config: document git config getter return value
      sideband: highlight keywords in remote sideband output

Henning Schild (9):
      builtin/receive-pack: use check_signature from gpg-interface
      gpg-interface: make parse_gpg_output static and remove from interface header
      gpg-interface: add new config to select how to sign a commit
      t/t7510: check the validation of the new config gpg.format
      gpg-interface: introduce an abstraction for multiple gpg formats
      gpg-interface: do not hardcode the key string len anymore
      gpg-interface: introduce new config to select per gpg format program
      gpg-interface: introduce new signature format "x509" using gpgsm
      gpg-interface t: extend the existing GPG tests with GPGSM

Isabella Stephens (2):
      blame: prevent error if range ends past end of file
      log: prevent error if line range ends past end of file

Jameson Miller (8):
      read-cache: teach refresh_cache_entry to take istate
      read-cache: teach make_cache_entry to take object_id
      block alloc: add lifecycle APIs for cache_entry structs
      mem-pool: only search head block for available space
      mem-pool: add life cycle management functions
      mem-pool: fill out functionality
      block alloc: allocate cache entries from mem_pool
      block alloc: add validations around cache_entry lifecyle

Jeff Hostetler (1):
      json_writer: new routines to create JSON data

Jeff King (48):
      make show-index a builtin
      show-index: update documentation for index v2
      fetch-pack: don't try to fetch peel values with --all
      ewah: drop ewah_deserialize function
      ewah: drop ewah_serialize_native function
      t3200: unset core.logallrefupdates when testing reflog creation
      t: switch "branch -l" to "branch --create-reflog"
      branch: deprecate "-l" option
      config: turn die_on_error into caller-facing enum
      config: add CONFIG_ERROR_SILENT handler
      config: add options parameter to git_config_from_mem
      fsck: silence stderr when parsing .gitmodules
      t6300: add a test for --ignore-case
      ref-filter: avoid backend filtering with --ignore-case
      t5500: prettify non-commit tag tests
      sequencer: handle empty-set cases consistently
      sequencer: don't say BUG on bogus input
      has_uncommitted_changes(): fall back to empty tree
      fsck: split ".gitmodules too large" error from parse failure
      fsck: downgrade gitmodulesParse default to "info"
      blame: prefer xsnprintf to strcpy for colors
      check_replace_refs: fix outdated comment
      check_replace_refs: rename to read_replace_refs
      add core.usereplacerefs config option
      reencode_string: use st_add/st_mult helpers
      reencode_string: use size_t for string lengths
      strbuf: use size_t for length in intermediate variables
      strbuf_readlink: use ssize_t
      pass st.st_size as hint for strbuf_readlink()
      strbuf_humanise: use unsigned variables
      automatically ban strcpy()
      banned.h: mark strcat() as banned
      banned.h: mark sprintf() as banned
      banned.h: mark strncpy() as banned
      score_trees(): fix iteration over trees with missing entries
      add a script to diff rendered documentation
      t5552: suppress upload-pack trace output
      for_each_*_object: store flag definitions in a single location
      for_each_*_object: take flag arguments as enum
      for_each_*_object: give more comprehensive docstrings
      for_each_packed_object: support iterating in pack-order
      t1006: test cat-file --batch-all-objects with duplicates
      cat-file: rename batch_{loose,packed}_object callbacks
      cat-file: support "unordered" output for --batch-all-objects
      cat-file: use oidset check-and-insert
      cat-file: split batch "buf" into two variables
      cat-file: use a single strbuf for all output
      for_each_*_object: move declarations to object-store.h

Johannes Schindelin (41):
      Makefile: fix the "built from commit" code
      merge: allow reading the merge commit message from a file
      rebase --rebase-merges: add support for octopus merges
      rebase --rebase-merges: adjust man page for octopus support
      vcbuild/README: update to accommodate for missing common-cmds.h
      t7406: avoid failures solely due to timing issues
      contrib: add a script to initialize VS Code configuration
      vscode: hard-code a couple defines
      cache.h: extract enum declaration from inside a struct declaration
      mingw: define WIN32 explicitly
      vscode: only overwrite C/C++ settings
      vscode: wrap commit messages at column 72 by default
      vscode: use 8-space tabs, no trailing ws, etc for Git's source code
      vscode: add a dictionary for cSpell
      vscode: let cSpell work on commit messages, too
      pull --rebase=<type>: allow single-letter abbreviations for the type
      t3430: demonstrate what -r, --autosquash & --exec should do
      git-compat-util.h: fix typo
      remote-curl: remove spurious period
      rebase --exec: make it work with --rebase-merges
      linear-assignment: a function to solve least-cost assignment problems
      Introduce `range-diff` to compare iterations of a topic branch
      range-diff: first rudimentary implementation
      range-diff: improve the order of the shown commits
      range-diff: also show the diff between patches
      range-diff: right-trim commit messages
      range-diff: indent the diffs just like tbdiff
      range-diff: suppress the diff headers
      range-diff: adjust the output of the commit pairs
      range-diff: do not show "function names" in hunk headers
      range-diff: use color for the commit pairs
      color: add the meta color GIT_COLOR_REVERSE
      diff: add an internal option to dual-color diffs of diffs
      range-diff: offer to dual-color the diffs
      range-diff --dual-color: skip white-space warnings
      range-diff: populate the man page
      completion: support `git range-diff`
      range-diff: left-pad patch numbers
      range-diff: make --dual-color the default mode
      range-diff: use dim/bold cues to improve dual color mode
      chainlint: fix for core.autocrlf=true

Johannes Sixt (1):
      mingw: enable atomic O_APPEND

Jonathan Nieder (11):
      object: add repository argument to grow_object_hash
      object: move grafts to object parser
      commit: add repository argument to commit_graft_pos
      commit: add repository argument to register_commit_graft
      commit: add repository argument to read_graft_file
      commit: add repository argument to prepare_commit_graft
      commit: add repository argument to lookup_commit_graft
      subtree test: add missing && to &&-chain
      subtree test: simplify preparation of expected results
      doc hash-function-transition: pick SHA-256 as NewHash
      partial-clone: render design doc using asciidoc

Jonathan Tan (28):
      list-objects: check if filter is NULL before using
      fetch-pack: split up everything_local()
      fetch-pack: clear marks before re-marking
      fetch-pack: directly end negotiation if ACK ready
      fetch-pack: use ref adv. to prune "have" sent
      fetch-pack: make negotiation-related vars local
      fetch-pack: move common check and marking together
      fetch-pack: introduce negotiator API
      pack-bitmap: remove bitmap_git global variable
      pack-bitmap: add free function
      fetch-pack: write shallow, then check connectivity
      fetch-pack: support negotiation tip whitelist
      upload-pack: send refs' objects despite "filter"
      clone: check connectivity even if clone is partial
      revision: tolerate promised targets of tags
      tag: don't warn if target is missing but promised
      negotiator/skipping: skip commits during fetch
      commit-graph: refactor preparing commit graph
      object-store: add missing include
      commit-graph: add missing forward declaration
      commit-graph: add free_commit_graph
      commit-graph: store graph in struct object_store
      commit-graph: add repo arg to graph readers
      t5702: test fetch with multiple refspecs at a time
      fetch: send "refs/tags/" prefix upon CLI refspecs
      fetch-pack: unify ref in and out param
      repack: refactor setup of pack-objects cmd
      repack: repack promisor objects if -a or -A is set

Josh Steadmon (1):
      protocol-v2 doc: put HTTP headers after request

Jules Maselbas (1):
      send-email: fix tls AUTH when sending batch

Junio C Hamano (18):
      tests: clean after SANITY tests
      ewah: delete unused 'rlwit_discharge_empty()'
      Prepare to start 2.19 cycle
      First batch for 2.19 cycle
      Second batch for 2.19 cycle
      fixup! connect.h: avoid forward declaration of an enum
      fixup! refs/refs-internal.h: avoid forward declaration of an enum
      t3404: fix use of "VAR=VAL cmd" with a shell function
      Third batch for 2.19 cycle
      Fourth batch for 2.19 cycle
      remote: make refspec follow the same disambiguation rule as local refs
      Fifth batch for 2.19 cycle
      update-index: there no longer is `apply --index-info`
      gpg-interface: propagate exit status from gpg back to the callers
      Sixth batch for 2.19 cycle
      Seventh batch for 2.19 cycle
      sideband: do not read beyond the end of input
      Git 2.19-rc0

Kana Natsuno (2):
      t4018: add missing test cases for PHP
      userdiff: support new keywords in PHP hunk header

Kim Gybels (1):
      gc --auto: release pack files before auto packing

Kirill Smelkov (1):
      fetch-pack: test explicitly that --all can fetch tag references pointing to non-commits

Luis Marsano (2):
      git-credential-netrc: use in-tree Git.pm for tests
      git-credential-netrc: fix exit status when tests fail

Luke Diamand (6):
      git-p4: python3: replace <> with !=
      git-p4: python3: replace dict.has_key(k) with "k in dict"
      git-p4: python3: remove backticks
      git-p4: python3: basestring workaround
      git-p4: python3: use print() function
      git-p4: python3: fix octal constants

Marc Strapetz (1):
      Documentation: declare "core.ignoreCase" as internal variable

Martin Ågren (1):
      refspec: initalize `refspec_item` in `valid_fetch_refspec()`

Masaya Suzuki (2):
      builtin/send-pack: populate the default configs
      doc: fix want-capability separator

Max Kirillov (4):
      http-backend: cleanup writing to child process
      http-backend: respect CONTENT_LENGTH as specified by rfc3875
      unpack-trees: do not fail reset because of unmerged skipped entry
      http-backend: respect CONTENT_LENGTH for receive-pack

Michael Barabanov (1):
      filter-branch: skip commits present on --state-branch

Mike Hommey (1):
      fast-import: do not call diff_delta() with empty buffer

Nguyễn Thái Ngọc Duy (98):
      commit-slab.h: code split
      commit-slab: support shared commit-slab
      blame: use commit-slab for blame suspects instead of commit->util
      describe: use commit-slab for commit names instead of commit->util
      shallow.c: use commit-slab for commit depth instead of commit->util
      sequencer.c: use commit-slab to mark seen commits
      sequencer.c: use commit-slab to associate todo items to commits
      revision.c: use commit-slab for show_source
      bisect.c: use commit-slab for commit weight instead of commit->util
      name-rev: use commit-slab for rev-name instead of commit->util
      show-branch: use commit-slab for commit-name instead of commit->util
      show-branch: note about its object flags usage
      log: use commit-slab in prepare_bases() instead of commit->util
      merge: use commit-slab in merge remote desc instead of commit->util
      commit.h: delete 'util' field in struct commit
      diff: ignore --ita-[in]visible-in-index when diffing worktree-to-tree
      diff: turn --ita-invisible-in-index on by default
      t2203: add a test about "diff HEAD" case
      apply: add --intent-to-add
      parse-options: option to let --git-completion-helper show negative form
      completion: suppress some -no- options
      Add and use generic name->id mapping code for color slot parsing
      grep: keep all colors in an array
      fsck: factor out msg_id_info[] lazy initialization code
      help: add --config to list all available config
      fsck: produce camelCase config key names
      advice: keep config name in camelCase in advice_config[]
      am: move advice.amWorkDir parsing back to advice.c
      completion: drop the hard coded list of config vars
      completion: keep other config var completion in camelCase
      completion: support case-insensitive config vars
      log-tree: allow to customize 'grafted' color
      completion: complete general config vars in two steps
      upload-pack: reject shallow requests that would return nothing
      completion: collapse extra --no-.. options
      Update messages in preparation for i18n
      archive-tar.c: mark more strings for translation
      archive-zip.c: mark more strings for translation
      builtin/config.c: mark more strings for translation
      builtin/grep.c: mark strings for translation
      builtin/pack-objects.c: mark more strings for translation
      builtin/replace.c: mark more strings for translation
      commit-graph.c: mark more strings for translation
      config.c: mark more strings for translation
      connect.c: mark more strings for translation
      convert.c: mark more strings for translation
      dir.c: mark more strings for translation
      environment.c: mark more strings for translation
      exec-cmd.c: mark more strings for translation
      object.c: mark more strings for translation
      pkt-line.c: mark more strings for translation
      refs.c: mark more strings for translation
      refspec.c: mark more strings for translation
      replace-object.c: mark more strings for translation
      sequencer.c: mark more strings for translation
      sha1-file.c: mark more strings for translation
      transport.c: mark more strings for translation
      transport-helper.c: mark more strings for translation
      pack-objects: document about thread synchronization
      apply.h: drop extern on func declaration
      attr.h: drop extern from function declaration
      blame.h: drop extern on func declaration
      cache-tree.h: drop extern from function declaration
      convert.h: drop 'extern' from function declaration
      diffcore.h: drop extern from function declaration
      diff.h: remove extern from function declaration
      line-range.h: drop extern from function declaration
      rerere.h: drop extern from function declaration
      repository.h: drop extern from function declaration
      revision.h: drop extern from function declaration
      submodule.h: drop extern from function declaration
      config.txt: reorder blame stuff to keep config keys sorted
      Makefile: add missing dependency for command-list.h
      diff.c: move read_index() code back to the caller
      cache-tree: wrap the_index based wrappers with #ifdef
      attr: remove an implicit dependency on the_index
      convert.c: remove an implicit dependency on the_index
      dir.c: remove an implicit dependency on the_index in pathspec code
      preload-index.c: use the right index instead of the_index
      ls-files: correct index argument to get_convert_attr_ascii()
      unpack-trees: remove 'extern' on function declaration
      unpack-trees: add a note about path invalidation
      unpack-trees: don't shadow global var the_index
      unpack-trees: convert clear_ce_flags* to avoid the_index
      unpack-trees: avoid the_index in verify_absent()
      pathspec.c: use the right index instead of the_index
      submodule.c: use the right index instead of the_index
      entry.c: use the right index instead of the_index
      attr: remove index from git_attr_set_direction()
      grep: use the right index instead of the_index
      archive.c: avoid access to the_index
      archive-*.c: use the right repository
      resolve-undo.c: use the right index instead of the_index
      apply.c: pass struct apply_state to more functions
      apply.c: make init_apply_state() take a struct repository
      apply.c: remove implicit dependency on the_index
      blame.c: remove implicit dependency on the_index
      cherry-pick: fix --quit not deleting CHERRY_PICK_HEAD

Nicholas Guriev (1):
      mergetool: don't suggest to continue after last file

Olga Telezhnaya (5):
      ref-filter: add info_source to valid_atom
      ref-filter: fill empty fields with empty values
      ref-filter: initialize eaten variable
      ref-filter: merge get_obj and get_object
      ref-filter: use oid_object_info() to get object

Phillip Wood (5):
      add -p: fix counting empty context lines in edited patches
      sequencer: do not squash 'reword' commits when we hit conflicts
      rebase -i: fix numbering in squash message
      t3430: add conflicting commit
      rebase -i: fix SIGSEGV when 'merge <branch>' fails

Prathamesh Chavan (4):
      submodule foreach: correct '$path' in nested submodules from a subdirectory
      submodule foreach: document '$sm_path' instead of '$path'
      submodule foreach: document variable '$displaypath'
      submodule: port submodule subcommand 'foreach' from shell to C

Ramsay Jones (3):
      fsck: check skiplist for object in fsck_blob()
      t6036: fix broken && chain in sub-shell
      t5562: avoid non-portable "export FOO=bar" construct

René Scharfe (7):
      remote: clear string_list after use in mv()
      add, update-index: fix --chmod argument help
      difftool: remove angular brackets from argument help
      pack-objects: specify --index-version argument help explicitly
      send-pack: specify --force-with-lease argument help explicitly
      shortlog: correct option help for -w
      parse-options: automatically infer PARSE_OPT_LITERAL_ARGHELP

SZEDER Gábor (19):
      update-ref --stdin: use skip_prefix()
      t7510-signed-commit: use 'test_must_fail'
      tests: make forging GPG signed commits and tags more robust
      t5541: clean up truncating access log
      t/lib-httpd: add the strip_access_log() helper function
      t/lib-httpd: avoid occasional failures when checking access.log
      t5608: fix broken &&-chain
      t9300: wait for background fast-import process to die after killing it
      travis-ci: run Coccinelle static analysis with two parallel jobs
      travis-ci: fail if Coccinelle static analysis found something to transform
      coccinelle: mark the 'coccicheck' make target as .PHONY
      coccinelle: use $(addsuffix) in 'coccicheck' make target
      coccinelle: exclude sha1dc source files from static analysis
      coccinelle: put sane filenames into output patches
      coccinelle: extract dedicated make target to clean Coccinelle's results
      travis-ci: include the trash directories of failed tests in the trace log
      t5318: use 'test_cmp_bin' to compare commit-graph files
      t5318: avoid unnecessary command substitutions
      t5310-pack-bitmaps: fix bogus 'pack-objects to file can use bitmap' test

Sebastian Kisela (2):
      git-instaweb: support Fedora/Red Hat apache module path
      git-instaweb: fix apache2 config with apache >= 2.4

Stefan Beller (87):
      repository: introduce parsed objects field
      object: add repository argument to create_object
      alloc: add repository argument to alloc_blob_node
      alloc: add repository argument to alloc_tree_node
      alloc: add repository argument to alloc_commit_node
      alloc: add repository argument to alloc_tag_node
      alloc: add repository argument to alloc_object_node
      alloc: add repository argument to alloc_report
      alloc: add repository argument to alloc_commit_index
      object: allow grow_object_hash to handle arbitrary repositories
      object: allow create_object to handle arbitrary repositories
      alloc: allow arbitrary repositories for alloc functions
      object-store: move object access functions to object-store.h
      shallow: add repository argument to set_alternate_shallow_file
      shallow: add repository argument to register_shallow
      shallow: add repository argument to check_shallow_file_for_update
      shallow: add repository argument to is_repository_shallow
      cache: convert get_graft_file to handle arbitrary repositories
      path.c: migrate global git_path_* to take a repository argument
      shallow: migrate shallow information into the object parser
      commit: allow prepare_commit_graft to handle arbitrary repositories
      commit: allow lookup_commit_graft to handle arbitrary repositories
      refs/packed-backend.c: close fd of empty file
      submodule--helper: plug mem leak in print_default_remote
      sequencer.c: plug leaks in do_pick_commit
      submodule: fix NULL correctness in renamed broken submodules
      t5526: test recursive submodules when fetching moved submodules
      submodule: unset core.worktree if no working tree is present
      submodule: ensure core.worktree is set after update
      submodule deinit: unset core.worktree
      submodule.c: report the submodule that an error occurs in
      sequencer.c: plug mem leak in git_sequencer_config
      .mailmap: merge different spellings of names
      object: add repository argument to parse_object
      object: add repository argument to lookup_object
      object: add repository argument to parse_object_buffer
      object: add repository argument to object_as_type
      blob: add repository argument to lookup_blob
      tree: add repository argument to lookup_tree
      commit: add repository argument to lookup_commit_reference_gently
      commit: add repository argument to lookup_commit_reference
      commit: add repository argument to lookup_commit
      commit: add repository argument to parse_commit_buffer
      commit: add repository argument to set_commit_buffer
      commit: add repository argument to get_cached_commit_buffer
      tag: add repository argument to lookup_tag
      tag: add repository argument to parse_tag_buffer
      tag: add repository argument to deref_tag
      object: allow object_as_type to handle arbitrary repositories
      object: allow lookup_object to handle arbitrary repositories
      blob: allow lookup_blob to handle arbitrary repositories
      tree: allow lookup_tree to handle arbitrary repositories
      commit: allow lookup_commit to handle arbitrary repositories
      tag: allow lookup_tag to handle arbitrary repositories
      tag: allow parse_tag_buffer to handle arbitrary repositories
      commit.c: allow parse_commit_buffer to handle arbitrary repositories
      commit-slabs: remove realloc counter outside of slab struct
      commit.c: migrate the commit buffer to the parsed object store
      commit.c: allow set_commit_buffer to handle arbitrary repositories
      commit.c: allow get_cached_commit_buffer to handle arbitrary repositories
      object.c: allow parse_object_buffer to handle arbitrary repositories
      object.c: allow parse_object to handle arbitrary repositories
      tag.c: allow deref_tag to handle arbitrary repositories
      commit.c: allow lookup_commit_reference_gently to handle arbitrary repositories
      commit.c: allow lookup_commit_reference to handle arbitrary repositories
      xdiff/xdiff.h: remove unused flags
      xdiff/xdiffi.c: remove unneeded function declarations
      t4015: avoid git as a pipe input
      diff.c: do not pass diff options as keydata to hashmap
      diff.c: adjust hash function signature to match hashmap expectation
      diff.c: add a blocks mode for moved code detection
      diff.c: decouple white space treatment from move detection algorithm
      diff.c: factor advance_or_nullify out of mark_color_as_moved
      diff.c: add white space mode to move detection that allows indent changes
      diff.c: offer config option to control ws handling in move detection
      xdiff/xhistogram: pass arguments directly to fall_back_to_classic_diff
      xdiff/xhistogram: factor out memory cleanup into free_index()
      xdiff/xhistogram: move index allocation into find_lcs
      Documentation/git-interpret-trailers: explain possible values
      xdiff/histogram: remove tail recursion
      t1300: document current behavior of setting options
      xdiff: reduce indent heuristic overhead
      config: fix case sensitive subsection names on writing
      git-config: document accidental multi-line setting in deprecated syntax
      git-submodule.sh: accept verbose flag in cmd_update to be non-quiet
      t7410: update to new style
      builtin/submodule--helper: remove stray new line

Taylor Blau (9):
      Documentation/config.txt: camel-case lineNumber for consistency
      grep.c: expose {,inverted} match column in match_line()
      grep.[ch]: extend grep_opt to allow showing matched column
      grep.c: display column number of first match
      builtin/grep.c: add '--column' option to 'git-grep(1)'
      grep.c: add configuration variables to show matched option
      contrib/git-jump/git-jump: jump to exact location
      grep.c: extract show_line_header()
      grep.c: teach 'git grep --only-matching'

Thomas Rast (1):
      range-diff: add tests

Tobias Klauser (1):
      git-rebase--preserve-merges: fix formatting of todo help message

Todd Zullinger (4):
      git-credential-netrc: minor whitespace cleanup in test script
      git-credential-netrc: make "all" default target of Makefile
      gitignore.txt: clarify default core.excludesfile path
      dir.c: fix typos in core.excludesfile comment

Ville Skyttä (1):
      Documentation: spelling and grammar fixes

Vladimir Parfinenko (1):
      rebase: fix documentation formatting

William Chargin (2):
      sha1-name.c: for ":/", find detached HEAD commits
      t: factor out FUNNYNAMES as shared lazy prereq

Xiaolong Ye (1):
      format-patch: clear UNINTERESTING flag before prepare_bases

brian m. carlson (21):
      send-email: add an auto option for transfer encoding
      send-email: accept long lines with suitable transfer encoding
      send-email: automatically determine transfer-encoding
      docs: correct RFC specifying email line length
      sequencer: pass absolute GIT_WORK_TREE to exec commands
      cache: update object ID functions for the_hash_algo
      tree-walk: replace hard-coded constants with the_hash_algo
      hex: switch to using the_hash_algo
      commit: express tree entry constants in terms of the_hash_algo
      strbuf: allocate space with GIT_MAX_HEXSZ
      sha1-name: use the_hash_algo when parsing object names
      refs/files-backend: use the_hash_algo for writing refs
      builtin/update-index: convert to using the_hash_algo
      builtin/update-index: simplify parsing of cacheinfo
      builtin/fmt-merge-msg: make hash independent
      builtin/merge: switch to use the_hash_algo
      builtin/merge-recursive: make hash independent
      diff: switch GIT_SHA1_HEXSZ to use the_hash_algo
      log-tree: switch GIT_SHA1_HEXSZ to the_hash_algo->hexsz
      sha1-file: convert constants to uses of the_hash_algo
      pretty: switch hard-coded constants to the_hash_algo

Ævar Arnfjörð Bjarmason (36):
      checkout tests: index should be clean after dwim checkout
      checkout.h: wrap the arguments to unique_tracking_name()
      checkout.c: introduce an *_INIT macro
      checkout.c: change "unique" member to "num_matches"
      checkout: pass the "num_matches" up to callers
      builtin/checkout.c: use "ret" variable for return
      checkout: add advice for ambiguous "checkout <branch>"
      checkout & worktree: introduce checkout.defaultRemote
      refspec: s/refspec_item_init/&_or_die/g
      refspec: add back a refspec_item_init() function
      doc hash-function-transition: note the lack of a changelog
      receive.fsck.<msg-id> tests: remove dead code
      config doc: don't describe *.fetchObjects twice
      config doc: unify the description of fsck.* and receive.fsck.*
      config doc: elaborate on what transfer.fsckObjects does
      config doc: elaborate on fetch.fsckObjects security
      transfer.fsckObjects tests: untangle confusing setup
      fetch: implement fetch.fsck.*
      fsck: test & document {fetch,receive}.fsck.* config fallback
      fsck: add stress tests for fsck.skipList
      fsck: test and document unknown fsck.<msg-id> values
      tests: make use of the test_must_be_empty function
      tests: make use of the test_must_be_empty function
      fetch tests: change "Tag" test tag to "testTag"
      push tests: remove redundant 'git push' invocation
      push tests: fix logic error in "push" test assertion
      push tests: add more testing for forced tag pushing
      push tests: assert re-pushing annotated tags
      negotiator: unknown fetch.negotiationAlgorithm should error out
      fetch doc: cross-link two new negotiation options
      sha1dc: update from upstream
      push: use PARSE_OPT_LITERAL_ARGHELP instead of unbalanced brackets
      fetch tests: correct a comment "remove it" -> "remove them"
      pull doc: fix a long-standing grammar error
      submodule: add more exhaustive up-path testing
      t2024: mark test using "checkout -p" with PERL prerequisite

Łukasz Stelmach (1):
      completion: complete remote names too


Version v2.18.5; changes since v2.18.4:
---------------------------------------

Johannes Schindelin (3):
      run-command: invalidate lstat cache after a command finished
      Git 2.17.6
      Git 2.18.5

Matheus Tavares (2):
      checkout: fix bug that makes checkout follow symlinks in leading path
      unpack_trees(): start with a fresh lstat cache


Version v2.18.4; changes since v2.18.3:
---------------------------------------

Jeff King (6):
      t0300: make "quit" helper more realistic
      t0300: use more realistic inputs
      credential: parse URL without host as empty host, not unset
      credential: refuse to operate when missing host or protocol
      credential: die() when parsing invalid urls
      Git 2.17.5

Jonathan Nieder (4):
      fsck: convert gitmodules url to URL passed to curl
      credential: treat URL without scheme as invalid
      credential: treat URL with empty scheme as invalid
      fsck: reject URL with empty host in .gitmodules


Version v2.18.3; changes since v2.18.2:
---------------------------------------

Jeff King (4):
      credential: avoid writing values with newlines
      t/lib-credential: use test_i18ncmp to check stderr
      credential: detect unrepresentable values when parsing urls
      fsck: detect gitmodules URLs with embedded newlines

Junio C Hamano (1):
      Git 2.17.4


Version v2.18.2; changes since v2.18.1:
---------------------------------------

Garima Singh (2):
      test-path-utils: offer to run a protectNTFS/protectHFS benchmark
      tests: add a helper to stress test argument quoting

Jeff King (7):
      t9300: drop some useless uses of cat
      t9300: create marks files for double-import-marks test
      fast-import: tighten parsing of boolean command line options
      fast-import: stop creating leading directories for import-marks
      fast-import: delay creating leading directories for export-marks
      fast-import: disallow "feature export-marks" by default
      fast-import: disallow "feature import-marks" by default

Johannes Schindelin (24):
      clone --recurse-submodules: prevent name squatting on Windows
      mingw: disallow backslash characters in tree objects' file names
      path.c: document the purpose of `is_ntfs_dotgit()`
      is_ntfs_dotgit(): only verify the leading segment
      path: safeguard `.git` against NTFS Alternate Streams Accesses
      is_ntfs_dotgit(): speed it up
      mingw: fix quoting of arguments
      path: also guard `.gitmodules` against NTFS Alternate Data Streams
      protect_ntfs: turn on NTFS protection by default
      Disallow dubiously-nested submodule git directories
      quote-stress-test: accept arguments to test via the command-line
      t6130/t9350: prepare for stringent Win32 path validation
      quote-stress-test: allow skipping some trials
      unpack-trees: let merged_entry() pass through do_add_entry()'s errors
      mingw: refuse to access paths with illegal characters
      quote-stress-test: offer to test quoting arguments for MSYS2 sh
      mingw: refuse to access paths with trailing spaces or periods
      mingw: handle `subst`-ed "DOS drives"
      Git 2.14.6
      Git 2.15.4
      test-drop-caches: use `has_dos_drive_prefix()`
      Git 2.16.6
      Git 2.17.3
      Git 2.18.2

Jonathan Nieder (2):
      submodule: reject submodule.update = !command in .gitmodules
      fsck: reject submodule.update = !command in .gitmodules


Version v2.18.1; changes since v2.18.0:
---------------------------------------

Jeff King (5):
      submodule--helper: use "--" to signal end of clone options
      submodule-config: ban submodule urls that start with dash
      submodule-config: ban submodule paths that start with a dash
      fsck: detect submodule urls starting with dash
      fsck: detect submodule paths starting with dash

Junio C Hamano (5):
      Git 2.14.5
      Git 2.15.3
      Git 2.16.5
      Git 2.17.2
      Git 2.18.1


Version v2.18.0; changes since v2.18.0-rc2:
-------------------------------------------

Alexander Shopov (2):
      l10n: bg.po: Updated Bulgarian translation (3608t)
      l10n: bg.po: Updated Bulgarian translation (3608t)

Andre Hinrichs (1):
      l10n: de.po: fix typos

Changwoo Ryu (1):
      l10n: ko.po: Update Korean translation

Christopher Díaz Riveros (3):
      l10n: es.po: Spanish update for v2.18.0 round 1
      l10n: es.po: Spanish update for v2.18.0 round 2
      l10n: es.po: Spanish update for v2.18.0 round 3

Eric Sunshine (1):
      Makefile: make NO_ICONV really mean "no iconv"

Jean-Noël Avila (2):
      l10n: fr.po v2.18 round 1
      l10n: fr.po v2.18.0 round 3

Jeff King (2):
      ewah_read_mmap: bounds-check mmap reads
      ewah: adjust callers of ewah_read_mmap()

Jeremy Linton (1):
      packfile: correct zlib buffer handling

Jiang Xin (4):
      l10n: git.pot: v2.18.0 round 1 (108 new, 14 removed)
      l10n: git.pot: v2.18.0 round 2 (144 new, 6 removed)
      l10n: git.pot: v2.18.0 round 3 (1 new, 1 removed)
      l10n: zh_CN: for git v2.18.0 l10n round 1 to 3

Johannes Schindelin (1):
      rebase --root: fix amending root commit messages

Jordi Mas (1):
      l10n: Update Catalan translation

Junio C Hamano (3):
      A bunch of micro-fixes before going 2.18 final
      Almost 2.18 final
      Git 2.18

Kaartic Sivaraam (1):
      t3200: clarify description of --set-upstream test

Karthikeyan Singaravelan (1):
      doc: fix typos in documentation and release notes

Kyle Meyer (1):
      gitworkflows: fix grammar in 'Merge upwards' rule

Luke Diamand (6):
      git-p4: disable-rebase: allow setting this via configuration
      git-p4: add option to disable syncing of p4/master with p4
      git-p4: better error reporting when p4 fails
      git-p4: raise exceptions from p4CmdList based on error from p4 server
      git-p4: narrow the scope of exceptions caught when parsing an int
      git-p4: auto-size the block

Meng-Sung Wu (1):
      doc: update the order of the syntax `git merge --continue`

Peter Krefting (2):
      l10n: sv.po: Update Swedish translation (3470t0f0u)
      l10n: sv.po: Update Swedish translation (3608t0f0u)

Ralf Thielow (1):
      l10n: TEAMS: remove inactive de team members

René Scharfe (3):
      merge-recursive: use xstrdup() instead of fixed buffer
      blame: release string_list after use in parse_color_fields()
      merge-recursive: use xstrdup() instead of fixed buffer

Robert P. J. Day (3):
      sha1-file.c: correct $GITDIR to $GIT_DIR in a comment
      diff-options.txt: fix minor typos, font inconsistencies, in docs
      Use hyphenated "remote-tracking branch" (docs and comments)

Romain Merland (1):
      git-p4: add options --commit and --disable-rebase

SZEDER Gábor (2):
      t7406-submodule-update: fix broken &&-chains
      RelNotes 2.18: minor fix to entry about dynamically loading completions

Stefan Beller (1):
      t7400: encapsulate setup code in test_expect_success

Todd Zullinger (2):
      rebase --root: demonstrate a bug while amending root commit messages
      t3404: check root commit in 'rebase -i --root reword root commit'

Trần Ngọc Quân (3):
      l10n: vi(3470t): Updated Vietnamese translation for v2.18.0
      l10n: vi.po(3608t): Update Vietnamese translation for v2.18.0 round2
      l10n: vi.po(3608t): Update Vietnamese translation for v2.18.0 round 3

Ævar Arnfjörð Bjarmason (1):
      git-credential-netrc: remove use of "autodie"


Version v2.18.0-rc2; changes since v2.18.0-rc1:
-----------------------------------------------

Elijah Newren (1):
      RelNotes 2.18: clarify where directory rename detection applies

Jeff King (4):
      prepare_commit_graft: treat non-repository as a noop
      index-pack: handle --strict checks of non-repo packs
      t7415: don't bother creating commit for symlink test
      fsck: avoid looking at NULL blob->object

Junio C Hamano (3):
      RelNotes 2.18: typofixes
      index-pack: correct install_packed_git() args
      Git 2.18-rc2

Leif Middelschulte (1):
      merge-submodule: reduce output verbosity

SZEDER Gábor (1):
      completion: correct zsh detection when run from git-completion.zsh


Version v2.18.0-rc1; changes since v2.18.0-rc0:
-----------------------------------------------

Christian Couder (1):
      t990X: use '.git/objects' as 'deep inside .git' path

David Turner (1):
      t: make many tests depend less on the refs being files

Elijah Newren (2):
      rev-parse: check lookup'ed commit references for NULL
      RelNotes: remove duplicate release note

Jonathan Nieder (1):
      fetch: do not pass ref-prefixes for fetch by exact SHA1

Jonathan Tan (1):
      submodule: do not pass null OID to setup_revisions

Junio C Hamano (3):
      refspec-api: avoid uninitialized field in refspec item
      A bit more topics before -rc1
      Git 2.18-rc1

Luke Diamand (1):
      git-p4: add unshelve command

Nguyễn Thái Ngọc Duy (20):
      generate-cmds.sh: factor out synopsis extract code
      generate-cmds.sh: export all commands to command-list.h
      help: use command-list.h for common command list
      Remove common-cmds.h
      git.c: convert --list-* to --list-cmds=*
      git --list-cmds: collect command list in a string_list
      completion: implement and use --list-cmds=main,others
      git: support --list-cmds=list-<category>
      help: add "-a --verbose" to list all commands with synopsis
      help: use command-list.txt for the source of guides
      command-list.txt: documentation and guide line
      completion: let git provide the completable command list
      completion: reduce completable command list
      Move declaration for alias.c to alias.h
      completion: add and use --list-cmds=nohelpers
      completion: add and use --list-cmds=alias
      completion: allow to customize the completable command list
      Use OPT_SET_INT_F() for cmdline option specification
      remote.txt: update documentation for 'update' command
      remote: doc typofix

Orgad Shaneh (1):
      git-rebase--interactive: fix copy-paste mistake

Pedro Alvarez Piedehierro (1):
      import-tars: read overlong names from pax extended header

Robert P. J. Day (4):
      Use proper syntax for replaceables in command docs
      tag: clarify in the doc that a tag can refer to a non-commit object
      init: fix grammar in "templates not found" msg
      p4.txt: Use backquotes for variable names

Thomas Gummerer (2):
      SubmittingPatches: replace numbered attributes with names
      note git-security@googlegroups.com in more places

brian m. carlson (2):
      sequencer: ensure labels that are object IDs are rewritten
      t3430: test clean-up


Version v2.18.0-rc0; changes since v2.17.6:
-------------------------------------------

Anders Kaseorg (1):
      Documentation/git-bisect.txt: git bisect term → git bisect terms

Andreas Heiduk (9):
      git-svn: search --authors-prog in PATH too
      git-svn: allow empty email-address using authors-prog and authors-file
      doc: improve formatting in githooks.txt
      doc: align 'diff --no-index' in text and synopsis
      doc: clarify ignore rules for git ls-files
      doc: add '-d' and '-o' for 'git push'
      git-svn: remove ''--add-author-from' for 'commit-diff'
      doc: add note about shell quoting to revision.txt
      doc: normalize [--options] to [options] in git-diff

Antonio Ospite (1):
      doc: fix config API documentation about config_with_options

Beat Bolli (1):
      git-gui: search for all current SSH key types

Ben Peart (7):
      fsmonitor: fix incorrect buffer size when printing version number
      fsmonitor: force index write after full scan
      test-drop-caches: simplify delay loading of NtSetSystemInformation
      merge: update documentation for {merge,diff}.renameLimit
      merge: add merge.renames config setting
      merge: pass aggressive when rename detection is turned off
      add status config and command line options for rename detection

Bill Ritcher (1):
      mergetools: add support for guiffy

Birger Skogeng Pedersen (1):
      git-gui: bind CTRL/CMD+numpad ENTER to do_commit

Brandon Williams (79):
      pkt-line: introduce packet_read_with_status
      pkt-line: allow peeking a packet line without consuming it
      pkt-line: add delim packet support
      upload-pack: convert to a builtin
      upload-pack: factor out processing lines
      transport: use get_refs_via_connect to get refs
      connect: convert get_remote_heads to use struct packet_reader
      connect: discover protocol version outside of get_remote_heads
      transport: store protocol version
      protocol: introduce enum protocol_version value protocol_v2
      test-pkt-line: introduce a packet-line test helper
      serve: introduce git-serve
      ls-refs: introduce ls-refs server command
      connect: request remote refs using v2
      transport: convert get_refs_list to take a list of ref prefixes
      transport: convert transport_get_remote_refs to take a list of ref prefixes
      ls-remote: pass ref prefixes when requesting a remote's refs
      fetch: pass ref prefixes when fetching
      push: pass ref prefixes when pushing
      upload-pack: introduce fetch server command
      fetch-pack: perform a fetch using v2
      fetch-pack: support shallow requests
      connect: refactor git_connect to only get the protocol version once
      connect: don't request v2 when pushing
      transport-helper: remove name parameter
      transport-helper: refactor process_connect_service
      transport-helper: introduce stateless-connect
      pkt-line: add packet_buf_write_len function
      remote-curl: create copy of the service name
      remote-curl: store the protocol version the server responded with
      http: allow providing extra headers for http requests
      http: don't always add Git-Protocol header
      http: eliminate "# service" line when using protocol v2
      remote-curl: implement stateless-connect command
      remote-curl: don't request v2 when pushing
      commit: allow partial commits with relative paths
      serve: introduce the server-option capability
      ls-remote: send server options when using protocol v2
      fetch: send server options when using protocol v2
      refspec: move refspec parsing logic into its own file
      refspec: rename struct refspec to struct refspec_item
      refspec: factor out parsing a single refspec
      refspec: introduce struct refspec
      refspec: convert valid_fetch_refspec to use parse_refspec
      submodule--helper: convert push_check to use struct refspec
      pull: convert get_tracking_branch to use refspec_item_init
      transport: convert transport_push to use struct refspec
      remote: convert check_push_refs to use struct refspec
      remote: convert match_push_refs to use struct refspec
      clone: convert cmd_clone to use refspec_item_init
      fast-export: convert to use struct refspec
      remote: convert push refspecs to struct refspec
      remote: convert fetch refspecs to struct refspec
      remote: remove add_prune_tags_to_fetch_refspec
      transport-helper: convert to use struct refspec
      fetch: convert fetch_one to use struct refspec
      fetch: convert refmap to use struct refspec
      refspec: remove the deprecated functions
      fetch: convert do_fetch to take a struct refspec
      fetch: convert get_ref_map to take a struct refspec
      fetch: convert prune_refs to take a struct refspec
      remote: convert get_stale_heads to take a struct refspec
      remote: convert apply_refspecs to take a struct refspec
      remote: convert query_refspecs to take a struct refspec
      remote: convert get_ref_match to take a struct refspec
      remote: convert match_explicit_refs to take a struct refspec
      push: check for errors earlier
      push: convert to use struct refspec
      transport: convert transport_push to take a struct refspec
      send-pack: store refspecs in a struct refspec
      transport: remove transport_verify_remote_names
      http-push: store refspecs in a struct refspec
      remote: convert match_push_refs to take a struct refspec
      remote: convert check_push_refs to take a struct refspec
      submodule: convert push_unpushed_submodules to take a struct refspec
      refspec: consolidate ref-prefix generation logic
      fetch: generate ref-prefixes when using a configured refspec
      remote-curl: accept all encodings supported by curl
      remote-curl: accept compressed responses with protocol v2

Casey Fitzpatrick (3):
      submodule: clean up substitutions in script
      submodule: add --progress option to add command
      submodule: add --dissociate option to add/update commands

Christian Couder (6):
      perf/aggregate: add display_dir()
      perf/aggregate: add --sort-by=regression option
      perf/run: add --subsection option
      t/perf: add scripts to bisect performance regressions
      perf/aggregate: use Getopt::Long for option parsing
      perf/bisect_run_script: disable codespeed

Christian Hesse (2):
      perl: fix installing modules from contrib
      Makefile: mark perllibdir as a .PHONY target

Clemens Buchacher (2):
      git-gui: workaround ttk:style theme use
      completion: improve ls-files filter performance

Dan Jacques (3):
      Makefile: generate Perl header from template file
      Makefile: add Perl runtime prefix support
      exec_cmd: RUNTIME_PREFIX on some POSIX systems

Derrick Stolee (20):
      packfile: define and use bsearch_pack()
      sha1_name: use bsearch_pack() for abbreviations
      csum-file: rename hashclose() to finalize_hashfile()
      csum-file: refactor finalize_hashfile() method
      commit-graph: add format document
      graph: add commit graph design document
      commit-graph: create git-commit-graph builtin
      commit-graph: implement write_commit_graph()
      commit-graph: implement git-commit-graph write
      commit-graph: implement git commit-graph read
      commit-graph: add core.commitGraph setting
      commit-graph: close under reachability
      commit: integrate commit graph with commit parsing
      commit-graph: read only from specific pack-indexes
      commit-graph: build graph from starting commits
      commit-graph: implement "--append" option
      treewide: rename tree to maybe_tree
      commit: create get_commit_tree() method
      treewide: replace maybe_tree with accessor methods
      commit-graph: lazy-load trees for commits

Drew DeVault (1):
      git-send-email: allow re-editing of message

Eckhard S. Maaß (1):
      wt-status: use settings from git_diff_ui_config

Elijah Newren (70):
      directory rename detection: basic testcases
      directory rename detection: directory splitting testcases
      directory rename detection: testcases to avoid taking detection too far
      directory rename detection: partially renamed directory testcase/discussion
      directory rename detection: files/directories in the way of some renames
      directory rename detection: testcases checking which side did the rename
      directory rename detection: more involved edge/corner testcases
      directory rename detection: testcases exploring possibly suboptimal merges
      directory rename detection: miscellaneous testcases to complete coverage
      directory rename detection: tests for handling overwriting untracked files
      directory rename detection: tests for handling overwriting dirty files
      merge-recursive: move the get_renames() function
      merge-recursive: introduce new functions to handle rename logic
      merge-recursive: fix leaks of allocated renames and diff_filepairs
      merge-recursive: make !o->detect_rename codepath more obvious
      merge-recursive: split out code for determining diff_filepairs
      merge-recursive: make a helper function for cleanup for handle_renames
      merge-recursive: add get_directory_renames()
      merge-recursive: check for directory level conflicts
      merge-recursive: add computation of collisions due to dir rename & merging
      merge-recursive: check for file level conflicts then get new name
      merge-recursive: when comparing files, don't include trees
      merge-recursive: apply necessary modifications for directory renames
      merge-recursive: avoid clobbering untracked files with directory renames
      merge-recursive: fix overwriting dirty files involved in renames
      merge-recursive: fix remaining directory rename + dirty overwrite cases
      directory rename detection: new testcases showcasing a pair of bugs
      merge-recursive: avoid spurious rename/rename conflict from dir renames
      merge-recursive: ensure we write updates for directory-renamed file
      Documentation: fix several one-character-off spelling errors
      Documentation: normalize spelling of 'normalised'
      directory rename detection: basic testcases
      directory rename detection: directory splitting testcases
      directory rename detection: testcases to avoid taking detection too far
      directory rename detection: partially renamed directory testcase/discussion
      directory rename detection: files/directories in the way of some renames
      directory rename detection: testcases checking which side did the rename
      directory rename detection: more involved edge/corner testcases
      directory rename detection: testcases exploring possibly suboptimal merges
      directory rename detection: miscellaneous testcases to complete coverage
      directory rename detection: tests for handling overwriting untracked files
      directory rename detection: tests for handling overwriting dirty files
      merge-recursive: move the get_renames() function
      merge-recursive: introduce new functions to handle rename logic
      merge-recursive: fix leaks of allocated renames and diff_filepairs
      merge-recursive: make !o->detect_rename codepath more obvious
      merge-recursive: split out code for determining diff_filepairs
      merge-recursive: make a helper function for cleanup for handle_renames
      Make running git under other debugger-like programs easy
      unpack_trees: fix breakage when o->src_index != o->dst_index
      merge-recursive: add get_directory_renames()
      merge-recursive: check for directory level conflicts
      merge-recursive: add computation of collisions due to dir rename & merging
      merge-recursive: check for file level conflicts then get new name
      merge-recursive: when comparing files, don't include trees
      merge-recursive: apply necessary modifications for directory renames
      merge-recursive: avoid clobbering untracked files with directory renames
      merge-recursive: fix overwriting dirty files involved in renames
      merge-recursive: fix remaining directory rename + dirty overwrite cases
      directory rename detection: new testcases showcasing a pair of bugs
      merge-recursive: avoid spurious rename/rename conflict from dir renames
      merge-recursive: improve add_cacheinfo error handling
      merge-recursive: move more is_dirty handling to merge_content
      merge-recursive: avoid triggering add_cacheinfo error with dirty mod
      t6046: testcases checking whether updates can be skipped in a merge
      merge-recursive: fix was_tracked() to quit lying with some renamed paths
      merge-recursive: fix remainder of was_dirty() to use original index
      merge-recursive: make "Auto-merging" comment show for other merges
      merge-recursive: fix check for skipability of working tree updates
      merge-recursive: provide pair of `unpack_trees_{start,finish}()`

Eric Sunshine (5):
      t3200: verify "branch --list" sanity when rebasing from detached HEAD
      t2028: tighten grep expression to make "move worktree" test more robust
      git-worktree.txt: recommend 'git worktree remove' over manual deletion
      git-worktree.txt: unify command-line prompt in example blocks
      configure.ac: fix botched FREAD_READS_DIRECTORIES check

Erik E Brady (1):
      credential: ignore SIGPIPE when writing to credential helpers

Florian Gamböck (1):
      completion: load completion file for external subcommand

Harald Nordgren (1):
      ls-remote: create '--sort' option

Jameson Miller (3):
      fast-import: rename mem_pool type to mp_block
      fast-import: introduce mem_pool type
      mem-pool: move reusable parts of memory pool into its own file

Jeff King (36):
      diff-highlight: correct test graph diagram
      diff-highlight: use test_tick in graph test
      diff-highlight: prefer "echo" to "cat" in tests
      diff-highlight: test interleaved parallel lines of history
      diff-highlight: test graphs with --color
      diff-highlight: use flush() helper consistently
      diff-highlight: detect --graph by indent
      set_git_dir: die when setenv() fails
      add chdir-notify API
      set_work_tree: use chdir_notify
      refs: use chdir_notify to update cached relative paths
      config: move flockfile() closer to unlocked functions
      t5561: drop curl stderr redirects
      t5561: skip tests if curl is not available
      ref-filter: use "struct object_id" consistently
      ref-filter: make ref_array_item allocation more consistent
      ref-filter: factor ref_array pushing into its own function
      t7004: fix mistaken tag name
      gpg-interface: handle bool user.signingkey
      gpg-interface: modernize function declarations
      gpg-interface: use size_t for signature buffer size
      gpg-interface: fix const-correctness of "eol" pointer
      gpg-interface: extract gpg line matching helper
      gpg-interface: find the last gpg signature line
      apply: clarify "-p" documentation
      pager: set COLUMNS to term_columns()
      mark_tree_contents_uninteresting(): drop missing object check
      mark_parents_uninteresting(): drop missing object check
      mark_parents_uninteresting(): replace list with stack
      mark_parents_uninteresting(): avoid most allocation
      get_main_ref_store: BUG() when outside a repository
      config: die when --blob is used outside a repository
      http: use strbufs instead of fixed buffers
      log_write_email_headers: use strbufs
      shorten_unambiguous_ref: use xsnprintf
      fmt_with_err: add a comment that truncation is OK

Johannes Schindelin (66):
      git_config_set: fix off-by-two
      t1300: rename it to reflect that `repo-config` was deprecated
      t1300: demonstrate that --replace-all can "invent" newlines
      config --replace-all: avoid extra line breaks
      t1300: avoid relying on a bug
      t1300: remove unreasonable expectation from TODO
      t5404: relax overzealous test
      t1300: add a few more hairy examples of sections becoming empty
      t1300: `--unset-all` can leave an empty section behind (bug)
      config: introduce an optional event stream while parsing
      config: avoid using the global variable `store`
      config_set_store: rename some fields for consistency
      git_config_set: do not use a state machine
      git_config_set: make use of the config parser's event stream
      git config --unset: remove empty sections (in the common case)
      git_config_set: reuse empty sections
      exec_cmd: provide a new-style RUNTIME_PREFIX helper for Windows
      mingw/msvc: use the new-style RUNTIME_PREFIX helper
      color: introduce support for colorizing stderr
      push: test to verify that push errors are colored
      config: document the settings to colorize push errors/hints
      gettext: avoid initialization if the locale dir is not present
      git_setup_gettext: plug memory leak
      sequencer: avoid using errno clobbered by rollback_lock_file()
      sequencer: make rearrange_squash() a bit more obvious
      sequencer: refactor how original todo list lines are accessed
      sequencer: offer helpful advice when a command was rescheduled
      sequencer: introduce new commands to reset the revision
      sequencer: introduce the `merge` command
      sequencer: fast-forward `merge` commands, if possible
      rebase-helper --make-script: introduce a flag to rebase merges
      rebase: introduce the --rebase-merges option
      sequencer: make refs generated by the `label` command worktree-local
      sequencer: handle post-rewrite for merge commands
      rebase --rebase-merges: avoid "empty merges"
      pull: accept --rebase=merges to recreate the branch topology
      rebase -i: introduce --rebase-merges=[no-]rebase-cousins
      rebase -i --rebase-merges: add a section to the man page
      argv_array: offer to split a string by whitespace
      commit: Let the callback of for_each_mergetag return on error
      replace: avoid using die() to indicate a bug
      tests: introduce test_unset_prereq, for debugging
      replace: "libify" create_graft() and callees
      replace: prepare create_graft() for converting graft files wholesale
      replace: introduce --convert-graft-file
      Add a test for `git replace --convert-graft-file`
      Deprecate support for .git/info/grafts
      filter-branch: stop suggesting to use grafts
      technical/shallow: stop referring to grafts
      technical/shallow: describe why shallow cannot use replace refs
      Remove obsolete script to convert grafts to replace refs
      rebase -i: demonstrate bugs with fixup!/squash! commit messages
      rebase -i: Handle "combination of <n> commits" with GETTEXT_POISON
      sequencer: always commit without editing when asked for
      rebase --skip: clean up commit message after a failed fixup/squash
      sequencer: extract helper to update active_cache_tree
      sequencer: learn about the special "fake root commit" handling
      rebase -i --root: let the sequencer handle even the initial part
      sequencer: allow introducing new root commits
      rebase --rebase-merges: a "merge" into a new root is a fast-forward
      rebase --rebase-merges: root commits can be cousins, too
      test-tool: help verifying BUG() code paths
      run-command: use BUG() to report bugs, not die()
      Replace all die("BUG: ...") calls by BUG() ones
      Convert remaining die*(BUG) messages
      config: a user-provided invalid section is not a BUG

Johannes Sixt (2):
      sequencer: reset the committer date before commits
      git: add -P as a short option for --no-pager

Jonathan Nieder (5):
      sha1_file: allow map_sha1_file_1 to handle arbitrary repositories
      sha1_file: allow sha1_loose_object_info to handle arbitrary repositories
      Makefile: remove unused @@PERLLIBDIR@@ substitution variable
      Makefile: quote $INSTLIBDIR when passing it to sed
      packfile: add repository argument to packed_object_info

Jonathan Tan (4):
      grep: remove "repo" arg from non-supporting funcs
      upload-pack: fix error message typo
      upload-pack: read config when serving protocol v2
      {fetch,upload}-pack: support filter in protocol v2

Junio C Hamano (13):
      stash: fix nonsense pipeline
      The first batch for 2.18 cycle
      The second batch for 2.18
      The third batch for 2.18
      Revert "Merge branch 'en/rename-directory-detection'"
      gc: do not upcase error message shown with die()
      parseopt: handle malformed --expire arguments more nicely
      The fourth batch for 2.18
      The fifth batch for 2.18
      argv-array: return the pushed string from argv_push*()
      The sixth batch for 2.18
      The seventh batch for 2.18
      Git 2.18-rc0

Kaartic Sivaraam (1):
      branch --list: print useful info whilst interactive rebasing a detached HEAD

Lars Schneider (10):
      strbuf: remove unnecessary NUL assignment in xstrdup_tolower()
      strbuf: add xstrdup_toupper()
      strbuf: add a case insensitive starts_with()
      utf8: teach same_encoding() alternative UTF encoding names
      utf8: add function to detect prohibited UTF-16/32 BOM
      utf8: add function to detect a missing UTF-16/32 BOM
      convert: add 'working-tree-encoding' attribute
      convert: check for detectable errors in UTF encodings
      convert: add tracing for 'working-tree-encoding' attribute
      convert: add round trip check based on 'core.checkRoundtripEncoding'

Leif Middelschulte (1):
      merge-recursive: give notice when submodule commit gets fast-forwarded

Loganaden Velvindron (1):
      http: allow use of TLS 1.3

Lucas Werkmeister (1):
      daemon.c: fix condition for redirecting stderr

Luis Marsano (2):
      git-credential-netrc: adapt to test framework for git
      git-credential-netrc: accept gpg option

Martin Ågren (24):
      git-shortlog.txt: reorder usages
      shortlog: add usage-string for stdin-reading
      shortlog: disallow left-over arguments outside repo
      doc: convert \--option to --option
      doc: convert [\--] to [--]
      git-[short]log.txt: unify quoted standalone --
      git-submodule.txt: quote usage in monospace, drop backslash
      fast-export: fix regression skipping some merge-commits
      http-fetch: make `-a` standard behaviour
      walker: drop fields of `struct walker` which are always 1
      t/helper/test-write-cache: clean up lock-handling
      refs.c: do not die if locking fails in `write_pseudoref()`
      refs.c: do not die if locking fails in `delete_pseudoref()`
      lock_file: make function-local locks non-static
      lock_file: move static locks into functions
      refs.c: refer to "object ID", not "sha1", in error messages
      t1400: add tests around adding/deleting pseudorefs
      refs: handle zero oid for pseudorefs
      merge: setup `opts` later in `checkout_fast_forward()`
      config: free resources of `struct config_store_data`
      config: let `config_store_data_clear()` handle `value_regex`
      config: let `config_store_data_clear()` handle `key`
      regex: do not call `regfree()` if compilation fails
      unpack_trees_options: free messages when done

Michal Nazarewicz (1):
      send-email: simplify Gmail example in the documentation

Michele Locati (1):
      filter-branch: return 2 when nothing to rewrite

Nguyễn Thái Ngọc Duy (88):
      repository: initialize the_repository in main()
      repository.c: move env-related setup code back to environment.c
      repository.c: delete dead functions
      sha1_file.c: move delayed getenv(altdb) back to setup_git_env()
      repository: delete ignore_env member
      gc.txt: more details about what gc does
      worktree: delete dead code
      worktree prune: improve prune logic when worktree is moved
      repository.h: add comment and clarify repo_set_gitdir
      git.c: move cmd_struct declaration up
      git.c: add hidden option --list-parseopt-builtins
      completion: mention the oldest version we need to support
      completion: factor out _git_xxx calling code
      completion: add --option completion for most builtin commands
      completion: delete option-only completion commands
      completion: use __gitcomp_builtin in _git_ls_tree
      completion: use __gitcomp_builtin in _git_cherry
      packfile: keep prepare_packed_git() private
      t/helper: add an empty test-tool program
      t/helper: merge test-chmtime into test-tool
      t/helper: merge test-sha1 into test-tool
      t/helper: merge test-lazy-init-name-hash into test-tool
      t/helper: merge test-config into test-tool
      t/helper: merge test-ctype into test-tool
      t/helper: merge test-date into test-tool
      t/helper: merge (unused) test-delta into test-tool
      t/helper: merge test-drop-caches into test-tool
      t/helper: merge test-dump-cache-tree into test-tool
      t/helper: merge test-dump-split-index into test-tool
      t/helper: merge test-example-decorate into test-tool
      t/helper: merge test-genrandom into test-tool
      t/helper: merge test-hashmap into test-tool
      t/helper: merge test-index-version into test-tool
      t/helper: merge (unused) test-match-trees into test-tool
      t/helper: merge (unused) test-mergesort into test-tool
      t/helper: merge test-mktemp into test-tool
      t/helper: merge test-online-cpus into test-tool
      t/helper: merge test-path-utils into test-tool
      t/helper: merge test-prio-queue into test-tool
      t/helper: merge test-read-cache into test-tool
      t/helper: merge test-ref-store into test-tool
      t/helper: merge test-regex into test-tool
      t/helper: merge test-revision-walking into test-tool
      t/helper: merge test-run-command into test-tool
      t/helper: merge test-scrap-cache-tree into test-tool
      t/helper: merge test-sha1-array into test-tool
      t/helper: merge test-sigchain into test-tool
      t/helper: merge test-strcmp-offset into test-tool
      t/helper: merge test-string-list into test-tool
      t/helper: merge test-submodule-config into test-tool
      t/helper: merge test-subprocess into test-tool
      t/helper: merge test-urlmatch-normalization into test-tool
      t/helper: merge test-wildmatch into test-tool
      t/helper: merge test-write-cache into test-tool
      trace.c: export trace_setup_key
      read-cache.c: make $GIT_TEST_SPLIT_INDEX boolean
      pack-objects: a bit of document about struct object_entry
      pack-objects: turn type and in_pack_type to bitfields
      pack-objects: use bitfield for object_entry::dfs_state
      pack-objects: use bitfield for object_entry::depth
      pack-objects: move in_pack_pos out of struct object_entry
      pack-objects: move in_pack out of struct object_entry
      pack-objects: refer to delta objects by index instead of pointer
      pack-objects: shrink z_delta_size field in struct object_entry
      pack-objects: don't check size when the object is bad
      pack-objects: clarify the use of object_entry::size
      pack-objects: shrink size field in struct object_entry
      pack-objects: shrink delta_size field in struct object_entry
      pack-objects: reorder members to shrink struct object_entry
      ci: exercise the whole test suite with uncommon code in pack-objects
      t7700: have closing quote of a test at the beginning of line
      repack: add --keep-pack option
      gc: add --keep-largest-pack option
      gc: add gc.bigPackThreshold config
      gc: handle a corner case in gc.bigPackThreshold
      gc --auto: exclude base pack if not enough mem to "repack -ad"
      pack-objects: show some progress when counting kept objects
      connect.c: mark die_initial_contact() NORETURN
      Makefile: detect compiler and enable more warnings in DEVELOPER=1
      submodule--helper: don't print null in 'submodule status'
      doc: keep first level section header in upper case
      pack-objects: validation and documentation about unreachable options
      completion: fix misspelled config key aliasesfiletype
      repository: fix free problem with repo_clear(the_repository)
      pack-format.txt: more details on pack file format
      column: fix off-by-one default width
      commit.h: rearrange 'index' to shrink struct commit
      travis-ci: run gcc-8 on linux-gcc jobs

Olga Telezhnaya (6):
      ref-filter: add shortcut to work with strbufs
      ref-filter: start adding strbufs with errors
      ref-filter: add return value && strbuf to handlers
      ref-filter: change parsing function error handling
      ref-filter: add return value to parsers
      ref-filter: libify get_ref_atom_value()

Paul-Sebastian Ungureanu (2):
      parse-options: do not show usage upon invalid option value
      t/helper: 'test-chmtime (--get|-g)' to print only the mtime

Philip Oakley (1):
      Avoid multiple PREFIX definitions

Phillip Wood (7):
      rebase --root: stop assuming squash_onto is unset
      rebase -i --keep-empty: don't prune empty commits
      rebase: respect --no-keep-empty
      rebase: extend --signoff support
      rebase -p: error out if --signoff is given
      rebase --keep-empty: always use interactive rebase
      rebase --rebase-merges: add test for --keep-empty

Pratik Karki (1):
      test: avoid pipes in git related commands for test

Ramsay Jones (1):
      BUG_exit_code: fix sparse "symbol not declared" warning

René Scharfe (8):
      sha1_name: use bsearch_pack() in unique_in_pack()
      bisect: use oid_to_hex() for converting object_id hashes to hex strings
      run-command: use strbuf_addstr() for adding a string to a strbuf
      submodule: check for NULL return of get_submodule_ref_store()
      replace_object: use oidmap
      fast-export: avoid NULL pointer arithmetic
      t5512: run git fetch inside test
      fsmonitor: use internal argv_array of struct child_process

Ryan Dammrose (1):
      push: colorize errors

SZEDER Gábor (22):
      test_must_be_empty: simplify file existence check
      t9902-completion: add tests demonstrating issues with quoted pathnames
      completion: move __git_complete_index_file() next to its helpers
      completion: simplify prefix path component handling during path completion
      completion: support completing non-ASCII pathnames
      completion: improve handling quoted paths on the command line
      completion: let 'ls-files' and 'diff-index' filter matching paths
      completion: use 'awk' to strip trailing path components
      t9902-completion: ignore COMPREPLY element order in some tests
      completion: remove repeated dirnames with 'awk' during path completion
      completion: improve handling quoted paths in 'git ls-files's output
      completion: fill COMPREPLY directly when completing paths
      completion: reduce overhead of clearing cached --options
      docs/git-gc: fix minor rendering issue
      coccinelle: avoid wrong transformation suggestions from commit.cocci
      t6050-replace: don't disable stdin for the whole test script
      t5310-pack-bitmaps: make JGit tests work with GIT_TEST_SPLIT_INDEX
      t5516-fetch-push: fix 'push with dry-run' test
      t5516-fetch-push: fix broken &&-chain
      t7005-editor: get rid of the SPACES_IN_FILENAMES prereq
      completion: don't return with error from __gitcomp_file_direct()
      t9902-completion: exercise __git_complete_index_file() directly

Sergey Organov (1):
      glossary: substitute "ancestor" for "direct ancestor" in 'push' description.

Stefan Agner (1):
      send-email: avoid duplicate In-Reply-To/References

Stefan Beller (81):
      repository: introduce raw object store field
      object-store: migrate alternates struct and functions from cache.h
      object-store: move alt_odb_list and alt_odb_tail to object store
      object-store: free alt_odb_list
      object-store: move packed_git and packed_git_mru to object store
      object-store: close all packs upon clearing the object store
      pack: move prepare_packed_git_run_once to object store
      pack: move approximate object count to object store
      sha1_file: add raw_object_store argument to alt_odb_usable
      sha1_file: add repository argument to link_alt_odb_entry
      sha1_file: add repository argument to read_info_alternates
      sha1_file: add repository argument to link_alt_odb_entries
      sha1_file: add repository argument to prepare_alt_odb
      sha1_file: allow link_alt_odb_entries to handle arbitrary repositories
      sha1_file: allow prepare_alt_odb to handle arbitrary repositories
      sha1_file: add repository argument to sha1_file_name
      sha1_file: add repository argument to stat_sha1_file
      sha1_file: add repository argument to open_sha1_file
      sha1_file: add repository argument to map_sha1_file_1
      sha1_file: add repository argument to map_sha1_file
      sha1_file: add repository argument to sha1_loose_object_info
      sha1_file: allow sha1_file_name to handle arbitrary repositories
      sha1_file: allow stat_sha1_file to handle arbitrary repositories
      sha1_file: allow open_sha1_file to handle arbitrary repositories
      sha1_file: allow map_sha1_file to handle arbitrary repositories
      packfile: allow prepare_packed_git_mru to handle arbitrary repositories
      packfile: allow rearrange_packed_git to handle arbitrary repositories
      packfile: allow install_packed_git to handle arbitrary repositories
      packfile: add repository argument to prepare_packed_git_one
      packfile: add repository argument to prepare_packed_git
      packfile: add repository argument to reprepare_packed_git
      packfile: allow prepare_packed_git_one to handle arbitrary repositories
      packfile: allow prepare_packed_git to handle arbitrary repositories
      packfile: allow reprepare_packed_git to handle arbitrary repositories
      packfile: add repository argument to find_pack_entry
      packfile: allow find_pack_entry to handle arbitrary repositories
      submodule.h: drop declaration of connect_work_tree_and_git_dir
      submodule-config: allow submodule_free to handle arbitrary repositories
      submodule-config: add repository argument to submodule_from_{name, path}
      submodule-config: remove submodule_from_cache
      submodule: fixup nested submodules after moving the submodule
      write_or_die.c: rename to use dashes in file name
      unicode_width.h: rename to use dash in file name
      exec_cmd: rename to use dash in file name
      sha1_name.c: rename to use dash in file name
      sha1_file.c: rename to use dash in file name
      replace_object.c: rename to use dash in file name
      replace-object: move replace_map to object store
      object-store: move lookup_replace_object to replace-object.h
      replace-object: eliminate replace objects prepared flag
      replace-object: check_replace_refs is safe in multi repo environment
      refs: add repository argument to get_main_ref_store
      refs: add repository argument to for_each_replace_ref
      replace-object: add repository argument to prepare_replace_object
      replace-object: add repository argument to do_lookup_replace_object
      replace-object: add repository argument to lookup_replace_object
      refs: store the main ref store inside the repository struct
      refs: allow for_each_replace_ref to handle arbitrary repositories
      replace-object: allow prepare_replace_object to handle arbitrary repositories
      replace-object: allow do_lookup_replace_object to handle arbitrary repositories
      replace-object: allow lookup_replace_object to handle arbitrary repositories
      worktree: accept -f as short for --force for removal
      builtin/blame: dim uninteresting metadata lines
      builtin/blame: highlight recently changed lines
      builtin/blame: add new coloring scheme config
      cache.h: add repository argument to oid_object_info_extended
      cache.h: add repository argument to oid_object_info
      packfile: add repository argument to retry_bad_packed_offset
      packfile: add repository argument to packed_to_object_type
      packfile: add repository argument to read_object
      packfile: add repository argument to unpack_entry
      packfile: add repository argument to cache_or_unpack_entry
      cache.h: allow oid_object_info to handle arbitrary repositories
      git-rebase--interactive: clarify arguments
      object.c: free replace map in raw_object_store_clear
      replace-object.c: remove the_repository from prepare_replace_object
      grep: handle corrupt index files early
      git-submodule.sh: try harder to fetch a submodule
      submodule.c: move submodule merging to merge-recursive.c
      merge-recursive: i18n submodule merge output and respect verbosity
      object.c: clear replace map before freeing it

Takuto Ikuta (1):
      fetch-pack.c: use oidset to check existence of loose object

Tao Qingyun (1):
      t1510-repo-setup.sh: remove useless mkdir

Taylor Blau (5):
      builtin/config.c: treat type specifiers singularly
      builtin/config.c: support `--type=<type>` as preferred alias for `--<type>`
      builtin/config: introduce `--default`
      config.c: introduce 'git_config_color' to parse ANSI colors
      builtin/config: introduce `color` type specifier

Thomas Gummerer (10):
      stash push: avoid printing errors
      stash push -u: don't create empty stash
      stash: drop superfluos pathspec parameter
      SubmittingPatches: mention the git contacts command
      completion: stop showing 'save' for stash by default
      completion: make stash -p and alias for stash push -p
      worktree: remove extra members from struct add_opts
      worktree: improve message when creating a new worktree
      worktree: factor out dwim_branch function
      worktree: teach "add" to check out existing branches

Todd Zullinger (1):
      doc/clone: update caption for GIT URLS cross-reference

Torsten Bögershausen (1):
      test: correct detection of UTF8_NFD_TO_NFC for APFS

Wink Saville (8):
      rebase-interactive: simplify pick_on_preserving_merges
      rebase: update invocation of rebase dot-sourced scripts
      rebase: reindent function git_rebase__interactive
      rebase: extract functions out of git_rebase__interactive
      rebase: add and use git_rebase__interactive__preserve_merges
      rebase: remove unused code paths from git_rebase__interactive
      rebase: remove unused code paths from git_rebase__interactive__preserve_merges
      rebase: remove merges_option and a blank line

Yuki Kokubun (1):
      filter-branch: fix errors caused by refs that point at non-committish

brian m. carlson (121):
      bulk-checkin: convert index_bulk_checkin to struct object_id
      builtin/write-tree: convert to struct object_id
      cache-tree: convert write_*_as_tree to object_id
      cache-tree: convert remnants to struct object_id
      resolve-undo: convert struct resolve_undo_info to object_id
      tree: convert read_tree_recursive to struct object_id
      ref-filter: convert grab_objectname to struct object_id
      strbuf: convert strbuf_add_unique_abbrev to use struct object_id
      wt-status: convert struct wt_status_state to object_id
      Convert find_unique_abbrev* to struct object_id
      http-walker: convert struct object_request to use struct object_id
      send-pack: convert remaining functions to struct object_id
      replace_object: convert struct replace_object to object_id
      builtin/mktag: convert to struct object_id
      archive: convert write_archive_entry_fn_t to object_id
      archive: convert sha1_file_to_archive to struct object_id
      builtin/index-pack: convert struct ref_delta_entry to object_id
      sha1_file: convert read_loose_object to use struct object_id
      sha1_file: convert check_sha1_signature to struct object_id
      streaming: convert open_istream to use struct object_id
      builtin/mktree: convert to struct object_id
      sha1_file: convert assert_sha1_type to object_id
      sha1_file: convert retry_bad_packed_offset to struct object_id
      packfile: convert unpack_entry to struct object_id
      Convert remaining callers of sha1_object_info_extended to object_id
      sha1_file: convert sha1_object_info* to object_id
      builtin/fmt-merge-msg: convert remaining code to object_id
      builtin/notes: convert static functions to object_id
      tree-walk: convert get_tree_entry_follow_symlinks internals to object_id
      streaming: convert istream internals to struct object_id
      tree-walk: convert tree entry functions to object_id
      sha1_file: convert read_object_with_reference to object_id
      sha1_file: convert read_sha1_file to struct object_id
      Convert lookup_replace_object to struct object_id
      sha1_file: introduce a constant for max header length
      convert: convert to struct object_id
      sha1_name: convert struct min_abbrev_data to object_id
      t1011: abstract away SHA-1-specific constants
      t1304: abstract away SHA-1-specific constants
      t1300: abstract away SHA-1-specific constants
      t1405: sort reflog entries in a hash-independent way
      t1411: abstract away SHA-1-specific constants
      t1507: abstract away SHA-1-specific constants
      t2020: abstract away SHA-1 specific constants
      t2101: modernize test style
      t2101: abstract away SHA-1-specific constants
      t2107: abstract away SHA-1-specific constants
      format-patch: make cover letters always text/plain
      cache: add a function to read an object ID from a buffer
      server-info: remove unused members from struct pack_info
      Remove unused member in struct object_context
      packfile: remove unused member from struct pack_entry
      packfile: convert has_sha1_pack to object_id
      sha1-file: convert freshen functions to object_id
      packfile: convert find_pack_entry to object_id
      packfile: abstract away hash constant values
      pack-objects: abstract away hash algorithm
      pack-redundant: abstract away hash algorithm
      tree-walk: avoid hard-coded 20 constant
      tree-walk: convert get_tree_entry_follow_symlinks to object_id
      fsck: convert static functions to struct object_id
      submodule-config: convert structures to object_id
      split-index: convert struct split_index to object_id
      Update struct index_state to use struct object_id
      pack-redundant: convert linked lists to use struct object_id
      index-pack: abstract away hash function constant
      commit: convert uses of get_sha1_hex to get_oid_hex
      dir: convert struct untracked_cache_dir to object_id
      http: eliminate hard-coded constants
      revision: replace use of hard-coded constants
      upload-pack: replace use of several hard-coded constants
      diff: specify abbreviation size in terms of the_hash_algo
      builtin/receive-pack: avoid hard-coded constants for push certs
      sha1-file: add functions for hex empty tree and blob OIDs
      builtin/am: convert uses of EMPTY_TREE_SHA1_BIN to the_hash_algo
      builtin/merge: switch tree functions to use object_id
      merge: convert empty tree constant to the_hash_algo
      sequencer: convert one use of EMPTY_TREE_SHA1_HEX
      submodule: convert several uses of EMPTY_TREE_SHA1_HEX
      wt-status: convert two uses of EMPTY_TREE_SHA1_HEX
      builtin/receive-pack: convert one use of EMPTY_TREE_SHA1_HEX
      builtin/reset: convert use of EMPTY_TREE_SHA1_BIN
      sha1_file: convert cached object code to struct object_id
      cache-tree: use is_empty_tree_oid
      sequencer: use the_hash_algo for empty tree object ID
      dir: use the_hash_algo for empty blob object ID
      sha1_file: only expose empty object constants through git_hash_algo
      Update shell scripts to compute empty tree object ID
      add--interactive: compute the empty tree value
      merge-one-file: compute empty blob object ID
      Documentation: use 8-space tabs with Asciidoctor
      Documentation: render revisions correctly under Asciidoctor
      mailmap: update brian m. carlson's email address
      t/test-lib: add an SHA1 prerequisite
      t/test-lib: introduce ZERO_OID
      t: switch $_z40 to $ZERO_OID
      t/test-lib: introduce OID_REGEX
      t: switch $_x40 to $OID_REGEX
      t0000: annotate with SHA1 prerequisite
      t1007: annotate with SHA1 prerequisite
      t1512: skip test if not using SHA-1
      t4044: skip test if not using SHA-1
      t: skip pack tests if not using SHA-1
      t2203: abstract away SHA-1-specific constants
      t3103: abstract away SHA-1-specific constants
      t3702: abstract away SHA-1-specific constants
      t3905: abstract away SHA-1-specific constants
      t4007: abstract away SHA-1-specific constants
      t4008: abstract away SHA-1-specific constants
      t4014: abstract away SHA-1-specific constants
      t4020: abstract away SHA-1-specific constants
      t4022: abstract away SHA-1-specific constants
      t4029: fix test indentation
      t4029: abstract away SHA-1-specific constants
      t4030: abstract away SHA-1-specific constants
      t/lib-diff-alternative: abstract away SHA-1-specific constants
      t4205: sort log output in a hash-independent way
      t4042: abstract away SHA-1-specific constants
      t4045: abstract away SHA-1-specific constants
      t4208: abstract away SHA-1-specific constants
      t5300: abstract away SHA-1-specific constants

Ævar Arnfjörð Bjarmason (21):
      configure: fix a regression in PCRE v1 detection
      configure: detect redundant --with-libpcre & --with-libpcre1
      Makefile: make USE_LIBPCRE=YesPlease mean v2, not v1
      Makefile: fix broken bindir_relative variable
      Makefile: add a gitexecdir_relative variable
      Makefile: optionally symlink libexec/git-core binaries to bin/git
      Remove contrib/examples/*
      doc hash-function-transition: clarify how older gits die on NewHash
      doc hash-function-transition: clarify what SHAttered means
      git-svn: avoid warning on undef readline()
      Makefile: add a DEVOPTS to suppress -Werror under DEVELOPER
      Makefile: add a DEVOPTS to get all of -Wextra
      git{,-blame}.el: remove old bitrotting Emacs code
      .gitattributes: add *.pl extension for Perl
      .gitattributes: use the "perl" differ for Perl
      .gitattributes: add a diff driver for Python
      sha1-name.c: remove stray newline
      sha1-array.h: align function arguments
      git-p4: change "commitish" typo to "committish"
      sha1-name.c: move around the collect_ambiguous() function
      get_short_oid: sort ambiguous objects by type, then SHA-1


Version v2.17.6; changes since v2.17.5:
---------------------------------------

Johannes Schindelin (2):
      run-command: invalidate lstat cache after a command finished
      Git 2.17.6

Matheus Tavares (2):
      checkout: fix bug that makes checkout follow symlinks in leading path
      unpack_trees(): start with a fresh lstat cache


Version v2.17.5; changes since v2.17.4:
---------------------------------------

Jeff King (6):
      t0300: make "quit" helper more realistic
      t0300: use more realistic inputs
      credential: parse URL without host as empty host, not unset
      credential: refuse to operate when missing host or protocol
      credential: die() when parsing invalid urls
      Git 2.17.5

Jonathan Nieder (4):
      fsck: convert gitmodules url to URL passed to curl
      credential: treat URL without scheme as invalid
      credential: treat URL with empty scheme as invalid
      fsck: reject URL with empty host in .gitmodules


Version v2.17.4; changes since v2.17.3:
---------------------------------------

Jeff King (4):
      credential: avoid writing values with newlines
      t/lib-credential: use test_i18ncmp to check stderr
      credential: detect unrepresentable values when parsing urls
      fsck: detect gitmodules URLs with embedded newlines

Junio C Hamano (1):
      Git 2.17.4


Version v2.17.3; changes since v2.17.2:
---------------------------------------

Garima Singh (2):
      test-path-utils: offer to run a protectNTFS/protectHFS benchmark
      tests: add a helper to stress test argument quoting

Jeff King (7):
      t9300: drop some useless uses of cat
      t9300: create marks files for double-import-marks test
      fast-import: tighten parsing of boolean command line options
      fast-import: stop creating leading directories for import-marks
      fast-import: delay creating leading directories for export-marks
      fast-import: disallow "feature export-marks" by default
      fast-import: disallow "feature import-marks" by default

Johannes Schindelin (23):
      clone --recurse-submodules: prevent name squatting on Windows
      mingw: disallow backslash characters in tree objects' file names
      path.c: document the purpose of `is_ntfs_dotgit()`
      is_ntfs_dotgit(): only verify the leading segment
      path: safeguard `.git` against NTFS Alternate Streams Accesses
      is_ntfs_dotgit(): speed it up
      mingw: fix quoting of arguments
      path: also guard `.gitmodules` against NTFS Alternate Data Streams
      protect_ntfs: turn on NTFS protection by default
      Disallow dubiously-nested submodule git directories
      quote-stress-test: accept arguments to test via the command-line
      t6130/t9350: prepare for stringent Win32 path validation
      quote-stress-test: allow skipping some trials
      unpack-trees: let merged_entry() pass through do_add_entry()'s errors
      mingw: refuse to access paths with illegal characters
      quote-stress-test: offer to test quoting arguments for MSYS2 sh
      mingw: refuse to access paths with trailing spaces or periods
      mingw: handle `subst`-ed "DOS drives"
      Git 2.14.6
      Git 2.15.4
      test-drop-caches: use `has_dos_drive_prefix()`
      Git 2.16.6
      Git 2.17.3

Jonathan Nieder (2):
      submodule: reject submodule.update = !command in .gitmodules
      fsck: reject submodule.update = !command in .gitmodules


Version v2.17.2; changes since v2.17.1:
---------------------------------------

Jeff King (5):
      submodule--helper: use "--" to signal end of clone options
      submodule-config: ban submodule urls that start with dash
      submodule-config: ban submodule paths that start with a dash
      fsck: detect submodule urls starting with dash
      fsck: detect submodule paths starting with dash

Junio C Hamano (4):
      Git 2.14.5
      Git 2.15.3
      Git 2.16.5
      Git 2.17.2


Version v2.17.1; changes since v2.17.0:
---------------------------------------

Jeff King (18):
      submodule-config: verify submodule names as paths
      is_ntfs_dotgit: use a size_t for traversing string
      is_hfs_dotgit: match other .git files
      skip_prefix: add case-insensitive variant
      verify_path: drop clever fallthrough
      verify_dotfile: mention case-insensitivity in comment
      update-index: stat updated files earlier
      verify_path: disallow symlinks in .gitmodules
      index-pack: make fsck error message more specific
      fsck: simplify ".git" check
      fsck: actually fsck blob data
      fsck: detect gitmodules files
      fsck: handle promisor objects in .gitmodules check
      fsck: check .gitmodules content
      fsck: call fsck_finish() after fscking objects
      unpack-objects: call fsck_finish() after fscking objects
      index-pack: check .gitmodules files with --strict
      fsck: complain when .gitmodules is a symlink

Johannes Schindelin (2):
      is_ntfs_dotgit: match other .git files
      is_{hfs,ntfs}_dotgitmodules: add tests

Junio C Hamano (5):
      Git 2.13.7
      Git 2.14.4
      Git 2.15.2
      Git 2.16.4
      Git 2.17.1


Version v2.17.0; changes since v2.17.0-rc2:
-------------------------------------------

Alexander Shopov (1):
      l10n: bg.po: Updated Bulgarian translation (3376t)

Changwoo Ryu (1):
      l10n: ko.po: Update Korean translation

Christopher Díaz Riveros (2):
      l10n: es.po: fixes to Spanish translation
      l10n: es.po: Update Spanish translation 2.17.0

Jean-Noël Avila (2):
      l10n: fr.po v2.17.0 round 1
      l10n: fr.po: v2.17.0 no fuzzy

Jiang Xin (2):
      l10n: git.pot: v2.17.0 round 1 (132 new, 44 removed)
      l10n: zh_CN: for git v2.17.0 l10n round 1

Jonathan Nieder (1):
      upload-pack: disable object filtering when disabled by config

Jordi Mas (1):
      l10n: Update Catalan translation

Junio C Hamano (1):
      Git 2.17

Peter Krefting (1):
      l10n: sv.po: Update Swedish translation (3376t0f0u)

Ralf Thielow (1):
      l10n: de.po: translate 132 new messages

Ray Chen (1):
      l10n: zh_CN: review for git v2.17.0 l10n round 1

René Scharfe (1):
      unpack-trees: release oid_array after use in check_updates()

Trần Ngọc Quân (1):
      l10n: vi.po(3376t): Updated Vietnamese translation for v2.17

Ævar Arnfjörð Bjarmason (1):
      add -p: fix 2.17.0-rc* regression due to moved code


Version v2.17.0-rc2; changes since v2.17.0-rc1:
-----------------------------------------------

Junio C Hamano (3):
      Git 2.16.3
      t9902: disable test on the list of merge-strategies under GETTEXT_POISON
      Git 2.17-rc2

SZEDER Gábor (1):
      completion: clear cached --options when sourcing the completion script

Stefan Beller (1):
      submodule deinit: handle non existing pathspecs gracefully

Thomas Gummerer (1):
      git-stash.txt: remove extra square bracket


Version v2.17.0-rc1; changes since v2.17.0-rc0:
-----------------------------------------------

Ben Peart (1):
      Fix bugs preventing adding updated cache entries to the name hash

David Pursehouse (1):
      Documentation/merge-strategies: typofix

Jeff King (1):
      doc/gitattributes: mention non-recursive behavior

Johannes Schindelin (1):
      mingw: abort on invalid strftime formats

Jonathan Tan (3):
      sha1_file: restore OBJECT_INFO_QUICK functionality
      index-pack: support checking objects but not links
      fetch-pack: do not check links for partial fetch

Junio C Hamano (1):
      Git 2.17-rc1

Kaartic Sivaraam (1):
      t/t3200: fix a typo in a test description

Martin Ågren (4):
      t7006: add tests for how git config paginates
      config: respect `pager.config` in list/get-mode only
      config: change default of `pager.config` to "on"
      write_locked_index(): add flag to avoid writing unchanged index

Michele Locati (1):
      filter-branch: use printf instead of echo -e

Ramsay Jones (3):
      http: fix an unused variable warning for 'curl_no_proxy'
      -Wuninitialized: remove some 'init-self' workarounds
      read-cache: fix an -Wmaybe-uninitialized warning

Todd Zullinger (2):
      RelNotes: add details on Perl module changes
      completion: complete tags with git tag --delete/--verify


Version v2.17.0-rc0; changes since v2.16.6:
-------------------------------------------

Adam Borowski (1):
      hooks/pre-auto-gc-battery: allow gc to run on non-laptops

Alban Gruin (1):
      userdiff: add built-in pattern for golang

Alex Bennée (1):
      send-email: add test for Linux's get_maintainer.pl

Alexander Shopov (1):
      Mark messages for translations

Ben Peart (2):
      dir.c: don't flag the index as dirty for changes to the untracked cache
      name-hash: properly fold directory names in adjust_dirname_case()

Bernhard M. Wiedemann (1):
      perl: call timegm and timelocal with 4-digit year

Brandon Williams (38):
      object_info: change member name from 'typename' to 'type_name'
      object: rename function 'typename' to 'type_name'
      blame: rename 'this' variables
      pack-objects: rename 'this' variables
      rev-parse: rename 'this' variable
      submodule: indicate that 'submodule.recurse' doesn't apply to clone
      diff: rename 'this' variables
      apply: rename 'try' variables
      apply: rename 'new' variables
      checkout: rename 'new' variables
      help: rename 'new' variables
      pack-redundant: rename 'new' variables
      reflog: rename 'new' variables
      remote: rename 'new' variables
      combine-diff: rename 'new' variables
      commit: rename 'new' variables
      diff-lib: rename 'new' variable
      diff: rename 'new' variables
      diffcore-delta: rename 'new' variables
      entry: rename 'new' variables
      http: rename 'new' variables
      imap-send: rename 'new' variables
      line-log: rename 'new' variables
      read-cache: rename 'new' variables
      ref-filter: rename 'new' variables
      remote: rename 'new' variables
      split-index: rename 'new' variables
      submodule: rename 'new' variables
      trailer: rename 'new' variables
      unpack-trees: rename 'new' variables
      init-db: rename 'template' variables
      environment: rename 'template' variables
      diff: rename 'template' variables
      environment: rename 'namespace' variables
      wrapper: rename 'template' variables
      tempfile: rename 'template' variables
      trailer: rename 'template' variables
      replace: rename 'new' variables

Christian Couder (12):
      perf/aggregate: fix checking ENV{GIT_PERF_SUBSECTION}
      perf/aggregate: refactor printing results
      perf/aggregate: implement codespeed JSON output
      perf/run: add conf_opts argument to get_var_from_env_or_config()
      perf/run: learn about perf.codespeedOutput
      perf/run: learn to send output to codespeed server
      perf/run: read GIT_PERF_REPO_NAME from perf.repoName
      sha1_file: remove static strbuf from sha1_file_name()
      sha1_file: improve sha1_file_name() perfs
      perf/aggregate: add --subsection option
      perf/aggregate: add --reponame option
      perf/aggregate: sort JSON fields in output

Christian Ludwig (2):
      send-email: rename variable for clarity
      send-email: support separate Reply-To address

Derrick Stolee (3):
      packfile: use get_be64() for large offsets
      sha1_name: fix uninitialized memory errors
      revision.c: reduce object database queries

Elijah Newren (3):
      Tighten and correct a few testcases for merging and cherry-picking
      merge-recursive: fix logic ordering issue
      merge-recursive: add explanation for src_entry and dst_entry

Eric Sunshine (2):
      worktree: add: fix 'post-checkout' not knowing new worktree location
      t2028: fix minor error and issues in newly-added "worktree move" tests

Gargi Sharma (1):
      mru: Replace mru.[ch] with list.h implementation

Genki Sky (1):
      rebase: add --allow-empty-message option

Gregory Herrero (1):
      rebase -p: fix incorrect commit message when calling `git merge`.

Jeff Hostetler (12):
      upload-pack: add object filtering for partial clone
      fetch-pack, index-pack, transport: partial clone
      fetch-pack: add --no-filter
      fetch: support filters
      partial-clone: define partial clone settings in config
      t5616: end-to-end tests for partial clone
      fetch: inherit filter-spec from partial clone
      t5616: test bulk prefetch after partial fetch
      stat_tracking_info: return +1 when branches not equal
      status: add --[no-]ahead-behind to status and commit for V2 format.
      status: update short status to respect --no-ahead-behind
      status: support --no-ahead-behind in long format

Jeff King (20):
      sq_quote_argv: drop maxlen parameter
      trace: avoid unnecessary quoting
      correct error messages for NULL packet_read_line()
      CodingGuidelines: mention "static" and "extern"
      t0002: simplify error checking
      describe: confirm that blobs actually exist
      test-hashmap: use ALLOC_ARRAY rather than bare malloc
      test-hashmap: check allocation computation for overflow
      test-hashmap: use xsnprintf rather than snprintf
      test-hashmap: use strbuf_getline rather than fgets
      test-hashmap: simplify alloc_test_entry
      test-hashmap: use "unsigned int" for hash storage
      sq_dequote: fix extra consumption of source string
      t5545: factor out http repository setup
      remote-curl: unquote incoming push-options
      t: send verbose test-helper output to fd 4
      strbuf_read_file(): preserve errno across close() call
      smart-http: document flush after "# service" line
      t3701: add a test for interactive.diffFilter
      add--interactive: detect bogus diffFilter output

Johannes Schindelin (2):
      sequencer: assign only free()able strings to gpg_sign
      apply: demonstrate a problem applying svn diffs

Jon Simons (1):
      always check for NULL return from packet_read_line()

Jonathan Nieder (1):
      perl: treat PERLLIB_EXTRA as an extra path again

Jonathan Tan (18):
      extension.partialclone: introduce partial clone extension
      fsck: introduce partialclone extension
      fsck: support refs pointing to promisor objects
      fsck: support referenced promisor objects
      fsck: support promisor objects as CLI argument
      index-pack: refactor writing of .keep files
      introduce fetch-object: fetch one promisor object
      sha1_file: support lazily fetching missing objects
      rev-list: support termination at promisor objects
      gc: do not repack promisor packfiles
      fetch-pack: test support excluding large blobs
      fetch: refactor calculation of remote list
      clone: partial clone
      unpack-trees: batch fetching of missing blobs
      fetch-pack: restore save_commit_buffer after use
      Docs: split out long-running subprocess handshake
      packfile: remove GIT_DEBUG_LOOKUP log statements
      packfile: refactor hash search with fanout table

Junio C Hamano (14):
      Start 2.17 cycle
      First batch after 2.16
      blame: tighten command line parser
      Second batch for 2.17
      Third batch for 2.17
      merge: allow fast-forward when merging a tracked tag
      Fourth batch for 2.17
      Fifth batch for 2.17
      test_must_be_empty: make sure the file exists, not just empty
      untracked cache: use git_env_bool() not getenv() for customization
      Sixth batch for 2.17
      Seventh batch for 2.17
      Eighth batch for 2.17
      Git 2.17-rc0

Kim Gybels (1):
      packed_ref_cache: don't use mmap() for small files

Lucas Werkmeister (1):
      daemon: add --log-destination=(stderr|syslog|none)

Martin Ågren (5):
      sequencer: make lockfiles non-static
      sequencer: always roll back lock in `do_recursive_merge()`
      merge-recursive: always roll back lock in `merge_recursive_generic()`
      merge: always roll back lock in `checkout_fast_forward()`
      sequencer: do not roll back lockfile unnecessarily

Matthieu Moy (2):
      send-email: add and use a local copy of Mail::Address
      perl/Git: remove now useless email-address parsing code

Michael Haggerty (5):
      struct snapshot: store `start` rather than `header_len`
      create_snapshot(): use `xmemdupz()` rather than a strbuf
      find_reference_location(): make function safe for empty snapshots
      packed_ref_iterator_begin(): make optimization more general
      load_contents(): don't try to mmap an empty file

Mårten Kongstad (1):
      docs/pretty-formats: fix typo '% <(<N>)' -> '%<|(<N>)'

Nathan Payre (1):
      send-email: extract email-parsing code into a subroutine

Nguyễn Thái Ngọc Duy (72):
      trace.c: move strbuf_release() out of print_trace_line()
      run-command.c: introduce trace_run_command()
      run-command.c: print program 'git' when tracing git_cmd mode
      run-command.c: print env vars in trace_run_command()
      run-command.c: print new cwd in trace_run_command()
      worktree.c: add validate_worktree()
      dir.c: avoid stat() in valid_cached_dir()
      dir.c: fix missing dir invalidation in untracked code
      format-patch: keep cover-letter diffstat wrapped in 72 columns
      dir.c: stop ignoring opendir() error in open_cached_dir()
      format-patch: reduce patch diffstat width to 72
      trace: measure where the time is spent in the index-heavy operations
      diff.c: refactor pprint_rename() to use strbuf
      dir.c: ignore paths containing .git when invalidating untracked cache
      parse-options: support --git-completion-helper
      parse-options: add OPT_xxx_F() variants
      parse-options: let OPT__FORCE take optional flags argument
      git-completion.bash: introduce __gitcomp_builtin
      completion: use __gitcomp_builtin in _git_add
      completion: use __gitcomp_builtin in _git_am
      completion: use __gitcomp_builtin in _git_apply
      completion: use __gitcomp_builtin in _git_branch
      completion: use __gitcomp_builtin in _git_checkout
      completion: use __gitcomp_builtin in _git_cherry_pick
      completion: use __gitcomp_builtin in _git_clean
      completion: use __gitcomp_builtin in _git_clone
      completion: use __gitcomp_builtin in _git_commit
      completion: use __gitcomp_builtin in _git_config
      completion: use __gitcomp_builtin in _git_describe
      completion: use __gitcomp_builtin in _git_difftool
      completion: use __gitcomp_builtin in _git_fetch
      completion: use __gitcomp_builtin in _git_fsck
      completion: use __gitcomp_builtin in _git_gc
      completion: use __gitcomp_builtin in _git_grep
      completion: use __gitcomp_builtin in _git_help
      completion: use __gitcomp_builtin in _git_init
      completion: use __gitcomp_builtin in _git_ls_files
      completion: use __gitcomp_builtin in _git_ls_remote
      completion: use __gitcomp_builtin in _git_merge
      completion: use __gitcomp_builtin in _git_merge_base
      completion: use __gitcomp_builtin in _git_mv
      completion: use __gitcomp_builtin in _git_name_rev
      completion: use __gitcomp_builtin in _git_notes
      completion: use __gitcomp_builtin in _git_pull
      completion: use __gitcomp_builtin in _git_push
      completion: use __gitcomp_builtin in _git_remote
      remote: force completing --mirror= instead of --mirror
      completion: use __gitcomp_builtin in _git_replace
      completion: use __gitcomp_builtin in _git_reset
      completion: use __gitcomp_builtin in _git_revert
      completion: use __gitcomp_builtin in _git_rm
      completion: use __gitcomp_builtin in _git_show_branch
      completion: use __gitcomp_builtin in _git_status
      completion: use __gitcomp_builtin in _git_tag
      completion: use __gitcomp_builtin in _git_worktree
      worktree.c: add update_worktree_location()
      worktree move: new command
      worktree move: accept destination as directory
      worktree move: refuse to move worktrees with submodules
      worktree remove: new command
      worktree remove: allow it when $GIT_WORK_TREE is already gone
      am: add --show-current-patch
      rebase: add --show-current-patch
      rebase: introduce and use pseudo-ref REBASE_HEAD
      am: support --quit
      diff: add --compact-summary
      object.h: update flag allocation comment
      object.h: realign object flag allocation comment
      completion: don't set PARSE_OPT_NOCOMPLETE on --rerere-autoupdate
      completion: simplify _git_notes
      completion: complete --{reuse,reedit}-message= for all notes subcmds
      completion: more subcommands in _git_notes()

Nicolas Morey-Chaisemartin (1):
      tag: add --edit option

Olga Telezhnaya (3):
      mru: use double-linked list from list.h
      ref-filter: get rid of duplicate code
      ref-filter: get rid of goto

Patryk Obara (14):
      clang-format: adjust penalty for return type line break
      http-push: improve error log
      sha1_file: convert pretend_sha1_file to object_id
      dir: convert struct sha1_stat to use object_id
      sha1_file: convert hash_sha1_file to object_id
      cache: clear whole hash buffer with oidclr
      match-trees: convert splice_tree to object_id
      commit: convert commit_tree* to object_id
      notes: convert combine_notes_* to object_id
      notes: convert write_notes_tree to object_id
      sha1_file: convert write_sha1_file to object_id
      sha1_file: convert force_object_loose to object_id
      sha1_file: convert write_loose_object to object_id
      sha1_file: rename hash_sha1_file_literally

Phillip Wood (25):
      t3404: check intermediate squash messages
      commit: move empty message checks to libgit
      Add a function to update HEAD after creating a commit
      commit: move post-rewrite code to libgit
      commit: move print_commit_summary() to libgit
      sequencer: simplify adding Signed-off-by: trailer
      sequencer: load commit related config
      sequencer: try to commit without forking 'git commit'
      t3512/t3513: remove KNOWN_FAILURE_CHERRY_PICK_SEES_EMPTY_COMMIT=1
      sequencer: improve config handling
      t7505: style fixes
      t7505: add tests for cherry-pick and rebase -i/-p
      sequencer: run 'prepare-commit-msg' hook
      add -p: only display help for active keys
      add -p: only bind search key if there's more than one hunk
      add -p: improve error messages
      add -i: add function to format hunk header
      t3701: indent here documents
      t3701: use test_write_lines and write_script
      t3701: don't hard code sha1 hash values
      t3701: add failing test for pathological context lines
      add -p: adjust offsets of subsequent hunks when one is skipped
      add -p: calculate offset delta for edited patches
      add -p: fix counting when splitting and coalescing
      add -p: don't rely on apply's '--recount' option

Prathamesh Chavan (2):
      submodule: port submodule subcommand 'sync' from shell to C
      submodule: port submodule subcommand 'deinit' from shell to C

Ramsay Jones (1):
      t4151: consolidate multiple calls to test_i18ngrep

Rasmus Villemoes (2):
      grep: move grep_source_init outside critical section
      grep: simplify grep_oid and grep_file

René Scharfe (4):
      cocci: use format keyword instead of a literal string
      check-ignore: fix mix of directories and other file types
      sequencer: factor out strbuf_read_file_or_whine()
      perf: use GIT_PERF_REPEAT_COUNT=3 by default even without config file

SZEDER Gábor (22):
      Use MOVE_ARRAY
      travis-ci: use 'set -x' for the commands under 'su' in the 32 bit Linux build
      travis-ci: use 'set -e' in the 32 bit Linux build job
      travis-ci: don't repeat the path of the cache directory
      travis-ci: don't run the test suite as root in the 32 bit Linux build
      travis-ci: don't fail if user already exists on 32 bit Linux build job
      t6300-for-each-ref: fix "more than one quoting style" tests
      Makefile: generate Git(3pm) as dependency of the 'doc' and 'man' targets
      t: prevent '-x' tracing from interfering with test helpers' stderr
      t: add means to disable '-x' tracing for individual test scripts
      t1507-rev-parse-upstream: don't check the stderr of a shell function
      t5536: simplify checking of messages output to stderr
      t3030-merge-recursive: don't check the stderr of a subshell
      t5500-fetch-pack: don't check the stderr of a subshell
      t5526: use $TRASH_DIRECTORY to specify the path of GIT_TRACE log file
      t5570-git-daemon: don't check the stderr of a subshell
      t9903-bash-prompt: don't check the stderr of __git_ps1()
      t1510-repo-setup: mark as untraceable with '-x'
      t/README: add a note about don't saving stderr of compound commands
      travis-ci: run tests with '-x' tracing
      t9400-git-cvsserver-server: don't rely on the output of 'test_cmp'
      t9402-git-cvsserver-refs: don't check the stderr of a subshell

Stefan Beller (9):
      diff.h: make pickaxe_opts an unsigned bit field
      diff: migrate diff_flags.pickaxe_ignore_case to a pickaxe_opts bit
      diff: introduce DIFF_PICKAXE_KINDS_MASK
      diffcore: add a pickaxe option to find a specific blob
      diff: properly error out when combining multiple pickaxe options
      diff: use HAS_MULTI_BITS instead of counting bits manually
      builtin/pull: respect verbosity settings in submodules
      send-email: error out when relogin delay is missing
      color.h: document and modernize header

Stephen R Guglielmo (1):
      subtree: fix add and pull for GPG-signed commits

Tatyana Krasnukha (1):
      apply: handle Subversion diffs with /dev/null gracefully

Thomas Gummerer (1):
      reset --hard: make use of the pretty machinery

Thomas Levesque (1):
      userdiff.c: add C# async keyword in diff pattern

Todd Zullinger (2):
      Makefile: remove *.spec from clean target
      Makefile: add NO_PERL_CPAN_FALLBACKS knob

Torsten Bögershausen (1):
      convert_to_git(): safe_crlf/checksafe becomes int conv_flags

brian m. carlson (13):
      hash: move SHA-1 macros to hash.h
      hash: create union for hash context allocation
      builtin/index-pack: improve hash function abstraction
      builtin/unpack-objects: switch uses of SHA-1 to the_hash_algo
      sha1_file: switch uses of SHA-1 to the_hash_algo
      fast-import: switch various uses of SHA-1 to the_hash_algo
      pack-check: convert various uses of SHA-1 to abstract forms
      pack-write: switch various SHA-1 values to abstract forms
      read-cache: abstract away uses of SHA-1
      csum-file: rename sha1file to hashfile
      csum-file: abstract uses of SHA-1
      bulk-checkin: abstract SHA-1 usage
      hash: update obsolete reference to SHA1_HEADER

Ævar Arnfjörð Bjarmason (49):
      Makefile: don't error out under DC_SHA1_EXTERNAL if DC_SHA1_SUBMODULE=auto
      Makefile: under "make dist", include the sha1collisiondetection submodule
      sha1dc_git.h: re-arrange an ifdef chain for a subsequent change
      Makefile: replace perl/Makefile.PL with simple make rules
      perl: avoid *.pmc and fix Error.pm further
      status: add a failing test showing a core.untrackedCache bug
      wildmatch test: indent with tabs, not spaces
      wildmatch test: use more standard shell style
      wildmatch test: don't try to vertically align our output
      wildmatch test: use a paranoia pattern from nul_match()
      wildmatch test: remove dead fnmatch() test code
      wildmatch test: use test_must_fail, not ! for test-wildmatch
      wildmatch test: perform all tests under all wildmatch() modes
      wildmatch test: create & test files on disk in addition to in-memory
      test-lib: add an EXPENSIVE_ON_WINDOWS prerequisite
      wildmatch test: mark test as EXPENSIVE_ON_WINDOWS
      fetch: don't redundantly NULL something calloc() gave us
      fetch: trivially refactor assignment to ref_nr
      fetch: stop accessing "remote" variable indirectly
      remote: add a macro for "refs/tags/*:refs/tags/*"
      fetch tests: refactor in preparation for testing tag pruning
      fetch tests: re-arrange arguments for future readability
      fetch tests: add a tag to be deleted to the pruning tests
      fetch tests: test --prune and refspec interaction
      fetch tests: double quote a variable for interpolation
      fetch tests: expand case/esac for later change
      fetch tests: fetch <url> <spec> as well as fetch [<remote>]
      git fetch doc: add a new section to explain the ins & outs of pruning
      git remote doc: correct dangerous lies about what prune does
      git-fetch & config doc: link to the new PRUNING section
      fetch tests: add scaffolding for the new fetch.pruneTags
      fetch: add a --prune-tags option and fetch.pruneTags config
      fetch: make the --prune-tags work with <url>
      update-index doc: note a fixed bug in the untracked cache
      update-index doc: note the caveat with "could not open..."
      perl: *.pm files should not have the executable bit
      Git.pm: remove redundant "use strict" from sub-package
      Git.pm: add the "use warnings" pragma
      commit: run git gc --auto just before the post-commit hook
      gitweb: hard-depend on the Digest::MD5 5.8 module
      Git.pm: hard-depend on the File::{Temp,Spec} modules
      git-send-email: unconditionally use Net::{SMTP,Domain}
      perl: update our ancient copy of Error.pm
      perl: update our copy of Mail::Address
      perl: move CPAN loader wrappers to another namespace
      perl: generalize the Git::LoadCPAN facility
      perl: move the perl/Git/FromCPAN tree to perl/FromCPAN
      perl Git::LoadCPAN: emit better errors under NO_PERL_CPAN_FALLBACKS
      git manpage: note git-security@googlegroups.com


Version v2.16.6; changes since v2.16.5:
---------------------------------------

Garima Singh (2):
      test-path-utils: offer to run a protectNTFS/protectHFS benchmark
      tests: add a helper to stress test argument quoting

Jeff King (7):
      t9300: drop some useless uses of cat
      t9300: create marks files for double-import-marks test
      fast-import: tighten parsing of boolean command line options
      fast-import: stop creating leading directories for import-marks
      fast-import: delay creating leading directories for export-marks
      fast-import: disallow "feature export-marks" by default
      fast-import: disallow "feature import-marks" by default

Johannes Schindelin (22):
      clone --recurse-submodules: prevent name squatting on Windows
      mingw: disallow backslash characters in tree objects' file names
      path.c: document the purpose of `is_ntfs_dotgit()`
      is_ntfs_dotgit(): only verify the leading segment
      path: safeguard `.git` against NTFS Alternate Streams Accesses
      is_ntfs_dotgit(): speed it up
      mingw: fix quoting of arguments
      path: also guard `.gitmodules` against NTFS Alternate Data Streams
      protect_ntfs: turn on NTFS protection by default
      Disallow dubiously-nested submodule git directories
      quote-stress-test: accept arguments to test via the command-line
      t6130/t9350: prepare for stringent Win32 path validation
      quote-stress-test: allow skipping some trials
      unpack-trees: let merged_entry() pass through do_add_entry()'s errors
      mingw: refuse to access paths with illegal characters
      quote-stress-test: offer to test quoting arguments for MSYS2 sh
      mingw: refuse to access paths with trailing spaces or periods
      mingw: handle `subst`-ed "DOS drives"
      Git 2.14.6
      Git 2.15.4
      test-drop-caches: use `has_dos_drive_prefix()`
      Git 2.16.6

Jonathan Nieder (1):
      submodule: reject submodule.update = !command in .gitmodules


Version v2.16.5; changes since v2.16.4:
---------------------------------------

Jeff King (3):
      submodule--helper: use "--" to signal end of clone options
      submodule-config: ban submodule urls that start with dash
      submodule-config: ban submodule paths that start with a dash

Junio C Hamano (3):
      Git 2.14.5
      Git 2.15.3
      Git 2.16.5


Version v2.16.4; changes since v2.16.3:
---------------------------------------

Jeff King (8):
      submodule-config: verify submodule names as paths
      is_ntfs_dotgit: use a size_t for traversing string
      is_hfs_dotgit: match other .git files
      skip_prefix: add case-insensitive variant
      verify_path: drop clever fallthrough
      verify_dotfile: mention case-insensitivity in comment
      update-index: stat updated files earlier
      verify_path: disallow symlinks in .gitmodules

Johannes Schindelin (2):
      is_ntfs_dotgit: match other .git files
      is_{hfs,ntfs}_dotgitmodules: add tests

Junio C Hamano (4):
      Git 2.13.7
      Git 2.14.4
      Git 2.15.2
      Git 2.16.4


Version v2.16.3; changes since v2.16.2:
---------------------------------------

Ben Peart (1):
      fsmonitor: update documentation to remove reference to invalid config settings

Brandon Williams (1):
      oidmap: ensure map is initialized

Christian Ludwig (1):
      t9001: use existing helper in send-email test

Eric Sunshine (2):
      git-worktree.txt: fix missing ")" typo
      git-worktree.txt: fix indentation of example and text of 'add' command

Eric Wong (2):
      fsck: fix leak when traversing trees
      git-svn: control destruction order to avoid segfault

Genki Sky (1):
      test-lib.sh: unset XDG_CACHE_HOME

Jeff King (10):
      t5570: use ls-remote instead of clone for interp tests
      t/lib-git-daemon: record daemon log
      daemon: fix off-by-one in logging extended attributes
      daemon: handle NULs in extended attribute string
      t/lib-git-daemon: add network-protocol helpers
      daemon: fix length computation in newline stripping
      t0205: drop redundant test
      git-sh-i18n: check GETTEXT_POISON before USE_GETTEXT_SCHEME
      commit: drop uses of get_cached_commit_buffer()
      revision: drop --show-all option

Jonathan Tan (2):
      http: support cookie redaction when tracing
      http: support omitting data from traces

Juan F. Codagnone (1):
      mailinfo: avoid segfault when can't open files

Junio C Hamano (2):
      worktree: say that "add" takes an arbitrary commit in short-help
      Git 2.16.3

Kaartic Sivaraam (2):
      Doc/gitsubmodules: make some changes to improve readability and syntax
      Doc/git-submodule: improve readability and grammar of a sentence

Mathias Rav (1):
      files_initial_transaction_commit(): only unlock if locked

Motoki Seki (1):
      Documentation/gitsubmodules.txt: avoid non-ASCII apostrophes

Nguyễn Thái Ngọc Duy (12):
      t2203: test status output with porcelain v2 format
      Use DIFF_DETECT_RENAME for detect_rename assignments
      wt-status.c: coding style fix
      wt-status.c: catch unhandled diff status codes
      wt-status.c: rename rename-related fields in wt_status_change_data
      wt-status.c: handle worktree renames
      read-cache.c: change type of "temp" in write_shared_index()
      read-cache.c: move tempfile creation/cleanup out of write_shared_index
      diff.c: flush stdout before printing rename warnings
      read-cache: don't write index twice if we can't write shared index
      completion: fix completing merge strategies on non-C locales
      gitignore.txt: elaborate shell glob syntax

Ramsay Jones (2):
      config.mak.uname: remove SPARSE_FLAGS setting for cygwin
      Makefile: suppress a sparse warning for pack-revindex.c

Randall S. Becker (1):
      hashmap.h: remove unused variable

René Scharfe (2):
      describe: use strbuf_add_unique_abbrev() for adding short hashes
      cocci: simplify check for trivial format strings

Robert P. J. Day (2):
      t/: correct obvious typo "detahced"
      Correct mispellings of ".gitmodule" to ".gitmodules"

SZEDER Gábor (11):
      travis-ci: build Git during the 'script' phase
      t5541: add 'test_i18ngrep's missing filename parameter
      t5812: add 'test_i18ngrep's missing filename parameter
      t6022: don't run 'git merge' upstream of a pipe
      t4001: don't run 'git status' upstream of a pipe
      t5510: consolidate 'grep' and 'test_i18ngrep' patterns
      t5536: let 'test_i18ngrep' read the file without redirection
      t: move 'test_i18ncmp' and 'test_i18ngrep' to 'test-lib-functions.sh'
      t: validate 'test_i18ngrep's parameters
      t: make 'test_i18ngrep' more informative on failure
      t: document 'test_must_fail ok=<signal-name>'

Stefan Beller (5):
      t/lib-submodule-update.sh: clarify test
      t/lib-submodule-update.sh: fix test ignoring ignored files in submodules
      unpack-trees: oneway_merge to update submodules
      submodule: submodule_move_head omits old argument in forced case
      Documentation/git-status: clarify status table for porcelain mode

Stefan Moch (2):
      t7001: add test case for --dry-run
      mv: remove unneeded 'if (!show_only)'

Thomas Gummerer (3):
      read-cache: fix reading the shared index for other repos
      split-index: don't write cache tree with null oid entries
      travis: run tests with GIT_TEST_SPLIT_INDEX

Todd Zullinger (1):
      doc: mention 'git show' defaults to HEAD

Yasushi SHOJI (1):
      bisect: debug: convert struct object to object_id

brian m. carlson (1):
      docs/interpret-trailers: fix agreement error

Ævar Arnfjörð Bjarmason (2):
      commit doc: document that -c, -C, -F and --fixup with -m error
      commit: add support for --fixup <commit> -m"<extra message>"


Version v2.16.2; changes since v2.16.1:
---------------------------------------

Andreas G. Schacker (1):
      doc/read-tree: remove obsolete remark

Daniel Knittl-Frank (1):
      describe: prepend "tags/" when describing tags with embedded name

Jason Merrill (1):
      git-svn: fix svn.pushmergeinfo handling of svn+ssh usernames.

Jeff King (4):
      t5600: fix outdated comment about unborn HEAD
      t5600: modernize style
      clone: factor out dir_exists() helper
      clone: do not clean up directories we didn't create

Junio C Hamano (2):
      merge: teach -Xours/-Xtheirs to symbolic link merge
      Git 2.16.2

Nguyễn Thái Ngọc Duy (1):
      add--interactive: ignore submodule changes except HEAD

René Scharfe (9):
      commit: avoid allocation in clear_commit_marks_many()
      commit: use clear_commit_marks_many() in remove_redundant()
      ref-filter: use clear_commit_marks_many() in do_merge_filter()
      object: add clear_commit_marks_all()
      bisect: avoid using the rev_info flag leak_pending
      bundle: avoid using the rev_info flag leak_pending
      checkout: avoid using the rev_info flag leak_pending
      revision: remove the unused flag leak_pending
      commit: remove unused function clear_commit_marks_for_object_array()

Thomas Gummerer (1):
      stash: don't delete untracked files that match pathspec

Ævar Arnfjörð Bjarmason (2):
      perf: amend the grep tests to test grep.threads
      cat-file doc: document that -e will return some output


Version v2.16.1; changes since v2.16.0:
---------------------------------------

Eric Sunshine (1):
      t5601-clone: test case-conflicting files on case-insensitive filesystem

Junio C Hamano (1):
      Git 2.16.1

brian m. carlson (1):
      repository: pre-initialize hash algo pointer


Version v2.16.0; changes since v2.16.0-rc2:
-------------------------------------------

Alexander Shopov (2):
      l10n: bg.po: Updated Bulgarian translation (3284t)
      l10n: bg.po: Updated Bulgarian translation (3288t)

Changwoo Ryu (2):
      l10n: ko.po: Update Korean translation
      l10n: TEAMS: Add ko team members

Christopher Díaz Riveros (3):
      l10n: Update Spanish translation
      l10n: es.po: Update Spanish Translation v2.16.0
      l10n: es.po: Spanish translation 2.16.0 round 2

Dimitriy Ryazantcev (1):
      l10n: ru.po: update Russian translation

Fangyi Zhou (2):
      l10n: zh_CN Fix typo
      l10n: zh_CN translate parameter name

Jean-Noël Avila (2):
      l10n: fr.po v2.16.0 round 1
      l10n: fr.po 2.16 round 2

Jiang Xin (4):
      l10n: git.pot: v2.16.0 round 1 (64 new, 25 removed)
      l10n: git.pot: v2.16.0 round 2 (8 new, 4 removed)
      l10n: zh_CN: for git v2.16.0 l10n round 2
      l10n: TEAMS: add zh_CN team members

Jordi Mas (1):
      l10n: Fixes to Catalan translation

Junio C Hamano (1):
      Git 2.16

Louis Bettens (1):
      l10n: fr.po: "worktree list" mistranslated as prune

Peter Krefting (2):
      l10n: sv.po: Update Swedish translation (3284t0f0u)
      l10n: sv.po: Update Swedish translation (3288t0f0u)

Ralf Thielow (2):
      l10n: de.po: improve messages when a branch starts to track another ref
      l10n: de.po: translate 72 new messages

Robert Abel (1):
      l10n: fixes to German translation

SZEDER Gábor (1):
      RelNotes: minor typofix

Trần Ngọc Quân (1):
      l10n: vi.po(3288t): Updated Vietnamese translation for v2.16.0 round 2


Version v2.16.0-rc2; changes since v2.16.0-rc1:
-----------------------------------------------

Beat Bolli (1):
      t3900: add some more quotes

Jeff King (1):
      docs/diff-options: clarify scope of diff-filter types

Johannes Schindelin (8):
      Allow the test suite to pass in a directory whose name contains spaces
      t0302 & t3900: add forgotten quotes
      rebase -p: fix quoting when calling `git merge`
      git gui: fix staging a second line to a 1-line file
      git-gui: avoid exception upon Ctrl+T in an empty list
      git-gui: fix exception when trying to stage with empty file list
      git-gui: allow Ctrl+T to toggle multiple paths
      mingw: handle GITPERLLIB in t0021 in a Windows-compatible way

Junio C Hamano (3):
      merge-recursive: do not look at the index during recursive merge
      RelNotes update before -rc2
      Git 2.16-rc2

Ralf Thielow (1):
      Documentation/git-worktree.txt: add missing `

SZEDER Gábor (9):
      travis-ci: fine tune the use of 'set -x' in 'ci/*' scripts
      travis-ci: don't install default addon packages for the 32 bit Linux build
      travis-ci: save prove state for the 32 bit Linux build
      travis-ci: only print test failures if there are test results available
      travis-ci: print the "tip of branch is exactly at tag" message in color
      travis-ci: create the cache directory early in the build process
      travis-ci: record and skip successfully built trees
      travis-ci: don't store P4 and Git LFS in the working tree
      travis-ci: check that all build artifacts are .gitignore-d

Thomas Gummerer (1):
      oidset: don't return value from oidset_init

Todd Zullinger (2):
      doc/SubmittingPatches: improve text formatting
      http: fix v1 protocol tests with apache httpd < 2.4

Ævar Arnfjörð Bjarmason (2):
      Makefile: NO_OPENSSL=1 should no longer imply BLK_SHA1=1
      bisect: fix a regression causing a segfault


Version v2.16.0-rc1; changes since v2.16.0-rc0:
-----------------------------------------------

Dave Borowitz (1):
      config.txt: document behavior of backslashes in subsections

Elijah Newren (3):
      t6044: recursive can silently incorporate dirty changes in a merge
      move index_has_changes() from builtin/am.c to merge.c for reuse
      merge-recursive: avoid incorporating uncommitted changes in a merge

Jeff King (4):
      test-lib: silence "-x" cleanup under bash
      t5615: avoid re-using descriptor 4
      test-lib: make "-x" work with "--verbose-log"
      t/Makefile: introduce TEST_SHELL_PATH

Johannes Schindelin (5):
      rebase: do not continue when the todo list generation failed
      sequencer: strip bogus LF at end of error messages
      sequencer: remove superfluous conditional
      sequencer: report when noop has an argument
      sequencer: do not invent whitespace when transforming OIDs

Julien Dusser (1):
      strbuf: fix urlencode format string on signed char

Junio C Hamano (1):
      Git 2.16-rc1

Luke Diamand (1):
      git-p4: update multiple shelved change lists

René Scharfe (2):
      http: use internal argv_array of struct child_process
      send-pack: use internal argv_array of struct child_process

Stefan Beller (1):
      t/helper/test-lazy-name-hash: fix compilation

Torsten Bögershausen (1):
      check-non-portable-shell.pl: `wc -l` may have leading WS


Version v2.16.0-rc0; changes since v2.15.4:
-------------------------------------------

Albert Astals Cid (1):
      completion: add --autostash and --no-autostash to pull

Alex Vandiver (7):
      fsmonitor: read entirety of watchman output
      fsmonitor: set the PWD to the top of the working tree
      fsmonitor: don't bother pretty-printing JSON from watchman
      fsmonitor: document GIT_TRACE_FSMONITOR
      fsmonitor: delay updating state until after split index is merged
      fsmonitor: read from getcwd(), not the PWD environment variable
      fsmonitor: store fsmonitor bitmap before splitting index

Anders Kaseorg (1):
      git-gui: sort entries in optimized tclIndex

Andrey Okoshkin (1):
      merge-recursive: check GIT_MERGE_VERBOSITY only once

Ann T Ropea (7):
      Documentation: revisions: fix typo: "three dot" ---> "three-dot" (in line with "two-dot").
      Documentation: user-manual: limit usage of ellipsis
      print_sha1_ellipsis: introduce helper
      checkout: describe_detached_head: remove ellipsis after committish
      t4013: prepare for upcoming "diff --raw --abbrev" output format change
      diff: diff_aligned_abbrev: remove ellipsis after abbreviated SHA-1 value
      t4013: test new output from diff --abbrev --raw

Antoine Beaupré (6):
      remote-mediawiki: limit filenames to legal
      remote-mediawiki: show known namespace choices on failure
      remote-mediawiki: skip virtual namespaces
      remote-mediawiki: support fetching from (Main) namespace
      remote-mediawiki: process namespaces in order
      remote-mediawiki: show progress while fetching namespaces

Beat Bolli (1):
      contrib/git-jump: allow to configure the grep command

Ben Peart (16):
      bswap: add 64 bit endianness helper get_be64
      preload-index: add override to enable testing preload-index
      update-index: add a new --force-write-index option
      fsmonitor: teach git to optionally utilize a file system monitor to speed up detecting new or changed files.
      fsmonitor: add documentation for the fsmonitor extension.
      ls-files: Add support in ls-files to display the fsmonitor valid bit
      update-index: add fsmonitor support to update-index
      fsmonitor: add a test tool to dump the index extension
      split-index: disable the fsmonitor extension when running the split index test
      fsmonitor: add test cases for fsmonitor extension
      fsmonitor: add a sample integration script for Watchman
      fsmonitor: add a performance test
      fsmonitor: MINGW support for watchman integration
      fsmonitor: preserve utf8 filenames in fsmonitor-watchman log
      read_index_from(): speed index loading by skipping verification of the entry order
      fsmonitor: simplify determining the git worktree under Windows

Brandon Williams (23):
      pkt-line: add packet_write function
      protocol: introduce protocol extension mechanisms
      daemon: recognize hidden request arguments
      upload-pack, receive-pack: introduce protocol version 1
      connect: teach client to recognize v1 server response
      connect: tell server that the client understands v1
      http: tell server that the client understands v1
      i5700: add interop test for protocol transition
      ssh: introduce a 'simple' ssh variant
      add, reset: use DIFF_OPT_SET macro to set a diff flag
      diff: convert flags to be stored in bitfields
      diff: add flag to indicate textconv was set via cmdline
      diff: remove touched flags
      diff: remove DIFF_OPT_TST macro
      diff: remove DIFF_OPT_SET macro
      diff: remove DIFF_OPT_CLR macro
      diff: make struct diff_flags members lowercase
      pathspec: only match across submodule boundaries when requested
      diff-tree: read the index so attribute checks work in bare repositories
      submodule: convert stage_updated_gitmodules to take a struct index_state
      submodule: used correct index in is_staging_gitmodules_ok
      submodule: convert get_next_submodule to not rely on the_index
      path: document path functions

Christian Couder (24):
      perf/run: add '--config' option to the 'run' script
      perf/run: add get_var_from_env_or_config()
      perf/run: add GIT_PERF_DIRS_OR_REVS
      perf/run: add calls to get_var_from_env_or_config()
      perf/run: add get_subsections()
      perf/run: update get_var_from_env_or_config() for subsections
      perf/run: add run_subsection()
      perf/run: show name of rev being built
      perf: store subsection results in "test-results/$GIT_PERF_SUBSECTION/"
      t0021/rot13-filter: fix list comparison
      t0021/rot13-filter: refactor packet reading functions
      t0021/rot13-filter: improve 'if .. elsif .. else' style
      t0021/rot13-filter: improve error message
      t0021/rot13-filter: add packet_initialize()
      t0021/rot13-filter: refactor checking final lf
      t0021/rot13-filter: add capability functions
      Git/Packet.pm: extract parts of t0021/rot13-filter.pl for reuse
      Git/Packet: clarify that packet_required_key_val_read allows EOF
      Git/Packet.pm: use 'if' instead of 'unless'
      list-objects-filter-options: fix 'keword' typo in comment
      git-compat-util: introduce skip_to_optional_arg()
      index-pack: use skip_to_optional_arg()
      diff: use skip_to_optional_arg()
      diff: use skip_to_optional_arg_default()

Damien Marié (1):
      run-command: add hint when a hook is ignored

Daniel Bensoussan (1):
      doc: reword gitworkflows.txt for neutrality

Derrick Stolee (5):
      p4211-line-log.sh: add log --online --raw --parents perf test
      sha1_name: unroll len loop in find_unique_abbrev_r()
      sha1_name: parse less while finding common prefix
      sha1_name: minimize OID comparisons during disambiguation
      sha1_file: use strbuf_add() instead of strbuf_addf()

Elijah Newren (6):
      sequencer: warn when internal merge may be suboptimal due to renameLimit
      progress: fix progress meters when dealing with lots of work
      diff: remove silent clamp of renameLimit
      sequencer: show rename progress during cherry picks
      merge-recursive: ignore_case shouldn't reject intentional removals
      strbuf: remove unused stripspace function alias

Emily Xie (1):
      pathspec: die on empty strings as pathspec

Eric Sunshine (3):
      worktree: invoke post-checkout hook (unless --no-checkout)
      clone: support 'clone --shared' from a worktree
      version --build-options: also report host CPU

Eric Wong (1):
      git-svn: convert CRLF to LF in commit message to SVN

Florian Klink (1):
      git-send-email: honor $PATH for sendmail binary

Gennady Kupava (2):
      trace: remove trace key normalization
      trace: improve performance while category is disabled

Guillaume Castagnino (1):
      gitweb: use filetest to allow ACLs

Haaris Mehmood (1):
      config: add --expiry-date

Hans Jerry Illikainen (2):
      merge: add config option for verifySignatures
      t: add tests for pull --verify-signatures

Heiko Voigt (3):
      fetch: add test to make sure we stay backwards compatible
      implement fetching of moved submodules
      submodule: simplify decision tree whether to or not to fetch

Ingo Ruhnke (1):
      remote-mediawiki: allow fetching namespaces with spaces

J Wyman (1):
      for-each-ref: let upstream/push report the remote ref name

Jacob Keller (1):
      diff: add tests for --relative without optional prefix value

Jameson Miller (4):
      status: add option to show ignored files differently
      status: report matching ignored and normal untracked
      status: document options to show matching ignored files
      status: test ignored modes

Jean-Noël Avila (1):
      submodule--helper.c: i18n: add a missing space in message

Jeff Hostetler (9):
      dir: allow exclusions from blob in addition to file
      oidmap: add oidmap iterator methods
      oidset: add iterator methods to oidset
      list-objects: filter objects in traverse_commit_list
      rev-list: add list-objects filtering support
      pack-objects: add list-objects filtering
      list-objects-filter-options: support --no-filter
      rev-list: support --no-filter argument
      partial-clone: design doc

Jeff King (11):
      revision: quit pruning diff more quickly when possible
      git-jump: give contact instructions in the README
      p5550: factor out nonsense-pack creation
      t/perf/lib-pack: use fast-import checkpoint to create packs
      p5551: add a script to test fetch pack-dir rescans
      everything_local: use "quick" object existence check
      sha1_file: fast-path null sha1 as a missing object
      git-status.txt: mention --no-optional-locks
      progress: set default delay threshold to 100%, not 0%
      docs/pretty-formats: mention commas in %(trailers) syntax
      cvsimport: apply shell-quoting regex globally

Johannes Schindelin (4):
      for-each-ref: let upstream/push optionally report the remote name
      for-each-ref: test :remotename and :remoteref
      hashmap: adjust documentation to reflect reality
      version --build-options: report commit, too, if possible

Jonathan Nieder (10):
      ssh test: make copy_ssh_wrapper_as clean up after itself
      connect: move no_fork fallback to git_tcp_connect
      connect: split git:// setup into a separate function
      connect: split ssh command line options into separate function
      connect: split ssh option computation to its own function
      ssh: 'auto' variant to select between 'ssh' and 'simple'
      ssh: 'simple' variant does not support -4/-6
      ssh: 'simple' variant does not support --port
      connect: correct style of C-style comment
      generate-cmdlist: avoid non-deterministic output

Jonathan Tan (10):
      connect: in ref advertisement, shallows are last
      Documentation: document Extra Parameters
      Tests: clean up and document submodule helpers
      Tests: clean up submodule recursive helpers
      diff: support anchoring line(s)
      diffcore-rename: make diff-tree -l0 mean -l<large>
      decorate: clean up and document API
      transport: remove unused "push" in vtable
      clone, fetch: remove redundant transport check
      transport: make transport vtable more private

Junio C Hamano (26):
      t0027: do not use an empty string as a pathspec element
      describe: do not use cmd_*() as a subroutine
      merge-ours: do not use cmd_*() as a subroutine
      branch: streamline "attr_only" handling in validate_new_branchname()
      branch: split validate_new_branchname() into two
      xdiff: reassign xpparm_t.flags bits
      The first batch for 2.16
      RelNotes: the second batch post 2.15 comes
      diff: --ignore-cr-at-eol
      RelNotes: the third batch for 2.16
      branch: correctly reject refs/heads/{-dash,HEAD}
      RelNotes: the fourth batch for 2.16
      RelNotes: the fifth batch for 2.16
      hooks doc: clarify when receive-pack invokes its hooks
      RelNotes: the sixth batch for 2.16
      RelNotes: the seventh batch
      t2020: test variations that matter
      RelNotes: the eighth batch
      diff: use skip_to_optional_arg_default() in parsing --relative
      t4045: reindent to make helpers readable
      RelNotes: the ninth batch
      RelNotes: the tenth batch
      t5573, t7612: clean up after unexpected success of 'pull' and 'merge'
      sequencer.c: drop 'const' from function return type
      RelNotes: the eleventh batch
      Git 2.16-rc0

Kaartic Sivaraam (11):
      builtin/branch: remove redundant check for HEAD
      git-rebase: clean up dashed-usages in messages
      Doc/checkout: checking out using @{-N} can lead to detached state
      branch: improve documentation and naming of create_branch() parameters
      branch: group related arguments of create_branch()
      branch: update warning message shown when copying a misnamed branch
      builtin/branch: strip refs/heads/ using skip_prefix
      Doc/check-ref-format: clarify information about @{-N} syntax
      rebase: consistently use branch_name variable
      rebase: distinguish user input by quoting it
      rebase: rebasing can also be done when HEAD is detached

Kevin (1):
      remote-mediawiki: add namespace support

Lars Schneider (3):
      refactor "dumb" terminal determination
      progress: drop delay-threshold code
      launch_editor(): indicate that Git waits for user input

Liam Beguin (9):
      Documentation: move rebase.* configs to new file
      Documentation: use preferred name for the 'todo list' script
      rebase -i: set commit to null in exec commands
      rebase -i: refactor transform_todo_ids
      rebase -i: replace reference to sha1 with oid
      rebase -i: update functions to use a flags parameter
      rebase -i -x: add exec commands via the rebase--helper
      rebase -i: learn to abbreviate command names
      t3404: add test case for abbreviated commands

Marius Paliga (1):
      builtin/push.c: add push.pushOption config

Martin Ågren (15):
      sha1_file: do not leak `lock_file`
      treewide: prefer lockfiles on the stack
      lockfile: fix documentation on `close_lock_file_gently()`
      tempfile: fix documentation on `delete_tempfile()`
      checkout-index: simplify locking logic
      cache-tree: simplify locking logic
      apply: move lockfile into `apply_state`
      apply: remove `newfd` from `struct apply_state`
      cache.h: document `write_locked_index()`
      read-cache: drop explicit `CLOSE_LOCK`-flag
      read-cache: leave lock in right state in `write_locked_index()`
      read_cache: roll back lock in `update_index_if_able()`
      t7006: add tests for how git branch paginates
      branch: respect `pager.branch` in list-mode only
      branch: change default of `pager.branch` to "on"

Michael Haggerty (10):
      t0000: check whether the shell supports the "local" keyword
      files_transaction_prepare(): don't leak flags to packed transaction
      prune_ref(): call `ref_transaction_add_update()` directly
      ref_transaction_update(): die on disallowed flags
      ref_transaction_add_update(): remove a check
      refs: tidy up and adjust visibility of the `ref_update` flags
      refs: rename constant `REF_NODEREF` to `REF_NO_DEREF`
      refs: rename constant `REF_ISPRUNING` to `REF_IS_PRUNING`
      write_packed_entry(): take `object_id` arguments
      refs: update some more docs to use "oid" rather than "sha1"

Nicolas Morey-Chaisemartin (1):
      imap-send: URI encode server folder

Olga Telezhnaya (2):
      format: create pretty.h file
      format: create docs for pretty.h

Phil Hord (2):
      doc: prefer 'stash push' over 'stash save'
      stash: learn to parse -m/--message like commit does

Pranit Bauva (6):
      bisect--helper: use OPT_CMDMODE instead of OPT_BOOL
      bisect--helper: rewrite `check_term_format` shell function in C
      bisect--helper: `write_terms` shell function in C
      bisect--helper: `bisect_clean_state` shell function in C
      t6030: explicitly test for bisection cleanup
      bisect--helper: `is_expected_rev` & `check_expected_revs` shell function in C

Prathamesh Chavan (3):
      submodule--helper: introduce get_submodule_displaypath()
      submodule--helper: introduce for_each_listed_submodule()
      submodule: port submodule subcommand 'status' from shell to C

Rafael Ascensão (1):
      log: add option to choose which refs to decorate

Ramsay Jones (1):
      repository: fix a sparse 'using integer as NULL pointer' warning

Randall S. Becker (1):
      install-doc-quick: allow specifying what ref to install

Rasmus Villemoes (2):
      Documentation/config: add sendemail.tocmd to list preceding "See git-send-email(1)"
      completion: add git config sendemail.tocmd

René Scharfe (14):
      notes: move hex_to_bytes() to hex.c and export it
      http-push: use hex_to_bytes()
      sha1_file: use hex_to_bytes()
      t4051: add test for comments preceding function lines
      xdiff: factor out is_func_rec()
      xdiff: show non-empty lines before functions with -W
      t7810: improve check of -W with user-defined function lines
      grep: update boundary variable for pre-context
      grep: show non-empty lines before functions with -W
      am: release strbuf after use in split_mail_mbox()
      fmt-merge-msg: avoid leaking strbuf in shortlog()
      strbuf: release memory on read error in strbuf_read_once()
      transport-helper: plug strbuf and string_list leaks
      p7519: improve check for prerequisite WATCHMAN

Robert Abel (2):
      git-prompt: make __git_eread intended use explicit
      git-prompt: fix reading files with windows line endings

Robert P. J. Day (4):
      bisect: mention "view" as an alternative to "visualize"
      doc: add missing "-n" (dry-run) option to reflog man page
      prune: add "--progress" to man page and usage msg
      notes: correct 'git notes prune' options to '[-n] [-v]'

SZEDER Gábor (5):
      setup.c: fix comment about order of .git directory discovery
      travis-ci: introduce a $jobname variable for 'ci/*' scripts
      travis-ci: move setting environment variables to 'ci/lib-travisci.sh'
      travis-ci: set GIT_TEST_HTTPD in 'ci/lib-travisci.sh'
      travis-ci: use 'set -x' in 'ci/*' scripts for extra tracing output

Simon Ruderich (1):
      config: document default value of http.sslVerify

Stefan Beller (11):
      recursive submodules: detach HEAD from new state
      Documentation/checkout: clarify submodule HEADs to be detached
      t6120: fix typo in test name
      list-objects.c: factor out traverse_trees_and_blobs
      revision.h: introduce blob/tree walking in order of the commits
      builtin/describe.c: rename `oid` to avoid variable shadowing
      builtin/describe.c: print debug statements earlier
      builtin/describe.c: factor out describe_commit
      Documentation/git-clone: improve description for submodule recursing
      t/helper: ignore everything but sources
      builtin/describe.c: describe a blob

Steffen Prohaska (1):
      doc: Mention info/attributes in gitrepository-layout

Stephan Beyer (1):
      bisect run: die if no command is given

Thomas Gummerer (11):
      stash: replace "git stash save" with "git stash push" in the documentation
      stash: mark "git stash save" deprecated in the man page
      stash: remove now superfluos help for "stash push"
      checkout: factor out functions to new lib file
      worktree: add can be created from any commit-ish
      worktree: add --[no-]track option to the add subcommand
      worktree: make add <path> <branch> dwim
      t/README: remove mention of adding copyright notices
      t/README: document test_cmp_rev
      worktree: add --guess-remote flag to add subcommand
      add worktree.guessRemote config option

Todd Zullinger (4):
      branch doc: remove --set-upstream from synopsis
      t/lib-git-svn: cleanup inconsistent tab/space usage
      t/lib-git-svn.sh: improve svnserve tests with parallel make test
      RelNotes: minor typo fixes in 2.16.0 draft

Torsten Bögershausen (3):
      add: introduce "--renormalize"
      convert: tighten the safe autocrlf handling
      t0027: Adapt the new MIX tests to Windows

W. Trevor King (1):
      pull: pass --signoff/--no-signoff to "git merge"

Wei Shuyu (1):
      http: support CURLPROXY_HTTPS

brian m. carlson (29):
      walker: convert to struct object_id
      refs/files-backend: convert struct ref_to_prune to object_id
      refs: convert delete_ref and refs_delete_ref to struct object_id
      refs: convert update_ref and refs_update_ref to use struct object_id
      refs: prevent accidental NULL dereference in write_pseudoref
      refs: update ref transactions to use struct object_id
      Convert check_connected to use struct object_id
      refs: convert resolve_refdup and refs_resolve_refdup to struct object_id
      refs: convert read_ref and read_ref_full to object_id
      refs: convert dwim_ref and expand_ref to struct object_id
      builtin/reflog: convert remaining unsigned char uses to object_id
      refs: convert dwim_log to struct object_id
      pack-bitmap: convert traverse_bitmap_commit_list to object_id
      builtin/pack-objects: convert to struct object_id
      refs: convert peel_ref to struct object_id
      refs: convert read_ref_at to struct object_id
      refs: convert reflog_expire parameter to struct object_id
      sha1_file: convert index_path and index_fd to struct object_id
      Convert remaining callers of resolve_gitlink_ref to object_id
      refs: convert resolve_gitlink_ref to struct object_id
      worktree: convert struct worktree to object_id
      refs: convert resolve_ref_unsafe to struct object_id
      refs: convert peel_object to struct object_id
      refs: convert read_raw_ref backends to struct object_id
      refs/files-backend: convert static functions to object_id
      setup: expose enumerated repo info
      Add structure representing hash algorithm
      Integrate hash algorithm support with repo setup
      Switch empty tree and blob lookups to use hash abstraction

Ævar Arnfjörð Bjarmason (2):
      test-lib: add LIBPCRE1 & LIBPCRE2 prerequisites
      grep: fix segfault under -P + PCRE2 <=10.30 + (*NO_JIT)

Łukasz Stelmach (1):
      git-gui: prevent double UTF-8 conversion


Version v2.15.4; changes since v2.15.3:
---------------------------------------

Garima Singh (2):
      test-path-utils: offer to run a protectNTFS/protectHFS benchmark
      tests: add a helper to stress test argument quoting

Jeff King (7):
      t9300: drop some useless uses of cat
      t9300: create marks files for double-import-marks test
      fast-import: tighten parsing of boolean command line options
      fast-import: stop creating leading directories for import-marks
      fast-import: delay creating leading directories for export-marks
      fast-import: disallow "feature export-marks" by default
      fast-import: disallow "feature import-marks" by default

Johannes Schindelin (20):
      clone --recurse-submodules: prevent name squatting on Windows
      mingw: disallow backslash characters in tree objects' file names
      path.c: document the purpose of `is_ntfs_dotgit()`
      is_ntfs_dotgit(): only verify the leading segment
      path: safeguard `.git` against NTFS Alternate Streams Accesses
      is_ntfs_dotgit(): speed it up
      mingw: fix quoting of arguments
      path: also guard `.gitmodules` against NTFS Alternate Data Streams
      protect_ntfs: turn on NTFS protection by default
      Disallow dubiously-nested submodule git directories
      quote-stress-test: accept arguments to test via the command-line
      t6130/t9350: prepare for stringent Win32 path validation
      quote-stress-test: allow skipping some trials
      unpack-trees: let merged_entry() pass through do_add_entry()'s errors
      mingw: refuse to access paths with illegal characters
      quote-stress-test: offer to test quoting arguments for MSYS2 sh
      mingw: refuse to access paths with trailing spaces or periods
      mingw: handle `subst`-ed "DOS drives"
      Git 2.14.6
      Git 2.15.4

Jonathan Nieder (1):
      submodule: reject submodule.update = !command in .gitmodules


Version v2.15.3; changes since v2.15.2:
---------------------------------------

Jeff King (3):
      submodule--helper: use "--" to signal end of clone options
      submodule-config: ban submodule urls that start with dash
      submodule-config: ban submodule paths that start with a dash

Junio C Hamano (2):
      Git 2.14.5
      Git 2.15.3


Version v2.15.2; changes since v2.15.1:
---------------------------------------

Elijah Newren (1):
      merge-recursive: handle addition of submodule on our side of history

Eric Wong (1):
      rebase: use mboxrd format to avoid split errors

Jeff King (8):
      submodule-config: verify submodule names as paths
      is_ntfs_dotgit: use a size_t for traversing string
      is_hfs_dotgit: match other .git files
      skip_prefix: add case-insensitive variant
      verify_path: drop clever fallthrough
      verify_dotfile: mention case-insensitivity in comment
      update-index: stat updated files earlier
      verify_path: disallow symlinks in .gitmodules

Johannes Schindelin (2):
      is_ntfs_dotgit: match other .git files
      is_{hfs,ntfs}_dotgitmodules: add tests

Junio C Hamano (5):
      merge-base --fork-point doc: clarify the example and failure modes
      Prepare for 2.15.2
      Git 2.13.7
      Git 2.14.4
      Git 2.15.2

Michael Haggerty (2):
      t1409: check that `packed-refs` is not rewritten unnecessarily
      files-backend: don't rewrite the `packed-refs` file unnecessarily

Phillip Wood (2):
      config: avoid "write_in_full(fd, buf, len) != len" pattern
      sequencer: reschedule pick if index can't be locked

René Scharfe (1):
      apply: update line lengths for --inaccurate-eof

Stefan Beller (1):
      t/3512: demonstrate unrelated submodule/file conflict as cherry-pick failure

Todd Zullinger (4):
      t/lib-gpg: fix gpgconf stderr redirect to /dev/null
      rebase: fix stderr redirect in apply_autostash()
      notes: send "Automatic notes merge failed" messages to stderr
      completion: add '--copy' option to 'git branch'

Wei Shuyu (1):
      pull: pass -4/-6 option to 'git fetch'

brian m. carlson (2):
      Documentation: enable compat-mode for Asciidoctor
      Documentation: convert SubmittingPatches to AsciiDoc


Version v2.15.1; changes since v2.15.0:
---------------------------------------

Adam Dinwoodie (3):
      t5580: add Cygwin support
      rebase -i: fix comment typo
      doc/SubmittingPatches: correct subject guidance

Andrey Okoshkin (2):
      commit: check result of resolve_ref_unsafe
      diff: fix lstat() error handling in diff_populate_filespec()

Brandon Williams (1):
      wt-status: actually ignore submodules when requested

Carlos Martín Nieto (1):
      diff: --indent-heuristic is no longer experimental

Charles Bailey (2):
      t4201: make use of abbreviation in the test more robust
      grep: fix NO_LIBPCRE1_JIT to fully disable JIT

Dennis Kaarsemaker (1):
      credential-libsecret: unlock locked secrets

Jacob Keller (1):
      sequencer: pass absolute GIT_DIR to exec commands

Jakub Bereżański (2):
      t0302: check helper can handle empty credentials
      wincred: handle empty username/password correctly

Jean Carlo Machado (1):
      fix typos in 2.15.0 release notes

Jeff King (11):
      t4015: refactor --color-moved whitespace test
      t4015: check "negative" case for "-w --color-moved"
      t4015: test the output of "diff --color-moved -b"
      diff: fix whitespace-skipping with --color-moved
      diff: handle NULs in get_string_hash()
      test-ref-store: avoid passing NULL to printf
      remote: handle broken symrefs
      log: handle broken HEAD in decoration check
      worktree: handle broken symrefs in find_shared_symref()
      setup: avoid double slashes when looking for HEAD
      link_alt_odb_entries: make empty input a noop

Johannes Schindelin (5):
      status: do not get confused by submodules in excluded directories
      mingw: include the full version information in the resources
      mingw: add experimental feature to redirect standard handles
      mingw: optionally redirect stderr/stdout via the same handle
      mingw: document the standard handle redirection

Junio C Hamano (9):
      t5601: rm the target file of cp that could still be executing
      check-ref-format --branch: do not expand @{...} outside repository
      check-ref-format --branch: strip refs/heads/ using skip_prefix
      check-ref-format doc: --branch validates and expands <branch>
      column: do not include pager.c
      Start preparation for 2.15.1
      Almost ready for 2.15.1
      A bit more fixes for 2.15.1
      Git 2.15.1

Kaartic Sivaraam (1):
      mailmap: use Kaartic Sivaraam's new address

Kevin Daudt (1):
      column: show auto columns when pager is active

Martin Ågren (7):
      grep: take the read-lock when adding a submodule
      bisect: change calling-convention of `find_bisection()`
      bisect: fix memory leak in `find_bisection()`
      bisect: fix off-by-one error in `best_bisection_sorted()`
      bisect: fix memory leak when returning best element
      builtin/merge-base: free commit lists
      reduce_heads: fix memory leaks

René Scharfe (6):
      sequencer: factor out rewrite_file()
      sequencer: use O_TRUNC to truncate files
      imap-send: handle NULL return of next_arg()
      imap-send: handle missing response codes gracefully
      apply: avoid out-of-bounds access in fuzzy_matchlines()
      config: flip return value of write_section()

SZEDER Gábor (2):
      travis-ci: fix running P4 and Git LFS tests in Linux build jobs
      travis-ci: don't build Git for the static analysis job

Simon Ruderich (2):
      sequencer.c: check return value of close() in rewrite_file()
      wrapper.c: consistently quote filenames in error messages

Stefan Beller (3):
      xdiff-interface: export comparing and hashing strings
      diff.c: get rid of duplicate implementation
      config: document blame configuration

Thomas Braun (1):
      completion: add remaining flags to checkout

Todd Zullinger (3):
      Replace Free Software Foundation address in license notices
      Replace Free Software Foundation address in license notices
      RelNotes: minor typo fixes in 2.15.1 draft


Version v2.15.0; changes since v2.15.0-rc2:
-------------------------------------------

Alexander Shopov (1):
      l10n: bg.po: Updated Bulgarian translation (3245t)

Andre Hinrichs (1):
      l10n: de.po: fix typos

Andrey Okoshkin (1):
      path.c: use xmalloc() in add_to_trie()

Changwoo Ryu (1):
      l10n: ko.po: Update Korean translation

Christopher Díaz (3):
      l10n: es.po: initial Spanish version git 2.14.0
      l10n: es.po: spanish added to TEAMS
      l10n: es.po: Update translation v2.15.0 round 1

Christopher Díaz Riveros (1):
      l10n: es.po: v2.15.0 round 2

Dimitriy Ryazantcev (2):
      l10n: ru.po: update Russian translation
      l10n: ru.po: update Russian translation

Jean-Noel Avila (1):
      l10n: fr.po fix some mistakes

Jean-Noël Avila (1):
      l10n: fr.po: v2.15.0 round 2

Jiang Xin (3):
      l10n: git.pot: v2.15.0 round 1 (68 new, 36 removed)
      l10n: git.pot: v2.15.0 round 2 (2 new, 2 removed)
      l10n: zh_CN: for git v2.15.0 l10n round 2

Jordi Mas (2):
      l10n: Update Catalan translation
      l10n: Update Catalan translation

Junio C Hamano (3):
      Git 2.14.3
      Hopefully final batch before 2.15
      Git 2.15

Michael Haggerty (2):
      t1404: add a bunch of tests of D/F conflicts
      files_transaction_prepare(): fix handling of ref lock failure

Nathan Payre (1):
      config doc: clarify "git config --path" example

Nicolas Cornu (1):
      l10n: fr.po change translation of "First, rewinding"

Peter Krefting (2):
      l10n: sv.po: Update Swedish translation (3245t0f0u)
      l10n: sv.po: Update Swedish translation (3245t0f0u)

Ralf Thielow (1):
      l10n: de.po: translate 70 new messages

Ray Chen (1):
      l10n: zh_CN: review for git v2.15.0 l10n round 2

SZEDER Gábor (1):
      rev-list-options.txt: use correct directional reference

Sebastian Schuberth (1):
      docs: fix formatting of rev-parse's --show-superproject-working-tree

Trần Ngọc Quân (2):
      l10n: vi.po(3245t): Updated Vietnamese translation for v2.15.0
      l10n: vi.po(3245t): Updated Vietnamese translation for v2.15.0 round 2


Version v2.15.0-rc2; changes since v2.15.0-rc1:
-----------------------------------------------

David Glasser (1):
      doc: list filter-branch subdirectory-filter first

Jeff King (5):
      diff: fix infinite loop with --color-moved --ignore-space-change
      Revert "color: make "always" the same as "auto" in config"
      Revert "t6006: drop "always" color config tests"
      Revert "color: check color.ui in git_default_config()"
      tag: respect color.ui config

Junio C Hamano (7):
      checkout doc: clarify command line args for "checkout paths" mode
      Crawling towards -rc2
      fetch doc: src side of refspec could be full SHA-1
      Preparing for rc2 continues
      branch doc: sprinkle a few commas for readability
      Prepare for 2.14.3
      Git 2.15-rc2

Ralf Thielow (2):
      sequencer.c: fix and unify error messages in rearrange_squash()
      sequencer.c: unify an error message

W. Trevor King (1):
      Documentation/merge-options.txt: describe -S/--gpg-sign for 'pull'


Version v2.15.0-rc1; changes since v2.15.0-rc0:
-----------------------------------------------

Derrick Stolee (1):
      cleanup: fix possible overflow errors in binary search

Jean-Noël Avila (1):
      i18n: add a missing space in message

Jeff King (19):
      test-terminal: set TERM=vt100
      t4015: prefer --color to -c color.diff=always
      t3701: use test-terminal to collect color output
      t7508: use test_terminal for color output
      t7502: use diff.noprefix for --verbose test
      t6006: drop "always" color config tests
      t3203: drop "always" color test
      t3205: use --color instead of color.branch=always
      provide --color option for all ref-filter users
      color: make "always" the same as "auto" in config
      t4015: use --color with --color-moved
      t7301: use test_terminal to check color
      path.c: fix uninitialized memory access
      sha1_loose_object_info: handle errors from unpack_sha1_rest
      t3308: create a real ref directory/file conflict
      refs_resolve_ref_unsafe: handle d/f conflicts for writes
      write_entry: fix leak when retrying delayed filter
      write_entry: avoid reading blobs in CE_RETRY case
      write_entry: untangle symlink and regular-file cases

Johannes Sixt (1):
      sub-process: use child_process.args instead of child_process.argv

Jonathan Nieder (2):
      technical doc: add a design doc for hash function transition
      strbuf doc: reuse after strbuf_release is fine

Jonathan Tan (1):
      oidmap: map with OID as key

Junio C Hamano (2):
      Prepare for -rc1
      Git 2.15-rc1

Kaartic Sivaraam (2):
      branch: change the error messages to be more meaningful
      setup: update error message to be more meaningful

Lars Schneider (2):
      entry.c: update cache entry only for existing files
      entry.c: check if file exists after checkout

Martin Ågren (1):
      builtin/: add UNLEAKs

Randall S. Becker (1):
      poll.c: always set revents, even if to zero

René Scharfe (3):
      test-stringlist: avoid buffer underrun when sorting nothing
      fsck: handle NULL return of lookup_blob() and lookup_tree()
      .mailmap: normalize name for René Scharfe

Stefan Beller (2):
      branch: reset instead of release a strbuf
      tests: fix diff order arguments in test_cmp

Taylor Blau (8):
      pretty.c: delimit "%(trailers)" arguments with ","
      t4205: unfold across multiple lines
      doc: 'trailers' is the preferred way to format trailers
      doc: use "`<literal>`"-style quoting for literal strings
      t6300: refactor %(trailers) tests
      ref-filter.c: use trailer_opts to format trailers
      ref-filter.c: parse trailers arguments with %(contents) atom
      ref-filter.c: pass empty-string as NULL to atom parsers

Thomas Braun (1):
      completion: add --broken and --dirty to describe

Thomas Gummerer (1):
      http-push: fix construction of hex value from path

Todd Zullinger (1):
      api-argv-array.txt: remove broken link to string-list API


Version v2.15.0-rc0; changes since v2.14.6:
-------------------------------------------

Brandon Casey (7):
      t1502: demonstrate rev-parse --parseopt option mis-parsing
      rev-parse parseopt: do not search help text for flag chars
      rev-parse parseopt: interpret any whitespace as start of help text
      git-rebase: don't ignore unexpected command line arguments
      t0040,t1502: Demonstrate parse_options bugs
      parse-options: write blank line to correct output stream
      parse-options: only insert newline in help text if needed

Brandon Williams (27):
      repo_read_index: don't discard the index
      repository: have the_repository use the_index
      cache.h: add GITMODULES_FILE macro
      config: add config_from_gitmodules
      submodule: remove submodule.fetchjobs from submodule-config parsing
      submodule: remove fetch.recursesubmodules from submodule-config parsing
      submodule: check for unstaged .gitmodules outside of config parsing
      submodule: check for unmerged .gitmodules outside of config parsing
      submodule: merge repo_read_gitmodules and gitmodules_config
      grep: recurse in-process using 'struct repository'
      t7411: check configuration parsing errors
      submodule: don't use submodule_from_name
      add, reset: ensure submodules can be added or reset
      submodule--helper: don't overlay config in remote_submodule_branch
      submodule--helper: don't overlay config in update-clone
      fetch: don't overlay config with submodule-config
      submodule: don't rely on overlayed config when setting diffopts
      unpack-trees: don't respect submodule.update
      submodule: remove submodule_config callback routine
      diff: stop allowing diff to have submodules configured in .git/config
      submodule-config: remove support for overlaying repository config
      submodule-config: move submodule-config functions to submodule-config.c
      submodule-config: lazy-load a repository's .gitmodules file
      unpack-trees: improve loading of .gitmodules
      submodule: remove gitmodules_config
      clang-format: outline the git project's coding style
      Makefile: add style build rule

Eric Blake (1):
      git-contacts: also recognise "Reported-by:"

Han-Wen Nienhuys (4):
      submodule.c: describe submodule_to_gitdir() in a new comment
      real_path: clarify return value ownership
      read_gitfile_gently: clarify return value ownership.
      string-list.h: move documentation from Documentation/api/ into header

Heiko Voigt (1):
      add test for bug in git-mv for recursive submodules

Ian Campbell (4):
      filter-branch: reset $GIT_* before cleaning up
      filter-branch: preserve and restore $GIT_AUTHOR_* and $GIT_COMMITTER_*
      filter-branch: stash away ref map in a branch
      filter-branch: use hash-object instead of mktag

Jameson Miller (1):
      Improve performance of git status --ignored

Jeff Hostetler (1):
      hashmap: add API to disable item counting when threaded

Jeff King (53):
      strbuf: use designated initializers in STRBUF_INIT
      trailer: put process_trailers() options into a struct
      interpret-trailers: add an option to show only the trailers
      interpret-trailers: add an option to show only existing trailers
      interpret-trailers: add an option to unfold values
      interpret-trailers: add --parse convenience option
      pretty: move trailer formatting to trailer.c
      t4205: refactor %(trailers) tests
      pretty: support normalization options for %(trailers)
      write_index_as_tree: cleanup tempfile on error
      setup_temporary_shallow: avoid using inactive tempfile
      setup_temporary_shallow: move tempfile struct into function
      verify_signed_buffer: prefer close_tempfile() to close()
      always check return value of close_tempfile
      tempfile: do not delete tempfile on failed close
      lockfile: do not rollback lock on failed close
      tempfile: prefer is_tempfile_active to bare access
      tempfile: handle NULL tempfile pointers gracefully
      tempfile: replace die("BUG") with BUG()
      tempfile: factor out activation
      tempfile: factor out deactivation
      tempfile: robustify cleanup handler
      tempfile: release deactivated strbufs instead of resetting
      tempfile: use list.h for linked list
      tempfile: remove deactivated list entries
      tempfile: auto-allocate tempfiles on heap
      lockfile: update lifetime requirements in documentation
      ref_lock: stop leaking lock_files
      stop leaking lock structs in some simple cases
      test-lib: --valgrind should not override --verbose-log
      test-lib: set LSAN_OPTIONS to abort by default
      add: free leaked pathspec after add_files_to_cache()
      update-index: fix cache entry leak in add_one_file()
      config: plug user_config leak
      reset: make tree counting less confusing
      reset: free allocated tree buffers
      repository: free fields before overwriting them
      set_git_dir: handle feeding gitdir to itself
      add UNLEAK annotation for reducing leak false positives
      shortlog: skip format/parse roundtrip for internal traversal
      prefix_ref_iterator: break when we leave the prefix
      revision: replace "struct cmdline_pathspec" with argv_array
      test-line-buffer: simplify command parsing
      curl_trace(): eliminate switch fallthrough
      consistently use "fallthrough" comments in switches
      files-backend: prefer "0" for write_in_full() error check
      notes-merge: drop dead zero-write code
      prefer "!=" when checking read_in_full() result
      avoid looking at errno for short read_in_full() returns
      distinguish error versus short read from read_in_full()
      worktree: use xsize_t to access file size
      worktree: check the result of read_in_full()
      git: add --no-optional-locks option

Job Snijders (1):
      gitweb: add 'raw' blob_plain link in history overview

Joel Teichroeb (3):
      stash: add a test for stash create with no files
      stash: add a test for when apply fails during stash branch
      stash: add a test for stashing in a detached state

Johannes Schindelin (12):
      t3415: verify that an empty instructionFormat is handled as before
      rebase -i: generate the script via rebase--helper
      rebase -i: remove useless indentation
      rebase -i: do not invent onelines when expanding/collapsing SHA-1s
      rebase -i: also expand/collapse the SHA-1s via the rebase--helper
      t3404: relax rebase.missingCommitsCheck tests
      rebase -i: check for missing commits in the rebase--helper
      rebase -i: skip unnecessary picks using the rebase--helper
      t3415: test fixup with wrapped oneline
      rebase -i: rearrange fixup/squash lines using the rebase--helper
      Win32: simplify loading of DLL functions
      clang-format: adjust line break penalties

Jonathan Nieder (2):
      pack: make packed_git_mru global a value instead of a pointer
      pathspec doc: parse_pathspec does not maintain references to args

Jonathan Tan (31):
      sha1_file: set whence in storage-specific info fn
      sha1_file: remove read_packed_sha1()
      diff: avoid redundantly clearing a flag
      diff: respect MIN_BLOCK_LENGTH for last block
      diff: define block by number of alphanumeric chars
      pack: move pack name-related functions
      pack: move static state variables
      pack: move pack_report()
      pack: move open_pack_index(), parse_pack_index()
      pack: move release_pack_memory()
      pack: move pack-closing functions
      pack: move use_pack()
      pack: move unuse_pack()
      pack: move add_packed_git()
      pack: move install_packed_git()
      pack: move {,re}prepare_packed_git and approximate_object_count
      pack: move unpack_object_header_buffer()
      pack: move get_size_from_delta()
      pack: move unpack_object_header()
      pack: move clear_delta_base_cache(), packed_object_info(), unpack_entry()
      pack: move nth_packed_object_{sha1,oid}
      pack: move check_pack_index_ptr(), nth_packed_object_offset()
      pack: move find_pack_entry_one(), is_pack_valid()
      pack: move find_sha1_pack()
      pack: move find_pack_entry() and make it global
      pack: move has_sha1_pack()
      pack: move has_pack_index()
      pack: move for_each_packed_object()
      Remove inadvertently added outgoing/packfile.h
      Add t/helper/test-write-cache to .gitignore
      git-compat-util: make UNLEAK less error-prone

Junio C Hamano (25):
      t1408: add a test of stale packed refs covered by loose refs
      clean.c: use designated initializer
      Start post 2.14 cycle
      The first batch of topics after the 2.14 cycle
      diff: retire sane_truncate_fn
      progress: simplify "delayed" progress API
      The second batch post 2.14
      t4200: give us a clean slate after "rerere gc" tests
      t4200: make "rerere gc" test more robust
      t4200: gather "rerere gc" together
      t4200: parameterize "rerere gc" custom expiry test
      rerere: represent time duration in timestamp_t internally
      rerere: allow approxidate in gc.rerereResolved/gc.rerereUnresolved
      The third batch post 2.14
      The fourth batch post 2.14
      The fifth batch post 2.14
      The sixth batch post 2.14
      The seventh batch post 2.14
      The eighth batch for 2.15
      branch: fix "copy" to never touch HEAD
      The ninth batch for 2.15
      The tenth batch for 2.15
      The eleventh batch for 2.15
      The twelfth batch for 2.15
      Git 2.15-rc0

Kaartic Sivaraam (10):
      hook: cleanup script
      hook: name the positional variables
      hook: add sign-off using "interpret-trailers"
      hook: add a simple first example
      hook: use correct logical variable
      t3200: cleanup cruft of a test
      builtin/branch: stop supporting the "--set-upstream" option
      branch: quote branch/ref names to improve readability
      help: change a message to be more precise
      commit-template: change a message to be more intuitive

Kevin Willford (9):
      format-patch: have progress option while generating patches
      rebase: turn on progress option by default for format-patch
      commit: skip discarding the index if there is no pre-commit hook
      perf: add test for writing the index
      read-cache: fix memory leak in do_write_index
      read-cache: avoid allocating every ondisk entry when writing
      merge-recursive: fix memory leak
      merge-recursive: remove return value from get_files_dirs
      merge-recursive: change current file dir string_lists to hashmap

Lars Schneider (1):
      convert: display progress for filtered objects that have been delayed

Martin Koegler (2):
      diff-delta: fix encoding size that would not fit in "unsigned int"
      diff-delta: do not allow delta offset truncation

Martin Ågren (20):
      Doc/git-{push,send-pack}: correct --sign= to --signed=
      t5334: document that git push --signed=1 does not work
      config: introduce git_parse_maybe_bool_text
      config: make git_{config,parse}_maybe_bool equivalent
      treewide: deprecate git_config_maybe_bool, use git_parse_maybe_bool
      parse_decoration_style: drop unused argument `var`
      doc/interpret-trailers: fix "the this" typo
      Documentation/user-manual: update outdated example output
      treewide: correct several "up-to-date" to "up to date"
      config: remove git_config_maybe_bool
      refs/files-backend: add longer-scoped copy of string to list
      refs/files-backend: fix memory leak in lock_ref_for_update
      refs/files-backend: correct return value in lock_ref_for_update
      refs/files-backend: add `refname`, not "HEAD", to list
      builtin/commit: fix memory leak in `prepare_index()`
      commit: fix memory leak in `reduce_heads()`
      leak_pending: use `object_array_clear()`, not `free()`
      object_array: use `object_array_clear()`, not `free()`
      object_array: add and use `object_array_pop()`
      pack-bitmap[-write]: use `object_array_clear()`, don't leak

Max Kirillov (1):
      describe: teach --match to handle branches and remotes

Michael Haggerty (76):
      add_packed_ref(): teach function to overwrite existing refs
      packed_ref_store: new struct
      packed_ref_store: move `packed_refs_path` here
      packed_ref_store: move `packed_refs_lock` member here
      clear_packed_ref_cache(): take a `packed_ref_store *` parameter
      validate_packed_ref_cache(): take a `packed_ref_store *` parameter
      get_packed_ref_cache(): take a `packed_ref_store *` parameter
      get_packed_refs(): take a `packed_ref_store *` parameter
      add_packed_ref(): take a `packed_ref_store *` parameter
      lock_packed_refs(): take a `packed_ref_store *` parameter
      commit_packed_refs(): take a `packed_ref_store *` parameter
      rollback_packed_refs(): take a `packed_ref_store *` parameter
      get_packed_ref(): take a `packed_ref_store *` parameter
      repack_without_refs(): take a `packed_ref_store *` parameter
      packed_peel_ref(): new function, extracted from `files_peel_ref()`
      packed_ref_store: support iteration
      packed_read_raw_ref(): new function, replacing `resolve_packed_ref()`
      packed-backend: new module for handling packed references
      packed_ref_store: make class into a subclass of `ref_store`
      commit_packed_refs(): report errors rather than dying
      commit_packed_refs(): use a staging file separate from the lockfile
      packed_refs_lock(): function renamed from lock_packed_refs()
      packed_refs_lock(): report errors via a `struct strbuf *err`
      packed_refs_unlock(), packed_refs_is_locked(): new functions
      clear_packed_ref_cache(): don't protest if the lock is held
      commit_packed_refs(): remove call to `packed_refs_unlock()`
      repack_without_refs(): don't lock or unlock the packed refs
      t3210: add some tests of bogus packed-refs file contents
      read_packed_refs(): die if `packed-refs` contains bogus data
      packed_ref_store: handle a packed-refs file that is a symlink
      files-backend: cheapen refname_available check when locking refs
      refs: retry acquiring reference locks for 100ms
      notes: make GET_NIBBLE macro more robust
      load_subtree(): remove unnecessary conditional
      load_subtree(): reduce the scope of some local variables
      load_subtree(): fix incorrect comment
      load_subtree(): separate logic for internal vs. terminal entries
      load_subtree(): check earlier whether an internal node is a tree entry
      load_subtree(): only consider blobs to be potential notes
      get_oid_hex_segment(): return 0 on success
      load_subtree(): combine some common code
      get_oid_hex_segment(): don't pad the rest of `oid`
      hex_to_bytes(): simpler replacement for `get_oid_hex_segment()`
      load_subtree(): declare some variables to be `size_t`
      load_subtree(): check that `prefix_len` is in the expected range
      packed-backend: don't adjust the reference count on lock/unlock
      struct ref_transaction: add a place for backends to store data
      packed_ref_store: implement reference transactions
      packed_delete_refs(): implement method
      files_pack_refs(): use a reference transaction to write packed refs
      prune_refs(): also free the linked list
      files_initial_transaction_commit(): use a transaction for packed refs
      t1404: demonstrate two problems with reference transactions
      files_ref_store: use a transaction to update packed refs
      packed-backend: rip out some now-unused code
      files_transaction_finish(): delete reflogs before references
      ref_iterator: keep track of whether the iterator output is ordered
      packed_ref_cache: add a backlink to the associated `packed_ref_store`
      die_unterminated_line(), die_invalid_line(): new functions
      read_packed_refs(): use mmap to read the `packed-refs` file
      read_packed_refs(): only check for a header at the top of the file
      read_packed_refs(): make parsing of the header line more robust
      read_packed_refs(): read references with minimal copying
      packed_ref_cache: remember the file-wide peeling state
      mmapped_ref_iterator: add iterator over a packed-refs file
      mmapped_ref_iterator_advance(): no peeled value for broken refs
      packed-backend.c: reorder some definitions
      packed_ref_cache: keep the `packed-refs` file mmapped if possible
      read_packed_refs(): ensure that references are ordered when read
      packed_ref_iterator_begin(): iterate using `mmapped_ref_iterator`
      packed_read_raw_ref(): read the reference from the mmapped buffer
      ref_store: implement `refs_peel_ref()` generically
      packed_ref_store: get rid of the `ref_cache` entirely
      ref_cache: remove support for storing peeled values
      mmapped_ref_iterator: inline into `packed_ref_iterator`
      packed-backend.c: rename a bunch of things and update comments

Michael J Gruber (4):
      t7004: move limited stack prereq to test-lib
      t6120: test name-rev --all and --stdin
      t6120: clean up state after breaking repo
      t6120: test describe and name-rev with deep repos

Nguyễn Thái Ngọc Duy (16):
      revision.h: new flag in struct rev_info wrt. worktree-related refs
      refs.c: use is_dir_sep() in resolve_gitlink_ref()
      revision.c: refactor add_index_objects_to_pending()
      revision.c: --indexed-objects add objects from all worktrees
      refs.c: refactor get_submodule_ref_store(), share common free block
      refs: move submodule slash stripping code to get_submodule_ref_store
      refs: add refs_head_ref()
      revision.c: use refs_for_each*() instead of for_each_*_submodule()
      refs.c: move for_each_remote_ref_submodule() to submodule.c
      refs: remove dead for_each_*_submodule()
      revision.c: --all adds HEAD from all worktrees
      files-backend: make reflog iterator go through per-worktree reflog
      revision.c: --reflog add HEAD reflog from all worktrees
      rev-list: expose and document --single-worktree
      refs.c: remove fallback-to-main-store code get_submodule_ref_store()
      refs.c: reindent get_submodule_ref_store()

Nicolas Morey-Chaisemartin (7):
      stash: clean untracked files before reset
      pull: fix cli and config option parsing order
      pull: honor submodule.recurse config option
      imap-send: return with error if curl failed
      imap-send: add wrapper to get server credentials if needed
      imap_send: setup_curl: retreive credentials if not set in config file
      imap-send: use curl by default when possible

Paolo Bonzini (4):
      trailers: export action enums and corresponding lookup functions
      trailers: introduce struct new_trailer_item
      interpret-trailers: add options for actions
      interpret-trailers: fix documentation typo

Patryk Obara (10):
      sha1_file: fix definition of null_sha1
      commit: replace the raw buffer with strbuf in read_graft_line
      commit: allocate array using object_id size
      commit: rewrite read_graft_line
      builtin/hash-object: convert to struct object_id
      read-cache: convert to struct object_id
      sha1_file: convert index_path to struct object_id
      sha1_file: convert index_fd to struct object_id
      sha1_file: convert hash_sha1_file_literally to struct object_id
      sha1_file: convert index_stream to struct object_id

Raman Gupta (1):
      contrib/rerere-train: optionally overwrite existing resolutions

Ramsay Jones (3):
      test-lib: don't use ulimit in test prerequisites on cygwin
      test-lib: use more compact expression in PIPE prerequisite
      t9010-*.sh: skip all tests if the PIPE prereq is missing

René Scharfe (49):
      tree-diff: don't access hash of NULL object_id pointer
      notes: don't access hash of NULL object_id pointer
      receive-pack: don't access hash of NULL object_id pointer
      tree-walk: convert fill_tree_descriptor() to object_id
      apply: check date of potential epoch timestamps first
      apply: remove epoch date from regex
      am: release strbufs after use in detect_patch_format()
      am: release strbuf on error return in hg_patch_to_mail()
      am: release strbuf after use in safe_to_abort()
      check-ref-format: release strbuf after use in check_ref_format_branch()
      clean: release strbuf after use in remove_dirs()
      clone: release strbuf after use in remove_junk()
      commit: release strbuf on error return in commit_tree_extended()
      connect: release strbuf on error return in git_connect()
      convert: release strbuf on error return in filter_buffer_or_fd()
      diff: release strbuf after use in diff_summary()
      diff: release strbuf after use in show_rename_copy()
      diff: release strbuf after use in show_stats()
      help: release strbuf on error return in exec_man_konqueror()
      help: release strbuf on error return in exec_man_man()
      help: release strbuf on error return in exec_woman_emacs()
      mailinfo: release strbuf after use in handle_from()
      mailinfo: release strbuf on error return in handle_boundary()
      merge: release strbuf after use in save_state()
      merge: release strbuf after use in write_merge_heads()
      notes: release strbuf after use in notes_copy_from_stdin()
      refs: release strbuf on error return in write_pseudoref()
      remote: release strbuf after use in read_remote_branches()
      remote: release strbuf after use in migrate_file()
      remote: release strbuf after use in set_url()
      send-pack: release strbuf on error return in send_pack()
      sha1_file: release strbuf on error return in index_path()
      shortlog: release strbuf after use in insert_one_record()
      sequencer: release strbuf after use in save_head()
      transport-helper: release strbuf after use in process_connect_service()
      userdiff: release strbuf after use in userdiff_get_textconv()
      utf8: release strbuf on error return in strbuf_utf8_replace()
      vcs-svn: release strbuf after use in end_revision()
      wt-status: release strbuf after use in read_rebase_todolist()
      wt-status: release strbuf after use in wt_longstatus_print_tracking()
      refs: make sha1 output parameter of refs_resolve_ref_unsafe() optional
      refs: pass NULL to refs_resolve_ref_unsafe() if hash is not needed
      refs: pass NULL to resolve_ref_unsafe() if hash is not needed
      refs: pass NULL to refs_resolve_refdup() if hash is not needed
      refs: pass NULL to resolve_refdup() if hash is not needed
      path: use strbuf_add_real_path()
      use strbuf_addstr() for adding strings to strbufs
      graph: use strbuf_addchars() to add spaces
      repository: use FREE_AND_NULL

Sahil Dua (2):
      config: create a function to format section headers
      branch: add a --copy (-c) option to go with --move (-m)

Stefan Beller (46):
      diff.c: readability fix
      diff.c: move line ending check into emit_hunk_header
      diff.c: factor out diff_flush_patch_all_file_pairs
      diff.c: introduce emit_diff_symbol
      diff.c: emit_diff_symbol learns DIFF_SYMBOL_CONTEXT_MARKER
      diff.c: emit_diff_symbol learns DIFF_SYMBOL_CONTEXT_FRAGINFO
      diff.c: emit_diff_symbol learns DIFF_SYMBOL_NO_LF_EOF
      diff.c: migrate emit_line_checked to use emit_diff_symbol
      diff.c: emit_diff_symbol learns DIFF_SYMBOL_WORDS[_PORCELAIN]
      diff.c: emit_diff_symbol learns DIFF_SYMBOL_CONTEXT_INCOMPLETE
      diff.c: emit_diff_symbol learns DIFF_SYMBOL_FILEPAIR_{PLUS, MINUS}
      diff.c: emit_diff_symbol learns DIFF_SYMBOL_HEADER
      diff.c: emit_diff_symbol learns about DIFF_SYMBOL_BINARY_FILES
      diff.c: emit_diff_symbol learns DIFF_SYMBOL_REWRITE_DIFF
      submodule.c: migrate diff output to use emit_diff_symbol
      diff.c: convert emit_binary_diff_body to use emit_diff_symbol
      diff.c: convert show_stats to use emit_diff_symbol
      diff.c: convert word diffing to use emit_diff_symbol
      diff.c: emit_diff_symbol learns about DIFF_SYMBOL_STAT_SEP
      diff.c: emit_diff_symbol learns about DIFF_SYMBOL_SUMMARY
      diff.c: buffer all output if asked to
      diff.c: color moved lines differently
      diff.c: color moved lines differently, plain mode
      diff.c: add dimming to moved line detection
      diff: document the new --color-moved setting
      attr.c: drop hashmap_cmp_fn cast
      builtin/difftool.c: drop hashmap_cmp_fn cast
      builtin/describe: drop hashmap_cmp_fn cast
      config.c: drop hashmap_cmp_fn cast
      convert/sub-process: drop cast to hashmap_cmp_fn
      patch-ids.c: drop hashmap_cmp_fn cast
      remote.c: drop hashmap_cmp_fn cast
      submodule-config.c: drop hashmap_cmp_fn cast
      name-hash.c: drop hashmap_cmp_fn cast
      t/helper/test-hashmap: use custom data instead of duplicate cmp functions
      commit: convert lookup_commit_graft to struct object_id
      tag: convert gpg_verify_tag to use struct object_id
      t1200: remove t1200-tutorial.sh
      builtin/merge: honor commit-msg hook for merges
      push, fetch: error out for submodule entries not pointing to commits
      replace-objects: evaluate replacement refs without using the object store
      Documentation/githooks: mention merge in commit-msg hook
      Documentation/config: clarify the meaning of submodule.<name>.update
      t7406: submodule.<name>.update command must not be run from .gitmodules
      diff: correct newline in summary for renamed files
      submodule: correct error message for missing commits

Stephan Beyer (1):
      clang-format: add a comment about the meaning/status of the

Takashi Iwai (2):
      sha1dc: build git plumbing code more explicitly
      sha1dc: allow building with the external sha1dc library

Thomas Gummerer (1):
      read-cache: fix index corruption with index v4

Tom G. Christensen (2):
      http: fix handling of missing CURLPROTO_*
      http: use a feature check to enable GSSAPI delegation control

William Duclot (1):
      rebase: make resolve message clearer for inexperienced users

brian m. carlson (12):
      builtin/fsck: convert remaining caller of get_sha1 to object_id
      builtin/merge-tree: convert remaining caller of get_sha1 to object_id
      submodule: convert submodule config lookup to use object_id
      remote: convert struct push_cas to struct object_id
      sequencer: convert to struct object_id
      builtin/update_ref: convert to struct object_id
      bisect: convert bisect_checkout to struct object_id
      builtin/unpack-file: convert to struct object_id
      Convert remaining callers of get_sha1 to get_oid.
      sha1_name: convert get_sha1* to get_oid*
      sha1_name: convert GET_SHA1* flags to GET_OID*
      sha1_name: convert uses of 40 to GIT_SHA1_HEXSZ

Ævar Arnfjörð Bjarmason (1):
      branch: add test for -m renaming multiple config sections

Øystein Walle (1):
      rev-parse: rev-parse: add --is-shallow-repository

Łukasz Gryglicki (1):
      merge: add a --signoff flag


Version v2.14.6; changes since v2.14.5:
---------------------------------------

Garima Singh (2):
      test-path-utils: offer to run a protectNTFS/protectHFS benchmark
      tests: add a helper to stress test argument quoting

Jeff King (7):
      t9300: drop some useless uses of cat
      t9300: create marks files for double-import-marks test
      fast-import: tighten parsing of boolean command line options
      fast-import: stop creating leading directories for import-marks
      fast-import: delay creating leading directories for export-marks
      fast-import: disallow "feature export-marks" by default
      fast-import: disallow "feature import-marks" by default

Johannes Schindelin (19):
      clone --recurse-submodules: prevent name squatting on Windows
      mingw: disallow backslash characters in tree objects' file names
      path.c: document the purpose of `is_ntfs_dotgit()`
      is_ntfs_dotgit(): only verify the leading segment
      path: safeguard `.git` against NTFS Alternate Streams Accesses
      is_ntfs_dotgit(): speed it up
      mingw: fix quoting of arguments
      path: also guard `.gitmodules` against NTFS Alternate Data Streams
      protect_ntfs: turn on NTFS protection by default
      Disallow dubiously-nested submodule git directories
      quote-stress-test: accept arguments to test via the command-line
      t6130/t9350: prepare for stringent Win32 path validation
      quote-stress-test: allow skipping some trials
      unpack-trees: let merged_entry() pass through do_add_entry()'s errors
      mingw: refuse to access paths with illegal characters
      quote-stress-test: offer to test quoting arguments for MSYS2 sh
      mingw: refuse to access paths with trailing spaces or periods
      mingw: handle `subst`-ed "DOS drives"
      Git 2.14.6


Version v2.14.5; changes since v2.14.4:
---------------------------------------

Jeff King (3):
      submodule--helper: use "--" to signal end of clone options
      submodule-config: ban submodule urls that start with dash
      submodule-config: ban submodule paths that start with a dash

Junio C Hamano (1):
      Git 2.14.5


Version v2.14.4; changes since v2.14.3:
---------------------------------------

Jeff King (8):
      submodule-config: verify submodule names as paths
      is_ntfs_dotgit: use a size_t for traversing string
      is_hfs_dotgit: match other .git files
      skip_prefix: add case-insensitive variant
      verify_path: drop clever fallthrough
      verify_dotfile: mention case-insensitivity in comment
      update-index: stat updated files earlier
      verify_path: disallow symlinks in .gitmodules

Johannes Schindelin (2):
      is_ntfs_dotgit: match other .git files
      is_{hfs,ntfs}_dotgitmodules: add tests

Junio C Hamano (2):
      Git 2.13.7
      Git 2.14.4


Version v2.14.3; changes since v2.14.2:
---------------------------------------

Adam Dinwoodie (1):
      doc: correct command formatting

Ann T Ropea (1):
      request-pull: capitalise "Git" to make it a proper noun

Ben Boeckel (1):
      Documentation: mention that `eol` can change the dirty status of paths

Christian Couder (1):
      sha1-lookup: remove sha1_entry_pos() from header file

Daniel Watkins (1):
      diff-highlight: add clean target to Makefile

Eric Rannaud (1):
      fast-import: checkpoint: dump branches/tags/marks even if object_count==0

Evan Zacks (1):
      doc: fix minor typos (extra/duplicated words)

Han-Wen Nienhuys (1):
      submodule.h: typofix

Ilya Kantor (1):
      userdiff: fix HTML hunk header regexp

Jeff King (36):
      sha1_file: drop experimental GIT_USE_LOOKUP search
      config: use a static lock_file struct
      rev-parse: don't trim bisect refnames
      system_path: move RUNTIME_PREFIX to a sub-function
      git_extract_argv0_path: do nothing without RUNTIME_PREFIX
      config: avoid "write_in_full(fd, buf, len) < len" pattern
      get-tar-commit-id: check write_in_full() return against 0
      avoid "write_in_full(fd, buf, len) != len" pattern
      convert less-trivial versions of "write_in_full() != len"
      pkt-line: check write_in_full() errors against "< 0"
      notes-merge: use ssize_t for write_in_full() return value
      config: flip return value of store_write_*()
      read_pack_header: handle signed/unsigned comparison in read result
      read_info_alternates: read contents into strbuf
      read_info_alternates: warn on non-trivial errors
      cat-file: handle NULL object_context.path
      doc: put literal block delimiter around table
      validate_headref: NUL-terminate HEAD buffer
      validate_headref: use skip_prefix for symref parsing
      validate_headref: use get_oid_hex for detached HEADs
      test-terminal: set TERM=vt100
      t4015: prefer --color to -c color.diff=always
      t3701: use test-terminal to collect color output
      t7508: use test_terminal for color output
      t7502: use diff.noprefix for --verbose test
      t6006: drop "always" color config tests
      t3203: drop "always" color test
      t3205: use --color instead of color.branch=always
      provide --color option for all ref-filter users
      color: make "always" the same as "auto" in config
      path.c: fix uninitialized memory access
      sha1_loose_object_info: handle errors from unpack_sha1_rest
      Revert "color: make "always" the same as "auto" in config"
      Revert "t6006: drop "always" color config tests"
      Revert "color: check color.ui in git_default_config()"
      tag: respect color.ui config

Johannes Sixt (1):
      sub-process: use child_process.args instead of child_process.argv

Jonathan Nieder (1):
      strbuf doc: reuse after strbuf_release is fine

Jonathan Tan (1):
      fast-export: do not copy from modified file

Junio C Hamano (8):
      travis: dedent a few scripts that are indented overly deeply
      subprocess: loudly die when subprocess asks for an unsupported capability
      gc: call fscanf() with %<len>s, not %<len>c, when reading hostname
      merge-strategies: avoid implying that "-s theirs" exists
      checkout doc: clarify command line args for "checkout paths" mode
      fetch doc: src side of refspec could be full SHA-1
      Prepare for 2.14.3
      Git 2.14.3

Kaartic Sivaraam (2):
      t/README: fix typo and grammatically improve a sentence
      doc: camelCase the config variables to improve readability

Kevin Daudt (2):
      doc/for-each-ref: consistently use '=' to between argument names and values
      doc/for-each-ref: explicitly specify option names

Lars Schneider (3):
      travis-ci: move Travis CI code into dedicated scripts
      travis-ci: skip a branch build if equal tag is present
      travis-ci: fix "skip_branch_tip_with_tag()" string comparison

Manav Rathi (1):
      docs: improve discoverability of exclude pathspec

Martin Ågren (5):
      convert: always initialize attr_action in convert_attrs
      pack-objects: take lock before accessing `remaining`
      strbuf_setlen: don't write to strbuf_slopbuf
      ThreadSanitizer: add suppressions
      pkt-line: re-'static'-ify buffer in packet_write_fmt_1()

Matthieu Moy (2):
      send-email: fix garbage removal after address
      send-email: don't use Mail::Address, even if available

Max Kirillov (1):
      describe: fix matching to actually match all patterns

Michael Haggerty (1):
      for_each_string_list_item: avoid undefined behavior for empty list

Michael J Gruber (1):
      name-rev: change ULONG_MAX to TIME_MAX

Nguyễn Thái Ngọc Duy (1):
      branch: fix branch renaming not updating HEADs correctly

Ramsay Jones (4):
      git-compat-util.h: xsize_t() - avoid -Wsign-compare warnings
      commit-slab.h: avoid -Wsign-compare warnings
      cache.h: hex2chr() - avoid -Wsign-compare warnings
      ALLOC_GROW: avoid -Wsign-compare warnings

Randall S. Becker (1):
      poll.c: always set revents, even if to zero

René Scharfe (9):
      strbuf: clear errno before calling getdelim(3)
      archive: don't add empty directories to archives
      mailinfo: don't decode invalid =XY quoted-printable sequences
      coccinelle: remove parentheses that become unnecessary
      tag: avoid NULL pointer arithmetic
      run-command: use ALLOC_ARRAY
      test-stringlist: avoid buffer underrun when sorting nothing
      fsck: handle NULL return of lookup_blob() and lookup_tree()
      .mailmap: normalize name for René Scharfe

Ross Kabus (1):
      commit-tree: do not complete line in -F input

Stefan Beller (1):
      branch: reset instead of release a strbuf

Taylor Blau (1):
      ref-filter.c: pass empty-string as NULL to atom parsers

Thomas Braun (1):
      completion: add --broken and --dirty to describe

Thomas Gummerer (2):
      refs: strip out not allowed flags from ref_transaction_update
      http-push: fix construction of hex value from path

Torsten Bögershausen (1):
      test-lint: echo -e (or -E) is not portable


Version v2.14.2; changes since v2.14.1:
---------------------------------------

Andreas Heiduk (2):
      doc: add missing values "none" and "default" for diff.wsErrorHighlight
      doc: clarify "config --bool" behaviour with empty string

Anthony Sottile (1):
      git-grep: correct exit code with --quiet and -L

Brandon Williams (2):
      submodule--helper: teach push-check to handle HEAD
      clone: teach recursive clones to respect -q

Christian Couder (2):
      refs: use skip_prefix() in ref_is_hidden()
      sub-process: print the cmd when a capability is unsupported

Dimitrios Christidis (1):
      fmt-merge-msg: fix coding style

Heiko Voigt (1):
      t5526: fix some broken && chains

Hielke Christian Braun (1):
      gitweb: skip unreadable subdirectories

Jeff King (32):
      t1414: document some reflog-walk oddities
      revision: disallow reflog walking with revs->limited
      log: clarify comment about reflog cycles
      log: do not free parents when walking reflog
      get_revision_1(): replace do-while with an early return
      rev-list: check reflog_info before showing usage
      reflog-walk: stop using fake parents
      reflog-walk: apply --since/--until to reflog dates
      check return value of verify_ref_format()
      docs/for-each-ref: update pointer to color syntax
      t: use test_decode_color rather than literal ANSI codes
      ref-filter: simplify automatic color reset
      ref-filter: abstract ref format into its own struct
      ref-filter: move need_color_reset_at_eol into ref_format
      ref-filter: provide a function for parsing sort options
      ref-filter: make parse_ref_filter_atom a private function
      ref-filter: factor out the parsing of sorting atoms
      ref-filter: pass ref_format struct to atom parsers
      color: check color.ui in git_default_config()
      for-each-ref: load config earlier
      rev-list: pass diffopt->use_colors through to pretty-print
      pretty: respect color settings for %C placeholders
      ref-filter: consult want_color() before emitting colors
      t6018: flesh out empty input/output rev-list tests
      revision: add rev_input_given flag
      rev-list: don't show usage when we see empty ref patterns
      revision: do not fallback to default when rev_input_given is set
      hashcmp: use memcmp instead of open-coded loop
      doc: fix typo in sendemail.identity
      shell: drop git-cvsserver support by default
      archimport: use safe_pipe_capture for user input
      cvsimport: shell-quote variable used in backticks

Johannes Schindelin (2):
      run_processes_parallel: change confusing task_cb convention
      git-gui (MinGW): make use of MSys2's msgfmt

Jonathan Nieder (4):
      vcs-svn: remove more unused prototypes and declarations
      vcs-svn: remove custom mode constants
      vcs-svn: remove repo_delete wrapper function
      vcs-svn: move remaining repo_tree functions to fast_export.h

Jonathan Tan (7):
      fsck: remove redundant parse_tree() invocation
      object: remove "used" field from struct object
      fsck: cleanup unused variable
      Documentation: migrate sub-process docs to header
      sub-process: refactor handshake to common function
      tests: ensure fsck fails on corrupt packfiles
      Doc: clarify that pack-objects makes packs, plural

Junio C Hamano (11):
      http.c: http.sslcert and http.sslkey are both pathnames
      perl/Git.pm: typofix in a comment
      Prepare for 2.14.2
      RelNotes: further fixes for 2.14.2 from the master front
      cvsserver: move safe_pipe_capture() to the main package
      cvsserver: use safe_pipe_capture for `constant commands` as well
      Git 2.10.5
      Git 2.11.4
      Git 2.12.5
      Git 2.13.6
      Git 2.14.2

Kaartic Sivaraam (1):
      commit: check for empty message before the check for untouched template

Kevin Daudt (1):
      stash: prevent warning about null bytes in input

Lars Schneider (7):
      t0021: keep filter log files on comparison
      t0021: make debug log file name configurable
      t0021: write "OUT <size>" only on success
      convert: put the flags field before the flag itself for consistent style
      convert: move multiple file filter error handling to separate function
      convert: refactor capabilities negotiation
      convert: add "status=delayed" to filter process protocol

Martin Ågren (7):
      builtin.h: take over documentation from api-builtin.txt
      git.c: let builtins opt for handling `pager.foo` themselves
      git.c: provide setup_auto_pager()
      t7006: add tests for how git tag paginates
      tag: respect `pager.tag` in list-mode only
      tag: change default of `pager.tag` to "on"
      git.c: ignore pager.* when launching builtin as dashed external

Michael Forney (1):
      scripts: use "git foo" not "git-foo"

Michael J Gruber (6):
      Documentation: use proper wording for ref format strings
      Documentation/git-for-each-ref: clarify peeling of tags for --format
      Documentation/git-merge: explain --continue
      merge: clarify call chain
      merge: split write_merge_state in two
      merge: save merge state earlier

Philip Oakley (4):
      git-gui: remove duplicate entries from .gitconfig's gui.recentrepo
      git gui: cope with duplicates in _get_recentrepo
      git gui: de-dup selected repo from recentrepo history
      git gui: allow for a long recentrepo list

Phillip Wood (7):
      am: remember --rerere-autoupdate setting
      rebase: honor --rerere-autoupdate
      rebase -i: honor --rerere-autoupdate
      t3504: use test_commit
      cherry-pick/revert: remember --rerere-autoupdate
      cherry-pick/revert: reject --rerere-autoupdate when continuing
      am: fix signoff when other trailers are present

Ramsay Jones (2):
      credential-cache: interpret an ECONNRESET as an EOF
      builtin/add: add detail to a 'cannot chmod' error message

René Scharfe (23):
      bswap: convert to unsigned before shifting in get_be32
      bswap: convert get_be16, get_be32 and put_be32 to inline functions
      add MOVE_ARRAY
      use MOVE_ARRAY
      apply: use COPY_ARRAY and MOVE_ARRAY in update_image()
      ls-files: don't try to prune an empty index
      dir: support platforms that require aligned reads
      pack-objects: remove unnecessary NULL check
      t0001: skip test with restrictive permissions if getpwd(3) respects them
      test-path-utils: handle const parameter of basename and dirname
      t3700: fix broken test under !POSIXPERM
      t4062: use less than 256 repetitions in regex
      sha1_file: avoid comparison if no packed hash matches the first byte
      apply: remove prefix_length member from apply_state
      merge: use skip_prefix()
      win32: plug memory leak on realloc() failure in syslog()
      fsck: free buffers on error in fsck_obj()
      sha1_file: release delta_stack on error in unpack_entry()
      t1002: stop using sum(1)
      t5001: add tests for export-ignore attributes and exclude pathspecs
      archive: factor out helper functions for handling attributes
      archive: don't queue excluded directories
      commit: remove unused inline function single_parent()

Santiago Torres (1):
      t: lib-gpg: flush gpg agent on startup

Stefan Beller (3):
      t8008: rely on rev-parse'd HEAD instead of sha1 value
      sha1_file: make read_info_alternates static
      submodule.sh: remove unused variable

Torsten Bögershausen (2):
      convert: add SAFE_CRLF_KEEP_CRLF
      apply: file commited with CRLF should roundtrip diff and apply

Urs Thuermann (1):
      git svn fetch: Create correct commit timestamp when using --localtime

brian m. carlson (2):
      vcs-svn: remove unused prototypes
      vcs-svn: rename repo functions to "svn_repo"

joernchen (1):
      cvsserver: use safe_pipe_capture instead of backticks

Ævar Arnfjörð Bjarmason (1):
      tests: don't give unportable ">" to "test" built-in, use -gt


Version v2.14.1; changes since v2.14.0:
---------------------------------------

Jeff King (5):
      t/lib-proto-disable: restore protocol.allow after config tests
      t5813: add test for hostname starting with dash
      connect: factor out "looks like command line option" check
      connect: reject dashed arguments for proxy commands
      connect: reject paths that look like command line options

Junio C Hamano (9):
      connect: reject ssh hostname that begins with a dash
      Git 2.7.6
      Git 2.8.6
      Git 2.9.5
      Git 2.10.4
      Git 2.11.3
      Git 2.12.4
      Git 2.13.5
      Git 2.14.1


Version v2.14.0; changes since v2.14.0-rc1:
-------------------------------------------

Alexander Shopov (1):
      l10n: bg.po: Updated Bulgarian translation (3213t)

Andreas Heiduk (1):
      doc: remove unsupported parameter from patch-id

Anthony Sottile (1):
      diff-options doc: grammar fix

Changwoo Ryu (1):
      l10n: ko.po: Update Korean translation

Dimitriy Ryazantcev (1):
      l10n: ru.po: update Russian translation

Hartmut Henkel (1):
      l10n: de.po: various fixes in German translation

Hugues Peccatte (1):
      l10n: fr.po Fix some translations

Jean-Noel Avila (1):
      l10n: fr.po v2.14.0 rnd 2

Jiang Xin (2):
      l10n: zh_CN: for git v2.14.0 l10n round 2
      l10n: zh_CN: review for git v2.14.0 l10n

Jordi Mas (1):
      l10n: Update Catalan translation

Junio C Hamano (3):
      Preparation for 2.13.4 continues
      Git 2.13.4
      Git 2.14

Louis (1):
      l10n: fr.po Fix typo

Ralf Thielow (1):
      l10n: de.po: update German translation

SZEDER Gábor (1):
      blame: fix memory corruption scrambling revision name in error message

Sylvestre Ledru (1):
      l10n: fr.po Fix some french typos

Trần Ngọc Quân (1):
      l10n: vi.po (3213t): Updated 9 new strings


Version v2.14.0-rc1; changes since v2.14.0-rc0:
-----------------------------------------------

Alexander Shopov (1):
      l10n: bg.po: Updated Bulgarian translation (3206t)

Changwoo Ryu (1):
      l10n: ko.po: Update Korean translation

Dimitriy Ryazantcev (1):
      l10n: ru.po: update Russian translation

Eric Wong (1):
      set FD_CLOEXEC properly when O_CLOEXEC is not supported

Jeff King (2):
      gc: run pre-detach operations under lock
      t: handle EOF in test_copy_bytes()

Jiang Xin (2):
      l10n: git.pot: v2.14.0 round 1 (34 new, 23 removed)
      l10n: git.pot: v2.14.0 round 2 (9 new, 2 removed)

Johannes Schindelin (2):
      t1300: demonstrate that CamelCased aliases regressed
      alias: compare alias name *case-insensitively*

Jonathan Nieder (1):
      pre-rebase hook: capture documentation in a <<here document

Jordi Mas (2):
      l10n: Fixes to Catalan translation
      l10n: Update Catalan translation

Junio C Hamano (6):
      A few more topics before 2.14-rc1
      Makefile: help gettext tools to cope with our custom PRItime format
      A few more topics while waiting for the po/PRItime resolution
      Hopefully the final last-minute fix before -rc1
      fixes from 'master' for 2.13.4
      Git 2.14-rc1

Kaartic Sivaraam (2):
      doc: camelCase the i18n config variables to improve readability
      doc: reformat the paragraph containing the 'cut-line'

Miguel Torroja (3):
      git-p4: git-p4 tests with p4 triggers
      git-p4: parse marshal output "p4 -G" in p4 changes
      git-p4: filter for {'code':'info'} in p4CmdList

Peter Krefting (1):
      l10n: sv.po: Update Swedish translation (3206t0f0u)

Ramsay Jones (1):
      config.mak.uname: set FREAD_READS_DIRECTORIES for cygwin

René Scharfe (2):
      progress: show overall rate in last update
      Makefile: allow combining UBSan with other sanitizers

Torsten Bögershausen (1):
      cygwin: allow pushing to UNC paths

Trần Ngọc Quân (1):
      l10n: vi.po(3206t): Update Vietnamese translation

Ævar Arnfjörð Bjarmason (3):
      RelNotes: mention "log: add -P as a synonym for --perl-regexp"
      RelNotes: mention "log: make --regexp-ignore-case work with --perl-regexp"
      RelNotes: mention "sha1dc: optionally use sha1collisiondetection as a submodule"


Version v2.14.0-rc0; changes since v2.13.7:
-------------------------------------------

Andreas Heiduk (4):
      doc: describe git svn init --ignore-refs
      filter-branch: add `--setup` step
      filter-branch: add [--] to usage
      git-svn: document special options for commit-diff

Ben Peart (10):
      convert: remove erroneous tests for errno == EPIPE
      pkt-line: fix packet_read_line() to handle len < 0 errors
      pkt-line: add packet_read_line_gently()
      convert: move packet_write_line() into pkt-line as packet_writel()
      convert: split start_multi_file_filter() into two separate functions
      convert: separate generic structures and variables from the filter specific ones
      convert: update generic functions to only use generic data structures
      convert: rename reusable sub-process functions
      sub-process: move sub-process functions into separate files
      convert: update subprocess_read_status() to not die on EOF

Brandon Williams (95):
      submodule: rename add_sha1_to_array()
      submodule: rename free_submodules_sha1s()
      submodule: remove add_oid_to_argv()
      submodule: change string_list changed_submodule_paths
      submodule: improve submodule_has_commits()
      submodule: refactor logic to determine changed submodules
      dir: stop using the index compatibility macros
      dir: convert read_skip_worktree_file_from_index to take an index
      dir: convert directory_exists_in_index to take index
      dir: convert get_dtype to take index
      dir: convert dir_add* to take an index
      dir: convert last_exclude_matching_from_list to take an index
      dir: convert is_excluded_from_list to take an index
      dir: convert add_excludes to take an index
      dir: convert prep_exclude to take an index
      dir: convert is_excluded to take an index
      dir: convert open_cached_dir to take an index
      dir: convert read_directory_recursive to take an index
      dir: convert read_directory to take an index
      dir: convert fill_directory to take an index
      pathspec: provide a more descriptive die message
      submodule: add die_in_unpopulated_submodule function
      pathspec: remove PATHSPEC_STRIP_SUBMODULE_SLASH_EXPENSIVE flag
      ls-files: prevent prune_cache from overeagerly pruning submodules
      pathspec: remove PATHSPEC_STRIP_SUBMODULE_SLASH_CHEAP
      pathspec: convert find_pathspecs_matching_against_index to take an index
      grep: convert to struct object_id
      diff: convert get_stat_data to struct object_id
      diff: convert diff_index_show_file to struct object_id
      diff: convert diff_addremove to struct object_id
      diff: convert run_diff_files to struct object_id
      diff: convert diff_change to struct object_id
      diff: convert fill_filespec to struct object_id
      diff: convert reuse_worktree_file to struct object_id
      diff: finish conversion for prepare_temp_file to struct object_id
      patch-ids: convert to struct object_id
      diff: convert diff_flush_patch_id to struct object_id
      combine-diff: convert diff_tree_combined to struct object_id
      combine-diff: convert find_paths_* to struct object_id
      tree-diff: convert diff_root_tree_sha1 to struct object_id
      notes-merge: convert notes_merge* to struct object_id
      notes-merge: convert merge_from_diffs to struct object_id
      notes-merge: convert find_notes_merge_pair_ps to struct object_id
      notes-merge: convert verify_notes_filepair to struct object_id
      notes-merge: convert write_note_to_worktree to struct object_id
      diff-tree: convert diff_tree_sha1 to struct object_id
      builtin/diff-tree: cleanup references to sha1
      tree-diff: convert try_to_follow_renames to struct object_id
      tree-diff: convert diff_tree_paths to struct object_id
      tree-diff: convert path_appendnew to object_id
      diffcore-rename: use is_empty_blob_oid
      diff: rename diff_fill_sha1_info to diff_fill_oid_info
      convert: convert get_cached_convert_stats_ascii to take an index
      convert: convert crlf_to_git to take an index
      convert: convert convert_to_git_filter_fd to take an index
      convert: convert convert_to_git to take an index
      convert: convert renormalize_buffer to take an index
      tree: convert read_tree to take an index parameter
      ls-files: convert overlay_tree_on_cache to take an index
      ls-files: convert write_eolinfo to take an index
      ls-files: convert show_killed_files to take an index
      ls-files: convert show_other_files to take an index
      ls-files: convert show_ru_info to take an index
      ls-files: convert ce_excluded to take an index
      ls-files: convert prune_cache to take an index
      ls-files: convert show_ce_entry to take an index
      ls-files: convert show_files to take an index
      ls-files: factor out debug info into a function
      ls-files: factor out tag calculation
      config: create config.h
      config: remove git_config_iter
      config: don't include config.h by default
      setup: teach discover_git_directory to respect the commondir
      config: respect commondir
      config: don't implicitly use gitdir or commondir
      setup: don't perform lazy initialization of repository state
      setup: add comment indicating a hack
      environment: remove namespace_len variable
      repository: introduce the repository object
      environment: place key repository state in the_repository
      environment: store worktree in the_repository
      path: create path.h
      path: always pass in commondir to update_common_dir
      path: convert strbuf_git_common_path to take a 'struct repository'
      path: convert do_git_path to take a 'struct repository'
      path: worktree_git_path() should not use file relocation
      path: add repo_git_path and strbuf_repo_git_path
      path: add repo_worktree_path and strbuf_repo_worktree_path
      config: read config from a repository object
      repository: add index_state to struct repo
      submodule-config: store the_submodule_cache in the_repository
      submodule: add repo_read_gitmodules
      submodule: convert is_submodule_initialized to work on a repository
      repository: enable initialization of submodules
      ls-files: use repository object

Christian Couder (2):
      p3400: add perf tests for rebasing many changes
      sub-process: correct path to API docs in a comment

David Turner (2):
      Increase core.packedGitLimit
      unpack-trees: preserve index extensions

Jeff King (29):
      cache-tree: reject entries with null sha1
      status: fix missing newline when comment chars are disabled
      add--interactive: drop diff.indentHeuristic handling
      pkt-line: annotate packet_writel with LAST_ARG_MUST_BE_NULL
      ref-filter: limit traversal to prefix
      t4208: add check for ":/" without matching file
      check_filename(): refactor ":/" handling
      check_filename(): use skip_prefix
      check_filename(): handle ":^" path magic
      verify_filename(): treat ":(magic)" as a pathspec
      verify_filename(): flip order of checks
      credential: handle invalid arguments earlier
      upload-archive: handle "-h" option early
      remote-{ext,fd}: print usage message on invalid arguments
      submodule--helper: show usage for "-h"
      version: convert to parse-options
      git: add hidden --list-builtins option
      t0012: test "-h" with builtins
      add: warn when adding an embedded repository
      t: move "git add submodule" into test blocks
      configure.ac: loosen FREAD_READS_DIRECTORIES test program
      t0006: check --date=format zone offsets
      date: use localtime() for "-local" time formats
      docs: update 64-bit core.packedGitLimit default
      test-lib: set ASAN_OPTIONS variable before we run git
      test-lib: turn on ASan abort_on_error by default
      Makefile: add helper for compiling with -fsanitize
      Makefile: turn off -fomit-frame-pointer with sanitizers
      Makefile: disable unaligned loads with UBSan

Jeff Smith (29):
      blame: remove unneeded dependency on blob.h
      blame: move textconv_object with related functions
      blame: remove unused parameters
      blame: rename origin structure to blame_origin
      blame: rename scoreboard structure to blame_scoreboard
      blame: rename origin-related functions
      blame: rename coalesce function
      blame: rename ent_score function
      blame: rename nth_line function
      blame: move stat counters to scoreboard
      blame: move copy/move thresholds to scoreboard
      blame: move contents_from to scoreboard
      blame: move reverse flag to scoreboard
      blame: move show_root flag to scoreboard
      blame: move xdl_opts flags to scoreboard
      blame: move no_whole_file_rename flag to scoreboard
      blame: make sanity_check use a callback in scoreboard
      blame: move progress updates to a scoreboard callback
      blame: wrap blame_sort and compare_blame_final
      blame: rework methods that determine 'final' commit
      blame: create scoreboard init function
      blame: create scoreboard setup function
      blame: create entry prepend function
      blame: move core structures to header
      blame: move origin-related methods to libgit
      blame: move fake-commit-related methods to libgit
      blame: move scoreboard-related methods to libgit
      blame: move scoreboard setup to libgit
      blame: move entry prepend to libgit

Johannes Schindelin (9):
      ref-filter: avoid using `unsigned long` for catch-all data type
      t0006 & t5000: prepare for 64-bit timestamps
      t0006 & t5000: skip "far in the future" test when time_t is too limited
      parse_timestamp(): specify explicitly where we parse timestamps
      PRItime: introduce a new "printf format" for timestamps
      timestamp_t: a new data type for timestamps
      date.c: abort if the system time cannot handle one of our timestamps
      use uintmax_t for timestamps
      mingw: verify that paths are not mistaken for remote nicknames

Johannes Sixt (1):
      mingw_fopen: report ENOENT for invalid file names

Jonathan Tan (11):
      fetch-pack: always allow fetching of literal SHA1s
      send-email: support validate hook
      send-email: check for repo before invoking hook
      sha1_file: teach packed_object_info about typename
      sha1_file: rename LOOKUP_UNKNOWN_OBJECT
      sha1_file: rename LOOKUP_REPLACE_OBJECT
      sha1_file: move delta base cache code up
      sha1_file: refactor read_object
      sha1_file: teach sha1_object_info_extended more flags
      sha1_file: do not access pack if unneeded
      sha1_file: refactor has_sha1_file_with_flags

Junio C Hamano (28):
      test-lib.sh: do not barf under --debug at the end of the test
      test-lib: retire $remove_trash variable
      repack: accept --threads=<n> and pass it down to pack-objects
      Start post 2.13 cycle
      name-rev: change a "long" variable to timestamp_t
      Second batch for 2.14
      config.mak.uname: set FREAD_READS_DIRECTORIES for Darwin, too
      Third batch for 2.14
      compat-util: is_missing_file_error()
      treewide: use is_missing_file_error() where ENOENT and ENOTDIR are checked
      Fourth batch for 2.14
      Fifth batch for 2.14
      Sixth batch for 2.14
      Seventh batch for 2.14
      diff- and log- family: handle "git cmd -h" early
      Eighth batch for 2.14
      Ninth batch for 2.14
      Tenth batch for 2.14
      Revert "split-index: add and use unshare_split_index()"
      Eleventh batch for 2.14
      Twelfth batch for 2.14
      Thirteenth batch for 2.14
      sha1collisiondetection: automatically enable when submodule is populated
      Fourteenth batch for 2.14
      Fifteenth batch for 2.14
      Sixteenth batch for 2.14
      Hopefully the last batch before -rc0
      Git 2.14-rc0

Kaartic Sivaraam (4):
      status: contextually notify user about an initial commit
      Documentation/git-submodule: cleanup "add" section
      commit-template: remove outdated notice about explicit paths
      commit-template: distinguish status information unconditionally

Lars Schneider (2):
      travis-ci: handle Git for Windows CI status "failed" explicitly
      travis-ci: retry if Git for Windows CI returns HTTP error 502 or 503

Liam Beguin (3):
      stash: update documentation to use 'stash entry'
      status: add optional stash count information
      glossary: define 'stash entry'

Marc Branchaud (2):
      diff: make the indent heuristic part of diff's basic configuration
      diff: have the diff-* builtins configure diff before initializing revisions

Michael Haggerty (26):
      t3600: clean up permissions test properly
      refs.h: clarify docstring for the ref_transaction_update()-related fns
      ref_iterator_begin_fn(): fix docstring
      files-backend: use `die("BUG: ...")`, not `die("internal error: ...")`
      prefix_ref_iterator: don't trim too much
      refs_ref_iterator_begin(): don't check prefixes redundantly
      refs: use `size_t` indexes when iterating over ref transaction updates
      ref_store: take a `msg` parameter when deleting references
      lockfile: add a new method, is_lock_file_locked()
      files-backend: move `lock` member to `files_ref_store`
      files_ref_store: put the packed files lock directly in this struct
      files_transaction_cleanup(): new helper function
      ref_transaction_commit(): check for valid `transaction->state`
      ref_transaction_prepare(): new optional step for reference updates
      ref_update_reject_duplicates(): expose function to whole refs module
      ref_update_reject_duplicates(): use `size_t` rather than `int`
      ref_update_reject_duplicates(): add a sanity check
      should_pack_ref(): new function, extracted from `files_pack_refs()`
      get_packed_ref_cache(): assume "packed-refs" won't change while locked
      read_packed_refs(): do more of the work of reading packed refs
      read_packed_refs(): report unexpected fopen() failures
      refs_ref_iterator_begin(): handle `GIT_REF_PARANOIA`
      create_ref_entry(): remove `check_name` option
      cache_ref_iterator_begin(): avoid priming unneeded directories
      lock_packed_refs(): fix cache validity check
      for_each_bisect_ref(): don't trim refnames

Mike Hommey (1):
      fast-import: increase the default pack depth to 50

Nguyễn Thái Ngọc Duy (16):
      environment.c: fix potential segfault by get_git_common_dir()
      refs.c: make submodule ref store hashmap generic
      refs: add REFS_STORE_ALL_CAPS
      refs: introduce get_worktree_ref_store()
      worktree.c: kill parse_ref() in favor of refs_resolve_ref_unsafe()
      refs: kill set_worktree_head_symref()
      split-index: add and use unshare_split_index()
      use xfopen() in more places
      clone: use xfopen() instead of fopen()
      config.mak.uname: set FREAD_READS_DIRECTORIES for Linux and FreeBSD
      wrapper.c: add and use warn_on_fopen_errors()
      wrapper.c: add and use fopen_or_warn()
      wrapper.c: make warn_on_inaccessible() static
      print errno when reporting a system call error
      rerere.c: move error_errno() closer to the source system call
      log: fix memory leak in open_next_file()

Prathamesh Chavan (1):
      dir: create function count_slashes()

Ramsay Jones (2):
      archive-tar: fix a sparse 'constant too large' warning
      git_fopen: fix a sparse 'not declared' warning

René Scharfe (17):
      archive-zip: add tests for big ZIP archives
      archive-zip: use strbuf for ZIP directory
      archive-zip: write ZIP dir entry directly to strbuf
      archive-zip: support archives bigger than 4GB
      archive-zip: support files bigger than 4GB
      archive-zip: set version field for big files correctly
      t5004: require 64-bit support for big ZIP tests
      mingw: simplify PATH handling
      strbuf: let strbuf_addftime handle %z and %Z itself
      sha1_name: cache readdir(3) results in find_short_object_filename()
      p4205: add perf test script for pretty log formats
      sha1_file: let for_each_file_in_obj_subdir() handle subdir names
      sha1_file: guard against invalid loose subdirectory numbers
      coccinelle: polish FREE_AND_NULL rules
      urlmatch: use hex2chr() in append_normalized_escapes()
      wt-status: use separate variable for result of shorten_unambiguous_ref
      use DIV_ROUND_UP

Rikard Falkeborn (6):
      completion: add git config gc completions
      completion: add git config core completions
      completion: add git config am.threeWay completion
      completion: add git config advice completions
      completion: add git config credential completions
      completion: add git config credentialCache.ignoreSIGHUP

SZEDER Gábor (1):
      test-lib: abort when can't remove trash directory

Stefan Beller (22):
      entry.c: submodule recursing: respect force flag correctly
      submodule.c: uninitialized submodules are ignored in recursive commands
      submodule.c: submodule_move_head works with broken submodules
      builtin/reset: add --recurse-submodules switch
      diff: recurse into nested submodules for inline diff
      diff: enable indent heuristic by default
      submodule recursing: do not write a config variable twice
      submodule test invocation: only pass additional arguments
      reset/checkout/read-tree: unify config callback for submodule recursion
      submodule loading: separate code path for .gitmodules and config overlay
      Introduce 'submodule.recurse' option for worktree manipulators
      builtin/grep.c: respect 'submodule.recurse' option
      builtin/push.c: respect 'submodule.recurse' option
      builtin/fetch.c: respect 'submodule.recurse' option
      submodules: overhaul documentation
      builtin/fetch: factor submodule recurse parsing out to submodule config
      builtin/fetch: parse recurse-submodules-default at default options parsing
      pull: optionally rebase submodules (remote submodule changes only)
      builtin/fetch cleanup: always set default value for submodule recursing
      hashmap.h: compare function has access to a data field
      patch-ids.c: use hashmap correctly
      hashmap: migrate documentation from Documentation/technical into header

Stephen Kent (1):
      status: add color config slots for branch info in "--short --branch"

Ville Skyttä (1):
      Spelling fixes

brian m. carlson (60):
      fetch-pack: convert to struct object_id
      Clean up outstanding object_id transforms.
      Convert struct cache_tree to use struct object_id
      builtin/name-rev: convert to struct object_id
      builtin/prune: convert to struct object_id
      bundle: convert to struct object_id
      branch: convert to struct object_id
      builtin/blame: convert static function to struct object_id
      builtin/rev-parse: convert to struct object_id
      fast-import: convert internal structs to struct object_id
      fast-import: convert to struct object_id
      submodule: convert merge_submodule to use struct object_id
      notes-cache: convert to struct object_id
      parse-options-cb: convert to struct object_id
      reflog_expire: convert to struct object_id
      builtin/verify-commit: convert to struct object_id
      tag: convert parse_tag_buffer to struct object_id
      http-push: convert some static functions to struct object_id
      notes-utils: convert internals to struct object_id
      revision: convert prepare_show_merge to struct object_id
      shallow: convert shallow registration functions to object_id
      sequencer: convert some functions to struct object_id
      builtin/tag: convert to struct object_id
      Convert remaining callers of lookup_commit_reference* to object_id
      Convert lookup_commit* to struct object_id
      pack: convert struct pack_idx_entry to struct object_id
      builtin/unpack-objects: convert to struct object_id
      Convert remaining callers of lookup_blob to object_id
      Convert lookup_blob to struct object_id
      tree: convert read_tree_1 to use struct object_id internally
      builtin/reflog: convert tree_is_complete to take struct object_id
      Convert lookup_tree to struct object_id
      log-tree: convert to struct object_id
      Convert lookup_tag to struct object_id
      Convert the verify_pack callback to struct object_id
      Convert struct ref_array_item to struct object_id
      ref-filter: convert some static functions to struct object_id
      refs: convert struct ref_update to use struct object_id
      refs/files-backend: convert many internals to struct object_id
      http-push: convert process_ls_object and descendants to object_id
      revision: rename add_pending_sha1 to add_pending_oid
      revision: convert remaining parse_object callers to object_id
      upload-pack: convert remaining parse_object callers to object_id
      sha1_name: convert internals of peel_onion to object_id
      builtin/read-tree: convert to struct object_id
      builtin/ls-files: convert overlay_tree_on_cache to object_id
      sequencer: convert fast_forward_to to struct object_id
      merge: convert checkout_fast_forward to struct object_id
      builtin/ls-tree: convert to struct object_id
      diff-lib: convert do_diff_cache to struct object_id
      sequencer: convert do_recursive_merge to struct object_id
      tree: convert parse_tree_indirect to struct object_id
      object: convert parse_object* to take struct object_id
      notes: convert internal structures to struct object_id
      notes: convert internal parts to struct object_id
      notes: convert for_each_note to struct object_id
      notes: make get_note return pointer to struct object_id
      notes: convert format_display_notes to struct object_id
      builtin/notes: convert to struct object_id
      notes: convert some accessor functions to struct object_id

xiaoqiang zhao (1):
      send-email: --batch-size to work around some SMTP server limit

Ævar Arnfjörð Bjarmason (65):
      tests: change "cd ... && git fetch" to "cd &&\n\tgit fetch"
      clone: add a --no-tags option to clone without tags
      tests: rename a test having to do with shallow submodules
      perf: add function to setup a fresh test repo
      perf: add test showing exponential growth in path globbing
      config: match both symlink & realpath versions in IncludeIf.gitdir:*
      Makefile & configure: reword inaccurate comment about PCRE
      grep & rev-list doc: stop promising libpcre for --perl-regexp
      test-lib: rename the LIBPCRE prerequisite to PCRE
      log: add exhaustive tests for pattern style options & config
      log: make --regexp-ignore-case work with --perl-regexp
      grep: add a test asserting that --perl-regexp dies when !PCRE
      grep: add a test for backreferences in PCRE patterns
      grep: change non-ASCII -i test to stop using --debug
      grep: add tests for --threads=N and grep.threads
      grep: amend submodule recursion test for regex engine testing
      grep: add tests for grep pattern types being passed to submodules
      grep: add a test helper function for less verbose -f \0 tests
      grep: prepare for testing binary regexes containing rx metacharacters
      grep: add tests to fix blind spots with \0 patterns
      perf: add a GIT_PERF_MAKE_COMMAND for when *_MAKE_OPTS won't do
      perf: emit progress output when unpacking & building
      perf: add a comparison test of grep regex engines
      perf: add a comparison test of grep regex engines with -F
      perf: add a comparison test of log --grep regex engines
      perf: add a comparison test of log --grep regex engines with -F
      grep: catch a missing enum in switch statement
      grep: remove redundant regflags assignments
      grep: factor test for \0 in grep patterns into a function
      grep: change the internal PCRE macro names to be PCRE1
      grep: change internal *pcre* variable & function names to be *pcre1*
      grep: move is_fixed() earlier to avoid forward declaration
      test-lib: add a PTHREADS prerequisite
      pack-objects & index-pack: add test for --threads warning
      pack-objects: fix buggy warning about threads
      grep: given --threads with NO_PTHREADS=YesPlease, warn
      grep: assert that threading is enabled when calling grep_{lock,unlock}
      grep: don't redundantly compile throwaway patterns under threading
      grep: skip pthreads overhead when using one thread
      log: add -P as a synonym for --perl-regexp
      grep: add support for the PCRE v1 JIT API
      grep: un-break building with PCRE < 8.32
      grep: un-break building with PCRE < 8.20
      grep: un-break building with PCRE >= 8.32 without --enable-jit
      grep: add support for PCRE v2
      perf: work around the tested repo having an index.lock
      git-compat-util: add a FREE_AND_NULL() wrapper around free(ptr); ptr = NULL
      wildmatch test: cover a blind spot in "/" matching
      coccinelle: add a rule to make "type" code use FREE_AND_NULL()
      coccinelle: make use of the "type" FREE_AND_NULL() rule
      coccinelle: add a rule to make "expression" code use FREE_AND_NULL()
      coccinelle: make use of the "expression" FREE_AND_NULL() rule
      *.[ch] refactoring: make use of the FREE_AND_NULL() macro
      grep: fix erroneously copy/pasted variable in check/assert pattern
      die(): stop hiding errors due to overzealous recursion guard
      wildmatch: remove unused wildopts parameter
      strbuf.h comment: discuss strbuf_addftime() arguments in order
      grep: remove redundant double assignment to 0
      grep: adjust a redundant grep pattern type assignment
      grep: remove redundant "fixed" field re-assignment to 0
      grep: remove redundant and verbose re-assignments to 0
      grep: remove regflags from the public grep_opt API
      grep: remove redundant REG_NEWLINE when compiling fixed regex
      strbuf: change an always NULL/"" strbuf_addftime() param to bool
      sha1dc: optionally use sha1collisiondetection as a submodule


Version v2.13.7; changes since v2.13.6:
---------------------------------------

Jeff King (8):
      submodule-config: verify submodule names as paths
      is_ntfs_dotgit: use a size_t for traversing string
      is_hfs_dotgit: match other .git files
      skip_prefix: add case-insensitive variant
      verify_path: drop clever fallthrough
      verify_dotfile: mention case-insensitivity in comment
      update-index: stat updated files earlier
      verify_path: disallow symlinks in .gitmodules

Johannes Schindelin (2):
      is_ntfs_dotgit: match other .git files
      is_{hfs,ntfs}_dotgitmodules: add tests

Junio C Hamano (1):
      Git 2.13.7


Version v2.13.6; changes since v2.13.5:
---------------------------------------

Jeff King (3):
      shell: drop git-cvsserver support by default
      archimport: use safe_pipe_capture for user input
      cvsimport: shell-quote variable used in backticks

Junio C Hamano (6):
      cvsserver: move safe_pipe_capture() to the main package
      cvsserver: use safe_pipe_capture for `constant commands` as well
      Git 2.10.5
      Git 2.11.4
      Git 2.12.5
      Git 2.13.6

joernchen (1):
      cvsserver: use safe_pipe_capture instead of backticks


Version v2.13.5; changes since v2.13.4:
---------------------------------------

Jeff King (5):
      t/lib-proto-disable: restore protocol.allow after config tests
      t5813: add test for hostname starting with dash
      connect: factor out "looks like command line option" check
      connect: reject dashed arguments for proxy commands
      connect: reject paths that look like command line options

Junio C Hamano (8):
      connect: reject ssh hostname that begins with a dash
      Git 2.7.6
      Git 2.8.6
      Git 2.9.5
      Git 2.10.4
      Git 2.11.3
      Git 2.12.4
      Git 2.13.5


Version v2.13.4; changes since v2.13.3:
---------------------------------------

Beat Bolli (1):
      unicode: update the width tables to Unicode 10

Eric Wong (1):
      set FD_CLOEXEC properly when O_CLOEXEC is not supported

Jeff King (2):
      gc: run pre-detach operations under lock
      t: handle EOF in test_copy_bytes()

Johannes Schindelin (2):
      t1300: demonstrate that CamelCased aliases regressed
      alias: compare alias name *case-insensitively*

Jonathan Nieder (1):
      pre-rebase hook: capture documentation in a <<here document

Junio C Hamano (3):
      fixes from 'master' for 2.13.4
      Preparation for 2.13.4 continues
      Git 2.13.4

Kaartic Sivaraam (3):
      doc: correct a mistake in an illustration
      doc: camelCase the i18n config variables to improve readability
      doc: reformat the paragraph containing the 'cut-line'

Phillip Wood (4):
      add -i: move unquote_path() to Git.pm
      Git::unquote_path(): handle '\a'
      Git::unquote_path(): throw an exception on bad path
      t9700: add tests for Git::unquote_path()

René Scharfe (3):
      apply: use starts_with() in gitdiff_verify_name()
      apply: use strcmp(3) for comparing strings in gitdiff_verify_name()
      progress: show overall rate in last update

Torsten Bögershausen (1):
      cygwin: allow pushing to UNC paths


Version v2.13.3; changes since v2.13.2:
---------------------------------------

A. Wilcox (1):
      subtree: honour USE_ASCIIDOCTOR when set

Alejandro R. Sedeño (1):
      ref-filter.c: drop return from void function

Andreas Heiduk (2):
      doc: do not use `rm .git/index` when normalizing line endings
      doc: clarify syntax for %C(auto,...) in pretty formats

Christian Couder (3):
      read-cache: use shared perms when writing shared index
      t1301: move modebits() to test-lib-functions.sh
      t1700: make sure split-index respects core.sharedrepository

David Aguilar (1):
      mergetools/meld: improve compatibiilty with Meld on macOS X

James Clarke (1):
      pack-bitmap: don't perform unaligned memory access

Jeff King (10):
      diff-highlight: split code into module
      add--interactive: handle EOF in prompt_yesno
      add--interactive: quote commentChar regex
      reflog-walk: skip over double-null oid due to HEAD rename
      reflog-walk: duplicate strings in complete_reflogs list
      reflog-walk: don't free reflogs added to cache
      reflog-walk: include all fields when freeing complete_reflogs
      branch: only perform HEAD check for local branches
      branch: use BRANCH_COLOR_LOCAL in ref-filter format
      branch: set remote color in ref-filter branch immediately

Johannes Schindelin (8):
      discover_git_directory(): avoid setting invalid git_dir
      config: report correct line number upon error
      help: use early config when autocorrecting aliases
      t1308: relax the test verifying that empty alias values are disallowed
      t7006: demonstrate a problem with aliases in subdirectories
      alias: use the early config machinery to expand aliases
      sequencer: print autostash messages to stderr
      t5534: fix misleading grep invocation

Junio C Hamano (5):
      t3420: fix under GETTEXT_POISON build
      t1450: use egrep for regexp "alternation"
      submodule--helper: do not call utf8_fprintf() unnecessarily
      Prepare for 2.13.3
      Git 2.13.3

Kaartic Sivaraam (2):
      t7508: fix a broken indentation
      builtin/commit.c: fix a typo in the comment

Marc Branchaud (1):
      auto-correct: tweak phrasing

Phillip Wood (3):
      rebase -i: add test for reflog message
      rebase: add regression tests for console output
      rebase: add more regression tests for console output

Ralf Thielow (1):
      l10n: de.po: fix typo

René Scharfe (4):
      pretty: recalculate duplicate short hashes
      apply: check git diffs for missing old filenames
      apply: check git diffs for invalid file modes
      apply: check git diffs for mutually exclusive header lines

Stefan Beller (2):
      t4005: modernize style and drop hard coded sha1
      merge-recursive: use DIFF_XDL_SET macro

Ævar Arnfjörð Bjarmason (1):
      sha1dc: update from upstream


Version v2.13.2; changes since v2.13.1:
---------------------------------------

Adam Dinwoodie (1):
      docs: fix formatting and grammar

Brandon Williams (12):
      t5550: use write_script to generate post-update hook
      t0061: run_command executes scripts without a #! line
      run-command: prepare command before forking
      run-command: use the async-signal-safe execv instead of execvp
      string-list: add string_list_remove function
      run-command: prepare child environment before forking
      run-command: don't die in child when duping /dev/null
      run-command: eliminate calls to error handling functions in child
      run-command: handle dup2 and close errors in child
      run-command: add note about forking and threading
      run-command: expose is_executable function
      run-command: restrict PATH search to executable files

Dennis Kaarsemaker (1):
      send-email: Net::SMTP::SSL is obsolete, use only when necessary

Eric Wong (1):
      run-command: block signals between fork and execve

Jeff Hostetler (1):
      read-cache: close index.lock in do_write_index

Jeff King (23):
      usage.c: add BUG() function
      setup_git_env: convert die("BUG") to BUG()
      config: complain about --local outside of a git repo
      usage.c: drop set_error_handle()
      handle_revision_arg: reset "dotdot" consistently
      handle_revision_arg: simplify commit reference lookups
      handle_revision_arg: stop using "dotdot" as a generic pointer
      handle_revision_arg: hoist ".." check out of range parsing
      handle_revision_arg: add handle_dotdot() helper
      sha1_name: consistently refer to object_context as "oc"
      get_sha1_with_context: always initialize oc->symlink_path
      get_sha1_with_context: dynamically allocate oc->path
      t4063: add tests of direct blob diffs
      handle_revision_arg: record modes for "a..b" endpoints
      handle_revision_arg: record paths for pending objects
      diff: pass whole pending entry in blobinfo
      diff: use the word "path" instead of "name" for blobs
      diff: use pending "path" if it is available
      diff: use blob path for blob/file diffs
      connect.c: fix leak in parse_one_symref_info()
      remote: drop free_refspecs() function
      t5313: make extended-table test more deterministic
      sha1dc: ignore indent-with-non-tab whitespace violations

Jonathan Nieder (1):
      send-email: Net::SMTP::starttls was introduced in v2.34

Junio C Hamano (6):
      name-rev: refactor logic to see if a new candidate is a better name
      name-rev: favor describing with tags and use committer date to tiebreak
      test: allow skipping the remainder
      diff-tree: update stale in-code comments
      Prepare for 2.13.2
      Git 2.13.2

Kyle J. McKay (1):
      t5100: add some more mailinfo tests

Lars Schneider (1):
      Configure Git contribution guidelines for github.com

Patrick Steinhardt (1):
      git-stash: fix pushing stash with pathspec from subdir

Ramsay Jones (1):
      usage: add NORETURN to BUG() function definitions

René Scharfe (5):
      p0004: simplify calls of test-lazy-init-name-hash
      p0004: avoid using pipes
      p0004: use test_perf
      p0004: don't abort if multi-threaded is too slow
      p0004: don't error out if test repo is too small

Rikard Falkeborn (1):
      completion: add completions for git config commit

SZEDER Gábor (6):
      revision.h: turn rev_info.early_output back into an unsigned int
      revision.c: stricter parsing of '--no-{min,max}-parents'
      revision.c: stricter parsing of '--early-output'
      revision.c: use skip_prefix() in handle_revision_opt()
      revision.c: use skip_prefix() in handle_revision_pseudo_opt()
      docs/pretty-formats: stress that %- removes all preceding line-feeds

Sahil Dua (1):
      t3200: add test for single parameter passed to -m option

Samuel Lijin (6):
      t7300: clean -d should skip dirs with ignored files
      t7061: status --ignored should search untracked dirs
      dir: recurse into untracked dirs for ignored files
      dir: hide untracked contents of untracked dirs
      dir: expose cmp_name() and check_contains()
      clean: teach clean -d to preserve ignored paths

Stefan Beller (5):
      submodule_move_head: reuse child_process structure for futher commands
      submodule: avoid auto-discovery in new working tree manipulator code
      submodule: properly recurse for read-tree and checkout
      t5545: enhance test coverage when no http server is installed
      Documentation/git-rm: correct submodule description

Tyler Brazier (1):
      pull: ff --rebase --autostash works in dirty repo

Ævar Arnfjörð Bjarmason (2):
      wildmatch test: remove redundant duplicate test
      sha1dc: update from upstream

Štěpán Němec (1):
      doc: git-reset: fix a trivial typo


Version v2.13.1; changes since v2.13.0:
---------------------------------------

Andreas Heiduk (4):
      Documentation: fix reference to ifExists for interpret-trailers
      Documentation: fix formatting typo in pretty-formats.txt
      doc: filter-branch does not require re-export of vars
      doc: rewrite description for rev-parse --short

Brian Malehorn (1):
      interpret-trailers: honor the cut line

Jean-Noël Avila (3):
      usability: don't ask questions if no reply is required
      read-tree -m: make error message for merging 0 trees less smart aleck
      git-filter-branch: be more direct in an error message

Jeff King (14):
      am: fix commit buffer leak in get_commit_info()
      am: simplify allocations in get_commit_info()
      am: shorten ident_split variable name in get_commit_info()
      pack-objects: disable pack reuse for object-selection options
      t5310: fix "; do" style
      docs/config: clarify include/includeIf relationship
      docs/config: give a relative includeIf example
      docs/config: avoid the term "expand" for includes
      docs/config: consistify include.path examples
      t5400: avoid concurrent writes into a trace file
      ref-filter: resolve HEAD when parsing %(HEAD) atom
      revision.c: ignore broken tags with ignore_missing_links
      am: handle "-h" argument earlier
      docs/config: mention protocol implications of url.insteadOf

Johannes Schindelin (31):
      mingw: avoid memory leak when splitting PATH
      winansi: avoid use of uninitialized value
      winansi: avoid buffer overrun
      add_commit_patch_id(): avoid allocating memory unnecessarily
      git_config_rename_section_in_file(): avoid resource leak
      get_mail_commit_oid(): avoid resource leak
      difftool: address a couple of resource/memory leaks
      status: close file descriptor after reading git-rebase-todo
      mailinfo & mailsplit: check for EOF while parsing
      cat-file: fix memory leak
      checkout: fix memory leak
      split_commit_in_progress(): simplify & fix memory leak
      setup_bare_git_dir(): help static analysis
      setup_discovered_git_dir(): plug memory leak
      pack-redundant: plug memory leak
      mktree: plug memory leaks reported by Coverity
      fast-export: avoid leaking memory in handle_tag()
      receive-pack: plug memory leak in update()
      line-log: avoid memory leak
      shallow: avoid memory leak
      add_reflog_for_walk: avoid memory leak
      remote: plug memory leak in match_explicit()
      name-rev: avoid leaking memory in the `deref` case
      show_worktree(): plug memory leak
      submodule_uses_worktrees(): plug memory leak
      Fix build with core.autocrlf=true
      git-new-workdir: mark script as LF-only
      completion: mark bash script as LF-only
      t3901: move supporting files into t/t3901/
      Fix the remaining tests that failed with core.autocrlf=true
      t4051: mark supporting files as requiring LF-only line endings

Johannes Sixt (2):
      mingw.h: permit arguments with side effects for is_dir_sep
      Windows: do not treat a path with backslashes as a remote's nick name

Jonathan Nieder (2):
      credential doc: make multiple-helper behavior more prominent
      clone: handle empty config values in -c

Jonathan Tan (3):
      sequencer: add newline before adding footers
      docs: correct receive.advertisePushOptions default
      receive-pack: verify push options in cert

Junio C Hamano (6):
      apply.c: fix whitespace-only mismerge
      checkout: fix memory leak
      doc: replace more gmane links
      read-tree: "read-tree -m --empty" does not make sense
      Prepare for 2.13.1; more topics to follow
      Git 2.13.1

Kyle Meyer (1):
      config.txt: add an entry for log.showSignature

Lars Schneider (6):
      travis-ci: build documentation with AsciiDoc and Asciidoctor
      travis-ci: parallelize documentation build
      travis-ci: unset compiler for jobs that do not need one
      travis-ci: check AsciiDoc/AsciiDoctor stderr output
      travis-ci: setup "prove cache" in "script" step
      travis-ci: add job to run tests with GETTEXT_POISON

Phillip Wood (3):
      rebase -i: fix reflog message
      rebase -i: silence stash apply
      rebase -i: add missing newline to end of message

Ramsay Jones (1):
      t7400: add !CYGWIN prerequisite to 'add with \\ in path'

René Scharfe (2):
      checkout: check return value of resolve_refdup before using hash
      am: check return value of resolve_refdup before using hash

SZEDER Gábor (1):
      docs/config.txt: fix indefinite article in core.fileMode description

Sahil Dua (1):
      branch test: fix invalid config key access

Stefan Beller (1):
      t5531: fix test description

Sven Strickroth (1):
      doc: use https links to Wikipedia to avoid http redirects

Thomas Gummerer (1):
      completion: add git stash push

Torsten Bögershausen (1):
      t0027: tests are not expensive; remove t0025

brian m. carlson (1):
      builtin/log: honor log.decorate

Ævar Arnfjörð Bjarmason (6):
      config.mak.uname: set NO_REGEX=NeedsStartEnd on AIX
      doc: replace a couple of broken gmane links
      tests: fix tests broken under GETTEXT_POISON=YesPlease
      sha1dc: update from upstream
      tag: duplicate mention of --contains should mention --no-contains
      C style: use standard style for "TRANSLATORS" comments


Version v2.13.0; changes since v2.13.0-rc2:
-------------------------------------------

Alexander Shopov (2):
      l10n: bg.po: Updated Bulgarian translation (3201t)
      l10n: bg.po: Updated Bulgarian translation (3195t)

Jean-Noël Avila (2):
      l10n: fr.po v2.13 round 1
      l10n: fr.po v2.13 rnd 2

Jeff Hostetler (1):
      t1450: avoid use of "sed" on the index, which is a binary file

Jeff King (1):
      shell: disallow repo names beginning with dash

Jiang Xin (4):
      l10n: git.pot: v2.13.0 round 1 (96 new, 37 removed)
      l10n: zh_CN: for git v2.13.0 l10n round 1
      l10n: git.pot: v2.13.0 round 2 (4 new, 7 removed)
      l10n: zh_CN: for git v2.13.0 l10n round 2

Jordi Mas (1):
      l10n: Update Catalan translation

Junio C Hamano (10):
      Git 2.4.12
      Git 2.5.6
      Git 2.6.7
      Git 2.7.5
      Git 2.8.5
      Git 2.9.4
      Git 2.10.3
      Git 2.11.2
      Git 2.12.3
      Git 2.13

Michael J Gruber (1):
      l10n: de.po: lower case after semi-colon

Peter Krefting (2):
      l10n: sv.po: Update Swedish translation (3199t0f0u)
      l10n: sv.po: Update Swedish translation (3195t0f0u)

Ralf Thielow (2):
      l10n: de.po: update German translation
      l10n: de.po: translate 4 new messages

Ray Chen (1):
      l10n: zh_CN: review for git v2.13.0 l10n round 1

Trần Ngọc Quân (2):
      l10n: vi.po(3198t): Updated Vietnamese translation for v2.13.0-rc0
      l10n: vi.po(3195t): Update translation for v2.13.0 round 2

Vasco Almeida (1):
      l10n: pt_PT: update Portuguese translation


Version v2.13.0-rc2; changes since v2.13.0-rc1:
-----------------------------------------------

Jean-Noël Avila (1):
      i18n: remove i18n from tag reflog message

Jeff King (3):
      completion: optionally disable checkout DWIM
      submodule_init: die cleanly on submodules without url defined
      prio_queue_reverse: don't swap elements with themselves

Junio C Hamano (2):
      Merging a handful of topics before -rc2
      Git 2.13-rc2

Lars Schneider (2):
      travis-ci: printf $STATUS as string
      travis-ci: set DEVELOPER knob for Linux32 build

Peter Krefting (1):
      i18n: read-cache: typofix

René Genz (3):
      doc: update SubmittingPatches
      fix minor typos
      doc: git-pull.txt use US spelling, fix minor typo

Simon Ruderich (1):
      githooks.txt: clarify push hooks are always executed in $GIT_DIR

Stephen Hicks (1):
      rebase -i: reread the todo list if `exec` touched it

Ævar Arnfjörð Bjarmason (1):
      t/perf: correctly align non-ASCII descriptions in output


Version v2.13.0-rc1; changes since v2.13.0-rc0:
-----------------------------------------------

Brandon Williams (1):
      submodule: prevent backslash expantion in submodule names

Christian Couder (1):
      read-cache: avoid using git_path() in freshen_shared_index()

David Turner (2):
      http.postbuffer: allow full range of ssize_t values
      xgethostname: handle long hostnames

Giuseppe Bilotta (4):
      builtin/am: honor --signoff also when --rebasing
      builtin/am: fold am_signoff() into am_append_signoff()
      doc: trivial typo in git-format-patch.txt
      rebase: pass --[no-]signoff option to git am

Jacob Keller (2):
      ls-files: fix recurse-submodules with nested submodules
      ls-files: fix path used when recursing into submodules

Jeff Hostetler (8):
      read-cache: force_verify_index_checksum
      string-list: use ALLOC_GROW macro when reallocing string_list
      read-cache: add strcmp_offset function
      unpack-trees: avoid duplicate ODB lookups during checkout
      p0006-read-tree-checkout: perf test to time read-tree
      read-cache: speed up add_index_entry during checkout
      read-cache: speed up has_dir_name (part 1)
      read-cache: speed up has_dir_name (part 2)

Jeff King (16):
      receive-pack: drop tmp_objdir_env from run_update_hook
      receive-pack: document user-visible quarantine effects
      refs: reject ref updates while GIT_QUARANTINE_PATH is set
      bisect: add git_path_bisect_terms helper
      branch: add edit_description() helper
      use git_path_* helper functions
      replace xstrdup(git_path(...)) with git_pathdup(...)
      replace strbuf_addstr(git_path()) with git_path_buf()
      am: drop "dir" parameter from am_state_init
      connect.c: fix leak in handle_ssh_variant
      doc: use https links to avoid http redirect
      doc: replace or.cz gitwiki link with git.wiki.kernel.org
      gitcore-tutorial: update broken link
      docs/archimport: quote sourcecontrol.net reference
      docs/bisect-lk2009: update nist report link
      docs/bisect-lk2009: update java code conventions link

Jonathan Tan (1):
      fetch-pack: show clearer error message upon ERR

Junio C Hamano (3):
      replace: plug a memory leak
      Getting ready for -rc1
      Git 2.13-rc1

Kyle Meyer (1):
      t1400: use consistent style for test_expect_success calls

Lars Schneider (1):
      travis-ci: add static analysis build job to run coccicheck

Michael Haggerty (20):
      get_ref_dir(): don't call read_loose_refs() for "refs/bisect"
      refs_read_raw_ref(): new function
      refs_ref_iterator_begin(): new function
      refs_verify_refname_available(): implement once for all backends
      refs_verify_refname_available(): use function in more places
      ref-cache: rename `add_ref()` to `add_ref_entry()`
      ref-cache: rename `find_ref()` to `find_ref_entry()`
      ref-cache: rename `remove_entry()` to `remove_entry_from_dir()`
      refs: split `ref_cache` code into separate files
      ref-cache: introduce a new type, ref_cache
      refs: record the ref_store in ref_cache, not ref_dir
      ref-cache: use a callback function to fill the cache
      refs: handle "refs/bisect/" in `loose_fill_ref_dir()`
      do_for_each_entry_in_dir(): eliminate `offset` argument
      get_loose_ref_dir(): function renamed from get_loose_refs()
      get_loose_ref_cache(): new function
      cache_ref_iterator_begin(): make function smarter
      commit_packed_refs(): use reference iteration
      files_pack_refs(): use reference iteration
      do_for_each_entry_in_dir(): delete function

Nguyễn Thái Ngọc Duy (6):
      path.c: and an option to call real_path() in expand_user_path()
      config: resolve symlinks in conditional include's patterns
      config: prepare to pass more info in git_config_with_options()
      config: handle conditional include when $GIT_DIR is not set up
      config: correct file reading order in read_early_config()
      worktree add: add --lock option

Patrick Steinhardt (1):
      pathspec: honor `PATHSPEC_PREFIX_ORIGIN` with empty prefix

Prathamesh Chavan (1):
      t2027: avoid using pipes

René Scharfe (4):
      am: close stream on error, but not stdin
      files_for_each_reflog_ent_reverse(): close stream and free strbuf on error
      server-info: avoid calling fclose(3) twice in update_info_file()
      use HOST_NAME_MAX to size buffers for gethostname(2)

Sebastian Schuberth (4):
      sha1_file: remove an used fd variable
      submodule: remove a superfluous second check for the "new" variable
      gitmodules: clarify what history depth a shallow clone has
      gitmodules: clarify the ignore option values

Sergey Ryazanov (2):
      http: honor empty http.proxy option to bypass proxy
      http: fix the silent ignoring of proxy misconfiguraion

Torsten Bögershausen (1):
      gitattributes.txt: document how to normalize the line endings

Ævar Arnfjörð Bjarmason (2):
      push: document & test --force-with-lease with multiple remotes
      completion: expand "push --delete <remote> <ref>" for refs on that <remote>


Version v2.13.0-rc0; changes since v2.12.5:
-------------------------------------------

Alex Henrie (1):
      log: if --decorate is not given, default to --decorate=auto

Andreas Heiduk (2):
      Documentation: improve description for core.quotePath
      diff-files: document --ours etc.

Brandon Williams (36):
      attr: pass struct attr_check to collect_some_attrs
      attr: use hashmap for attribute dictionary
      attr: eliminate global check_all_attr array
      attr: remove maybe-real, maybe-macro from git_attr
      attr: tighten const correctness with git_attr and match_attr
      attr: store attribute stack in attr_check structure
      attr: push the bare repo check into read_attr()
      attr: reformat git_attr_set_direction() function
      pathspec: allow querying for attributes
      pathspec: allow escaped query values
      submodule--helper: add is-active subcommand
      submodule status: use submodule--helper is-active
      submodule sync: skip work for inactive submodules
      submodule sync: use submodule--helper is-active
      submodule--helper clone: check for configured submodules using helper
      grep: fix help text typo
      setup: allow for prefix to be passed to git commands
      grep: fix bug when recursing with relative pathspec
      ls-files: fix typo in variable name
      ls-files: fix bug when recursing with relative pathspec
      grep: set default output method
      submodule: decouple url and submodule interest
      submodule init: initialize active submodules
      clone: teach --recurse-submodules to optionally take a pathspec
      submodule--helper init: set submodule.<name>.active
      submodule add: respect submodule.active and submodule.<name>.active
      grep: fix builds with with no thread support
      send-pack: send push options correctly in stateless-rpc case
      remote-curl: allow push options
      sequencer: fix missing newline
      push: unmark a local variable as static
      push: propagate push-options with --recurse-submodules
      remote: expose parse_push_refspec function
      submodule--helper: add push-check subcommand
      push: propagate remote and refspec with --recurse-submodules
      pathspec: fix segfault in clear_pathspec

Christian Couder (24):
      config: mark an error message up for translation
      t1700: change here document style
      config: add git_config_get_split_index()
      split-index: add {add,remove}_split_index() functions
      read-cache: add and then use tweak_split_index()
      update-index: warn in case of split-index incoherency
      t1700: add tests for core.splitIndex
      Documentation/config: add information for core.splitIndex
      Documentation/git-update-index: talk about core.splitIndex config var
      config: add git_config_get_max_percent_split_change()
      read-cache: regenerate shared index if necessary
      t1700: add tests for splitIndex.maxPercentChange
      Documentation/config: add splitIndex.maxPercentChange
      sha1_file: make check_and_freshen_file() non static
      read-cache: touch shared index files when used
      config: add git_config_get_expiry() from gc.c
      read-cache: unlink old sharedindex files
      t1700: test shared index file expiration
      read-cache: refactor read_index_from()
      read-cache: use freshen_shared_index() in read_index_from()
      Documentation/config: add splitIndex.sharedIndexExpire
      Documentation/git-update-index: explain splitIndex.*
      update-index: fix xgetcwd() related memory leak
      p0004: make perf test executable

Cornelius Weig (1):
      tag: generate useful reflog message

David Aguilar (3):
      t7800: remove whitespace before redirect
      t7800: cleanup cruft left behind by tests
      difftool: handle modified symlinks in dir-diff mode

Devin Lehmacher (3):
      path.c: add xdg_cache_home
      credential-cache: use XDG_CACHE_HOME for socket
      credential-cache: add tests for XDG functionality

Hiroshi Shirosaki (1):
      git svn: fix authentication with 'branch'

Jacob Keller (5):
      doc: add documentation for OPT_STRING_LIST
      name-rev: extend --refs to accept multiple patterns
      name-rev: add support to exclude refs by pattern match
      describe: teach --match to accept multiple patterns
      describe: teach describe negative pattern matches

Jeff Hostetler (9):
      preload-index: avoid lstat for skip-worktree items
      name-hash: specify initial size for istate.dir_hash table
      hashmap: allow memihash computation to be continued
      hashmap: add disallow_rehash setting
      hashmap: document memihash_cont, hashmap_disallow_rehash api
      name-hash: perf improvement for lazy_init_name_hash
      name-hash: add test-lazy-init-name-hash
      name-hash: add perf test for lazy_init_name_hash
      test-online-cpus: helper to return cpu count

Jeff King (58):
      setup_git_env: avoid blind fall-back to ".git"
      for_each_alternate_ref: handle failure from real_pathdup()
      for_each_alternate_ref: stop trimming trailing slashes
      for_each_alternate_ref: use strbuf for path allocation
      for_each_alternate_ref: pass name/oid instead of ref struct
      for_each_alternate_ref: replace transport code with for-each-ref
      fetch-pack: cache results of for_each_alternate_ref
      add oidset API
      receive-pack: use oidset to de-duplicate .have lines
      receive-pack: fix misleading namespace/.have comment
      receive-pack: treat namespace .have lines like alternates
      receive-pack: avoid duplicates between our refs and alternates
      ref-filter: move ref_cbdata definition into ref-filter.c
      ref-filter: use contains_result enum consistently
      ref-filter: die on parse_commit errors
      ref-filter: use separate cache for contains_tag_algo
      add--interactive: do not expand pathspecs with ls-files
      cherry-pick: detect bogus arguments to --mainline
      sha1dc: add collision-detecting sha1 implementation
      sha1dc: adjust header includes for git
      sha1dc: disable safe_hash feature
      sequencer: drop "warning:" when stopping for edit
      Makefile: add DC_SHA1 knob
      t0013: add a basic sha1 collision detection test
      hash-object: fix buffer reuse with --path in a subdirectory
      prefix_filename: move docstring to header file
      prefix_filename: drop length parameter
      prefix_filename: return newly allocated string
      prefix_filename: simplify windows #ifdef
      bundle: use prefix_filename with bundle path
      pager_in_use: use git_env_bool()
      fast-import: use xsnprintf for writing sha1s
      fast-import: use xsnprintf for formatting headers
      encode_in_pack_object_header: respect output buffer length
      pack.h: define largest possible encoded object size
      do not check odb_mkstemp return value for errors
      odb_mkstemp: write filename into strbuf
      odb_mkstemp: use git_path_buf
      Makefile: detect errors in running spatch
      difftool: avoid strcpy
      diff: avoid fixed-size buffer for patch-ids
      tag: use strbuf to format tag header
      fetch: use heap buffer to format reflog
      avoid using fixed PATH_MAX buffers for refs
      avoid using mksnpath for refs
      create_branch: move msg setup closer to point of use
      create_branch: use xstrfmt for reflog message
      name-rev: replace static buffer with strbuf
      receive-pack: print --pack-header directly into argv array
      replace unchecked snprintf calls with heap buffers
      combine-diff: replace malloc/snprintf with xstrfmt
      convert unchecked snprintf into xsnprintf
      transport-helper: replace checked snprintf with xsnprintf
      gc: replace local buffer with git_path
      daemon: use an argv_array to exec children
      sha1_loose_object_info: return error for corrupted objects
      index-pack: detect local corruption in collision check
      connect.c: handle errors from split_cmdline

Johannes Schindelin (20):
      git_connect(): factor out SSH variant handling
      rebase--helper: add a builtin helper for interactive rebases
      rebase -i: use the rebase--helper builtin
      rev-parse: fix several options when running in a subdirectory
      t7006: replace dubious test
      setup_git_directory(): use is_dir_sep() helper
      setup: prepare setup_discovered_git_dir() for the root directory
      setup_git_directory_1(): avoid changing global state
      setup: introduce the discover_git_directory() function
      setup: make read_early_config() reusable
      read_early_config(): avoid .git/config hack when unneeded
      read_early_config(): really discover .git/
      t1309: test read_early_config()
      setup_git_directory_gently_1(): avoid die()ing
      t1309: document cases where we would want early config not to die()
      setup.c: mention unresolved problems
      t7504: document regression: reword no longer calls commit-msg
      sequencer: make commit options more extensible
      sequencer: allow the commit-msg hooks to run during a `reword`
      difftool: fix use-after-free

Jonathan Nieder (1):
      has_sha1_file: don't bother if we are not in a repository

Junio C Hamano (41):
      merge: drop 'git merge <message> HEAD <commit>' syntax
      connect: rename tortoiseplink and putty variables
      commit.c: use strchrnul() to scan for one line
      attr.c: use strchrnul() to scan for one line
      attr.c: update a stale comment on "struct match_attr"
      attr.c: explain the lack of attr-name syntax check in parse_attr()
      attr.c: complete a sentence in a comment
      attr.c: mark where #if DEBUG ends more clearly
      attr.c: simplify macroexpand_one()
      attr.c: tighten constness around "git_attr" structure
      attr.c: plug small leak in parse_attr_line()
      attr.c: add push_stack() helper
      attr.c: outline the future plans by heavily commenting
      attr: rename function and struct related to checking attributes
      attr: (re)introduce git_check_attr() and struct attr_check
      attr: convert git_all_attrs() to use "struct attr_check"
      attr: convert git_check_attrs() callers to use the new API
      attr: retire git_check_attrs() API
      attr: change validity check for attribute names to use positive logic
      ref-filter: resurrect "strip" as a synonym to "lstrip"
      connect.c: stop conflating ssh command names and overrides
      First batch after 2.12
      branch: honor --abbrev/--no-abbrev in --list mode
      Second batch after 2.12
      Third batch after 2.12
      Fourth batch after 2.12
      Makefile: make DC_SHA1 the default
      Fifth batch for 2.13
      Sixth batch for 2.13
      tests: lint for run-away here-doc
      branch doc: update description for `--list`
      Seventh batch for 2.13
      sha1dc: avoid CPP macro collisions
      Eighth batch for 2.13
      Ninth batch for 2.13
      Tenth batch for 2.13
      remote.[ch]: parse_push_cas_option() can be static
      contrib/git-resurrect.sh: do not write \t for HT in sed scripts
      Eleventh batch for 2.13
      Twelfth batch for 2.13
      Git 2.13-rc0

Karthik Nayak (20):
      ref-filter: implement %(if), %(then), and %(else) atoms
      ref-filter: include reference to 'used_atom' within 'atom_value'
      ref-filter: implement %(if:equals=<string>) and %(if:notequals=<string>)
      ref-filter: modify "%(objectname:short)" to take length
      ref-filter: move get_head_description() from branch.c
      ref-filter: introduce format_ref_array_item()
      ref-filter: make %(upstream:track) prints "[gone]" for invalid upstreams
      ref-filter: add support for %(upstream:track,nobracket)
      ref-filter: make "%(symref)" atom work with the ':short' modifier
      ref-filter: introduce refname_atom_parser_internal()
      ref-filter: introduce refname_atom_parser()
      ref-filter: make remote_ref_atom_parser() use refname_atom_parser_internal()
      ref-filter: rename the 'strip' option to 'lstrip'
      ref-filter: Do not abruptly die when using the 'lstrip=<N>' option
      ref-filter: modify the 'lstrip=<N>' option to work with negative '<N>'
      ref-filter: add an 'rstrip=<N>' option to atoms which deal with refnames
      ref-filter: allow porcelain to translate messages in the output
      branch, tag: use porcelain output
      branch: use ref-filter printing APIs
      branch: implement '--format' option

Kevin Willford (2):
      name-hash: fix buffer overrun
      t3008: skip lazy-init test on a single-core box

Kyle Meyer (10):
      delete_ref: accept a reflog message argument
      update-ref: pass reflog message to delete_ref()
      rename_ref: replace empty message in HEAD's log
      branch: record creation of renamed branch in HEAD's log
      t1400: rename test descriptions to be unique
      t1400: set core.logAllRefUpdates in "logged by touch" tests
      t1400: use test_path_is_* helpers
      t1400: remove a set of unused output files
      t1400: use test_when_finished for cleanup
      doc/revisions: remove brackets from rev^-n shorthand

Lars Schneider (1):
      travis-ci: build and test Git on Windows

Linus Torvalds (3):
      pathspec magic: add '^' as alias for '!'
      pathspec: don't error out on all-exclusionary pathspec patterns
      mailinfo: fix in-body header continuations

Luke Diamand (3):
      git-p4: add failing test for name-rev rather than symbolic-ref
      git-p4: add read_pipe_text() internal function
      git-p4: don't use name-rev to get current branch

Matt McCutchen (1):
      merge-recursive: make "CONFLICT (rename/delete)" message show both paths

Michael Haggerty (32):
      files_rename_ref(): tidy up whitespace
      refname_is_safe(): correct docstring
      t5505: use "for-each-ref" to test for the non-existence of references
      safe_create_leading_directories_const(): preserve errno
      safe_create_leading_directories(): set errno on SCLD_EXISTS
      raceproof_create_file(): new function
      lock_ref_sha1_basic(): inline constant
      lock_ref_sha1_basic(): use raceproof_create_file()
      rename_tmp_log(): use raceproof_create_file()
      rename_tmp_log(): improve error reporting
      log_ref_write(): inline function
      log_ref_setup(): separate code for create vs non-create
      log_ref_setup(): improve robustness against races
      log_ref_setup(): pass the open file descriptor back to the caller
      log_ref_write_1(): don't depend on logfile argument
      log_ref_setup(): manage the name of the reflog file internally
      log_ref_write_1(): inline function
      delete_ref_loose(): derive loose reference path from lock
      delete_ref_loose(): inline function
      try_remove_empty_parents(): rename parameter "name" -> "refname"
      try_remove_empty_parents(): don't trash argument contents
      try_remove_empty_parents(): teach to remove parents of reflogs, too
      files_transaction_commit(): clean up empty directories
      refs: reorder some function definitions
      refs: make some ref_store lookup functions private
      refs: remove some unnecessary handling of submodule == ""
      register_ref_store(): new function
      refs: store submodule ref stores in a hashmap
      refs: push the submodule attribute down
      base_ref_store_init(): remove submodule argument
      files_ref_store::submodule: use NULL for the main repository
      read_loose_refs(): read refs using resolve_ref_recursively()

Michael J Gruber (3):
      git-prompt: add a describe style for any tags
      describe: localize debug output fully
      l10n: de: translate describe debug terms

Michael Rappazzo (1):
      rev-parse tests: add tests executed from a subdirectory

Mike Hommey (1):
      notes: do not break note_tree structure in note_tree_consolidate()

Mostyn Bramley-Moore (1):
      Documentation: document elements in "ls-files -s" output in order

Nguyễn Thái Ngọc Duy (33):
      attr: support quoting pathname patterns in C style
      clean: use warning_errno() when appropriate
      config.txt: clarify multiple key values in include.path
      config.txt: reflow the second include.path paragraph
      config: add conditional include
      refs.h: add forward declaration for structs used in this file
      files-backend: make files_log_ref_write() static
      files-backend.c: delete dead code in files_ref_iterator_begin()
      files-backend: delete dead code in files_init_db()
      files-backend: add and use files_packed_refs_path()
      files-backend: make sure files_rename_ref() always reach the end
      files-backend: convert git_path() to strbuf_git_path()
      files-backend: move "logs/" out of TMP_RENAMED_LOG
      files-backend: add and use files_reflog_path()
      files-backend: add and use files_ref_path()
      files-backend: remove the use of git_path()
      refs.c: introduce get_main_ref_store()
      refs: rename lookup_ref_store() to lookup_submodule_ref_store()
      refs.c: flatten get_ref_store() a bit
      refs.c: kill register_ref_store(), add register_submodule_ref_store()
      refs.c: make get_main_ref_store() public and use it
      path.c: move some code out of strbuf_git_path_submodule()
      refs: move submodule code out of files-backend.c
      files-backend: replace submodule_allowed check in files_downcast()
      refs: rename get_ref_store() to get_submodule_ref_store() and make it public
      refs: add new ref-store api
      refs: new transaction related ref-store api
      files-backend: avoid ref api targeting main ref store
      refs: delete pack_refs() in favor of refs_pack_refs()
      t/helper: add test-ref-store to test ref-store functions
      t1405: some basic tests on main ref store
      t1406: new tests for submodule ref store
      refs.h: add a note about sorting order of for_each_ref_*

Patrick Steinhardt (5):
      mailmap: add Patrick Steinhardt's work address
      urlmatch: enable normalization of URLs with globs
      urlmatch: split host and port fields in `struct url_info`
      urlmatch: include host in urlmatch ranking
      urlmatch: allow globbing for the URL host part

Quentin Pradet (1):
      git-bisect.txt: add missing word

Ralf Thielow (2):
      submodule.c: add missing ' in error messages
      git-add--interactive.perl: add missing dot in a message

Ramsay Jones (1):
      name-hash: add test-lazy-init-name-hash to .gitignore

René Scharfe (4):
      log-tree: factor out fmt_output_email_subject()
      pretty: use fmt_output_email_subject()
      strbuf: support long paths w/o read rights in strbuf_getcwd() on FreeBSD
      test-read-cache: setup git dir

SZEDER Gábor (41):
      completion: improve __git_refs()'s in-code documentation
      completion tests: don't add test cruft to the test repository
      completion tests: make the $cur variable local to the test helper functions
      completion tests: consolidate getting path of current working directory
      completion tests: check __gitdir()'s output in the error cases
      completion tests: add tests for the __git_refs() helper function
      completion: ensure that the repository path given on the command line exists
      completion: fix most spots not respecting 'git --git-dir=<path>'
      completion: respect 'git --git-dir=<path>' when listing remote refs
      completion: list refs from remote when remote's name matches a directory
      completion: don't list 'HEAD' when trying refs completion outside of a repo
      completion: list short refs from a remote given as a URL
      completion: don't offer commands when 'git --opt' needs an argument
      completion: fix completion after 'git -C <path>'
      rev-parse: add '--absolute-git-dir' option
      completion: respect 'git -C <path>'
      completion: don't use __gitdir() for git commands
      completion: consolidate silencing errors from git commands
      completion: don't guard git executions with __gitdir()
      completion: extract repository discovery from __gitdir()
      completion: cache the path to the repository
      completion: restore removed line continuating backslash
      completion: remove redundant __gitcomp_nl() options from _git_commit()
      completion: wrap __git_refs() for better option parsing
      completion: support completing full refs after '--option=refs/<TAB>'
      completion: support completing fully qualified non-fast-forward refspecs
      completion: support excluding full refs
      completion: don't disambiguate tags and branches
      completion: don't disambiguate short refs
      completion: let 'for-each-ref' and 'ls-remote' filter matching refs
      completion: let 'for-each-ref' strip the remote name from remote branches
      completion: let 'for-each-ref' filter remote branches for 'checkout' DWIMery
      completion: let 'for-each-ref' sort remote branches for 'checkout' DWIMery
      completion: fill COMPREPLY directly when completing refs
      completion: fill COMPREPLY directly when completing fetch refspecs
      completion: speed up branch and tag completion
      refs.c: use skip_prefix() in prettify_refname()
      completion: put matching ctags symbol names directly into COMPREPLY
      completion: extract completing ctags symbol names into helper function
      completion: offer ctags symbol names for 'git log -S', '-G' and '-L:'
      t6500: wait for detached auto gc at the end of the test script

Segev Finer (2):
      connect: handle putty/plink also in GIT_SSH_COMMAND
      connect: Add the envvar GIT_SSH_VARIANT and ssh.variant config

Stefan Beller (32):
      Documentation: fix a typo
      submodule init: warn about falling back to a local path
      rev-parse: add --show-superproject-working-tree
      connect_work_tree_and_git_dir: safely create leading directories
      lib-submodule-update.sh: reorder create_lib_submodule_repo
      lib-submodule-update.sh: do not use ./. as submodule remote
      lib-submodule-update: teach test_submodule_content the -C <dir> flag
      lib-submodule-update.sh: replace sha1 by hash
      lib-submodule-update.sh: define tests for recursing into submodules
      make is_submodule_populated gently
      update submodules: add submodule config parsing
      update submodules: add a config option to determine if submodules are updated
      submodules: introduce check to see whether to touch a submodule
      update submodules: move up prepare_submodule_repo_env
      submodule.c: get_super_prefix_or_empty
      update submodules: add submodule_move_head
      unpack-trees: pass old oid to verify_clean_submodule
      unpack-trees: check if we can perform the operation for submodules
      entry.c: create submodules when interesting
      builtin/checkout: add --recurse-submodules switch
      builtin/read-tree: add --recurse-submodules switch
      builtin/describe: introduce --broken flag
      submodule.c: use argv_array in is_submodule_modified
      submodule.c: factor out early loop termination in is_submodule_modified
      submodule.c: convert is_submodule_modified to use strbuf_getwholeline
      submodule.c: port is_submodule_modified to use porcelain 2
      submodule.c: stricter checking for submodules in is_submodule_modified
      short status: improve reporting for submodule changes
      unpack-trees.c: align submodule error message to the other error messages
      submodule.c: correctly handle nested submodules in is_submodule_modified
      diff: submodule inline diff to initialize env array.
      submodule--helper: fix typo in is_active error message

Thomas Gummerer (9):
      stash: introduce push verb
      stash: add test for the create command line arguments
      stash: refactor stash_create
      stash: teach 'push' (and 'create_stash') to honor pathspec
      stash: use stash_push for no verb form
      stash: allow pathspecs in the no verb form
      stash: don't show internal implementation details
      stash: pass the pathspec argument to git reset
      stash: keep untracked files intact in stash -k

Valery Tolstov (1):
      submodule--helper.c: remove duplicate code

Vegard Nossum (1):
      xdiff -W: relax end-of-file function detection

brian m. carlson (41):
      hex: introduce parse_oid_hex
      builtin/commit: convert to struct object_id
      builtin/diff-tree: convert to struct object_id
      builtin/describe: convert to struct object_id
      builtin/fast-export: convert to struct object_id
      builtin/fmt-merge-message: convert to struct object_id
      builtin/grep: convert to struct object_id
      builtin/branch: convert to struct object_id
      builtin/clone: convert to struct object_id
      builtin/merge: convert to struct object_id
      Convert remaining callers of resolve_refdup to object_id
      builtin/replace: convert to struct object_id
      reflog-walk: convert struct reflog_info to struct object_id
      refs: convert each_reflog_ent_fn to struct object_id
      refs: simplify parsing of reflog entries
      sha1_file: introduce an nth_packed_object_oid function
      Convert object iteration callbacks to struct object_id
      builtin/merge-base: convert to struct object_id
      wt-status: convert to struct object_id
      hash.h: move SHA-1 implementation selection into a header file
      Define new hash-size constants for allocating memory
      Convert GIT_SHA1_HEXSZ used for allocation to GIT_MAX_HEXSZ
      Convert GIT_SHA1_RAWSZ used for allocation to GIT_MAX_RAWSZ
      builtin/diff: convert to struct object_id
      builtin/pull: convert portions to struct object_id
      builtin/receive-pack: fix incorrect pointer arithmetic
      builtin/receive-pack: convert portions to struct object_id
      fsck: convert init_skiplist to struct object_id
      parse-options-cb: convert sha1_array_append caller to struct object_id
      test-sha1-array: convert most code to struct object_id
      sha1_name: convert struct disambiguate_state to object_id
      sha1_name: convert disambiguate_hint_fn to take object_id
      submodule: convert check_for_new_submodule_commits to object_id
      builtin/pull: convert to struct object_id
      sha1-array: convert internal storage for struct sha1_array to object_id
      Make sha1_array_append take a struct object_id *
      Convert remaining callers of sha1_array_lookup to object_id
      Convert sha1_array_lookup to take struct object_id
      Convert sha1_array_for_each_unique and for_each_abbrev to object_id
      Rename sha1_array to oid_array
      Documentation: update and rename api-sha1-array.txt

Ævar Arnfjörð Bjarmason (25):
      tag doc: move the description of --[no-]merged earlier
      tag doc: split up the --[no-]merged documentation
      tag doc: reword --[no-]merged to talk about commits, not tips
      ref-filter: make combining --merged & --no-merged an error
      doc/SubmittingPatches: clarify the casing convention for "area: change..."
      t/README: link to metacpan.org, not search.cpan.org
      t/README: change "Inside <X> part" to "Inside the <X> part"
      ref-filter: add test for --contains on a non-commit
      tag: remove a TODO item from the test suite
      tag tests: fix a typo in a test description
      for-each-ref: partly change <object> to <commit> in help
      branch doc: change `git branch <pattern>` to use `<branchname>`
      tag: add more incompatibles mode tests
      parse-options: add OPT_NONEG to the "contains" option
      tag: change misleading --list <pattern> documentation
      tag: implicitly supply --list given another list-like option
      tag: change --point-at to default to HEAD
      ref-filter: add --no-contains option to tag/branch/for-each-ref
      ref-filter: reflow recently changed branch/tag/for-each-ref docs
      tag: add tests for --with and --without
      t/README: clarify the test_have_prereq documentation
      doc/SubmittingPatches: show how to get a CLI commit summary
      rev-parse: match @{upstream}, @{u} and @{push} case-insensitively
      perl: regenerate perl.mak if perl -V changes
      grep: plug a trivial memory leak


Version v2.12.5; changes since v2.12.4:
---------------------------------------

Jeff King (3):
      shell: drop git-cvsserver support by default
      archimport: use safe_pipe_capture for user input
      cvsimport: shell-quote variable used in backticks

Junio C Hamano (5):
      cvsserver: move safe_pipe_capture() to the main package
      cvsserver: use safe_pipe_capture for `constant commands` as well
      Git 2.10.5
      Git 2.11.4
      Git 2.12.5

joernchen (1):
      cvsserver: use safe_pipe_capture instead of backticks


Version v2.12.4; changes since v2.12.3:
---------------------------------------

Jeff King (5):
      t/lib-proto-disable: restore protocol.allow after config tests
      t5813: add test for hostname starting with dash
      connect: factor out "looks like command line option" check
      connect: reject dashed arguments for proxy commands
      connect: reject paths that look like command line options

Junio C Hamano (7):
      connect: reject ssh hostname that begins with a dash
      Git 2.7.6
      Git 2.8.6
      Git 2.9.5
      Git 2.10.4
      Git 2.11.3
      Git 2.12.4


Version v2.12.3; changes since v2.12.2:
---------------------------------------

Devin J. Pohly (4):
      t7003: ensure --prune-empty can prune root commit
      t7003: ensure --prune-empty removes entire branch when applicable
      filter-branch: fix --prune-empty on parentless commits
      p7000: add test for filter-branch with --prune-empty

Eric Wong (2):
      http: inform about alternates-as-redirects behavior
      http: release strbuf on disabled alternates

Jeff King (32):
      pack-objects: enforce --depth limit in reused deltas
      pack-objects: convert recursion to iteration in break_delta_chain()
      ident: mark error messages for translation
      ident: handle NULL email when complaining of empty name
      ident: reject all-crud ident name
      ident: do not ignore empty config name/email
      parse_config_key: use skip_prefix instead of starts_with
      parse_config_key: allow matching single-level config
      parse_hide_refs_config: tell parse_config_key we don't want a subsection
      interpret_branch_name(): handle auto-namelen for @{-1}
      interpret_branch_name: move docstring to header file
      strbuf_branchname: drop return value
      strbuf_branchname: add docstring
      interpret_branch_name: allow callers to restrict expansions
      t3204: test git-branch @-expansion corner cases
      branch: restrict @-expansions when deleting
      strbuf_check_ref_format(): expand only local branches
      checkout: restrict @-expansions when finding branch
      t/perf: use $MODERN_GIT for all repo-copying steps
      t/perf: add fallback for pre-bin-wrappers versions of git
      t: add an interoperability test harness
      t/interop: add test of old clients against modern git-daemon
      rev-parse: use skip_prefix when parsing options
      rev-parse: add helper for parsing "--foo/--foo="
      rev-parse: simplify parsing of ref options
      move odb_* declarations out of git-compat-util.h
      sha1_file.c: make pack-name helper globally accessible
      odb_pack_keep(): stop generating keepfile name
      replace snprintf with odb_pack_name()
      index-pack: make pointer-alias fallbacks safer
      run-command: fix segfault when cleaning forked async process
      shell: disallow repo names beginning with dash

Jonathan Tan (1):
      t/perf: export variable used in other blocks

Junio C Hamano (12):
      t5615: fix a here-doc syntax error
      t7406: correct test case for submodule-update initial population
      Prepare for 2.12.3
      Git 2.4.12
      Git 2.5.6
      Git 2.6.7
      Git 2.7.5
      Git 2.8.5
      Git 2.9.4
      Git 2.10.3
      Git 2.11.2
      Git 2.12.3

Kyle Meyer (1):
      doc/config: grammar fixes for core.{editor,commentChar}

Matt McCutchen (3):
      fetch-pack: move code to report unmatched refs to a function
      fetch_refs_via_pack: call report_unmatched_refs
      fetch-pack: add specific error for fetching an unadvertised object

René Scharfe (7):
      cocci: use ALLOC_ARRAY
      strbuf: add strbuf_add_real_path()
      blame: move blame_entry duplication to add_blame_entry()
      receive-pack: simplify run_update_post_hook()
      http-push: don't check return value of lookup_unknown_object()
      revision: remove declaration of path_name()
      shortlog: don't set after_subject to an empty string

SZEDER Gábor (3):
      tests: create an interactive gdb session with the 'debug' helper
      tests: make the 'test_pause' helper work in non-verbose mode
      pickaxe: fix segfault with '-S<...> --pickaxe-regex'

Santiago Torres (1):
      t7004, t7030: fix here-doc syntax errors

Stefan Beller (3):
      refs: parse_hide_refs_config to use parse_config_key
      wt-status: simplify by using for_each_string_list_item
      t3600: rename test to describe its functionality

Ævar Arnfjörð Bjarmason (3):
      cvs tests: skip tests that call "cvs commit" when running as root
      gitweb tests: change confusing "skip_all" phrasing
      gitweb tests: skip tests when we don't have Time::HiRes


Version v2.12.2; changes since v2.12.1:
---------------------------------------

David Turner (1):
      gc: ignore old gc.log files

Eric Wong (1):
      README: create HTTP/HTTPS links from URLs in Markdown

Jeff King (20):
      grep: move thread initialization a little lower
      grep: re-order rev-parsing loop
      grep: fix "--" rev/pathspec disambiguation
      grep: avoid resolving revision names in --no-index case
      grep: do not diagnose misspelt revs with --no-index
      show-branch: drop head_len variable
      show-branch: store resolved head in heap buffer
      remote: avoid reading $GIT_DIR config in non-repo
      grep: treat revs the same for --untracked as for --no-index
      show-branch: use skip_prefix to drop magic numbers
      tempfile: set errno to a known value before calling ferror()
      t6300: avoid creating refs/heads/HEAD
      ewah: fix eword_t/uint64_t confusion
      receive-pack: fix deadlock when we cannot create tmpdir
      send-pack: extract parsing of "unpack" response
      send-pack: use skip_prefix for parsing unpack status
      send-pack: improve unpack-status error messages
      send-pack: read "unpack" status even on pack-objects failure
      send-pack: report signal death of pack-objects
      http-walker: fix buffer underflow processing remote alternates

Johan Hovold (1):
      send-email: only allow one address per body tag

Jonathan Nieder (1):
      remote helpers: avoid blind fall-back to ".git" when setting GIT_DIR

Jonathan Tan (2):
      grep: do not unnecessarily query repo for "--"
      upload-pack: report "not our ref" to client

Junio C Hamano (5):
      config: move a few helper functions up
      config: use git_config_parse_key() in git_config_parse_parameter()
      diff: do not short-cut CHECK_SIZE_ONLY check in diff_populate_filespec()
      Prepare for 2.12.2
      Git 2.12.2

Michael J Gruber (2):
      git-status: make porcelain more robust
      mailmap: use Michael J Gruber's new address

Nguyễn Thái Ngọc Duy (1):
      git-commit.txt: list post-rewrite in HOOKS section

Patrick Steinhardt (2):
      docs/diffcore: fix grammar in diffcore-rename header
      docs/diffcore: unquote "Complete Rewrites" in headers

Ramsay Jones (2):
      wrapper.c: remove unused git_mkstemp() function
      wrapper.c: remove unused gitmkstemps() function

René Scharfe (3):
      sha1_file: release fallback base's memory in unpack_entry()
      commit: be more precise when searching for headers
      commit: don't check for space twice when looking for header

Ross Lagerwall (1):
      remote: ignore failure to remove missing branch.<name>.merge

Sebastian Schuberth (1):
      contrib: git-remote-{bzr,hg} placeholders don't need Python

Stefan Beller (1):
      submodule-config: correct error reporting for invalid ignore value

Ævar Arnfjörð Bjarmason (2):
      doc: change erroneous --[no]-whatever into --[no-]whatever
      push: mention "push.default=tracking" in the documentation


Version v2.12.1; changes since v2.12.0:
---------------------------------------

Allan Xavier (1):
      line-log.c: prevent crash during union of too many ranges

Jeff Hostetler (1):
      mingw: use OpenSSL's SHA-1 routines

Jeff King (3):
      http: restrict auth methods to what the server advertises
      http: add an "auto" mode for http.emptyauth
      add--interactive: fix missing file prompt for patch mode with "-i"

Johannes Schindelin (3):
      Travis: also test on 32-bit Linux
      t1501: demonstrate NULL pointer access with invalid GIT_WORK_TREE
      real_pathdup(): fix callsites that wanted it to die on error

Jonathan Tan (1):
      http: attempt updating base URL only if no error

Junio C Hamano (2):
      Preparing for 2.12.1
      Git 2.12.1

Maxim Moseychuk (2):
      stop_progress_msg: convert xsnprintf to xstrfmt
      bisect_next_all: convert xsnprintf to xstrfmt

Vegard Nossum (1):
      line-log: use COPY_ARRAY to fix mis-sized memcpy


Version v2.12.0; changes since v2.12.0-rc2:
-------------------------------------------

Alexander Shopov (1):
      l10n: bg:  Updated Bulgarian translation (2913t+0f+0u)

Anthony Ramine (1):
      l10n: fr.po: Fix a typo in the French translation

Changwoo Ryu (2):
      l10n: ko.po: Update Korean translation
      l10n: ko.po: Update Korean translation

Damien Regad (1):
      git-check-ref-format: clarify documentation for --normalize

Eric Wong (1):
      git-svn: escape backslashes in refnames

Grégoire Paris (1):
      init: document dotfiles exclusion on template copy

Jean-Noël Avila (2):
      l10n: fr.po: v2.11-rc0 first round
      l10n: fr.po: v2.12.0 round 2 3139t

Jiang Xin (3):
      l10n: git.pot: v2.12.0 round 1 (239 new, 15 removed)
      l10n: git.pot: v2.12.0 round 2 (2 new)
      l10n: zh_CN: for git v2.12.0 l10n round 2

Joachim Jablon (2):
      l10n: fr.po: Fix typos
      l10n: fr.po: Remove gender specific adjectives

Jordi Mas (4):
      l10n: New Catalan translation maintainer
      l10n: fixes to Catalan translation
      l10n: update Catalan translation
      l10n: Update Catalan translation

Junio C Hamano (1):
      Git 2.12

Patrick Steinhardt (1):
      docs/git-gc: fix default value for `--aggressiveDepth`

Peter Krefting (2):
      l10n: sv.po: Update Swedish translation (3137t0f0u)
      l10n: sv.po: Update Swedish translation (3139t0f0u)

Ralf Thielow (2):
      l10n: de.po: translate 241 messages
      git add -i: replace \t with blanks in the help message

Ray Chen (1):
      l10n: zh_CN: review for git v2.11.0 l10n

Trần Ngọc Quân (2):
      l10n: vi.po: Updated Vietnamese translation (3137t)
      l10n: vi.po (3139t): Updated 2 new messages for rc1

Vasco Almeida (1):
      l10n: pt_PT: update Portuguese tranlation

brian m. carlson (2):
      Documentation: correctly spell git worktree --detach
      Documentation: use brackets for optional arguments


Version v2.12.0-rc2; changes since v2.12.0-rc1:
-----------------------------------------------

Cornelius Weig (7):
      completion: teach submodule subcommands to complete options
      completion: add subcommand completion for rerere
      completion: improve bash completion for git-add
      completion: teach ls-remote to complete options
      completion: teach replace to complete options
      completion: teach remote subcommands to complete options
      completion: recognize more long-options

David Pursehouse (1):
      config.txt: fix formatting of submodule.alternateErrorStrategy section

Jacob Keller (1):
      reset: add an example of how to split a commit into two

Jeff King (3):
      docs/gitremote-helpers: fix unbalanced quotes
      docs/git-submodule: fix unbalanced quote
      tempfile: avoid "ferror | fclose" trick

Johannes Schindelin (1):
      mingw: make stderr unbuffered again

Junio C Hamano (4):
      A bit more for -rc2
      Revert "reset: add an example of how to split a commit into two"
      Hopefully the final batch of mini-topics before the final
      Git 2.12-rc2

Lars Schneider (1):
      git-p4: fix git-p4.pathEncoding for removed files

René Scharfe (9):
      add SWAP macro
      apply: use SWAP macro
      use SWAP macro
      diff: use SWAP macro
      graph: use SWAP macro
      cocci: detect useless free(3) calls
      ls-files: pass prefix length explicitly to prune_cache()
      ls-files: move only kept cache entries in prune_cache()
      rm: reuse strbuf for all remove_dir_recursively() calls, again

Stefan Beller (4):
      submodule documentation: add options to the subcommand
      submodule update documentation: don't repeat ourselves
      push options: pass push options to the transport helper
      Documentation: unify bottom "part of git suite" lines

Thomas Gummerer (1):
      Documentation/stash: remove mention of git reset --hard


Version v2.12.0-rc1; changes since v2.12.0-rc0:
-----------------------------------------------

Cornelius Weig (2):
      doc: add doc for git-push --recurse-submodules=only
      completion: add completion for --recurse-submodules=only

David Aguilar (3):
      difftool: fix bug when printing usage
      t7800: simplify basic usage test
      t7800: replace "wc -l" with test_line_count

Denton Liu (1):
      Document the --no-gui option in difftool

Eric Wong (1):
      completion: fix git svn authorship switches

Jacob Keller (1):
      reset: add an example of how to split a commit into two

Jeff King (1):
      diff: print line prefix for --name-only output

Junio C Hamano (1):
      Git 2.12-rc1

Nguyễn Thái Ngọc Duy (1):
      rev-list-options.txt: update --all about HEAD

Patrick Steinhardt (1):
      worktree: fix option descriptions for `prune`

René Scharfe (2):
      p5302: create repositories for index-pack results explicitly
      dir: avoid allocation in fill_directory()


Version v2.12.0-rc0; changes since v2.11.4:
-------------------------------------------

Alex Henrie (3):
      bisect: improve English grammar of not-ancestors message
      receive-pack: improve English grammar of denyCurrentBranch message
      clone,fetch: explain the shallow-clone option a little more clearly

Brandon Williams (38):
      real_path: resolve symlinks by hand
      real_path: convert real_path_internal to strbuf_realpath
      real_path: create real_pathdup
      real_path: have callers use real_pathdup and strbuf_realpath
      lib-proto-disable: variable name fix
      http: always warn if libcurl version is too old
      transport: add protocol policy config option
      http: create function to get curl allowed protocols
      transport: add from_user parameter to is_transport_allowed
      transport: reformat flag #defines to be more readable
      submodules: add RECURSE_SUBMODULES_ONLY value
      push: add option to push only submodules
      submodules: add helper to determine if a submodule is populated
      submodules: add helper to determine if a submodule is initialized
      submodules: load gitmodules file from commit sha1
      grep: add submodules as a grep source type
      grep: optionally recurse into submodules
      grep: enable recurse-submodules to work on <tree> objects
      grep: search history of moved submodules
      mv: remove use of deprecated 'get_pathspec()'
      dir: remove struct path_simplify
      dir: convert fill_directory to use the pathspec struct interface
      ls-tree: convert show_recursive to use the pathspec struct interface
      pathspec: remove the deprecated get_pathspec function
      pathspec: copy and free owned memory
      pathspec: remove unused variable from unsupported_magic
      pathspec: always show mnemonic and name in unsupported_magic
      pathspec: simpler logic to prefix original pathspec elements
      pathspec: factor global magic into its own function
      pathspec: create parse_short_magic function
      pathspec: create parse_long_magic function
      pathspec: create parse_element_magic helper
      pathspec: create strip submodule slash helpers
      pathspec: small readability changes
      pathspec: rename prefix_pathspec to init_pathspec_item
      real_path: prevent redefinition of MAXSYMLINKS
      real_path: set errno when max number of symlinks is exceeded
      index: improve constness for reading blob data

Chris Packham (3):
      merge: add '--continue' option as a synonym for 'git commit'
      completion: add --continue option for merge
      merge: ensure '--abort' option takes no arguments

Cornelius Weig (5):
      doc: clarify distinction between sign-off and pgp-signing
      config: add markup to core.logAllRefUpdates doc
      refs: add option core.logAllRefUpdates = always
      update-ref: add test cases for bare repository
      doc: add note about ignoring '--no-create-reflog'

David Aguilar (1):
      gitk: Remove translated message from comments

Dimitriy Ryazantcev (1):
      gitk: ru.po: Update Russian translation

Elia Pinto (2):
      builtin/commit.c: remove the PATH_MAX limitation via dynamic allocation
      builtin/commit.c: switch to strbuf, instead of snprintf()

George Vanburgh (1):
      git-p4: fix git-p4.mapUser on Windows

Heiko Voigt (1):
      help: improve is_executable() on Windows

Igor Kushnir (1):
      git-p4: do not pass '-r 0' to p4 commands

Jacob Keller (2):
      pretty: add %(trailers) format for displaying trailers of a commit message
      ref-filter: add support to display trailers as part of contents

Jeff King (25):
      xdiff: drop XDL_FAST_HASH
      http: respect protocol.*.allow=user for http-alternates
      merge: mark usage error strings for translation
      shortlog: test and document --committer option
      Revert "vreportf: avoid intermediate buffer"
      vreport: sanitize ASCII control chars
      t1450: refactor loose-object removal
      sha1_file: fix error message for alternate objects
      t1450: test fsck of packed objects
      sha1_file: add read_loose_object() function
      fsck: parse loose object paths directly
      fsck: detect trailing garbage in all object types
      t1450: clean up sub-objects in duplicate-entry test
      fsck: report trees as dangling
      fsck: prepare dummy objects for --connectivity-check
      fsck: tighten error-checks of "git fsck <head>"
      fsck: do not fallback "git fsck <bogus>" to "git fsck"
      fsck: check HAS_OBJ more consistently
      clear_delta_base_cache(): don't modify hashmap while iterating
      t1450: use "mv -f" within loose object directory
      difftool: hack around -Wzero-length-format warning
      fsck: move typename() printing to its own function
      fsck: lazily load types under --connectivity-only
      color_parse_mem: allow empty color spec
      document behavior of empty color name

Johannes Schindelin (50):
      mingw: add a regression test for pushing to UNC paths
      giteveryday: unbreak rendering with AsciiDoctor
      sequencer: avoid unnecessary curly braces
      sequencer: move "else" keyword onto the same line as preceding brace
      sequencer: use a helper to find the commit message
      sequencer: support a new action: 'interactive rebase'
      sequencer (rebase -i): implement the 'noop' command
      sequencer (rebase -i): implement the 'edit' command
      sequencer (rebase -i): implement the 'exec' command
      sequencer (rebase -i): learn about the 'verbose' mode
      sequencer (rebase -i): write the 'done' file
      sequencer (rebase -i): add support for the 'fixup' and 'squash' commands
      sequencer (rebase -i): implement the short commands
      sequencer (rebase -i): write an author-script file
      sequencer (rebase -i): allow continuing with staged changes
      sequencer (rebase -i): remove CHERRY_PICK_HEAD when no longer needed
      sequencer (rebase -i): skip some revert/cherry-pick specific code path
      sequencer (rebase -i): the todo can be empty when continuing
      sequencer (rebase -i): update refs after a successful rebase
      sequencer (rebase -i): leave a patch upon error
      sequencer (rebase -i): implement the 'reword' command
      sequencer (rebase -i): allow fast-forwarding for edit/reword
      sequencer (rebase -i): refactor setting the reflog message
      sequencer (rebase -i): set the reflog message consistently
      sequencer (rebase -i): copy commit notes at end
      sequencer (rebase -i): record interrupted commits in rewritten, too
      sequencer (rebase -i): run the post-rewrite hook, if needed
      sequencer (rebase -i): respect the rebase.autostash setting
      sequencer (rebase -i): respect strategy/strategy_opts settings
      sequencer (rebase -i): allow rescheduling commands
      sequencer (rebase -i): implement the 'drop' command
      sequencer (rebase -i): differentiate between comments and 'noop'
      difftool: add a skeleton for the upcoming builtin
      sequencer: update reading author-script
      sequencer: use run_command() directly
      sequencer (rebase -i): show only failed `git commit`'s output
      sequencer (rebase -i): show only failed cherry-picks' output
      sequencer (rebase -i): suggest --edit-todo upon unknown command
      sequencer (rebase -i): show the progress
      sequencer (rebase -i): write the progress into files
      sequencer (rebase -i): write out the final message
      difftool: implement the functionality in the builtin
      difftool: retire the scripted version
      remote rename: demonstrate a bogus "remote exists" bug
      remote rename: more carefully determine whether a remote is configured
      relink: retire the command
      status: be prepared for not-yet-started interactive rebase
      t/Makefile: add a rule to re-run previously-failed tests
      test-lib: on FreeBSD, look for unzip(1) in /usr/local/bin/
      mingw: allow hooks to be .exe files

Johannes Sixt (1):
      real_path: canonicalize directory separators in root parts

Jonathan Tan (5):
      trailer: be stricter in parsing separators
      commit: make ignore_non_trailer take buf/len
      trailer: avoid unnecessary splitting on lines
      trailer: have function to describe trailer layout
      sequencer: use trailer's trailer layout

Junio C Hamano (25):
      git_open(): untangle possible NOATIME and CLOEXEC interactions
      git_open_cloexec(): use fcntl(2) w/ FD_CLOEXEC fallback
      sha1_file: stop opening files with O_NOATIME
      Start post 2.11 cycle
      wt-status: implement opportunisitc index update correctly
      hold_locked_index(): align error handling with hold_lockfile_for_update()
      lockfile: LOCK_REPORT_ON_ERROR
      Early fixes for 2.11.x series
      First batch for 2.12
      Second batch for 2.12
      i18n: fix misconversion in shell scripts
      t4201: make tests work with and without the MINGW prerequiste
      Third batch for 2.12
      diff: retire "compaction" heuristics
      lockfile: move REPORT_ON_ERROR bit elsewhere
      Fourth batch for 2.12
      Fifth batch 2.12
      RelNotes: drop merge-later comments for maint
      Sixth batch for 2.12
      Seventh batch for 2.12
      show-ref: remove a stale comment
      relink: really remove the command
      Eighth batch for 2.12
      Ninth batch for 2.12; almost ready for -rc0
      Git 2.12-rc0

Lars Schneider (2):
      git-p4: add config to retry p4 commands; retry 3 times by default
      git-p4: add diff/merge properties to .gitattributes for GitLFS files

Linus Torvalds (1):
      shortlog: group by committer information

Lukas Puehringer (3):
      gpg-interface, tag: add GPG_VERIFY_OMIT_STATUS flag
      ref-filter: add function to print single ref_array_item
      builtin/tag: add --format argument for tag -v

Luke Diamand (2):
      git-p4: support updating an existing shelved changelist
      git-p4: support git worktrees

Markus Hitter (3):
      gitk: Turn off undo manager in the text widget
      gitk: Remove closed file descriptors from $blobdifffd
      gitk: Clear array 'commitinfo' on reload

Matt McCutchen (1):
      t0001: don't let a default ACL interfere with the umask test

Nguyễn Thái Ngọc Duy (5):
      tag, branch, for-each-ref: add --ignore-case for sorting and filtering
      rebase: add --quit to cleanup rebase, leave everything else untouched
      color.c: fix color_parse_mem() with value_len == 0
      color.c: trim leading spaces in color_parse_mem()
      log --graph: customize the graph lines with config log.graphColors

Paul Mackerras (2):
      gitk: Use explicit RGB green instead of "lime"
      gitk: Update copyright notice to 2016

Peter Law (1):
      Completion: Add support for --submodule=diff

Philip Oakley (3):
      doc: gitk: remove gitview reference
      doc: gitk: add the upstream repo location
      doc: git-gui browser does not default to HEAD

Pranit Bauva (2):
      don't use test_must_fail with grep
      t9813: avoid using pipes

Ramsay Jones (1):
      GIT-VERSION-GEN: do not force abbreviation length used by 'describe'

René Scharfe (11):
      compat: add qsort_s()
      add QSORT_S
      perf: add basic sort performance test
      string-list: use QSORT_S in string_list_sort()
      ref-filter: use QSORT_S in ref_array_sort()
      abspath: add absolute_pathdup()
      use absolute_pathdup()
      use oid_to_hex_r() for converting struct object_id hashes to hex strings
      use oidcpy() for copying hashes between instances of struct object_id
      checkout: convert post_checkout_hook() to struct object_id
      receive-pack: call string_list_clear() unconditionally

Richard Hansen (16):
      .mailmap: record canonical email for Richard Hansen
      rev-parse doc: pass "--" to rev-parse in the --prefix example
      t7610: update branch names to match test number
      t7610: move setup code to the 'setup' test case
      t7610: use test_when_finished for cleanup tasks
      t7610: don't rely on state from previous test
      t7610: run 'git reset --hard' after each test to clean up
      t7610: delete some now-unnecessary 'git reset --hard' lines
      t7610: always work on a test-specific branch
      t7610: don't assume the checked-out commit
      t7610: spell 'git reset --hard' consistently
      t7610: add test case for rerere+mergetool+subdir bug
      mergetool: take the "-O" out of $orderfile
      mergetool: fix running in subdir when rerere enabled
      diff: document behavior of relative diff.orderFile
      diff: document the format of the -O (diff.orderFile) file

Rogier Goossens (3):
      gitk: Add a 'rename' option to the branch context menu
      gitk: Allow checking out a remote branch
      gitk: Include commit title in branch dialog

SZEDER Gábor (9):
      t7004-tag: delete unnecessary tags with test_when_finished
      t7004-tag: use test_config helper
      t7004-tag: add version sort tests to show prerelease reordering issues
      versioncmp: pass full tagnames to swap_prereleases()
      versioncmp: cope with common part overlapping with prerelease suffix
      versioncmp: use earliest-longest contained suffix to determine sorting order
      versioncmp: factor out helper for suffix matching
      versioncmp: generalize version sort suffix reordering
      .mailmap: update Gábor Szeder's email address

Santiago Torres (3):
      builtin/verify-tag: add --format to verify-tag
      t/t7030-verify-tag: Add --format specifier tests
      t/t7004-tag: Add --format specifier tests

Satoshi Yasushima (1):
      gitk: Fix Japanese translation for "marked commit"

Stefan Beller (35):
      submodule config: inline config_from_{name, path}
      submodule-config: rename commit_sha1 to treeish_name
      submodule-config: clarify parsing of null_sha1 element
      submodule add: extend force flag to add existing repos
      submodule: use absolute path for computing relative path connecting
      submodule helper: support super prefix
      test-lib-functions.sh: teach test_commit -C <dir>
      worktree: check if a submodule uses worktrees
      move connect_work_tree_and_git_dir to dir.h
      submodule: add absorb-git-dir function
      worktree: initialize return value for submodule_uses_worktrees
      submodule.h: add extern keyword to functions
      submodule: modernize ok_to_remove_submodule to use argv_array
      submodule: rename and add flags to ok_to_remove_submodule
      rm: absorb a submodules git dir before deletion
      submodule.c: use GIT_DIR_ENVIRONMENT consistently
      contrib: remove gitview
      pathspec: give better message for submodule related pathspec error
      unpack-trees: move checkout state into check_updates
      unpack-trees: remove unneeded continue
      unpack-trees: factor progress setup out of check_updates
      read-tree: use OPT_BOOL instead of OPT_SET_INT
      t1000: modernize style
      t1001: modernize style
      submodule absorbgitdirs: mention in docstring help
      t7411: quote URLs
      t7411: test lookup of uninitialized submodules
      submodule update --init: display correct path from submodule
      lib-submodule-update.sh: reduce use of subshell by using "git -C"
      contrib: remove git-convert-objects
      unpack-trees: support super-prefix option
      setup: add gentle version of resolve_git_dir
      cache.h: expose the dying procedure for reading gitlinks
      submodule absorbing: fix worktree/gitdir pointers recursively for non-moves
      submodule update: run custom update script for initial populating as well

Stefan Dotterweich (1):
      gitk: Fix missing commits when using -S or -G

Steven Penny (2):
      Makefile: POSIX windres
      Makefile: put LIBS after LDFLAGS for imap-send

Vasco Almeida (18):
      gitk: Makefile: create install bin directory
      gitk: Add Portuguese translation
      Git.pm: add subroutines for commenting lines
      i18n: add--interactive: mark strings for translation
      i18n: add--interactive: mark simple here-documents for translation
      i18n: add--interactive: mark strings with interpolation for translation
      i18n: clean.c: match string with git-add--interactive.perl
      i18n: add--interactive: mark plural strings
      i18n: add--interactive: mark patch prompt for translation
      i18n: add--interactive: i18n of help_patch_cmd
      i18n: add--interactive: mark edit_hunk_manually message for translation
      i18n: add--interactive: remove %patch_modes entries
      i18n: add--interactive: mark status words for translation
      i18n: send-email: mark strings for translation
      i18n: send-email: mark warnings and errors for translation
      i18n: send-email: mark string with interpolation for translation
      i18n: send-email: mark composing message for translation
      i18n: difftool: mark warnings for translation

Vegard Nossum (1):
      diff: add interhunk context config option

Vinicius Kursancew (1):
      git-p4: allow submit to create shelved changelists.

Vitaly "_Vi" Shukela (1):
      submodule--helper: set alternateLocation for cloned submodules

Vladimir Panteleev (5):
      show-ref: accept HEAD with --verify
      show-ref: allow -d to work with --verify
      show-ref: move --quiet handling into show_one()
      show-ref: detect dangling refs under --verify as well
      show-ref: remove dead `if (verify)' check

brian m. carlson (8):
      Documentation: fix warning in cat-texi.perl
      Documentation: modernize cat-texi.perl
      Documentation: remove unneeded argument in cat-texi.perl
      Documentation: sort sources for gitman.texi
      Documentation: add XSLT to fix DocBook for Texinfo
      Documentation: move dblatex arguments into variable
      Makefile: add a knob to enable the use of Asciidoctor
      Documentation: implement linkgit macro for Asciidoctor

마누엘 (1):
      asciidoctor: fix user-manual to be built by `asciidoctor`


Version v2.11.4; changes since v2.11.3:
---------------------------------------

Jeff King (3):
      shell: drop git-cvsserver support by default
      archimport: use safe_pipe_capture for user input
      cvsimport: shell-quote variable used in backticks

Junio C Hamano (4):
      cvsserver: move safe_pipe_capture() to the main package
      cvsserver: use safe_pipe_capture for `constant commands` as well
      Git 2.10.5
      Git 2.11.4

joernchen (1):
      cvsserver: use safe_pipe_capture instead of backticks


Version v2.11.3; changes since v2.11.2:
---------------------------------------

Jeff King (4):
      t5813: add test for hostname starting with dash
      connect: factor out "looks like command line option" check
      connect: reject dashed arguments for proxy commands
      connect: reject paths that look like command line options

Junio C Hamano (6):
      connect: reject ssh hostname that begins with a dash
      Git 2.7.6
      Git 2.8.6
      Git 2.9.5
      Git 2.10.4
      Git 2.11.3


Version v2.11.2; changes since v2.11.1:
---------------------------------------

Jeff King (1):
      shell: disallow repo names beginning with dash

Junio C Hamano (8):
      Git 2.4.12
      Git 2.5.6
      Git 2.6.7
      Git 2.7.5
      Git 2.8.5
      Git 2.9.4
      Git 2.10.3
      Git 2.11.2


Version v2.11.1; changes since v2.11.0:
---------------------------------------

Alan Davies (1):
      mingw: fix colourization on Cygwin pseudo terminals

Andreas Krey (2):
      commit: make --only --allow-empty work without paths
      commit: remove 'Clever' message for --only --amend

Beat Bolli (6):
      update_unicode.sh: move it into contrib/update-unicode
      update_unicode.sh: remove an unnecessary subshell level
      update_unicode.sh: pin the uniset repo to a known good commit
      update_unicode.sh: automatically download newer definition files
      update_unicode.sh: remove the plane filter
      unicode_width.h: update the width tables to Unicode 9.0

Brandon Williams (2):
      push: --dry-run updates submodules when --recurse-submodules=on-demand
      push: fix --dry-run to not push submodules

Christian Couder (1):
      Documentation/bisect: improve on (bad|new) and (good|bad)

David Aguilar (8):
      mergetool: honor mergetool.$tool.trustExitCode for built-in tools
      mergetools/vimdiff: trust Vim's exit code
      difftool: fix dir-diff index creation when in a subdirectory
      difftool: fix dir-diff index creation when in a subdirectory
      difftool: sanitize $workdir as early as possible
      difftool: chdir as early as possible
      difftool: rename variables for consistency
      mergetools: fix xxdiff hotkeys

David Turner (5):
      submodules: allow empty working-tree dirs in merge/cherry-pick
      remote-curl: don't hang when a server dies before any output
      upload-pack: optionally allow fetching any sha1
      auto gc: don't write bitmaps for incremental repacks
      repack: die on incremental + write-bitmap-index

Dennis Kaarsemaker (1):
      push: test pushing ambiguously named branches

Eric Wong (2):
      git-svn: allow "0" in SVN path components
      git-svn: document useLogAuthor and addAuthorFrom config keys

George Vanburgh (1):
      git-p4: fix multi-path changelist empty commits

Heiko Voigt (4):
      serialize collection of changed submodules
      serialize collection of refs that contain submodule changes
      batch check whether submodule needs pushing into one call
      submodule_needs_pushing(): explain the behaviour when we cannot answer

Jack Bates (1):
      diff: handle --no-abbrev in no-index case

Jeff Hostetler (1):
      mingw: replace isatty() hack

Jeff King (32):
      rev-parse: fix parent shorthands with --symbolic
      t7610: clean up foo.XXXXXX tmpdir
      http: simplify update_url_from_redirect
      http: always update the base URL for redirects
      remote-curl: rename shadowed options variable
      http: make redirects more obvious
      http: treat http-alternates like redirects
      http-walker: complain about non-404 loose object errors
      stash: prefer plumbing over git-diff
      alternates: accept double-quoted paths
      tmp-objdir: quote paths we add to alternates
      Makefile: reformat FIND_SOURCE_FILES
      Makefile: exclude test cruft from FIND_SOURCE_FILES
      Makefile: match shell scripts in FIND_SOURCE_FILES
      Makefile: exclude contrib from FIND_SOURCE_FILES
      parse-options: print "fatal:" before usage_msg_opt()
      README: replace gmane link with public-inbox
      t5000: extract nongit function to test-lib-functions.sh
      index-pack: complain when --stdin is used outside of a repo
      t: use nongit() function where applicable
      index-pack: skip collision check when not in repository
      archive-zip: load userdiff config
      rebase--interactive: count squash commits above 10 correctly
      blame: fix alignment with --abbrev=40
      blame: handle --no-abbrev
      blame: output porcelain "previous" header for each file
      git_exec_path: do not return the result of getenv()
      execv_dashed_external: use child_process struct
      execv_dashed_external: stop exiting with negative code
      execv_dashed_external: wait for child on signal death
      t7810: avoid assumption about invalid regex syntax
      CodingGuidelines: clarify multi-line brace style

Johannes Schindelin (6):
      cherry-pick: demonstrate a segmentation fault
      merge-recursive: handle NULL in add_cacheinfo() correctly
      mingw: intercept isatty() to handle /dev/null as Git expects it
      mingw: adjust is_console() to work with stdin
      git_exec_path: avoid Coverity warning about unfree()d result
      mingw: follow-up to "replace isatty() hack"

Johannes Sixt (3):
      t5547-push-quarantine: run the path separator test on Windows, too
      normalize_path_copy(): fix pushing to //server/share/dir on Windows
      t5615-alternate-env: double-quotes in file names do not work on Windows

Jonathan Tan (1):
      fetch: do not redundantly calculate tag refmap

Junio C Hamano (11):
      utf8: refactor code to decide fallback encoding
      utf8: accept "latin-1" as ISO-8859-1
      push: do not use potentially ambiguous default refspec
      compression: unify pack.compression configuration parsing
      pull: fast-forward "pull --rebase=true"
      preparing for 2.10.3
      Revert "sequencer: remove useless get_dir() function"
      config.abbrev: document the new default that auto-scales
      Almost ready for 2.11.1
      Ready for 2.11.1
      Git 2.11.1

Kristoffer Haugsbakk (4):
      doc: add articles (grammar)
      doc: add verb in front of command to run
      doc: make the intent of sentence clearer
      doc: omit needless "for"

Kyle J. McKay (1):
      mailinfo.c: move side-effects outside of assert

Kyle Meyer (1):
      branch_get_push: do not segfault when HEAD is detached

Lars Schneider (6):
      travis-ci: update P4 to 16.2 and GitLFS to 1.5.2 in Linux build
      git-p4: fix empty file processing for large file system backend GitLFS
      t0021: minor filter process test cleanup
      docs: warn about possible '=' in clean/smudge filter process values
      t0021: fix flaky test
      travis-ci: fix Perforce install on macOS

Luis Ressel (1):
      date-formats.txt: Typo fix

Luke Diamand (1):
      git-p4: avoid crash adding symlinked directory

Matt McCutchen (2):
      doc: mention transfer data leaks in more places
      git-gc.txt: expand discussion of races with other processes

Max Kirillov (1):
      mingw: consider that UNICODE_STRING::Length counts bytes

Mike Hommey (1):
      fast-import: properly fanout notes when tree is imported

Nguyễn Thái Ngọc Duy (13):
      worktree.c: zero new 'struct worktree' on allocation
      worktree: reorder an if statement
      get_worktrees() must return main worktree as first item even on error
      worktree.c: get_worktrees() takes a new flag argument
      worktree list: keep the list sorted
      merge-recursive.c: use string_list_sort instead of qsort
      shallow.c: rename fields in paint_info to better express their purposes
      shallow.c: stop abusing COMMIT_SLAB_SIZE for paint_info's memory pools
      shallow.c: make paint_alloc slightly more robust
      shallow.c: remove useless code
      config.c: handle error case for fstat() calls
      config.c: rename label unlock_and_out
      config.c: handle lock file in error case in git_config_rename_...

Rasmus Villemoes (2):
      shallow.c: avoid theoretical pointer wrap-around
      shallow.c: bit manipulation tweaks

Stefan Beller (7):
      unpack-trees: fix grammar for untracked files in directories
      t3600: remove useless redirect
      t3600: slightly modernize style
      cache.h: document index_name_pos
      cache.h: document remove_index_entry_at
      cache.h: document add_[file_]to_index
      documentation: retire unfinished documentation

Stephan Beyer (5):
      am: fix filename in safe_to_abort() error message
      am: change safe_to_abort()'s not rewinding error into a warning
      t3510: test that cherry-pick --abort does not unsafely change HEAD
      sequencer: make sequencer abort safer
      sequencer: remove useless get_dir() function

Torsten Bögershausen (1):
      convert: git cherry-pick -Xrenormalize did not work

Wolfram Sang (1):
      request-pull: drop old USAGE stuff


Version v2.11.0; changes since v2.11.0-rc3:
-------------------------------------------

Alex Henrie (1):
      l10n: ca.po: update translation

Dimitriy Ryazantcev (1):
      l10n: ru.po: update Russian translation

Jeff King (1):
      common-main: stop munging argv[0] path

Jiang Xin (1):
      l10n: fix unmatched single quote in error message

Junio C Hamano (1):
      Git 2.11

Marc Branchaud (1):
      RelNotes: spelling and phrasing fixups

Ralf Thielow (1):
      l10n: de.po: translate 210 new messages


Version v2.11.0-rc3; changes since v2.11.0-rc2:
-----------------------------------------------

Changwoo Ryu (1):
      l10n: ko.po: Update Korean translation

Dimitriy Ryazantcev (1):
      l10n: ru.po: update Russian translation

Jean-Noël Avila (1):
      l10n: fr.po v2.11.0_rnd1

Jiang Xin (5):
      l10n: git.pot: v2.11.0 round 1 (209 new, 53 removed)
      l10n: zh_CN: for git v2.11.0 l10n round 1
      i18n: fix unmatched single quote in error message
      l10n: git.pot: v2.11.0 round 2 (1 new, 1 removed)
      l10n: Fixed typo of git fetch-pack command

Johannes Schindelin (3):
      rebase -i: highlight problems with core.commentchar
      stripspace: respect repository config
      rebase -i: handle core.commentChar=auto

Jonathan Tan (1):
      doc: mention user-configured trailers

Junio C Hamano (4):
      for-each-ref: do not segv with %(HEAD) on an unborn branch
      mailinfo: read local configuration
      archive: read local configuration
      Git 2.11-rc3

Peter Krefting (1):
      l10n: sv.po: Update Swedish translation (2913t0f0u)

Trần Ngọc Quân (1):
      l10n: vi.po: Updated translation to v2.11.0 (2913t)

Vasco Almeida (1):
      l10n: pt_PT: update Portuguese translation

jfbu (1):
      l10n: fr.po fix grammar mistakes


Version v2.11.0-rc2; changes since v2.11.0-rc1:
-----------------------------------------------

Ben North (1):
      git-worktree.txt: fix typo "to"/"two", and add comma

Jeff King (1):
      create_branch: drop unused "head" parameter

Junio C Hamano (1):
      Git 2.11-rc2

Tobias Klauser (1):
      diffcore-delta: remove unused parameter to diffcore_count_changes()


Version v2.11.0-rc1; changes since v2.11.0-rc0:
-----------------------------------------------

Andreas Schwab (2):
      t6026-merge-attr: don't fail if sleep exits early
      t6026-merge-attr: ensure that the merge driver was called

Christian Couder (1):
      split-index: s/eith/with/ typo fix

Jeff King (6):
      t0021: use write_script to create rot13 shell script
      t0021: put $TEST_ROOT in $PATH
      t0021: use $PERL_PATH for rot13-filter.pl
      t0021: fix filehandle usage on older perl
      alternates: re-allow relative paths from environment
      sequencer: silence -Wtautological-constant-out-of-range-compare

Johannes Schindelin (1):
      t6026: ensure that long-running script really is

Johannes Sixt (4):
      t0021: expect more variations in the output of uniq -c
      t0021: compute file size with a single process instead of a pipeline
      t0021, t5615: use $PWD instead of $(pwd) in PATH-like shell variables
      t6026: clarify the point of "kill $(cat sleep.pid)"

Junio C Hamano (5):
      A bit of updates post -rc0
      Revert "t6026-merge-attr: ensure that the merge driver was called"
      Revert "t6026-merge-attr: don't fail if sleep exits early"
      t0021: remove debugging cruft
      Git 2.11.0-rc1

Lars Schneider (2):
      Makefile: set NO_OPENSSL on macOS by default
      travis-ci: disable GIT_TEST_HTTPD for macOS

Patrick Steinhardt (1):
      doc: fix location of 'info/' with $GIT_COMMON_DIR

Ralf Thielow (1):
      fetch-pack.c: correct command at the beginning of an error message

René Scharfe (2):
      sha1_name: make wraparound of the index into ring-buffer explicit
      cocci: avoid self-references in object_id transformations


Version v2.11.0-rc0; changes since v2.10.5:
-------------------------------------------

Aaron M Watson (1):
      stash: allow stashes to be referenced by index only

Alex Riesen (2):
      git-gui: support for $FILENAMES in tool definitions
      git-gui: ensure the file in the diff pane is in the list of selected files

Alexander Shopov (2):
      git-gui i18n: Updated Bulgarian translation (565,0f,0u)
      git-gui: Mark 'All' in remote.tcl for translation

Brandon Williams (4):
      git: make super-prefix option
      ls-files: optionally recurse into submodules
      ls-files: pass through safe options for --recurse-submodules
      ls-files: add pathspec matching for submodules

Christian Couder (42):
      apply: make some names more specific
      apply: move 'struct apply_state' to apply.h
      builtin/apply: make apply_patch() return -1 or -128 instead of die()ing
      builtin/apply: read_patch_file() return -1 instead of die()ing
      builtin/apply: make find_header() return -128 instead of die()ing
      builtin/apply: make parse_chunk() return a negative integer on error
      builtin/apply: make parse_single_patch() return -1 on error
      builtin/apply: make parse_whitespace_option() return -1 instead of die()ing
      builtin/apply: make parse_ignorewhitespace_option() return -1 instead of die()ing
      builtin/apply: move init_apply_state() to apply.c
      apply: make init_apply_state() return -1 instead of exit()ing
      builtin/apply: make check_apply_state() return -1 instead of die()ing
      builtin/apply: move check_apply_state() to apply.c
      builtin/apply: make apply_all_patches() return 128 or 1 on error
      builtin/apply: make parse_traditional_patch() return -1 on error
      builtin/apply: make gitdiff_*() return 1 at end of header
      builtin/apply: make gitdiff_*() return -1 on error
      builtin/apply: change die_on_unsafe_path() to check_unsafe_path()
      builtin/apply: make build_fake_ancestor() return -1 on error
      builtin/apply: make remove_file() return -1 on error
      builtin/apply: make add_conflicted_stages_file() return -1 on error
      builtin/apply: make add_index_file() return -1 on error
      builtin/apply: make create_file() return -1 on error
      builtin/apply: make write_out_one_result() return -1 on error
      builtin/apply: make write_out_results() return -1 on error
      unpack-objects: add --max-input-size=<size> option
      builtin/apply: make try_create_file() return -1 on error
      builtin/apply: make create_one_file() return -1 on error
      builtin/apply: rename option parsing functions
      apply: rename and move opt constants to apply.h
      apply: move libified code from builtin/apply.c to apply.{c,h}
      apply: make some parsing functions static again
      apply: use error_errno() where possible
      apply: make it possible to silently apply
      apply: don't print on stdout in verbosity_silent mode
      usage: add set_warn_routine()
      usage: add get_error_routine() and get_warn_routine()
      apply: change error_routine when silent
      apply: refactor `git apply` option parsing
      apply: pass apply state to build_fake_ancestor()
      apply: learn to use a different index file
      builtin/am: use apply API in run_apply()

David Aguilar (4):
      mergetool: add copyright
      mergetool: move main program flow into a main() function
      mergetool: honor diff.orderFile
      mergetool: honor -O<orderfile>

David Turner (9):
      rename_ref_available(): add docstring
      refs: add methods for reflog
      refs: add method for initial ref transaction commit
      refs: make delete_refs() virtual
      refs: add methods to init refs db
      refs: add method to rename refs
      refs: make lock generic
      refs: implement iteration over only per-worktree refs
      fsck: handle bad trees like other errors

Dimitriy Ryazantcev (1):
      git-gui: Update Russian translation

Elia Pinto (1):
      git-gui/po/glossary/txt-to-pot.sh: use the $( ... ) construct for command substitution

Emily Xie (1):
      pathspec: warn on empty strings as pathspec

Eric Wong (2):
      git-svn: reduce scope of input record separator change
      git-svn: "git worktree" awareness

Gavin Lambert (1):
      git-svn: do not reuse caches memoized for a different architecture

Ian Kelling (2):
      gitweb: remove unused guess_file_syntax() parameter
      gitweb: use highlight's shebang detection

Jacob Keller (9):
      format-patch: show 0/1 and 1/1 for singleton patch with cover letter
      cache: add empty_tree_oid object and helper function
      graph: add support for --line-prefix on all graph-aware output
      diff: prepare for additional submodule formats
      allow do_submodule_path to work even if submodule isn't checked out
      submodule: convert show_submodule_summary to use struct object_id *
      submodule: refactor show_submodule_summary with helper function
      diff: teach diff to display submodule difference with an inline diff
      rev-list: use hdr_termination instead of a always using a newline

Jean-Noël Avila (1):
      i18n: i18n: diff: mark die messages for translation

Jeff Hostetler (9):
      status: rename long-format print routines
      status: cleanup API to wt_status_print
      status: support --porcelain[=<version>]
      status: collect per-file data for --porcelain=v2
      status: print per-file porcelain v2 status data
      status: print branch info with --porcelain=v2 --branch
      git-status.txt: describe --porcelain=v2 format
      test-lib-functions.sh: add lf_to_nul helper
      status: unit tests for --porcelain=v2

Jeff King (75):
      provide an initializer for "struct object_info"
      sha1_file: make packed_object_info public
      pack-objects: break delta cycles before delta-search phase
      pack-objects: use mru list when iterating over packs
      cache_or_unpack_entry: drop keep_cache parameter
      clear_delta_base_cache_entry: use a more descriptive name
      release_delta_base_cache: reuse existing detach function
      delta_base_cache: use list.h for LRU
      delta_base_cache: drop special treatment of blobs
      delta_base_cache: use hashmap.h
      t/perf: add basic perf tests for delta base cache
      index-pack: add --max-input-size=<size> option
      receive-pack: allow a maximum input size to be specified
      add_delta_base_cache: use list_for_each_safe
      hash-object: always try to set up the git repository
      patch-id: use RUN_SETUP_GENTLY
      diff: skip implicit no-index check when given --no-index
      diff: handle --no-index prefixes consistently
      diff: always try to set up the repository
      pager: remove obsolete comment
      pager: stop loading git_default_config()
      pager: make pager_program a file-local static
      pager: use callbacks instead of configset
      pager: handle early config
      t1302: use "git -C"
      test-config: setup git directory
      config: only read .git/config from configured repos
      init: expand comments explaining config trickery
      init: reset cached config when entering new repo
      t1007: factor out repeated setup
      clone: pass --progress decision to recursive submodules
      get_sha1: detect buggy calls with multiple disambiguators
      get_sha1: avoid repeating ourselves via ONLY_TO_DIE
      get_sha1: propagate flags to child functions
      get_short_sha1: parse tags when looking for treeish
      get_short_sha1: refactor init of disambiguation code
      get_short_sha1: NUL-terminate hex prefix
      get_short_sha1: mark ambiguity error for translation
      sha1_array: let callbacks interrupt iteration
      for_each_abbrev: drop duplicate objects
      get_short_sha1: list ambiguous objects on error
      xdiff: rename "struct group" to "struct xdlgroup"
      get_short_sha1: make default disambiguation configurable
      tree-walk: be more specific about corrupt tree errors
      t5613: drop reachable_via function
      t5613: drop test_valid_repo function
      t5613: use test_must_fail
      t5613: whitespace/style cleanups
      t5613: do not chdir in main process
      find_unique_abbrev: move logic out of get_short_sha1()
      t5613: clarify "too deep" recursion tests
      link_alt_odb_entry: handle normalize_path errors
      link_alt_odb_entry: refactor string handling
      alternates: provide helper for adding to alternates list
      alternates: provide helper for allocating alternate
      alternates: encapsulate alt->base munging
      alternates: use a separate scratch space
      fill_sha1_file: write "boring" characters
      alternates: store scratch buffer as strbuf
      fill_sha1_file: write into a strbuf
      count-objects: report alternates via verbose mode
      sha1_file: always allow relative paths to alternates
      alternates: use fspathcmp to detect duplicates
      check_connected: accept an env argument
      tmp-objdir: introduce API for temporary object directories
      receive-pack: quarantine objects until pre-receive accepts
      tmp-objdir: put quarantine information in the environment
      tmp-objdir: do not migrate files starting with '.'
      upload-pack: use priority queue in reachable() check
      read info/{attributes,exclude} only when in repository
      test-*-cache-tree: setup git dir
      find_unique_abbrev: use 4-buffer ring
      diff_unique_abbrev: rename to diff_aligned_abbrev
      diff_aligned_abbrev: use "struct oid"
      diff: handle sha1 abbreviations outside of repository

Johannes Schindelin (54):
      cat-file: fix a grammo in the man page
      sequencer: lib'ify sequencer_pick_revisions()
      sequencer: do not die() in do_pick_commit()
      sequencer: lib'ify write_message()
      sequencer: lib'ify do_recursive_merge()
      sequencer: lib'ify do_pick_commit()
      sequencer: lib'ify walk_revs_populate_todo()
      sequencer: lib'ify prepare_revs()
      sequencer: lib'ify read_and_refresh_cache()
      sequencer: lib'ify read_populate_todo()
      sequencer: lib'ify read_populate_opts()
      sequencer: lib'ify create_seq_dir()
      sequencer: lib'ify save_head()
      sequencer: lib'ify save_todo()
      sequencer: lib'ify save_opts()
      sequencer: lib'ify fast_forward_to()
      sequencer: lib'ify checkout_fast_forward()
      sequencer: ensure to release the lock when we could not read the index
      cat-file: introduce the --filters option
      cat-file --textconv/--filters: allow specifying the path separately
      cat-file: support --textconv/--filters in batch mode
      pull: drop confusing prefix parameter of die_on_unclean_work_tree()
      pull: make code more similar to the shell script again
      wt-status: make the require_clean_work_tree() function reusable
      wt-status: export also the has_un{staged,committed}_changes() functions
      wt-status: teach has_{unstaged,uncommitted}_changes() about submodules
      wt-status: begin error messages with lower-case
      sequencer: use static initializers for replay_opts
      sequencer: use memoized sequencer directory path
      sequencer: avoid unnecessary indirection
      sequencer: future-proof remove_sequencer_state()
      sequencer: plug memory leaks for the option values
      sequencer: future-proof read_populate_todo()
      sequencer: refactor the code to obtain a short commit name
      sequencer: completely revamp the "todo" script parsing
      sequencer: strip CR from the todo script
      sequencer: avoid completely different messages for different actions
      sequencer: get rid of the subcommand field
      sequencer: remember the onelines when parsing the todo file
      sequencer: prepare for rebase -i's commit functionality
      sequencer: introduce a helper to read files written by scripts
      sequencer: allow editing the commit message on a case-by-case basis
      sequencer: support amending commits
      sequencer: support cleaning up commit messages
      sequencer: left-trim lines read from the script
      sequencer: stop releasing the strbuf in write_message()
      sequencer: roll back lock file if write_message() failed
      sequencer: refactor write_message() to take a pointer/length
      sequencer: teach write_message() to append an optional LF
      sequencer: remove overzealous assumption in rebase -i mode
      sequencer: mark action_name() for translation
      sequencer: quote filenames in error messages
      sequencer: start error messages consistently with lower case
      sequencer: mark all error messages for translation

Johannes Sixt (1):
      t0060: sidestep surprising path mangling results on Windows

Jonathan Nieder (1):
      connect: tighten check for unexpected early hang up

Jonathan Tan (13):
      tests: move test_lazy_prereq JGIT to test-lib.sh
      connect: advertized capability is not a ref
      mailinfo: separate in-body header processing
      mailinfo: make is_scissors_line take plain char *
      mailinfo: handle in-body header continuations
      trailer: improve const correctness
      trailer: use list.h for doubly-linked list
      trailer: streamline trailer item create and add
      trailer: make args have their own struct
      trailer: clarify failure modes in parse_trailer
      trailer: allow non-trailers in trailer block
      trailer: forbid leading whitespace in trailers
      trailer: support values folded to multiple lines

Josh Triplett (1):
      format-patch: add "--rfc" for the common case of [RFC PATCH]

Junio C Hamano (27):
      blame: improve diagnosis for "--reverse NEW"
      blame: dwim "blame --reverse OLD" as "blame --reverse OLD.."
      diff.c: remove output_prefix_length field
      Start the 2.11 cycle
      First batch for 2.11
      Second batch for 2.11
      Third batch for 2.11
      Fourth batch for 2.11
      Fifth batch for 2.11
      Sixth batch for 2.11
      abbrev: add FALLBACK_DEFAULT_ABBREV to prepare for auto sizing
      abbrev: prepare for new world order
      Seventh batch for 2.11
      t4015: split out the "setup" part of ws-error-highlight test
      diff.c: refactor parse_ws_error_highlight()
      diff.c: move ws-error-highlight parsing helpers up
      diff: introduce diff.wsErrorHighlight option
      Eighth batch for 2.11
      Ninth batch for 2.11
      Tenth batch for 2.11
      transport: pass summary_width down the callchain
      fetch: pass summary_width down the callchain
      transport: allow summary-width to be computed dynamically
      transport: compute summary-width dynamically
      Eleventh batch for 2.11
      Getting ready for 2.11-rc0
      Git 2.11-rc0

Karsten Blees (2):
      git-gui: unicode file name support on windows
      git-gui: handle the encoding of Git's output correctly

Kirill Smelkov (2):
      pack-objects: respect --local/--honor-pack-keep/--incremental when bitmap is in use
      pack-objects: use reachability bitmap index when generating non-stdout pack

Lars Schneider (17):
      convert: quote filter names in error messages
      convert: modernize tests
      run-command: move check_pipe() from write_or_die to run_command
      run-command: add clean_on_exit_handler
      pkt-line: rename packet_write() to packet_write_fmt()
      pkt-line: extract set_packet_header()
      pkt-line: add packet_write_fmt_gently()
      pkt-line: add packet_flush_gently()
      pkt-line: add packet_write_gently()
      pkt-line: add functions to read/write flush terminated packet streams
      convert: make apply_filter() adhere to standard Git error handling
      convert: prepare filter.<driver>.process option
      convert: add filter.<driver>.process option
      contrib/long-running-filter: add long running filter example
      sha1_file: rename git_open_noatime() to git_open()
      sha1_file: open window into packfiles with O_CLOEXEC
      read-cache: make sure file handles are not inherited by child processes

Linus Torvalds (1):
      abbrev: auto size the default abbreviation

Mantas Mikulėnas (1):
      contrib: add credential helper for libsecret

Michael Haggerty (36):
      xdl_change_compact(): fix compaction heuristic to adjust ixo
      xdl_change_compact(): only use heuristic if group can't be matched
      is_blank_line(): take a single xrecord_t as argument
      recs_match(): take two xrecord_t pointers as arguments
      xdl_change_compact(): introduce the concept of a change group
      resolve_gitlink_ref(): eliminate temporary variable
      refs: rename struct ref_cache to files_ref_store
      refs: create a base class "ref_store" for files_ref_store
      add_packed_ref(): add a files_ref_store argument
      get_packed_ref(): add a files_ref_store argument
      resolve_missing_loose_ref(): add a files_ref_store argument
      {lock,commit,rollback}_packed_refs(): add files_ref_store arguments
      refs: reorder definitions
      resolve_packed_ref(): rename function from resolve_missing_loose_ref()
      resolve_gitlink_packed_ref(): remove function
      read_raw_ref(): take a (struct ref_store *) argument
      resolve_ref_recursively(): new function
      resolve_gitlink_ref(): implement using resolve_ref_recursively()
      resolve_gitlink_ref(): avoid memory allocation in many cases
      resolve_gitlink_ref(): rename path parameter to submodule
      refs: make read_raw_ref() virtual
      refs: make verify_refname_available() virtual
      refs: make pack_refs() virtual
      refs: make create_symref() virtual
      refs: make peel_ref() virtual
      repack_without_refs(): add a files_ref_store argument
      lock_raw_ref(): add a files_ref_store argument
      commit_ref_update(): add a files_ref_store argument
      lock_ref_for_update(): add a files_ref_store argument
      lock_ref_sha1_basic(): add a files_ref_store argument
      split_symref_update(): add a files_ref_store argument
      files_ref_iterator_begin(): take a ref_store argument
      refs: add method iterator_begin
      diff: improve positioning of add/delete blocks in diffs
      parse-options: add parse_opt_unknown_cb()
      blame: honor the diff heuristic options and config

Michael J Gruber (1):
      gpg-interface: use more status letters

Nguyễn Thái Ngọc Duy (36):
      remote-curl.c: convert fetch_git() to use argv_array
      transport-helper.c: refactor set_helper_option()
      upload-pack: move shallow deepen code out of receive_needs()
      upload-pack: move "shallow" sending code out of deepen()
      upload-pack: remove unused variable "backup"
      upload-pack: move "unshallow" sending code out of deepen()
      upload-pack: use skip_prefix() instead of starts_with()
      upload-pack: tighten number parsing at "deepen" lines
      upload-pack: make check_non_tip() clean things up on error
      upload-pack: move rev-list code out of check_non_tip()
      fetch-pack: use skip_prefix() instead of starts_with()
      fetch-pack: use a common function for verbose printing
      fetch-pack.c: mark strings for translating
      fetch-pack: use a separate flag for fetch in deepening mode
      shallow.c: implement a generic shallow boundary finder based on rev-list
      upload-pack: add deepen-since to cut shallow repos based on time
      fetch: define shallow boundary with --shallow-since
      clone: define shallow clone boundary based on time with --shallow-since
      t5500, t5539: tests for shallow depth since a specific date
      refs: add expand_ref()
      upload-pack: support define shallow boundary by excluding revisions
      fetch: define shallow boundary with --shallow-exclude
      clone: define shallow clone boundary with --shallow-exclude
      t5500, t5539: tests for shallow depth excluding a ref
      upload-pack: split check_unreachable() in two, prep for get_reachable_list()
      upload-pack: add get_reachable_list()
      fetch, upload-pack: --deepen=N extends shallow boundary by N commits
      init: correct re-initialization from a linked worktree
      init: call set_git_dir_init() from within init_db()
      init: kill set_git_dir_init()
      init: do not set unnecessary core.worktree
      init: kill git_link variable
      diff-lib: allow ita entries treated as "not yet exist in index"
      diff: add --ita-[in]visible-in-index
      commit: fix empty commit creation when there's no changes but ita entries
      commit: don't be fooled by ita entries when creating initial commit

Olaf Hering (1):
      git-gui: sort entries in tclIndex

Orgad Shaneh (1):
      git-gui: Do not reset author details on amend

Pat Thoyts (7):
      Allow keyboard control to work in the staging widgets.
      Amend tab ordering and text widget border and highlighting.
      git-gui: fix detection of Cygwin
      git-gui (Windows): use git-gui.exe in `Create Desktop Shortcut`
      git-gui: maintain backwards compatibility for merge syntax
      git-gui: avoid persisting modified author identity
      git-gui: set version 0.21

Petr Stodulka (1):
      http: control GSSAPI credential delegation

Ralf Thielow (2):
      help: introduce option --exclude-guides
      help: make option --help open man pages only for Git commands

René Scharfe (8):
      sha1_file: use llist_mergesort() for sorting packs
      introduce CHECKOUT_INIT
      add QSORT
      use QSORT
      remove unnecessary check before QSORT
      coccicheck: use --all-includes by default
      use QSORT, part 2
      show-branch: use QSORT

Ronnie Sahlberg (2):
      refs: add a backend method structure
      refs: add a transaction_commit() method

Stefan Beller (10):
      t7408: modernize style
      t7408: merge short tests, factor out testing method
      submodule--helper module-clone: allow multiple references
      submodule--helper update-clone: allow multiple references
      clone: factor out checking for an alternate path
      clone: clarify option_reference as required
      clone: implement optional references
      clone: recursive and reference option triggers submodule alternates
      submodule: ignore trailing slash on superproject URL
      submodule: ignore trailing slash in relative url

Vasco Almeida (30):
      i18n: blame: mark error messages for translation
      i18n: branch: mark option description for translation
      i18n: config: mark error message for translation
      i18n: merge-recursive: mark error messages for translation
      i18n: merge-recursive: mark verbose message for translation
      i18n: notes: mark error messages for translation
      notes: spell first word of error messages in lowercase
      i18n: receive-pack: mark messages for translation
      i18n: show-branch: mark error messages for translation
      i18n: show-branch: mark plural strings for translation
      i18n: update-index: mark warnings for translation
      i18n: commit: mark message for translation
      i18n: connect: mark die messages for translation
      i18n: ident: mark hint for translation
      i18n: notes-merge: mark die messages for translation
      i18n: stash: mark messages for translation
      git-gui i18n: mark strings for translation
      git-gui: l10n: add Portuguese translation
      git-gui i18n: internationalize use of colon punctuation
      git-gui i18n: mark "usage:" strings for translation
      git-gui: fix incorrect use of Tcl append command
      git-gui i18n: mark string in lib/error.tcl for translation
      t1512: become resilient to GETTEXT_POISON build
      i18n: apply: mark plural string for translation
      i18n: apply: mark info messages for translation
      i18n: apply: mark error messages for translation
      i18n: apply: mark error message for translation
      i18n: convert mark error messages for translation
      i18n: credential-cache--daemon: mark advice for translation
      i18n: diff: mark warnings for translation

Vegard Nossum (1):
      revision: new rev^-n shorthand for rev^n..rev

brian m. carlson (20):
      cache: convert struct cache_entry to use struct object_id
      builtin/apply: convert static functions to struct object_id
      builtin/blame: convert struct origin to use struct object_id
      builtin/log: convert some static functions to use struct object_id
      builtin/cat-file: convert struct expand_data to use struct object_id
      builtin/cat-file: convert some static functions to struct object_id
      builtin: convert textconv_object to use struct object_id
      streaming: make stream_blob_to_fd take struct object_id
      builtin/checkout: convert some static functions to struct object_id
      notes-merge: convert struct notes_merge_pair to struct object_id
      Convert read_mmblob to take struct object_id.
      builtin/blame: convert file to use struct object_id
      builtin/rm: convert to use struct object_id
      notes: convert init_notes to use struct object_id
      builtin/update-index: convert file to struct object_id
      sha1_name: convert get_sha1_mb to struct object_id
      refs: add an update_ref_oid function.
      builtin/am: convert to struct object_id
      builtin/commit-tree: convert to struct object_id
      builtin/reset: convert to use struct object_id

yaras (1):
      git-gui: fix initial git gui message encoding

Ævar Arnfjörð Bjarmason (3):
      gitweb: fix a typo in a comment
      gitweb: link to 7-char+ SHA-1s, not only 8-char+
      gitweb: link to "git describe"'d commits in log messages


Version v2.10.5; changes since v2.10.4:
---------------------------------------

Jeff King (3):
      shell: drop git-cvsserver support by default
      archimport: use safe_pipe_capture for user input
      cvsimport: shell-quote variable used in backticks

Junio C Hamano (3):
      cvsserver: move safe_pipe_capture() to the main package
      cvsserver: use safe_pipe_capture for `constant commands` as well
      Git 2.10.5

joernchen (1):
      cvsserver: use safe_pipe_capture instead of backticks


Version v2.10.4; changes since v2.10.3:
---------------------------------------

Jeff King (4):
      t5813: add test for hostname starting with dash
      connect: factor out "looks like command line option" check
      connect: reject dashed arguments for proxy commands
      connect: reject paths that look like command line options

Junio C Hamano (5):
      connect: reject ssh hostname that begins with a dash
      Git 2.7.6
      Git 2.8.6
      Git 2.9.5
      Git 2.10.4


Version v2.10.3; changes since v2.10.2:
---------------------------------------

Anders Kaseorg (2):
      pre-receive.sample: mark it executable
      git-sh-setup: be explicit where to dot-source git-sh-i18n from.

Andreas Schwab (2):
      t6026-merge-attr: don't fail if sleep exits early
      t6026-merge-attr: ensure that the merge driver was called

Ben North (1):
      git-worktree.txt: fix typo "to"/"two", and add comma

Chris Packham (1):
      completion: support excluding refs

Jeff King (6):
      daemon: detect and reject too-long paths
      git-compat-util: move content inside ifdef/endif guards
      doc: fix missing "::" in config list
      create_branch: drop unused "head" parameter
      common-main: stop munging argv[0] path
      shell: disallow repo names beginning with dash

Johannes Schindelin (1):
      t6026: ensure that long-running script really is

Johannes Sixt (1):
      t6026: clarify the point of "kill $(cat sleep.pid)"

Junio C Hamano (11):
      am: refactor read_author_script()
      Revert "t6026-merge-attr: ensure that the merge driver was called"
      Revert "t6026-merge-attr: don't fail if sleep exits early"
      preparing for 2.10.3
      Git 2.4.12
      Git 2.5.6
      Git 2.6.7
      Git 2.7.5
      Git 2.8.5
      Git 2.9.4
      Git 2.10.3

Lars Schneider (2):
      Makefile: set NO_OPENSSL on macOS by default
      travis-ci: disable GIT_TEST_HTTPD for macOS

Matthieu Moy (3):
      parse_mailboxes: accept extra text after <...> address
      t9000-addresses: update expected results after fix
      Git.pm: add comment pointing to t9000

Patrick Steinhardt (1):
      doc: fix location of 'info/' with $GIT_COMMON_DIR

René Scharfe (4):
      hex: make wraparound of the index into ring-buffer explicit
      valgrind: support test helpers
      commit: simplify building parents list
      cocci: avoid self-references in object_id transformations

Stefan Christ (1):
      Documentation/fmt-merge-msg: fix markup in example

Tobias Klauser (1):
      diffcore-delta: remove unused parameter to diffcore_count_changes()


Version v2.10.2; changes since v2.10.1:
---------------------------------------

Anders Kaseorg (1):
      imap-send: Tell cURL to use imap:// or imaps://

Brandon Williams (1):
      submodules doc: update documentation for "." used for submodule branches

David Turner (2):
      add David Turner's Two Sigma address
      http: http.emptyauth should allow empty (not just NULL) usernames

Dennis Kaarsemaker (1):
      worktree: allow the main brach of a bare repository to be checked out

Dimitriy Ryazantcev (1):
      l10n: ru.po: update Russian translation

Jakub Narębski (1):
      configure.ac: improve description of NO_REGEX test

Jeff King (11):
      verify_packfile: check pack validity before accessing data
      graph: fix extra spaces in graph_padding_line
      clone: detect errors in normalize_path_copy
      files_read_raw_ref: avoid infinite loop on broken symlinks
      files_read_raw_ref: prevent infinite retry loops in general
      merge-base: handle --fork-point without reflog
      fetch: use "quick" has_sha1_file for tag following
      test-lib: handle TEST_OUTPUT_DIRECTORY with spaces
      test-lib: add --verbose-log option
      travis: use --verbose-log test option
      test-lib: bail out when "-v" used under "prove"

Johannes Schindelin (1):
      reset: fix usage

Jonathan Tan (1):
      fetch-pack: do not reset in_vain on non-novel acks

Junio C Hamano (9):
      streaming: make sure to notice corrupt object
      unpack_sha1_header(): detect malformed object header
      worktree: honor configuration variables
      blame: use DEFAULT_ABBREV macro
      diff_unique_abbrev(): document its assumption and limitation
      Start preparing for 2.10.2
      cocci: refactor common patterns to use xstrdup_or_null()
      t3700: fix broken test under !SANITY
      Git 2.10.2

Kevin Daudt (2):
      t5100-mailinfo: replace common path prefix with variable
      mailinfo: unescape quoted-pair in header fields

Nguyễn Thái Ngọc Duy (1):
      git-commit.txt: clarify --patch mode with pathspec

Philip Oakley (2):
      doc: fix merge-base ASCII art tab spacing
      doc: fix the 'revert a faulty merge' ASCII art tab spacing

Pranit Bauva (2):
      rev-list-options: clarify the usage of --reverse
      t0040: convert all possible tests to use `test-parse-options --expect`

Ralf Thielow (2):
      l10n: de.po: fix translation of autostash
      l10n: de.po: translate 260 new messages

René Scharfe (17):
      contrib/coccinelle: fix semantic patch for oid_to_hex_r()
      add coccicheck make target
      use strbuf_addstr() for adding constant strings to a strbuf, part 2
      pretty: let %C(auto) reset all attributes
      add COPY_ARRAY
      use COPY_ARRAY
      git-gui: stop using deprecated merge syntax
      gitignore: ignore output files of coccicheck make target
      use strbuf_addstr() instead of strbuf_addf() with "%s", part 2
      use strbuf_add_unique_abbrev() for adding short hashes, part 2
      pretty: avoid adding reset for %C(auto) if output is empty
      coccicheck: make transformation for strbuf_addf(sb, "...") more precise
      remove unnecessary NULL check before free(3)
      use strbuf_add_unique_abbrev() for adding short hashes, part 3
      pretty: fix document link for color specification
      avoid pointer arithmetic involving NULL in FLEX_ALLOC_MEM
      inline xalloc_flex() into FLEXPTR_ALLOC_MEM

SZEDER Gábor (1):
      ref-filter: strip format option after a field name only once while parsing

Stefan Beller (1):
      documentation: improve submodule.<name>.{url, path} description

Younes Khoudli (1):
      doc: remove reference to the traditional layout in git-tag.txt

Дилян Палаузов (1):
      ./configure.ac: detect SSL in libcurl using curl-config


Version v2.10.1; changes since v2.10.0:
---------------------------------------

Alex Henrie (5):
      am: put spaces around pipe in usage string
      cat-file: put spaces around pipes in usage string
      git-rebase--interactive: fix English grammar
      git-merge-octopus: do not capitalize "octopus"
      unpack-trees: do not capitalize "working"

Beat Bolli (1):
      SubmittingPatches: use gitk's "Copy commit summary" format

Brandon Williams (1):
      pathspec: remove unnecessary function prototypes

Brian Henderson (3):
      diff-highlight: add some tests
      diff-highlight: add failing test for handling --graph output
      diff-highlight: add support for --graph output

Elia Pinto (5):
      t5541-http-push-smart.sh: use the GIT_TRACE_CURL environment var
      test-lib.sh: preserve GIT_TRACE_CURL from the environment
      t5550-http-fetch-dumb.sh: use the GIT_TRACE_CURL environment var
      t5551-http-fetch-smart.sh: use the GIT_TRACE_CURL environment var
      git-check-ref-format.txt: fixup documentation

Eric Wong (3):
      http: warn on curl_multi_add_handle failures
      http: consolidate #ifdefs for curl_multi_remove_handle
      http: always remove curl easy from curlm session on release

Jeff King (20):
      rebase-interactive: drop early check for valid ident
      gc: default aggressive depth to 50
      test-lib: drop PID from test-results/*.count
      diff-highlight: ignore test cruft
      diff-highlight: add multi-byte tests
      diff-highlight: avoid highlighting combined diffs
      error_errno: use constant return similar to error()
      color_parse_mem: initialize "struct color" temporary
      t5305: move cleanup into test block
      t5305: drop "dry-run" of unpack-objects
      t5305: use "git -C"
      t5305: simplify packname handling
      pack-objects: walk tag chains for --include-tag
      remote-curl: handle URLs without protocol
      patch-ids: turn off rename detection
      patch-ids: refuse to compute patch-id for merge commit
      docs/cvsimport: prefer cvs-fast-export to parsecvs
      docs/cvs-migration: update link to cvsps homepage
      docs/cvs-migration: mention cvsimport caveats
      ident: handle NULL ai_canonname

Jiang Xin (1):
      l10n: zh_CN: fixed some typos for git 2.10.0

Johannes Schindelin (4):
      git-gui: respect commit.gpgsign again
      regex: -G<pattern> feeds a non NUL-terminated string to regexec() and fails
      regex: add regexec_buf() that can work on a non NUL-terminated string
      regex: use regexec_buf()

Johannes Sixt (4):
      t9903: fix broken && chain
      t6026-merge-attr: clean up background process at end of test case
      t3700-add: create subdirectory gently
      t3700-add: do not check working tree file mode without POSIXPERM

Josh Triplett (1):
      format-patch: show base info before email signature

Junio C Hamano (6):
      submodule: avoid auto-discovery in prepare_submodule_repo_env()
      symbolic-ref -d: do not allow removal of HEAD
      Prepare for 2.9.4
      Start preparing for 2.10.1
      Prepare for 2.10.1
      Git 2.10.1

Kirill Smelkov (1):
      t/perf/run: copy config.mak.autogen & friends to build area

Lars Schneider (1):
      travis-ci: ask homebrew for its path instead of hardcoding it

Matthieu Moy (1):
      Documentation/config: default for color.* is color.ui

Mike Ralphson (1):
      vcs-svn/fast_export: fix timestamp fmt specifiers

Nguyễn Thái Ngọc Duy (3):
      checkout: add some spaces between code and comment
      checkout.txt: document a common case that ignores ambiguation rules
      checkout: fix ambiguity check in subdir

Philip Oakley (12):
      doc: use 'symmetric difference' consistently
      doc: revisions - name the left and right sides
      doc: show the actual left, right, and boundary marks
      doc: revisions: give headings for the two and three dot notations
      doc: revisions: extra clarification of <rev>^! notation effects
      doc: revisions: single vs multi-parent notation comparison
      doc: gitrevisions - use 'reachable' in page description
      doc: gitrevisions - clarify 'latter case' is revision walk
      doc: revisions - define `reachable`
      doc: revisions - clarify reachability examples
      doc: revisions: show revision expansion in examples
      doc: revisions: sort examples and fix alignment of the unchanged

Ralf Thielow (1):
      rebase -i: improve advice on bad instruction lines

Ray Chen (1):
      l10n: zh_CN: review for git v2.10.0 l10n

René Scharfe (6):
      compat: move strdup(3) replacement to its own file
      introduce hex2chr() for converting two hexadecimal digits to a character
      strbuf: use valid pointer in strbuf_remove()
      checkout: constify parameters of checkout_stage() and checkout_merged()
      unpack-trees: pass checkout state explicitly to check_updates()
      xdiff: fix merging of hunks with -W context and -u context

Satoshi Yasushima (6):
      git-gui: consistently use the same word for "remote" in Japanese
      git-gui: consistently use the same word for "blame" in Japanese
      git-gui: apply po template to Japanese translation
      git-gui: add Japanese language code
      git-gui: update Japanese translation
      git-gui: update Japanese information

Stefan Beller (5):
      xdiff: remove unneeded declarations
      transport: report missing submodule pushes consistently on stderr
      diff.c: use diff_options directly
      diff: omit found pointer from emit_callback
      diff: remove dead code

Thomas Gummerer (4):
      add: document the chmod option
      update-index: add test for chmod flags
      read-cache: introduce chmod_index_entry
      add: modify already added files when --chmod is given

Vasco Almeida (2):
      l10n: pt_PT: update Portuguese translation
      l10n: pt_PT: update Portuguese repository info


Version v2.10.0; changes since v2.10.0-rc2:
-------------------------------------------

Alex Henrie (1):
      l10n: ca.po: update translation

Changwoo Ryu (1):
      l10n: ko.po: Update Korean translation

Jean-Noël Avila (1):
      l10n: fr.po v2.10.0-rc2

Jiang Xin (3):
      l10n: git.pot: v2.10.0 round 1 (248 new, 56 removed)
      l10n: git.pot: v2.10.0 round 2 (12 new, 44 removed)
      l10n: zh_CN: for git v2.10.0 l10n round 2

Junio C Hamano (2):
      A few more fixes before the final 2.10
      Git 2.10

Lars Schneider (1):
      pack-protocol: fix maximum pkt-line size

Peter Krefting (1):
      l10n: sv.po: Update Swedish translation (2757t0f0u)

René Scharfe (1):
      p3400: make test script executable

Thomas Gummerer (1):
      blame: fix segfault on untracked files

Trần Ngọc Quân (2):
      l10n: Updated Vietnamese translation for v2.10.0 (2789t)
      l10n: Updated Vietnamese translation for v2.10.0-rc2 (2757t)

Vasco Almeida (2):
      l10n: pt_PT: merge git.pot
      l10n: pt_PT: update Portuguese translation


Version v2.10.0-rc2; changes since v2.10.0-rc1:
-----------------------------------------------

Ben Wijen (2):
      t6026-merge-attr: child processes must not inherit index.lock handles
      mingw: ensure temporary file handles are not inherited by child processes

David Glasser (1):
      doc: mention `git -c` in git-config(1)

Heiko Voigt (1):
      SubmittingPatches: document how to reference previous commits

Jean-Noël Avila (3):
      i18n: fix typos for translation
      i18n: fix git rebase interactive commit messages
      i18n: simplify numeric error reporting

Johannes Schindelin (1):
      Revert "display HTML in default browser using Windows' shell API"

Junio C Hamano (2):
      Prepare for 2.10.0-rc2
      Git 2.10-rc2

Torsten Bögershausen (2):
      git ls-files: text=auto eol=lf is supported in Git 2.10
      gitattributes: Document the unified "auto" handling


Version v2.10.0-rc1; changes since v2.10.0-rc0:
-----------------------------------------------

Johannes Schindelin (2):
      t/Makefile: ensure that paths are valid on platforms we care
      rev-parse: respect core.hooksPath in --git-path

John Keeping (1):
      difftool: always honor fatal error exit codes

Junio C Hamano (4):
      Relnotes: decribe the updates to the "text=auto" attribute
      relnotes: redo the description of text=auto fix
      RelNotes: final batch of topics before -rc1
      Git 2.10-rc1

Linus Torvalds (1):
      gpg-interface: prefer "long" key format output when verifying pgp signatures

Matthieu Moy (1):
      git-multimail: update to release 1.4.0

René Scharfe (7):
      correct FLEXPTR_* example in comment
      mailinfo: recycle strbuf in check_header()
      commit: use xstrdup() in get_merge_parent()
      commit: factor out set_merge_remote_desc()
      merge-recursive: fix verbose output for multiple base trees
      commit: use FLEX_ARRAY in struct merge_remote_desc
      receive-pack: use FLEX_ALLOC_MEM in queue_command()

SZEDER Gábor (1):
      t1410: remove superfluous 'git reflog' from the 'walk past root' test

Stefan Beller (1):
      checkout: do not mention detach advice for explicit --detach option

Torsten Bögershausen (1):
      convert: Correct NNO tests and missing `LF will be replaced by CRLF`

Vasco Almeida (3):
      t3404: become resilient to GETTEXT_POISON
      t5520: become resilient to GETTEXT_POISON
      t7411: become resilient to GETTEXT_POISON


Version v2.10.0-rc0; changes since v2.9.5:
------------------------------------------

Alexander Hirsch (1):
      pull: warn on --verify-signatures with --rebase

Antoine Queru (1):
      upload-pack.c: use parse-options API

Christian Couder (50):
      builtin/apply: make gitdiff_verify_name() return void
      builtin/apply: avoid parameter shadowing 'p_value' global
      builtin/apply: avoid parameter shadowing 'linenr' global
      builtin/apply: avoid local variable shadowing 'len' parameter
      builtin/apply: extract line_by_line_fuzzy_match() from match_fragment()
      builtin/apply: move 'options' variable into cmd_apply()
      builtin/apply: move 'read_stdin' global into cmd_apply()
      builtin/apply: introduce 'struct apply_state' to start libifying
      builtin/apply: move 'state' init into init_apply_state()
      builtin/apply: move 'unidiff_zero' global into 'struct apply_state'
      builtin/apply: move 'check' global into 'struct apply_state'
      builtin/apply: move 'check_index' global into 'struct apply_state'
      builtin/apply: move 'apply_in_reverse' global into 'struct apply_state'
      builtin/apply: move 'apply_with_reject' global into 'struct apply_state'
      builtin/apply: move 'apply_verbosely' global into 'struct apply_state'
      builtin/apply: move 'update_index' global into 'struct apply_state'
      builtin/apply: move 'allow_overlap' global into 'struct apply_state'
      builtin/apply: move 'cached' global into 'struct apply_state'
      builtin/apply: move 'diffstat' global into 'struct apply_state'
      builtin/apply: move 'numstat' global into 'struct apply_state'
      builtin/apply: move 'summary' global into 'struct apply_state'
      builtin/apply: move 'threeway' global into 'struct apply_state'
      builtin/apply: move 'no_add' global into 'struct apply_state'
      builtin/apply: move 'unsafe_paths' global into 'struct apply_state'
      builtin/apply: move 'line_termination' global into 'struct apply_state'
      builtin/apply: move 'fake_ancestor' global into 'struct apply_state'
      builtin/apply: move 'p_context' global into 'struct apply_state'
      builtin/apply: move 'apply' global into 'struct apply_state'
      builtin/apply: move 'patch_input_file' global into 'struct apply_state'
      builtin/apply: move 'limit_by_name' global into 'struct apply_state'
      builtin/apply: move 'has_include' global into 'struct apply_state'
      builtin/apply: move 'p_value' global into 'struct apply_state'
      builtin/apply: move 'p_value_known' global into 'struct apply_state'
      builtin/apply: move 'root' global into 'struct apply_state'
      builtin/apply: move 'whitespace_error' global into 'struct apply_state'
      builtin/apply: move 'whitespace_option' into 'struct apply_state'
      builtin/apply: remove whitespace_option arg from set_default_whitespace_mode()
      builtin/apply: move 'squelch_whitespace_errors' into 'struct apply_state'
      builtin/apply: move 'applied_after_fixing_ws' into 'struct apply_state'
      builtin/apply: move 'ws_error_action' into 'struct apply_state'
      builtin/apply: move 'ws_ignore_action' into 'struct apply_state'
      builtin/apply: move 'max_change' and 'max_len' into 'struct apply_state'
      builtin/apply: move 'state_linenr' global into 'struct apply_state'
      builtin/apply: move 'fn_table' global into 'struct apply_state'
      builtin/apply: move 'symlink_changes' global into 'struct apply_state'
      builtin/apply: move 'state' check into check_apply_state()
      builtin/apply: move applying patches into apply_all_patches()
      builtin/apply: add 'lock_file' pointer into 'struct apply_state'
      builtin/apply: move 'newfd' global into 'struct apply_state'
      .mailmap: use Christian Couder's Tuxfamily address

Christopher Layne (1):
      git-svn: clone: Fail on missing url argument

David Aguilar (2):
      subtree: adjust style to match CodingGuidelines
      subtree: adjust function definitions to match CodingGuidelines

David Turner (2):
      refs: allow log-only updates
      refs: don't dereference on rename

Elia Pinto (2):
      http.c: implement the GIT_TRACE_CURL environment variable
      imap-send.c: introduce the GIT_TRACE_CURL enviroment variable

Eric Sunshine (1):
      blame: drop strdup of string literal

Eric Wong (17):
      fast-import: implement unpack limit
      fast-import: invalidate pack_id references after loosening
      pretty: support "mboxrd" output format
      mailsplit: support unescaping mboxrd messages
      am: support --patch-format=mboxrd
      git-svn: skip mergeinfo handling with --no-follow-parent
      git-svn: warn instead of dying when commit data is missing
      config.mak.uname: define NEEDS_LIBRT under Linux, for now
      http-walker: remove unused parameter from fetch_object
      http: avoid disconnecting on 404s for loose objects
      http-walker: reduce O(n) ops with doubly-linked list
      list: avoid incompatibility with *BSD sys/queue.h
      git-svn: document svn.authorsProg in config
      git-svn: allow --version to work anywhere
      git svn: migrate tests to use lib-httpd
      pager: move pager-specific setup into the build
      http-backend: buffer headers before sending

Ingo Brückl (3):
      t3700: remove unwanted leftover files before running new tests
      t3700: merge two tests into one
      t3700: add a test_mode_in_index helper function

Jacob Keller (1):
      completion: add completion for --submodule=* diff option

Jeff King (72):
      git_config_with_options: drop "found" counting
      git_config_parse_parameter: refactor cleanup code
      config: set up config_source for command-line config
      config: return configset value for current_config_ functions
      config: add a notion of "scope"
      upload-pack: provide a hook for running pack-objects
      parse_opt_string_list: stop allocating new strings
      interpret-trailers: don't duplicate option strings
      blame,shortlog: don't make local option variables static
      use string_list initializer consistently
      repack: document --unpack-unreachable option
      repack: add --keep-unreachable option
      repack: extend --keep-unreachable to loose objects
      gpg-interface: use child_process.args
      verify_signed_buffer: drop pbuf variable
      verify_signed_buffer: use tempfile object
      run-command: add pipe_command helper
      verify_signed_buffer: use pipe_command
      sign_buffer: use pipe_command
      t/perf: fix regression in testing older versions of git
      p4211: explicitly disable renames in no-rename test
      color: fix max-size comment
      doc: refactor description of color format
      add skip_prefix_mem helper
      color: refactor parse_attr
      color: allow "no-" for negating attributes
      color: support "italic" attribute
      color: support strike-through attribute
      t9300: factor out portable "head -c" replacement
      t5000: test tar files that overflow ustar headers
      archive-tar: write extended headers for file sizes >= 8GB
      archive-tar: write extended headers for far-future mtime
      archive-tar: drop return value
      config: fix bogus fd check when setting up default config
      branch: use non-gentle write_file for branch description
      write_file: drop "gently" form
      write_file: use xopen
      write_file: add pointer+len variant
      write_file: add format attribute
      use write_file_buf where applicable
      branch: use write_file_buf instead of write_file
      walker: let walker_say take arbitrary formats
      avoid using sha1_to_hex output as printf format
      check_everything_connected: always pass --quiet to rev-list
      rev-list: add optional progress reporting
      check_everything_connected: convert to argv_array
      check_everything_connected: use a struct with named options
      check_connected: relay errors to alternate descriptor
      check_connected: add progress flag
      clone: use a real progress meter for connectivity check
      index-pack: add flag for showing delta-resolution progress
      receive-pack: turn on index-pack resolving progress
      receive-pack: relay connectivity errors to sideband
      receive-pack: turn on connectivity progress
      receive-pack: send keepalives during quiet periods
      contrib/git-jump: fix greedy regex when matching hunks
      contrib/git-jump: add whitespace-checking mode
      contrib/git-jump: fix typo in README
      t/perf: add tests for many-pack scenarios
      sha1_file: drop free_pack_by_name
      add generic most-recently-used list
      find_pack_entry: replace last_found_pack with MRU cache
      pack-objects: break out of want_object loop early
      pack-objects: compute local/ignore_pack_keep early
      trace: handle NULL argument in trace_disable()
      trace: stop using write_or_whine_pipe()
      trace: use warning() for printing trace errors
      trace: cosmetic fixes for error messages
      trace: correct variable name in write() error message
      trace: disable key after write error
      write_or_die: drop write_or_whine_pipe()
      trace: do not fall back to stderr

Johannes Schindelin (36):
      log: prepare log/log-tree to reuse the diffopt.close_file attribute
      log-tree: respect diffopt's configured output file stream
      line-log: respect diffopt's configured output file stream
      graph: respect the diffopt.file setting
      shortlog: support outputting to streams other than stdout
      format-patch: explicitly switch off color when writing to files
      format-patch: avoid freopen()
      format-patch: use stdout directly
      shortlog: respect the --output=<file> setting
      t4211: ensure that log respects --output=<file>
      diff: do not color output when --color=auto and --output=<file> is given
      t3404: add a test for the --gpg-sign option
      rebase -i: demonstrate a bug with --autosquash
      rebase -i: we allow extra spaces after fixup!/squash!
      mingw: fix the shortlog --output=<file> test
      mingw: fix regression in t1308-config-set
      fsck: refactor how to describe objects
      fsck_walk(): optionally name objects on the go
      fsck: give the error function a chance to see the fsck_options
      fsck: optionally show more helpful info for broken links
      t5520: verify that `pull --rebase` shows the helpful advice when failing
      die("bug"): report bugs consistently
      die(_("BUG")): avoid translating bug messages
      merge-recursive: clarify code in was_tracked()
      prepare the builtins for a libified merge_recursive()
      merge_recursive: abort properly upon errors
      merge-recursive: avoid returning a wholesale struct
      merge-recursive: allow write_tree_from_memory() to error out
      merge-recursive: handle return values indicating errors
      merge-recursive: switch to returning errors instead of dying
      am -3: use merge_recursive() directly again
      merge-recursive: flush output buffer before printing error messages
      merge-recursive: write the commit title in one go
      merge-recursive: offer an option to retain the output in 'obuf'
      merge_trees(): ensure that the callers release output buffer
      merge-recursive: flush output buffer even when erroring out

Johannes Sixt (5):
      git-submodule: forward exit code of git-submodule--helper more faithfully
      submodule-helper: fix indexing in clone retry error reporting path
      rebase-interactive: trim leading whitespace from progress count
      config.c: avoid duplicated global static variables
      commit-slab.h: avoid duplicated global static variables

Jonathan Tan (1):
      fetch-pack: grow stateless RPC windows exponentially

Jordan DE GEA (1):
      worktree: allow "-" short-hand for @{-1} in add command

Josh Triplett (1):
      format-patch: format.from gives the default for --from

Junio C Hamano (21):
      send-email: detect and offer to skip backup files
      pathspec: rename free_pathspec() to clear_pathspec()
      t1308: do not get fooled by symbolic links to the source tree
      builtin/apply: remove misleading comment on lock_file field
      Start the post-2.9 cycle
      Second batch of topics for 2.10
      Third batch of topics for 2.10
      commit.c: remove print_commit_list()
      Fourth batch of topics for 2.10
      Fifth batch of topics for 2.10
      archive-tar: huge offset and future timestamps would not work on 32-bit
      Sixth batch of topics for 2.10
      Seventh batch of topics for 2.10
      t9100: portability fix
      Eighth batch of topics for 2.10
      Ninth batch of topics for 2.10
      Tenth batch for 2.10
      Eleventh batch for 2.10
      Twelfth batch for 2.10
      Final batch before 2.10-rc0
      Git 2.10-rc0

Kevin Willford (4):
      patch-ids: stop using a hand-rolled hashmap implementation
      patch-ids: replace the seen indicator with a commit pointer
      patch-ids: add flag to create the diff patch id using header only data
      rebase: avoid computing unnecessary patch IDs

Lars Schneider (1):
      git-p4: place temporary refs used for branch import under refs/git-p4-tmp

Lukas Fleischer (1):
      receive-pack: send auto-gc output over sideband 2

Mehul Jain (3):
      t4202: refactor test
      log: add "--no-show-signature" command line option
      log: add log.showSignature configuration variable

Michael Haggerty (50):
      t1404: demonstrate a bug resolving references
      commit_ref(): if there is an empty dir in the way, delete it
      read_raw_ref(): don't get confused by an empty directory
      safe_create_leading_directories(): improve docstring
      remove_dir_recursively(): add docstring
      refname_is_safe(): use skip_prefix()
      refname_is_safe(): don't allow the empty string
      refname_is_safe(): insist that the refname already be normalized
      commit_ref_update(): write error message to *err, not stderr
      rename_ref(): remove unneeded local variable
      ref_transaction_commit(): remove local variables n and updates
      read_raw_ref(): rename flags argument to type
      read_raw_ref(): clear *type at start of function
      read_raw_ref(): rename symref argument to referent
      read_raw_ref(): improve docstring
      read_raw_ref(): move docstring to header file
      lock_ref_sha1_basic(): remove unneeded local variable
      refs: make error messages more consistent
      ref_transaction_create(): disallow recursive pruning
      ref_transaction_commit(): correctly report close_ref() failure
      delete_branches(): use resolve_refdup()
      verify_refname_available(): adjust constness in declaration
      add_update(): initialize the whole ref_update
      lock_ref_for_update(): new function
      unlock_ref(): move definition higher in the file
      ref_transaction_update(): check refname_is_safe() at a minimum
      refs: resolve symbolic refs first
      lock_ref_for_update(): don't re-read non-symbolic references
      lock_ref_for_update(): don't resolve symrefs
      commit_ref_update(): remove the flags parameter
      lock_ref_sha1_basic(): only handle REF_NODEREF mode
      refs: remove unnecessary "extern" keywords
      do_for_each_ref(): move docstring to the header file
      refs: use name "prefix" consistently
      delete_refs(): add a flags argument
      remote rm: handle symbolic refs correctly
      get_ref_cache(): only create an instance if there is a submodule
      entry_resolves_to_object(): rename function from ref_resolves_to_object()
      ref_resolves_to_object(): new function
      refs: introduce an iterator interface
      do_for_each_ref(): reimplement using reference iteration
      for_each_reflog(): don't abort for bad references
      dir_iterator: new API for iterating over a directory tree
      for_each_reflog(): reimplement using iterators
      t1404: rename file to t1404-update-ref-errors.sh
      t1404: remove "prefix" argument to test_update_rejected
      t1404: document function test_update_rejected
      t1404: add more tests of update-ref error handling
      lock_ref_for_update(): make error handling more uniform
      lock_ref_for_update(): avoid a symref resolution

Michael J Gruber (2):
      gpg-interface: check gpg signature creation status
      t/t91*: do not say how to avoid the tests

Nguyễn Thái Ngọc Duy (20):
      completion: support git-worktree
      worktree.c: rewrite mark_current_worktree() to avoid strbuf
      git-worktree.txt: keep subcommand listing in alphabetical order
      worktree.c: use is_dot_or_dotdot()
      worktree: avoid 0{40}, too many zeroes, hard to read
      worktree: simplify prefixing paths
      worktree.c: add find_worktree()
      worktree.c: add is_main_worktree()
      lib-httpd.sh: print error.log on error
      worktree.c: add is_worktree_locked()
      git-fetch.txt: document fetch output
      fetch: refactor ref update status formatting code
      fetch: change flag code for displaying tag update and deleted ref
      fetch: align all "remote -> local" output
      fetch: reduce duplicate in ref update status lines with placeholder
      connect: read $GIT_SSH_COMMAND from config file
      worktree: add "lock" command
      worktree: add "unlock" command
      worktree.c: find_worktree() search by path suffix
      log: decorate HEAD -> branch with the same color for arrow and HEAD

René Scharfe (4):
      am: ignore return value of write_file()
      pass constants as first argument to st_mult()
      use CHILD_PROCESS_INIT to initialize automatic variables
      archive-tar: make write_extended_header() void

Ronald Wampler (1):
      Makefile: add NEEDS_LIBRT to optionally link with librt

Stefan Beller (19):
      submodule update: make use of the existing fetch_in_submodule function
      submodule-config: keep shallow recommendation around
      submodule update: learn `--[no-]recommend-shallow` option
      submodule--helper: initial clone learns retry logic
      submodule update: continue when a clone fails
      push options: {pre,post}-receive hook learns about push options
      receive-pack: implement advertising and receiving push options
      push: accept push options
      add a test for push options
      t7406: future proof tests with hard coded depth
      submodule update: respect depth in subsequent fetches
      submodule update: narrow scope of local variable
      submodule--helper: fix usage string for relative-path
      submodule-config: keep configured branch around
      gitmodules: document shallow recommendation
      submodule--helper: add remote-branch helper
      submodule update: allow '.' for branch value
      submodule--helper: use parallel processor correctly
      t7406: fix breakage on OSX

Thomas Braun (3):
      completion: factor out untracked file modes into a variable
      completion: add __git_get_option_value helper
      completion: add git status

Vasco Almeida (44):
      i18n: builtin/remote.c: fix mark for translation
      i18n: advice: mark string about detached head for translation
      i18n: advice: internationalize message for conflicts
      i18n: transport: mark strings for translation
      i18n: sequencer: mark entire sentences for translation
      i18n: rebase-interactive: mark here-doc strings for translation
      i18n: sequencer: mark string for translation
      i18n: rebase-interactive: mark comments of squash for translation
      i18n: merge-octopus: mark messages for translation
      i18n: setup: mark strings for translation
      merge-octopus: use die shell function from git-sh-setup.sh
      tests: use test_i18n* functions to suppress false positives
      i18n: rebase: fix marked string to use eval_gettext variant
      tests: unpack-trees: update to use test_i18n* functions
      i18n: rebase: mark placeholder for translation
      t9003: become resilient to GETTEXT_POISON
      i18n: bisect: simplify error message for i18n
      t4153: fix negated test_i18ngrep call
      t6030: update to use test_i18ncmp
      t5523: use test_i18ngrep for negation
      i18n: git-sh-setup.sh: mark strings for translation
      i18n: bisect: mark strings for translation
      i18n: rebase-interactive: mark strings for translation
      i18n: transport-helper.c: change N_() call to _()
      i18n: notes: mark strings for translation
      i18n: notes: mark options for translation
      i18n: merge: mark messages for translation
      i18n: merge: change command option help to lowercase
      i18n: sequencer: add period to error message
      i18n: standardise messages
      i18n: remote: mark URL fallback text for translation
      i18n: remote: allow translations to reorder message
      i18n: init-db: join message pieces
      i18n: submodule: join strings marked for translation
      i18n: submodule: escape shell variables inside eval_gettext
      i18n: unmark die messages for translation
      i18n: branch: mark comment when editing branch description for translation
      t5541: become resilient to GETTEXT_POISON
      t5510: skip tests under GETTEXT_POISON build
      i18n: notes: mark comment for translation
      i18n: config: unfold error messages marked for translation
      i18n: setup: mark error messages for translation
      i18n: archive: mark errors for translation
      i18n: git-stash: mark messages for translation

Ville Skyttä (2):
      completion: complete --delete, --move, and --remotes for git branch
      Spelling fixes

William Duclot (1):
      userdiff: add built-in pattern for CSS

brian m. carlson (11):
      hex: add oid_to_hex_r()
      contrib/coccinelle: add basic Coccinelle transforms
      coccinelle: convert hashcpy() with null_sha1 to hashclr()
      coccinelle: apply object_id Coccinelle transformations
      diff: convert struct diff_filespec to struct object_id
      diff: rename struct diff_filespec's sha1_valid member
      merge-recursive: convert struct stage_data to use object_id
      merge-recursive: convert struct merge_file_info to object_id
      merge-recursive: convert leaf functions to use struct object_id
      merge-recursive: convert merge_recursive_generic() to object_id
      diff: convert prep_temp_blob() to struct object_id


Version v2.9.5; changes since v2.9.4:
-------------------------------------

Jeff King (4):
      t5813: add test for hostname starting with dash
      connect: factor out "looks like command line option" check
      connect: reject dashed arguments for proxy commands
      connect: reject paths that look like command line options

Junio C Hamano (4):
      connect: reject ssh hostname that begins with a dash
      Git 2.7.6
      Git 2.8.6
      Git 2.9.5


Version v2.9.4; changes since v2.9.3:
-------------------------------------

Beat Bolli (1):
      SubmittingPatches: use gitk's "Copy commit summary" format

Ben Wijen (2):
      t6026-merge-attr: child processes must not inherit index.lock handles
      mingw: ensure temporary file handles are not inherited by child processes

David Glasser (1):
      doc: mention `git -c` in git-config(1)

Heiko Voigt (1):
      SubmittingPatches: document how to reference previous commits

Jeff King (12):
      add an extra level of indirection to main()
      common-main: call git_extract_argv0_path()
      common-main: call sanitize_stdfds()
      common-main: call restore_sigpipe_to_default()
      common-main: call git_setup_gettext()
      doc/rev-list-options: clarify "commit@{Nth}" for "-g" option
      doc/rev-list-options: explain "-g" output formats
      doc/pretty-formats: describe index/time formats for %gd
      doc/pretty-formats: explain shortening of %gd
      date: document and test "raw-local" mode
      date: add "unix" format
      shell: disallow repo names beginning with dash

Johannes Schindelin (6):
      mingw: declare main()'s argv as const
      import-tars: support hard links
      t5533: make it pass on case-sensitive filesystems
      git mv: do not keep slash in `git mv dir non-existing-dir/`
      t/Makefile: ensure that paths are valid on platforms we care
      Revert "display HTML in default browser using Windows' shell API"

John Keeping (4):
      Documentation/git-push: fix placeholder formatting
      push: add shorthand for --force-with-lease branch creation
      push: allow pushing new branches with --force-with-lease
      difftool: always honor fatal error exit codes

Junio C Hamano (9):
      merge: avoid "safer crlf" during recording of merge results
      date: clarify --date=raw description
      Prepare for 2.9.4
      Git 2.4.12
      Git 2.5.6
      Git 2.6.7
      Git 2.7.5
      Git 2.8.5
      Git 2.9.4

Lars Schneider (1):
      pack-protocol: fix maximum pkt-line size

Michael Stahl (1):
      document git-repack interaction of pack.threads and pack.windowMemory

René Scharfe (10):
      merge-recursive: use STRING_LIST_INIT_NODUP
      merge: use string_list_split() in add_strategies()
      use strbuf_add_unique_abbrev() for adding short hashes
      correct FLEXPTR_* example in comment
      mailinfo: recycle strbuf in check_header()
      commit: use xstrdup() in get_merge_parent()
      commit: factor out set_merge_remote_desc()
      merge-recursive: fix verbose output for multiple base trees
      commit: use FLEX_ARRAY in struct merge_remote_desc
      receive-pack: use FLEX_ALLOC_MEM in queue_command()

SZEDER Gábor (1):
      t1410: remove superfluous 'git reflog' from the 'walk past root' test

Stefan Beller (1):
      checkout: do not mention detach advice for explicit --detach option

Torsten Bögershausen (1):
      convert: unify the "auto" handling of CRLF


Version v2.9.3; changes since v2.9.2:
-------------------------------------

Alex Henrie (1):
      unpack-trees: fix English grammar in do-this-before-that messages

Andreas Brauchli (1):
      gitweb: escape link body in format_ref_marker

Armin Kunaschik (1):
      t7610: test for mktemp before test execution

Charles Bailey (3):
      t7810-grep.sh: fix duplicated test name
      t7810-grep.sh: fix a whitespace inconsistency
      grep: fix grepping for "intent to add" files

Chris Packham (1):
      completion: add option '--recurse-submodules' to 'git clone'

David A. Greene (1):
      contrib/subtree: Add a test for subtree rebase that loses commits

David Aguilar (4):
      t7900-subtree.sh: fix quoting and broken && chains
      subtree: fix "git subtree split --rejoin"
      difftool: avoid $GIT_DIR and $GIT_WORK_TREE
      difftool: use Git::* functions instead of passing around state

David Kastrup (1):
      blame: require 0 context lines while finding moved lines with -M

Eric Wong (6):
      gc: fix off-by-one error with gc.autoPackLimit
      xread: retry after poll on EAGAIN/EWOULDBLOCK
      xwrite: poll on non-blocking FDs
      hoist out handle_nonblock function for xread and xwrite
      daemon: ignore ENOTSOCK from setsockopt
      configure.ac: stronger test for pthread linkage

Heiko Voigt (3):
      submodule-config: passing name reference for .gitmodule blobs
      submodule-config: combine early return code into one goto
      submodule-config: fix test binary crashing when no arguments given

Jeff King (14):
      send-pack: use buffered I/O to talk to pack-objects
      tests: factor portable signal check out of t0005
      t0005: use test_match_signal as appropriate
      test_must_fail: use test_match_signal
      t/lib-git-daemon: use test_match_signal
      parse_options: allocate a new array when concatenating
      Makefile: drop extra dependencies for test helpers
      Makefile: use VCSSVN_LIB to refer to svn library
      push: anonymize URL in status output
      t5541: fix url scrubbing test when GPG is not set
      diff: do not reuse worktree files that need "clean" conversion
      t4205: drop top-level &&-chaining
      t4205: indent here documents
      am: reset cached ident date for each patch

Joey Hess (1):
      clarify %f documentation

Johannes Schindelin (13):
      pretty: make the skip_blank_lines() function public
      commit.c: make find_commit_subject() more robust
      color.h: remove obsolete comment about limitations on Windows
      t3404: fix a grammo (commands are ran -> commands are run)
      commit -C: skip blank lines at the beginning of the message
      sequencer: use skip_blank_lines() to find the commit subject
      reset --hard: skip blank lines when reporting the commit subject
      commit -S: avoid invalid pointer with empty message
      am: counteract gender bias
      diff: demonstrate a bug with --patience and --ignore-space-at-eol
      diff: fix a double off-by-one with --ignore-space-at-eol
      t/test-lib.sh: fix running tests with --valgrind
      nedmalloc: fix misleading indentation

Johannes Sixt (2):
      Windows: add missing definition of ENOTSOCK
      t4130: work around Windows limitation

John Keeping (1):
      difftool: fix argument handling in subdirs

Junio C Hamano (7):
      diff: document diff-filter exclusion
      grep: further simplify setting the pattern type
      Some fixes for 2.9.3
      hashmap: clarify that hashmap_entry can safely be discarded
      Hopefully final batch for 2.9.3
      Yet another batch for 2.9.3
      Git 2.9.3

Lars Schneider (1):
      travis-ci: enable web server tests t55xx on Linux

Lukas Fleischer (3):
      sideband.c: make send_sideband() return void
      upload-pack.c: make send_client_data() return void
      sideband.c: refactor recv_sideband()

Matthieu Moy (8):
      Documentation/git-mv.txt: fix whitespace indentation
      doc: typeset short command-line options as literal
      doc: typeset long command-line options as literal
      doc: typeset '--' as literal
      doc: typeset long options with argument as literal
      CodingGuidelines: formatting HEAD in documentation
      doc: typeset HEAD and variants as literal
      status: suggest 'git merge --abort' when appropriate

Mike Hommey (2):
      blame: allow to blame paths freshly added to the index
      t/t8003-blame-corner-cases.sh: Use here documents

Nguyễn Thái Ngọc Duy (26):
      new-command.txt: correct the command description file
      grep: break down an "if" stmt in preparation for next changes
      test-regex: isolate the bug test code
      test-regex: expose full regcomp() to the command line
      grep/icase: avoid kwsset on literal non-ascii strings
      grep/icase: avoid kwsset when -F is specified
      grep: rewrite an if/else condition to avoid duplicate expression
      grep/pcre: prepare locale-dependent tables for icase matching
      gettext: add is_utf8_locale()
      grep/pcre: support utf-8
      diffcore-pickaxe: Add regcomp_or_die()
      diffcore-pickaxe: support case insensitive match on non-ascii
      grep.c: reuse "icase" variable
      pack-objects: pass length to check_pack_crc() without truncation
      sha1_file.c: use type off_t* for object_info->disk_sizep
      index-pack: correct "len" type in unpack_data()
      index-pack: report correct bad object offsets even if they are large
      index-pack: correct "offset" type in unpack_entry_data()
      pack-objects: do not truncate result in-pack object size on 32-bit systems
      fsck: use streaming interface for large blobs in pack
      test-lib.sh: introduce and use $EMPTY_TREE
      test-lib.sh: introduce and use $EMPTY_BLOB
      cache-tree.c: fix i-t-a entry skipping directory updates sometimes
      cache-tree: do not generate empty trees as a result of all i-t-a subentries
      config.mak.uname: correct perl path on FreeBSD
      t7063: work around FreeBSD's lazy mtime update feature

Nicolas Pitre (1):
      sideband.c: small optimization of strbuf usage

Orgad Shaneh (1):
      commit: describe that --no-verify skips the commit-msg hook in the help text

Parker Moore (2):
      contrib/persistent-https: update ldflags syntax for Go 1.7+
      contrib/persistent-https: use Git version for build label

Patrick Steinhardt (1):
      rebase -i: restore autostash on abort

Pranit Bauva (1):
      builtin/commit.c: memoize git-path for COMMIT_EDITMSG

Ramsay Jones (1):
      write_or_die: remove the unused write_or_whine() function

René Scharfe (10):
      .gitattributes: set file type for C files
      notes-merge: use O_EXCL to avoid overwriting existing files
      rm: reuse strbuf for all remove_dir_recursively() calls
      worktree: use strbuf_add_absolute_path() directly
      use strbuf_addbuf() for appending a strbuf to another
      submodule-config: use explicit empty string instead of strbuf in config_from()
      strbuf: avoid calling strbuf_grow() twice in strbuf_addbuf()
      use strbuf_addstr() for adding constant strings to a strbuf
      use strbuf_addstr() instead of strbuf_addf() with "%s"
      nedmalloc: work around overzealous GCC 6 warning

Stefan Beller (2):
      Documentation: pack-protocol correct NAK response
      submodule deinit: remove outdated comment


Version v2.9.2; changes since v2.9.1:
-------------------------------------

Jeff King (1):
      t0006: skip "far in the future" test when unsigned long is not long enough

Junio C Hamano (1):
      Git 2.9.2


Version v2.9.1; changes since v2.9.0:
-------------------------------------

Alfred Perlstein (1):
      git-svn: document the 'git svn propset' command

Andrew Oakley (1):
      git-p4: correct hasBranchPrefix verbose output

Armin Kunaschik (1):
      t7800: readlink may not be available

Charles Bailey (1):
      t7810: fix duplicated test title

Dave Nicolson (1):
      Documentation: GPG capitalization

David Turner (1):
      mailmap: use main email address for dturner

Ed Maste (1):
      rebase: update comment about FreeBSD /bin/sh

Edward Thomson (2):
      format_commit_message: honor `color=auto` for `%C(auto)`
      add: add --chmod=+x / --chmod=-x options

Eric Wong (1):
      daemon: enable SO_KEEPALIVE for all sockets

Heiko Becker (1):
      gnome-keyring: Don't hard-code pkg-config executable

Jeff King (9):
      rev-list: "adjust" results of "--count --use-bitmap-index -n"
      rev-list: disable bitmaps when "-n" is used with listing objects
      tree-diff: avoid alloca for large allocations
      fetch: document that pruning happens before fetching
      add--interactive: respect diff.compactionHeuristic
      bisect: always call setup_revisions after init_revisions
      t0006: rename test-date's "show" to "relative"
      t0006: test various date formats
      local_tzoffset: detect errors from tm_to_time_t

Johannes Schindelin (3):
      mingw: let the build succeed with DEVELOPER=1
      perf: accommodate for MacOSX
      t2300: "git --exec-path" is not usable in $PATH on Windows as-is

Jonathan Nieder (1):
      doc: git-htmldocs.googlecode.com is no more

Josef Kufner (1):
      pretty: pass graph width to pretty formatting for use in '%>|(N)'

Junio C Hamano (5):
      blame, line-log: do not loop around deref_tag()
      clone: do not let --depth imply --shallow-submodules
      Start preparing for 2.9.1
      More fixes for 2.9.1
      Git 2.9.1

Keith McGuigan (1):
      builtin/fetch.c: don't free remote->name after fetch

LE Manh Cuong (1):
      sh-setup: enclose setting of ${VAR=default} in double-quotes

Lars Vogel (1):
      Use "working tree" instead of "working directory" for git status

Michael J Gruber (5):
      cherry-pick: allow to pick to unborn branches
      Documentation/technical: describe signature formats
      Documentation/technical: signed tag format
      Documentation/technical: signed commit format
      Documentation/technical: signed merge tag format

Nguyễn Thái Ngọc Duy (1):
      pretty.c: support <direction>|(<negative number>) forms

Peter Colberg (2):
      refs.h: fix misspelt "occurred" in a comment
      config.c: fix misspelt "occurred" in an error message

Pranit Bauva (1):
      strbuf: describe the return value of strbuf_read_file

Ramsay Jones (1):
      regex: fix a SIZE_MAX macro redefinition warning

René Scharfe (9):
      t4051: rewrite, add more tests
      xdiff: factor out match_func_rec()
      xdiff: handle appended chunks better with -W
      xdiff: ignore empty lines before added functions with -W
      xdiff: -W: don't include common trailing empty lines in context
      xdiff: don't trim common tail with -W
      t7810: add test for grep -W and trailing empty context lines
      grep: -W: don't extend context to trailing empty lines
      xdiff: fix merging of appended hunk with -W

SZEDER Gábor (1):
      reflog: continue walking the reflog past root commits

Stefan Beller (1):
      t5614: don't use subshells

Tom Russello (4):
      doc: clearer rule about formatting literals
      doc: change environment variables format
      doc: more consistency in environment variables format
      doc: change configuration variables format

Ville Skyttä (1):
      git-prompt.sh: Don't error on null ${ZSH,BASH}_VERSION, $short_sha


Version v2.9.0; changes since v2.9.0-rc2:
-----------------------------------------

Alexander Shopov (1):
      l10n: Updated Bulgarian translation of git (2597t,0f,0u)

Antonin (1):
      l10n: fr.po Fixed grammar mistake

Changwoo Ryu (1):
      l10n: ko.po: Update Korean translation

Dimitriy Ryazantcev (1):
      l10n: ru.po: update Russian translation

Jean-Noël Avila (1):
      l10n: fr.po v2.9.0rnd1

Jeff King (1):
      test-lib: add in-shell "env" replacement

Jiang Xin (2):
      l10n: git.pot: v2.9.0 round 1 (104 new, 37 removed)
      l10n: zh_CN: for git v2.9.0 l10n round 1

Junio C Hamano (5):
      t5500 & t7403: lose bash-ism "local"
      t2300: run git-sh-setup in an environment that better mimics the real life
      diff: disable compaction heuristic for now
      Hopefully the final last-minute update before 2.9 final
      Git 2.9

Peter Krefting (1):
      l10n: sv.po: Update Swedish translation (2597t0f0u)

Ralf Thielow (1):
      l10n: de.po: translate 104 new messages

Ray Chen (1):
      l10n: zh_CN: review for git v2.9.0 l10n round 1

Trần Ngọc Quân (1):
      l10n: Updated Vietnamese translation (2597t)

Vasco Almeida (3):
      l10n: pt_PT: merge git.pot file
      l10n: pt_PT: update according to git-gui glossary
      l10n: pt_PT: update Portuguese translation


Version v2.9.0-rc2; changes since v2.9.0-rc1:
---------------------------------------------

Benjamin Dopplinger (1):
      README.md: format CLI commands with code syntax

Erwan Mathoniere (1):
      Documentation: bold literals in man

Johannes Sixt (1):
      rebase -i: remove an unnecessary 'rerere' invocation

Junio C Hamano (3):
      Almost ready for 2.9-rc2
      Git 2.8.4
      Git 2.9-rc2

Matthieu Moy (2):
      Makefile: move 'ifdef DEVELOPER' after config.mak* inclusion
      Makefile: add $(DEVELOPER_CFLAGS) variable

Pablo Santiago Blum de Aguiar (1):
      git-cherry-pick.txt: correct a small typo

René Scharfe (3):
      apply: remove unused parameters from name_terminate()
      patch-id: use starts_with() and skip_prefix()
      perf: make the tests work without a worktree

SZEDER Gábor (1):
      Documentation/git-send-email: fix typo in gmail 2FA section

Stefan Beller (2):
      submodule--helper: offer a consistent API
      submodule: remove bashism from shell script


Version v2.9.0-rc1; changes since v2.9.0-rc0:
---------------------------------------------

Armin Kunaschik (1):
      t0008: 4 tests fail with ksh88

Eric Sunshine (5):
      t1500: be considerate to future potential tests
      t1500: test_rev_parse: facilitate future test enhancements
      t1500: avoid changing working directory outside of tests
      t1500: avoid setting configuration options outside of tests
      t1500: avoid setting environment variables outside of tests

Felipe Contreras (1):
      fast-import: do not truncate exported marks file

Jeff King (3):
      cat-file: avoid noop calls to sha1_object_info_extended
      cat-file: default to --buffer when --batch-all-objects is used
      archive-tar: convert snprintf to xsnprintf

Johannes Sixt (1):
      t6044: replace seq by test_seq

Junio C Hamano (5):
      t4204: do not let $name variable clobbered
      Start preparing for 2.8.4
      Final batch before 2.9-rc1
      More topics for 2.8.4
      Git 2.9-rc1

Karsten Blees (1):
      mingw: make isatty() recognize MSYS2's pseudo terminals (/dev/pty*)

Michael Rappazzo (1):
      Documentation: add instructions to help setup gmail 2FA

Ramsay Jones (1):
      log: document the --decorate=auto option


Version v2.9.0-rc0; changes since v2.8.6:
-----------------------------------------

Ben Woosley (1):
      git-rebase--merge: don't include absent parent as a base

Christian Couder (1):
      Git/SVN: die when there is no commit metadata

David Turner (5):
      refs: move head_ref{,_submodule} to the common code
      refs: move for_each_*ref* functions into common code
      files-backend: break out ref reading
      refs: move resolve_ref_unsafe into common code
      refs: on symref reflog expire, lock symref not referrent

Dennis Kaarsemaker (1):
      Makefile: remove dependency on git.spec

Elijah Newren (6):
      merge-recursive: remove duplicate code
      merge-recursive: do not check working copy when creating a virtual merge base
      t7605: add a testcase demonstrating a bug with trivial merges
      builtin/merge.c: fix a bug with trivial merges
      t6044: new merge testcases for when index doesn't match HEAD
      merge-octopus: abort if index does not match HEAD

Eric Sunshine (4):
      lib-gpg: drop unnecessary "missing GPG" warning
      t6302: normalize names and descriptions of signed tags
      t6302: also test annotated in addition to signed tags
      t6302: skip only signed tags rather than all tests when GPG is missing

Jacob Keller (7):
      submodule: don't pass empty string arguments to submodule--helper clone
      submodule: check argc count for git submodule--helper clone
      submodule: fix submodule--helper clone usage
      submodule: fix segmentation fault in submodule--helper clone
      quote: implement sq_quotef()
      git: submodule honor -c credential.* from command line
      xdiff: add recs_match helper function

Jacob Nisnevich (2):
      mergetools: create mergetool_find_win32_cmd() helper function for winmerge
      mergetools: add support for ExamDiff

Jan Durovec (2):
      git-p4: clean-up code style in tests
      git-p4: add P4 jobs to git commit message

Jeff King (16):
      credential: let empty credential specs reset helper list
      add--interactive: allow custom diff highlighting programs
      git_config_push_parameter: handle empty GIT_CONFIG_PARAMETERS
      t5550: fix typo in $HTTPD_URL
      t5550: break submodule config test into multiple sub-tests
      submodule: export sanitized GIT_CONFIG_PARAMETERS
      submodule--helper: move config-sanitizing to submodule.c
      submodule: use prepare_submodule_repo_env consistently
      submodule: stop sanitizing config options
      t6302: simplify non-gpg cases
      t/lib-git-svn: drop $remote_git_svn and $git_svn_id
      t9100,t3419: enclose all test code in single-quotes
      t9107: use "return 1" instead of "exit 1"
      t9107: switch inverted single/double quotes in test
      t9103: modernize test style
      always quote shell arguments to test -z/-n

Johannes Schindelin (8):
      http: support sending custom HTTP headers
      tests: adjust the configuration for Apache 2.2
      t5551: make the test for extra HTTP headers more robust
      t3404: fix typo
      submodule: ensure that -c http.extraheader is heeded
      perf: let's disable symlinks when they are not available
      perf: make the tests work in worktrees
      perf: run "rebase -i" under perf

Junio C Hamano (45):
      rerere: split conflict ID further
      rerere: scan $GIT_DIR/rr-cache/$ID when instantiating a rerere_id
      rerere: handle leftover rr-cache/$ID directory and postimage files
      rerere: delay the recording of preimage
      rerere: allow multiple variants to exist
      t4200: rerere a merge with two identical conflicts
      rerere: do use multiple variants
      merge: refuse to create too cool a merge by default
      pretty: enable --expand-tabs by default for selected pretty formats
      pretty: allow tweaking tabwidth in --expand-tabs
      First batch for post 2.8 cycle
      pretty: test --expand-tabs
      Second batch for post 2.8 cycle
      Makefile: stop pretending to support rpmbuild
      rerere: gc and clear
      rerere: move code related to "forget" together
      rerere: split code to call ll_merge() further
      rerere: adjust 'forget' to multi-variant world order
      Third batch for post 2.8 cycle
      Fourth batch for post 2.8 cycle
      ll-merge: fix typo in comment
      Makefile: clean *.o files we create
      Fifth batch for post 2.8 cycle
      t3033: avoid 'ambiguous refs' warning
      pull: pass --allow-unrelated-histories to "git merge"
      Sixth batch for post 2.8 cycle
      Seventh batch for post 2.8 cycle
      Eighth batch for 2.9
      diff: undocument the compaction heuristic knobs for experimentation
      commit-tree: do not pay attention to commit.gpgsign
      Ninth batch for 2.9
      Tenth batch for 2.9
      ll-merge: use a longer conflict marker for internal merge
      t6036: remove pointless test that expects failure
      ci: validate "linkgit:" in documentation
      test-parse-options: fix output when callback option fails
      test-parse-options: --expect=<string> option to simplify tests
      t0040: remove unused test helpers
      t0040: convert a few tests to use test-parse-options --expect
      Eleventh batch for 2.9
      rerere: plug memory leaks upon "rerere forget" failure
      Twelfth batch for 2.9
      Thirteenth batch for 2.9
      rerere: remove an null statement
      Git 2.9-rc0

Lars Schneider (2):
      git-p4: map a P4 user to Git author name and email address
      travis-ci: enable Git SVN tests t91xx on Linux

Laurent Arnoud (1):
      tag: add the option to force signing of annotated tags

Linus Torvalds (1):
      pretty: expand tabs in indented logs to make things line up properly

Matthieu Moy (7):
      Documentation/diff-config: fix description of diff.renames
      t4001-diff-rename: wrap file creations in a test
      t: add tests for diff.renames (true/false/unset)
      log: introduce init_log_defaults()
      diff: activate diff.renames by default
      README.md: don't take 'commandname' literally
      git-multimail: update to release 1.3.1

Mehul Jain (9):
      git-pull.c: introduce git_pull_config()
      pull --rebase: add --[no-]autostash flag
      t5520: use consistent capitalization in test titles
      t5520: ensure consistent test conditions
      t5520: use better test to check stderr output
      t5520: factor out common "successful autostash" code
      t5520: factor out common "failing autostash" code
      t5520: reduce commom lines of code
      t5520: test --[no-]autostash with pull.rebase=true

Michael Haggerty (19):
      t1430: test the output and error of some commands more carefully
      t1430: clean up broken refs/tags/shadow
      t1430: don't rely on symbolic-ref for creating broken symrefs
      t1430: test for-each-ref in the presence of badly-named refs
      t1430: improve test coverage of deletion of badly-named refs
      resolve_missing_loose_ref(): simplify semantics
      resolve_ref_unsafe(): use for loop to count up to MAXDEPTH
      resolve_ref_unsafe(): ensure flags is always set
      resolve_ref_1(): eliminate local variable
      resolve_ref_1(): reorder code
      resolve_ref_1(): eliminate local variable "bad_name"
      read_raw_ref(): manage own scratch space
      files-backend: inline resolve_ref_1() into resolve_ref_unsafe()
      read_raw_ref(): change flags parameter to unsigned int
      fsck_head_link(): remove unneeded flag variable
      cmd_merge(): remove unneeded flag variable
      checkout_paths(): remove unneeded flag variable
      check_aliased_update(): check that dst_name is non-NULL
      show_head_ref(): check the result of resolve_ref_namespace()

Michael J Gruber (1):
      completion: complete --cherry-mark for git log

Nguyễn Thái Ngọc Duy (57):
      apply: report patch skipping in verbose mode
      test helpers: move test-* to t/helper/ subdirectory
      dir.c: rename str(n)cmp_icase to fspath(n)cmp
      path.c: add git_common_path() and strbuf_git_common_path()
      worktree.c: store "id" instead of "git_dir"
      worktree.c: make find_shared_symref() return struct worktree *
      worktree.c: mark current worktree
      path.c: refactor and add worktree_git_path()
      wt-status.c: split rebase detection out of wt_status_get_state()
      wt-status.c: make wt_status_check_rebase() work on any worktree
      worktree.c: avoid referencing to worktrees[i] multiple times
      worktree.c: check whether branch is rebased in another worktree
      wt-status.c: split bisect detection out of wt_status_get_state()
      worktree.c: check whether branch is bisected in another worktree
      branch: do not rename a branch under bisect or rebase
      usage.c: move format processing out of die_errno()
      usage.c: add warning_errno() and error_errno()
      bisect.c: use die_errno() and warning_errno()
      builtin/am.c: use error_errno()
      builtin/branch.c: use error_errno()
      builtin/fetch.c: use error_errno()
      builtin/help.c: use warning_errno()
      builtin/mailsplit.c: use error_errno()
      builtin/merge-file.c: use error_errno()
      builtin/pack-objects.c: use die_errno() and warning_errno()
      builtin/rm.c: use warning_errno()
      builtin/update-index.c: prefer "err" to "errno" in process_lstat_error
      builtin/upload-archive.c: use error_errno()
      builtin/worktree.c: use error_errno()
      check-racy.c: use error_errno()
      combine-diff.c: use error_errno()
      compat/win32/syslog.c: use warning_errno()
      config.c: use error_errno()
      connected.c: use error_errno()
      copy.c: use error_errno()
      credential-cache--daemon.c: use warning_errno()
      diff-no-index.c: use error_errno()
      editor.c: use error_errno()
      entry.c: use error_errno()
      fast-import.c: use error_errno()
      gpg-interface.c: use error_errno()
      grep.c: use error_errno()
      http.c: use error_errno() and warning_errno()
      ident.c: use warning_errno()
      mailmap.c: use error_errno()
      reachable.c: use error_errno()
      rerere.c: use error_errno() and warning_errno()
      run-command.c: use error_errno()
      sequencer.c: use error_errno()
      server-info.c: use error_errno()
      sha1_file.c: use {error,die,warning}_errno()
      transport-helper.c: use error_errno()
      unpack-trees.c: use error_errno()
      upload-pack.c: use error_errno()
      vcs-svn: use error_errno()
      wrapper.c: use warning_errno()
      wrap-for-bin.sh: regenerate bin-wrappers when switching branches

Pranit Bauva (7):
      t0040-test-parse-options.sh: fix style issues
      test-parse-options: print quiet as integer
      t0040-parse-options: improve test coverage
      t/t7507: improve test coverage
      parse-options.c: make OPTION_COUNTUP respect "unspecified" values
      t7507-commit-verbose: improve test coverage by testing number of diffs
      commit: add a commit.verbose config variable

Ralf Thielow (3):
      completion: add option '--guides' to 'git help'
      completion: add 'revisions' and 'everyday' to 'git help'
      rebase-i: print an abbreviated hash when stop for editing

Ray Zhang (1):
      worktree: add: introduce --checkout option

Santiago Torres (6):
      builtin/verify-tag.c: ignore SIGPIPE in gpg-interface
      t7030: test verifying multiple tags
      verify-tag: update variable name and type
      verify-tag: prepare verify_tag for libification
      verify-tag: move tag verification code to tag.c
      tag -v: verify directly rather than exec-ing verify-tag

Sidhant Sharma (1):
      builtin/receive-pack.c: use parse_options API

Stefan Beller (20):
      submodule-config: keep update strategy around
      submodule-config: drop check against NULL
      fetching submodules: respect `submodule.fetchJobs` config option
      submodule update: direct error message to stderr
      run_processes_parallel: treat output of children as byte array
      run_processes_parallel: rename parameters for the callbacks
      git submodule update: have a dedicated helper for cloning
      submodule helper: remove double 'fatal: ' prefix
      submodule update: expose parallelism to the user
      clone: allow an explicit argument for parallel submodule clones
      rebase: decouple --exec from --interactive
      t3404: cleanup double empty lines between tests
      submodule: port resolve_relative_url from shell to C
      submodule: port init from shell to C
      xdiff: implement empty line chunk heuristic
      clone: add `--shallow-submodules` flag
      submodule init: fail gracefully with a missing .gitmodules file
      submodule--helper update-clone: abort gracefully on missing .gitmodules
      submodule deinit test: fix broken && chain in subshell
      submodule init: redirect stdout to stderr

Stephen P. Smith (1):
      wt-status.c: set commitable bit if there is a meaningful merge.

Xiaolong Ye (4):
      patch-ids: make commit_patch_id() a public helper function
      format-patch: add '--base' option to record base tree info
      format-patch: introduce --base=auto option
      format-patch: introduce format.useAutoBase configuration

brian m. carlson (6):
      sha1-name: introduce a get_oid() function
      test-match-trees: convert to use struct object_id
      match-trees: convert shift_tree() and shift_tree_by() to use object_id
      struct name_entry: use struct object_id instead of unsigned char sha1[20]
      tree-walk: convert tree_entry_extract() to use struct object_id
      match-trees: convert several leaf functions to use struct object_id

Ævar Arnfjörð Bjarmason (4):
      githooks.txt: improve the intro section
      githooks.txt: amend dangerous advice about 'update' hook ACL
      githooks.txt: minor improvements to the grammar & phrasing
      hooks: allow customizing where the hook directory is


Version v2.8.6; changes since v2.8.5:
-------------------------------------

Jeff King (4):
      t5813: add test for hostname starting with dash
      connect: factor out "looks like command line option" check
      connect: reject dashed arguments for proxy commands
      connect: reject paths that look like command line options

Junio C Hamano (3):
      connect: reject ssh hostname that begins with a dash
      Git 2.7.6
      Git 2.8.6


Version v2.8.5; changes since v2.8.4:
-------------------------------------

Jeff King (1):
      shell: disallow repo names beginning with dash

Junio C Hamano (5):
      Git 2.4.12
      Git 2.5.6
      Git 2.6.7
      Git 2.7.5
      Git 2.8.5


Version v2.8.4; changes since v2.8.3:
-------------------------------------

Alexander Rinass (1):
      diff: run arguments through precompose_argv

Armin Kunaschik (1):
      t4151: make sure argument to 'test -z' is given

Brian Norris (3):
      Documentation: config: improve word ordering for http.cookieFile
      http: expand http.cookieFile as a path
      config: consistently format $variables in monospaced font

David Aguilar (2):
      difftool: initialize variables for readability
      difftool: handle unmerged files in dir-diff mode

Jeff King (3):
      rebase--interactive: avoid empty list in shell for-loop
      test-lib: set BASH_XTRACEFD automatically
      archive-tar: convert snprintf to xsnprintf

Johannes Schindelin (3):
      name-rev: include taggerdate in considering the best name
      mingw: introduce the 'core.hideDotFiles' setting
      mingw: remove unnecessary definition

Junio C Hamano (9):
      fsck_commit_buffer(): do not special case the last validation
      config: describe 'pathname' value type
      test-lib-functions.sh: remove misleading comment on test_seq
      test-lib-functions.sh: rewrite test_seq without Perl
      Documentation: fix linkgit references
      fsck: detect and warn a commit with embedded NUL
      Start preparing for 2.8.4
      More topics for 2.8.4
      Git 2.8.4

Karsten Blees (1):
      mingw: make isatty() recognize MSYS2's pseudo terminals (/dev/pty*)

Keller Fuchs (1):
      Documentation: clarify signature verification

Lars Schneider (1):
      travis-ci: build documentation

Li Peng (1):
      typofix: assorted typofixes in comments, documentation and messages

Nguyễn Thái Ngọc Duy (1):
      remote.c: specify correct plural form in "commit diverge" message

Stefan Beller (3):
      submodule deinit: require '--all' instead of '.' for all submodules
      t3513: do not compress backup tar file
      t6041: do not compress backup tar file

Torsten Bögershausen (5):
      t0027: make commit_chk_wrnNNO() reliable
      convert: allow core.autocrlf=input and core.eol=crlf
      t0027: test cases for combined attributes
      convert.c: ident + core.autocrlf didn't work
      t5601: Remove trailing space in sed expression

Vasco Almeida (12):
      i18n: index-pack: use plural string instead of normal one
      i18n: builtin/branch.c: mark option for translation
      i18n: unpack-trees: mark strings for translation
      i18n: builtin/rm.c: remove a comma ',' from string
      i18n: branch: unmark string for translation
      i18n: branch: move comment for translators
      i18n: git-parse-remote.sh: mark strings for translation
      i18n: builtin/pull.c: mark placeholders for translation
      i18n: builtin/pull.c: split strings marked for translation
      i18n: remote: add comment for translators
      Documentation/git-mailinfo: fix typo
      i18n: unpack-trees: avoid substituting only a verb in sentences


Version v2.8.3; changes since v2.8.2:
-------------------------------------

Adam Dinwoodie (2):
      config.mak.uname: Cygwin needs OBJECT_CREATION_USES_RENAMES
      commit: --amend -m '' silently fails to wipe message

Christian Couder (3):
      builtin/apply: get rid of useless 'name' variable
      builtin/apply: handle parse_binary() failure
      builtin/apply: free patch when parse_chunk() fails

Eric Sunshine (1):
      git-format-patch.txt: don't show -s as shorthand for multiple options

Eric Wong (4):
      send-email: more meaningful Message-ID
      send-email: do not load Data::Dumper
      pack-objects: warn on split packs disabling bitmaps
      .mailmap: update to my shorter email address

Jeff King (22):
      setup: document check_repository_format()
      wrap shared_repository global in get/set accessors
      lazily load core.sharedrepository
      check_repository_format_gently: stop using git_config_early
      config: drop git_config_early
      setup: refactor repo format reading and verification
      init: use setup.c's repo version verification
      setup: unify repository version callbacks
      setup: drop repository_format_version global
      verify_repository_format: mark messages for translation
      branch: fix shortening of non-remote symrefs
      commit: do not ignore an empty message given by -m ''
      config: lower-case first word of error strings
      git_config_set_multivar_in_file: all non-zero returns are errors
      git_config_set_multivar_in_file: handle "unset" errors
      t5532: use write_script
      send-pack: close demux pipe before finishing async process
      run-command: teach async threads to ignore SIGPIPE
      send-pack: isolate sigpipe in demuxer thread
      fetch-pack: isolate sigpipe in demuxer thread
      t5504: drop sigpipe=ok from push tests
      remote.c: spell __attribute__ correctly

Johannes Schindelin (5):
      replace --edit: respect core.editor
      win32mmap: set errno appropriately
      mmap(win32): avoid copy-on-write when it is unnecessary
      mmap(win32): avoid expensive fstat() call
      Windows: only add a no-op pthread_sigmask() when needed

Johannes Sixt (1):
      Windows: add pthread_sigmask() that does nothing

Junio C Hamano (10):
      apply: remove unused call to free() in gitdiff_{old,new}name()
      submodule--helper: do not borrow absolute_path() result for too long
      setup.c: do not feed NULL to "%.*s" even with precision 0
      http: differentiate socks5:// and socks5h://
      t1020: do not overuse printf and use write_script
      t3404: use write_script
      send-email: fix grammo in the prompt that asks e-mail recipients
      Start preparing for 2.8.3
      Almost ready for 2.8.3
      Git 2.8.3

Kazuki Yamaguchi (10):
      branch -d: refuse deleting a branch which is currently checked out
      refs: add a new function set_worktree_head_symref
      branch -m: update all per-worktree HEADs
      set_worktree_head_symref(): fix error message
      imap-send: use HMAC() function provided by OpenSSL
      imap-send: check NULL return of SSL_CTX_new()
      imap-send: avoid deprecated TLSv1_method()
      configure: remove checking for HMAC_CTX_cleanup
      imap-send: check for NOLOGIN capability only when using LOGIN command
      imap-send: fix CRAM-MD5 response calculation

Lars Schneider (5):
      travis-ci: update Git-LFS and P4 to the latest version
      travis-ci: express Linux/OS X dependency versions more clearly
      git-p4: fix Git LFS pointer parsing
      t9824: fix wrong reference value
      Documentation: add setup instructions for Travis CI

Luke Diamand (3):
      git-p4 tests: cd to / before running python
      git-p4 tests: work with python3 as well as python2
      git-p4 tests: time_in_seconds should use $PYTHON_PATH

Marios Titas (2):
      ident: check for useConfigOnly before auto-detection of name/email
      ident: give "please tell me" message upon useConfigOnly error

Matthieu Moy (1):
      git-multimail: update to release 1.3.0

Nguyễn Thái Ngọc Duy (2):
      dir.c: remove dead function fnmatch_icase()
      wrapper.c: delete dead function git_mkstemps()

Nikola Forró (1):
      difftool/mergetool: make the form of yes/no questions consistent

Ralf Thielow (1):
      string_list: use string-list API in unsorted_string_list_lookup()

René Nyffenegger (1):
      Documentation: fix typo 'In such these cases'

SZEDER Gábor (4):
      for-each-ref: fix description of '--contains' in manpage
      test-lib: simplify '--option=value' parsing
      t9824: fix broken &&-chain in a subshell
      t5510: run auto-gc in the foreground

Shin Kojima (1):
      gitweb: apply fallback encoding before highlight

Stefan Beller (20):
      submodule foreach: correct path display in recursive submodules
      submodule update --init: correct path handling in recursive submodules
      submodule status: correct path handling in recursive submodules
      submodule update: align reporting path for custom command execution
      submodule update: test recursive path reporting from subdirectory
      t7407: make expectation as clear as possible
      recursive submodules: test for relative paths
      submodule--helper: fix potential NULL-dereference
      submodule--helper clone: create the submodule path just once
      notes: don't leak memory in git_config_get_notes_strategy
      abbrev_sha1_in_line: don't leak memory
      bundle: don't leak an fd in case of early return
      credential-cache, send_request: close fd when done
      submodule--helper, module_clone: always operate on absolute paths
      submodule--helper, module_clone: catch fprintf failure
      mv: allow moving nested submodules
      config doc: improve exit code listing
      config.c: drop local variable
      submodule-config: don't shadow `cache`
      t7300: mark test with SANITY


Version v2.8.2; changes since v2.8.1:
-------------------------------------

Alexander Kuleshov (1):
      submodule-config: use hashmap_iter_first()

Christian Couder (1):
      Documentation: talk about pager in api-trace.txt

David Aguilar (2):
      mergetool: support delete/delete conflicts
      mergetool: honor tempfile configuration when resolving delete conflicts

Elia Pinto (1):
      api-trace.txt: fix typo

Gabriel Souza Franco (2):
      fetch-pack: fix object_id of exact sha1
      fetch-pack: update the documentation for "<refs>..." arguments

Jeff King (12):
      t1515: add tests for rev-parse out-of-repo helpers
      rev-parse: let some options run outside repository
      strbuf_getwholeline: NUL-terminate getdelim buffer on error
      setup: make startup_info available everywhere
      setup: set startup_info->have_repository more reliably
      remote: don't resolve HEAD in non-repository
      mailmap: do not resolve blobs in a non-repository
      grep: turn off gitlink detection for --no-index
      use setup_git_directory() in test-* programs
      send-email: ignore trailing whitespace in mailrc alias file
      credential-cache--daemon: clarify "exit" action semantics
      t/lib-httpd: pass through GIT_CONFIG_NOSYSTEM env

Johannes Sixt (1):
      Windows: shorten code by re-using convert_slashes()

John Keeping (3):
      config: fail if --get-urlmatch finds no value
      Documentation/git-config: use bulleted list for exit codes
      Documentation/git-config: fix --get-all description

Junio C Hamano (7):
      index-pack: correct --keep[=<msg>]
      index-pack: add a helper function to derive .idx/.keep filename
      merge: fix NULL pointer dereference when merging nothing into void
      Makefile: fix misdirected redirections
      Start preparing for 2.8.2
      Prepare for 2.8.2
      Git 2.8.2

Matthieu Moy (2):
      lockfile: mark strings for translation
      lockfile: improve error message when lockfile exists

Michael Procter (1):
      upload-pack: use argv_array for pack_objects

Nguyễn Thái Ngọc Duy (2):
      git-apply.txt: remove a space
      git-apply.txt: mention the behavior inside a subdir

Ori Avtalion (1):
      Documentation: git diff --check detects conflict markers

Pranit Bauva (2):
      t/t7502 : drop duplicate test
      api-parse-options.txt: document OPT_CMDMODE()

Ramsay Jones (2):
      xdiff/xprepare: use the XDF_DIFF_ALG() macro to access flag bits
      xdiff/xprepare: fix a memory leak

SZEDER Gábor (1):
      diffcore: fix iteration order of identical files during rename detection

Saurav Sachidanand (1):
      dir: store EXC_FLAG_* values in unsigned integers

Stanislav Kolotinskiy (1):
      git-send-pack: fix --all option when used with directory

Stefan Beller (1):
      clone tests: rename t57* => t56*

Sven Strickroth (3):
      commit: do not lose SQUASH_MSG contents
      MSVC: vsnprintf in Visual Studio 2015 doesn't need SNPRINTF_SIZE_CORR any more
      MSVC: use shipped headers instead of fallback definitions

Torsten Bögershausen (1):
      correct blame for files commited with CRLF

Vasco Almeida (4):
      l10n: fr: fix transcation of "dir"
      l10n: fr: fix wrongly translated option name
      l10n: fr: change "id de clé" to match "id-clé"
      l10n: fr: don't translate "merge" as a parameter


Version v2.8.1; changes since v2.8.0:
-------------------------------------

Junio C Hamano (1):
      Git 2.8.1

Matthieu Moy (1):
      git.spec.in: use README.md, not README


Version v2.8.0; changes since v2.8.0-rc4:
-----------------------------------------

Alex Henrie (1):
      l10n: ca.po: update translation

Johannes Schindelin (4):
      config --show-origin: report paths with forward slashes
      t1300-repo-config: make it resilient to being run via 'sh -x'
      t1300: fix the new --show-origin tests on Windows
      mingw: skip some tests in t9115 due to file name issues

Junio C Hamano (1):
      Git 2.8

Lars Schneider (2):
      Documentation: use ASCII quotation marks in git-p4
      Documentation: fix git-p4 AsciiDoc formatting

Stefan Beller (1):
      submodule: fix regression for deinit without submodules

Trần Ngọc Quân (1):
      l10n: vi.po (2530t): Update translation

Vasco Almeida (1):
      l10n: pt_PT: Update and add new translations


Version v2.8.0-rc4; changes since v2.8.0-rc3:
---------------------------------------------

Alexander Shopov (1):
      gitk: Update Bulgarian translation (311t)

Changwoo Ryu (1):
      l10n: ko.po: Update Korean translation

Dimitriy Ryazantcev (1):
      l10n: ru.po: update Russian translation

Eric Sunshine (2):
      git-compat-util: st_add4: work around gcc 4.2.x compiler crash
      Revert "config.mak.uname: use clang for Mac OS X 10.6"

Guillermo S. Romero (1):
      gitk: Follow themed bgcolor in help dialogs

Jean-Noël Avila (3):
      l10n: fr.po v2.8.0 round 3
      gitk: Update French translation (311t)
      gitk: fr.po: Sync translations with git

Junio C Hamano (8):
      Git 2.4.11
      Git 2.5.5
      Git 2.6.6
      Git 2.7.4
      Revert "Merge branch 'jc/exclusion-doc'"
      Revert "Merge branch 'nd/exclusion-regression-fix'"
      RelNotes: remove the mention of !reinclusion
      Git 2.8-rc4

Matthieu Moy (1):
      Documentation: fix broken linkgit to git-config

Peter Krefting (1):
      l10n: sv.po: Update Swedish translation (2530t0f0u)

Ralf Thielow (3):
      l10n: de.po: translate 22 new messages
      l10n: de.po: add missing newlines
      gitk: Update German translation

Ray Chen (1):
      l10n: zh_CN: review for git v2.8.0 l10n round 2


Version v2.8.0-rc3; changes since v2.8.0-rc2:
---------------------------------------------

Adam Dinwoodie (1):
      t9117: test specifying full url to git svn init -T

Audric Schiltknecht (1):
      l10n: fr.po: Correct case in sentence

Carlos Martín Nieto (1):
      Disown ssh+git and git+ssh

Changwoo Ryu (2):
      l10n: ko.po: Update Korean translation
      l10n: ko: Update Korean translation

Christoph Hoopmann (1):
      l10n: de.po: fix typo

Dimitriy Ryazantcev (2):
      l10n: ru.po: update Russian translation
      l10n: ru.po: update Russian translation

Eric Wong (2):
      git-svn: shorten glob error message
      git-svn: fix URL canonicalization during init w/ SVN 1.7+

Jean-Noël Avila (2):
      l10n: fr.po v2.8.0 round 1 2509t
      l10n: fr.po v2.8.0 round 2

Jeff King (7):
      add helpers for detecting size_t overflow
      tree-diff: catch integer overflow in combine_diff_path allocation
      http-push: stop using name_path
      show_object_with_name: simplify by using path_name()
      list-objects: convert name_path to a strbuf
      list-objects: drop name_path entirely
      list-objects: pass full pathname to callbacks

Jiang Xin (6):
      l10n: git.pot: v2.8.0 round 1 (48 new, 16 removed)
      l10n: zh_CN: for git v2.8.0 l10n round 1
      l10n: git.pot: v2.8.0 round 2 (21 new, 1 removed)
      l10n: zh_CN: for git v2.8.0 l10n round 2
      l10n: git.pot: Add one new message for Git 2.8.0
      l10n: zh_CN: for git v2.8.0 l10n round 3

Junio C Hamano (4):
      sane_grep: pass "-a" if grep accepts it
      rebase-i: clarify "is this commit relevant?" test
      RelNotes for 2.8.0: typofix
      Git 2.8-rc3

Michael J Gruber (1):
      wt-status: allow "ahead " to be picked up by l10n

Peter Krefting (2):
      l10n: sv.po: Fix inconsistent translation of "progress meter"
      l10n: sv.po: Update Swedish translation (2509t0f0u)

Ralf Thielow (5):
      l10n: TEAMS: update Ralf Thielow's email address
      l10n: de.po: add space to abbreviation "z. B."
      l10n: de.po: fix interactive rebase message
      l10n: de.po: translate "command" as "Befehl"
      l10n: de.po: translate 48 new messages

Trần Ngọc Quân (1):
      l10n: vi.po (2509t): Updated Vietnamese translation

Victor Leschuk (1):
      git-svn: loosen config globs limitations


Version v2.8.0-rc2; changes since v2.8.0-rc1:
---------------------------------------------

Jiang Xin (1):
      http: honor no_http env variable to bypass proxy

Junio C Hamano (3):
      gitignore: document that unignoring a directory unignores everything in it
      Git 2.7.3
      Git 2.8-rc2

Michael J Gruber (1):
      t5510: do not leave changed cwd

Stefan Beller (1):
      Documentation: reword rebase summary


Version v2.8.0-rc1; changes since v2.8.0-rc0:
---------------------------------------------

Jeff King (5):
      t5313: test bounds-checks of corrupted/malicious pack/idx files
      nth_packed_object_offset: bounds-check extended offset
      use_pack: handle signed off_t overflow
      compat/mingw: brown paper bag fix for 50a6c8e
      t9700: fix test for perl older than 5.14

Johannes Schindelin (1):
      Mark win32's pthread_exit() as NORETURN

Johannes Sixt (1):
      t0001: fix GIT_* environment variable check under --valgrind

Junio C Hamano (1):
      Git 2.8-rc1

Michael J Gruber (1):
      t/lib-httpd: load mod_unixd

Nguyễn Thái Ngọc Duy (5):
      sha1_file.c: mark strings for translation
      builtin/checkout.c: mark strings for translation
      builtin/clone.c: mark strings for translation
      ref-filter.c: mark strings for translation
      trailer.c: mark strings for translation

Stefan Beller (1):
      run-command: do not pass child process data into callbacks

Thomas Ackermann (1):
      documentation: fix some typos

Torsten Bögershausen (1):
      config.mak.uname: use clang for Mac OS X 10.6


Version v2.8.0-rc0; changes since v2.7.6:
-----------------------------------------

Alexander Kuleshov (1):
      format-patch: introduce format.outputDirectory configuration

Christian Couder (11):
      dir: free untracked cache when removing it
      update-index: use enum for untracked cache options
      update-index: add --test-untracked-cache
      update-index: add untracked cache notifications
      update-index: move 'uc' var declaration
      dir: add {new,add}_untracked_cache()
      dir: add remove_untracked_cache()
      dir: simplify untracked cache "ident" field
      config: add core.untrackedCache
      test-dump-untracked-cache: don't modify the untracked cache
      t7063: add tests for core.untrackedCache

Christoph Egger (1):
      http: implement public key pinning

Dan Aloni (1):
      ident: add user.useConfigOnly boolean for when ident shouldn't be guessed

David A. Greene (1):
      contrib/subtree: Make testing easier

David Turner (2):
      do_compare_entry: use already-computed path
      unpack-trees: fix accidentally quadratic behavior

Edmundo Carmona Antoranz (1):
      blame: add support for --[no-]progress option

Elia Pinto (92):
      Makefile: add missing phony target
      contrib/examples/git-commit.sh: use the $( ... ) construct for command substitution
      contrib/examples/git-fetch.sh: use the $( ... ) construct for command substitution
      contrib/examples/git-merge.sh: use the $( ... ) construct for command substitution
      contrib/examples/git-repack.sh: use the $( ... ) construct for command substitution
      contrib/examples/git-revert.sh: use the $( ... ) construct for command substitution
      contrib/thunderbird-patch-inline/appp.sh: use the $( ... ) construct for command substitution
      git-gui/po/glossary/txt-to-pot.sh: use the $( ... ) construct for command substitution
      t/lib-httpd.sh: use the $( ... ) construct for command substitution
      test-sha1.sh: use the $( ... ) construct for command substitution
      unimplemented.sh: use the $( ... ) construct for command substitution
      t/t1100-commit-tree-options.sh: use the $( ... ) construct for command substitution
      t/t1401-symbolic-ref.sh: use the $( ... ) construct for command substitution
      t/t1410-reflog.sh: use the $( ... ) construct for command substitution
      t/t1511-rev-parse-caret.sh: use the $( ... ) construct for command substitution
      t/t1512-rev-parse-disambiguation.sh: use the $( ... ) construct for command substitution
      t/t1700-split-index.sh: use the $( ... ) construct for command substitution
      t/t2025-worktree-add.sh: use the $( ... ) construct for command substitution
      t/t2102-update-index-symlinks.sh: use the $( ... ) construct for command substitution
      t/t3030-merge-recursive.sh: use the $( ... ) construct for command substitution
      t/t3100-ls-tree-restrict.sh: use the $( ... ) construct for command substitution
      t/t3101-ls-tree-dirname.sh: use the $( ... ) construct for command substitution
      t/t3210-pack-refs.sh: use the $( ... ) construct for command substitution
      t/t3403-rebase-skip.sh: use the $( ... ) construct for command substitution
      t/t3511-cherry-pick-x.sh: use the $( ... ) construct for command substitution
      t/t3600-rm.sh: use the $( ... ) construct for command substitution
      t/t3700-add.sh: use the $( ... ) construct for command substitution
      t/t5100-mailinfo.sh: use the $( ... ) construct for command substitution
      t/t5300-pack-object.sh: use the $( ... ) construct for command substitution
      t/t5301-sliding-window.sh: use the $( ... ) construct for command substitution
      t/t5302-pack-index.sh: use the $( ... ) construct for command substitution
      t/t5303-pack-corruption-resilience.sh: use the $( ... ) construct for command substitution
      t/t5304-prune.sh: use the $( ... ) construct for command substitution
      t/t5305-include-tag.sh: use the $( ... ) construct for command substitution
      t/t5500-fetch-pack.sh: use the $( ... ) construct for command substitution
      t/t5505-remote.sh: use the $( ... ) construct for command substitution
      t/t5506-remote-groups.sh: use the $( ... ) construct for command substitution
      t/t5510-fetch.sh: use the $( ... ) construct for command substitution
      t/t5515-fetch-merge-logic.sh: use the $( ... ) construct for command substitution
      t/t5516-fetch-push.sh: use the $( ... ) construct for command substitution
      t/t5517-push-mirror.sh: use the $( ... ) construct for command substitution
      t/t5522-pull-symlink.sh: use the $( ... ) construct for command substitution
      t/t5530-upload-pack-error.sh: use the $( ... ) construct for command substitution
      t/t5532-fetch-proxy.sh: use the $( ... ) construct for command substitution
      t/t5537-fetch-shallow.sh: use the $( ... ) construct for command substitution
      t/t5538-push-shallow.sh: use the $( ... ) construct for command substitution
      t/t5550-http-fetch-dumb.sh: use the $( ... ) construct for command substitution
      t/t5570-git-daemon.sh: use the $( ... ) construct for command substitution
      t/t5601-clone.sh: use the $( ... ) construct for command substitution
      t/t5700-clone-reference.sh: use the $( ... ) construct for command substitution
      t/t5710-info-alternate.sh: use the $( ... ) construct for command substitution
      t/t5900-repo-selection.sh: use the $( ... ) construct for command substitution
      t/t6001-rev-list-graft.sh: use the $( ... ) construct for command substitution
      t/t6002-rev-list-bisect.sh: use the $( ... ) construct for command substitution
      t/t6015-rev-list-show-all-parents.sh: use the $( ... ) construct for command substitution
      t/t6032-merge-large-rename.sh: use the $( ... ) construct for command substitution
      t/t6132-pathspec-exclude.sh: use the $( ... ) construct for command substitution
      t/t7001-mv.sh: use the $( ... ) construct for command substitution
      t/t7003-filter-branch.sh: use the $( ... ) construct for command substitution
      t/t7004-tag.sh: use the $( ... ) construct for command substitution
      t/t7006-pager.sh: use the $( ... ) construct for command substitution
      t/t7103-reset-bare.sh: use the $( ... ) construct for command substitution
      t/t7406-submodule-update.sh: use the $( ... ) construct for command substitution
      t/t7408-submodule-reference.sh: use the $( ... ) construct for command substitution
      t/t7504-commit-msg-hook.sh: use the $( ... ) construct for command substitution
      t/t7505-prepare-commit-msg-hook.sh: use the $( ... ) construct for command substitution
      t/t7602-merge-octopus-many.sh: use the $( ... ) construct for command substitution
      t/t7700-repack.sh: use the $( ... ) construct for command substitution
      t/t8003-blame-corner-cases.sh: use the $( ... ) construct for command substitution
      t/t9001-send-email.sh: use the $( ... ) construct for command substitution
      t9100-git-svn-basic.sh: use the $( ... ) construct for command substitution
      t9101-git-svn-props.sh: use the $( ... ) construct for command substitution
      t9104-git-svn-follow-parent.sh: use the $( ... ) construct for command substitution
      t9105-git-svn-commit-diff.sh: use the $( ... ) construct for command substitution
      t9107-git-svn-migrate.sh: use the $( ... ) construct for command substitution
      t9108-git-svn-glob.sh: use the $( ... ) construct for command substitution
      t9109-git-svn-multi-glob.sh: use the $( ... ) construct for command substitution
      t9110-git-svn-use-svm-props.sh: use the $( ... ) construct for command substitution
      t9114-git-svn-dcommit-merge.sh: use the $( ... ) construct for command substitution
      t9118-git-svn-funky-branch-names.sh: use the $( ... ) construct for command substitution
      t9119-git-svn-info.sh: use the $( ... ) construct for command substitution
      t9129-git-svn-i18n-commitencoding.sh: use the $( ... ) construct for command substitution
      t9130-git-svn-authors-file.sh: use the $( ... ) construct for command substitution
      t9132-git-svn-broken-symlink.sh: use the $( ... ) construct for command substitution
      t9137-git-svn-dcommit-clobber-series.sh: use the $( ... ) construct for command substitution
      t9138-git-svn-authors-prog.sh: use the $( ... ) construct for command substitution
      t9145-git-svn-master-branch.sh: use the $( ... ) construct for command substitution
      t9150-svk-mergetickets.sh: use the $( ... ) construct for command substitution
      t9300-fast-import.sh: use the $( ... ) construct for command substitution
      t9350-fast-export.sh: use the $( ... ) construct for command substitution
      t9501-gitweb-standalone-http-status.sh: use the $( ... ) construct for command substitution
      t9901-git-web--browse.sh: use the $( ... ) construct for command substitution

Eric Wong (5):
      pass transport verbosity down to git_connect
      connect & http: support -4 and -6 switches for remote operations
      t5570: add tests for "git {clone,fetch,pull} -v"
      git-svn: hoist out utf8 prep from t9129 to lib-git-svn
      tests: remove no-op full-svn-test target

Felipe Gonçalves Assis (7):
      merge-recursive: option to disable renames
      merge-recursive: more consistent interface
      merge-strategies.txt: fix typo
      merge-recursive: find-renames resets threshold
      t3034: add rename threshold tests
      t3034: test option to disable renames
      t3034: test deprecated interface

Jacob Keller (1):
      notes: allow merging from arbitrary references

Jeff King (33):
      pack-revindex: drop hash table
      pack-revindex: store entries directly in packed_git
      create_symref: modernize variable names
      create_symref: use existing ref-lock code
      create_symref: write reflog while holding lock
      run-command: don't warn on SIGPIPE deaths
      checkout,clone: check return value of create_symref
      lock_ref_sha1_basic: always fill old_oid while holding lock
      lock_ref_sha1_basic: handle REF_NODEREF with invalid refs
      shortlog: match both "Author:" and "author" on stdin
      shortlog: use strbufs to read from stdin
      shortlog: replace hand-parsing of author with pretty-printer
      shortlog: optimize "--summary" mode
      shortlog: optimize out useless "<none>" normalization
      shortlog: optimize out useless string list
      shortlog: don't warn on empty author
      transport: drop support for git-over-rsync
      give "nbuf" strbuf a more meaningful name
      checkout-index: simplify "-z" option parsing
      checkout-index: handle "--no-prefix" option
      checkout-index: handle "--no-index" option
      checkout-index: disallow "--no-stage" option
      apply, ls-files: simplify "-z" parsing
      fmt_ident: refactor strictness checks
      test-path-utils: use xsnprintf in favor of strcpy
      rerere: replace strcpy with xsnprintf
      http-push: stop using name_path
      show_object_with_name: simplify by using path_name()
      list-objects: convert name_path to a strbuf
      list-objects: drop name_path entirely
      list-objects: pass full pathname to callbacks
      git-config: better document default behavior for `--include`
      ref-filter: use string_list_split over strbuf_split

Johannes Schindelin (31):
      config.mak.uname: support MSys2
      config.mak.uname: supporting 64-bit MSys2
      pull: allow interactive rebase with --rebase=interactive
      remote: handle the config setting branch.*.rebase=interactive
      completion: add missing branch.*.rebase values
      nedmalloc: allow compiling with MSys2's compiler
      compat/mingw: support MSys2-based MinGW build
      compat/winansi: support compiling with MSys2
      mingw: avoid redefining S_* constants
      mingw: avoid warnings when casting HANDLEs to int
      mingw: squash another warning about a cast
      mingw: uglify (a, 0) definitions to shut up warnings
      mingw: let's use gettext with MSYS2
      mingw: do not trust MSYS2's MinGW gettext.sh
      Git.pm: stop assuming that absolute paths start with a slash
      mingw: prepare the TMPDIR environment variable for shell scripts
      mingw: let lstat() fail with errno == ENOTDIR when appropriate
      mingw: fix t5601-clone.sh
      mingw: accomodate t0060-path-utils for MSYS2
      mingw: disable mkfifo-based tests
      tests: turn off git-daemon tests if FIFOs are not available
      mingw: skip test in t1508 that fails due to path conversion
      mingw: fix t9700's assumption about directory separators
      mingw: work around pwd issues in the tests
      mingw: mark t9100's test cases with appropriate prereqs
      mingw: avoid illegal filename in t9118
      mingw: handle the missing POSIXPERM prereq in t9124
      mingw: skip a test in t9130 that cannot pass on Windows
      mingw: do not bother to test funny file names
      gitignore: ignore generated test-fake-ssh executable
      t5505: 'remote add x y' should work when url.y.insteadOf = x

Johannes Sixt (1):
      t/t5100: no need to use 'echo' command substitutions for globbing

Jon Griffiths (3):
      credential-cache--daemon: refactor check_socket_directory
      credential-cache--daemon: disallow relative socket path
      credential-cache--daemon: change to the socket dir on startup

Jonathan Nieder (1):
      submodule.c: write "Fetching submodule <foo>" to stderr

Junio C Hamano (35):
      First batch for post 2.7 cycle
      strbuf: miniscule style fix
      strbuf: make strbuf_getline_crlf() global
      strbuf: introduce strbuf_getline_{lf,nul}()
      mktree: there are only two possible line terminations
      check-attr: there are only two possible line terminations
      check-ignore: there are only two possible line terminations
      update-index: there are only two possible line terminations
      checkout-index: there are only two possible line terminations
      strbuf: give strbuf_getline() to the "most text friendly" variant
      hash-object: read --stdin-paths with strbuf_getline()
      revision: read --stdin with strbuf_getline()
      rev-parse: read parseopt spec with strbuf_getline()
      ident.c: read /etc/mailname with strbuf_getline()
      remote.c: read $GIT_DIR/remotes/* with strbuf_getline()
      clone/sha1_file: read info/alternates with strbuf_getline()
      transport-helper: read helper response with strbuf_getline()
      cat-file: read batch stream with strbuf_getline()
      column: read lines with strbuf_getline()
      send-pack: read list of refs with strbuf_getline()
      grep: read -f file with strbuf_getline()
      test-sha1-array: read command stream with strbuf_getline()
      Second batch for 2.8 cycle
      Third batch for 2.8 cycle
      git: remove an early return from save_env_before_alias()
      git: protect against unbalanced calls to {save,restore}_env()
      git: simplify environment save/restore logic
      Fourth batch for 2.8.cycle
      Getting closer to 2.7.1
      restore_env(): free the saved environment variable once we are done
      Fifth batch for 2.8 cycle
      Sixth batch for the 2.8 cycle
      Seventh batch for the 2.8 cycle
      Eighth batch for 2.8
      Git 2.8-rc0

Karsten Blees (1):
      mingw: factor out Windows specific environment setup

Karthik Nayak (10):
      ref-filter: bump 'used_atom' and related code to the top
      ref-filter: introduce struct used_atom
      ref-filter: introduce parsing functions for each valid atom
      ref-filter: introduce color_atom_parser()
      ref-filter: introduce parse_align_position()
      ref-filter: introduce align_atom_parser()
      ref-filter: align: introduce long-form syntax
      ref-filter: introduce remote_ref_atom_parser()
      ref-filter: introduce contents_atom_parser()
      ref-filter: introduce objectname_atom_parser()

Kazutoshi Satoda (2):
      git-svn: enable "svn.pathnameencoding" on dcommit
      git-svn: apply "svn.pathnameencoding" before URL encoding

Knut Franke (2):
      http: allow selection of proxy authentication method
      http: use credential API to handle proxy authentication

Lars Schneider (8):
      travis-ci: run previously failed tests first, then slowest to fastest
      travis-ci: explicity use container-based infrastructure
      convert: treat an empty string for clean/smudge filters as "cat"
      t: do not hide Git's exit code in tests using 'nul_to_q'
      rename git_config_from_buf to git_config_from_mem
      config: add 'origin_type' to config_source struct
      config: add '--show-origin' option to print the origin of a config value
      add DEVELOPER makefile knob to check for acknowledged warnings

Matthew Kraai (1):
      Documentation: remove unnecessary backslashes

Matthieu Moy (6):
      README: use markdown syntax
      README.md: add hyperlinks on filenames
      README.md: move the link to git-scm.com up
      README.md: don't call git stupid in the title
      README.md: move down historical explanation about the name
      push: remove "push.default is unset" warning message

Michael J Gruber (1):
      t9100: fix breakage when SHELL_PATH is not /bin/sh

Mike Hommey (1):
      notes: allow treeish expressions as notes ref

Nguyễn Thái Ngọc Duy (9):
      git.c: make it clear save_env() is for alias handling only
      setup.c: re-fix d95138e (setup: set env $GIT_WORK_TREE when ..
      git.c: make sure we do not leak GIT_* to alias scripts
      dir.c: fix match_pathname()
      dir.c: support tracing exclude
      dir.c: support marking some patterns already matched
      dir.c: don't exclude whole dir prematurely
      worktree: fix "add -B"
      worktree add -B: do the checkout test before update branch

Pat Thoyts (1):
      t0008: avoid absolute path

Patrick Steinhardt (2):
      push: add '--delete' flag to synopsis
      push: add '-d' as shorthand for '--delete'

Rob Mayoff (1):
      contrib/subtree: unwrap tag refs

Romain Picard (1):
      git-p4.py: add support for filetype change

Stefan Beller (7):
      xread: poll on non blocking fds
      strbuf: add strbuf_read_once to read without blocking
      sigchain: add command to pop all common signals
      run-command: add an asynchronous parallel child processor
      fetch_populated_submodules: use new parallel job processing
      submodules: allow parallel fetching, add tests and documentation
      submodule: try harder to fetch needed sha1 by direct fetching sha1

Thomas Gummerer (11):
      t7810: correct --no-index test
      builtin/grep: add grep.fallbackToNoIndex config
      ls-remote: document --quiet option
      ls-remote: document --refs option
      ls-remote: fix synopsis
      ls-remote: use parse-options api
      ls-remote: add support for showing symrefs
      remote: use parse_config_key
      remote: simplify remote_is_configured()
      remote: actually check if remote exits
      remote: use remote_is_configured() for add and rename

Tobias Klauser (2):
      trailer: allow to write to files other than stdout
      interpret-trailers: add option for in-place editing

Torsten Bögershausen (8):
      ls-files: add eol diagnostics
      t0027: add tests for get_stream_filter()
      convert.c: remove unused parameter 'path'
      convert.c: remove input_crlf_action()
      convert.c: use text_eol_is_crlf()
      convert.c: refactor crlf_action
      convert.c: simplify text_stat
      convert.c: correct attr_action()

Victor Leschuk (3):
      grep: allow threading even on a single-core machine
      grep: slight refactoring to the code that disables threading
      grep: add --threads=<num> option and grep.threads configuration

Will Palmer (2):
      test for '!' handling in rev-parse's named commits
      object name: introduce '^{/!-<negative pattern>}' notation

brian m. carlson (1):
      http: add option to try authentication without username

마누엘 (1):
      mingw: try to delete target directory before renaming


Version v2.7.6; changes since v2.7.5:
-------------------------------------

Jeff King (4):
      t5813: add test for hostname starting with dash
      connect: factor out "looks like command line option" check
      connect: reject dashed arguments for proxy commands
      connect: reject paths that look like command line options

Junio C Hamano (2):
      connect: reject ssh hostname that begins with a dash
      Git 2.7.6


Version v2.7.5; changes since v2.7.4:
-------------------------------------

Eric Sunshine (1):
      git-compat-util: st_add4: work around gcc 4.2.x compiler crash

Jeff King (2):
      archive-tar: convert snprintf to xsnprintf
      shell: disallow repo names beginning with dash

Junio C Hamano (4):
      Git 2.4.12
      Git 2.5.6
      Git 2.6.7
      Git 2.7.5

Matthieu Moy (1):
      Documentation: fix broken linkgit to git-config


Version v2.7.4; changes since v2.7.3:
-------------------------------------

Jeff King (7):
      add helpers for detecting size_t overflow
      tree-diff: catch integer overflow in combine_diff_path allocation
      http-push: stop using name_path
      show_object_with_name: simplify by using path_name()
      list-objects: convert name_path to a strbuf
      list-objects: drop name_path entirely
      list-objects: pass full pathname to callbacks

Junio C Hamano (4):
      Git 2.4.11
      Git 2.5.5
      Git 2.6.6
      Git 2.7.4


Version v2.7.3; changes since v2.7.2:
-------------------------------------

Alexander Kuleshov (2):
      exec_cmd.c: use find_last_dir_sep() for code simplification
      git.c: simplify stripping extension of a file in handle_builtin()

David Turner (1):
      refs: document transaction semantics

Jeff King (37):
      checkout: reorder check_filename conditional
      check_filename: tighten dwim-wildcard ambiguity
      get_sha1: don't die() on bogus search strings
      reflog_expire_cfg: NUL-terminate pattern field
      add helpers for detecting size_t overflow
      tree-diff: catch integer overflow in combine_diff_path allocation
      diff: clarify textconv interface
      harden REALLOC_ARRAY and xcalloc against size_t overflow
      add helpers for allocating flex-array structs
      argv-array: add detach function
      convert manual allocations to argv_array
      convert trivial cases to ALLOC_ARRAY
      use xmallocz to avoid size arithmetic
      convert trivial cases to FLEX_ARRAY macros
      use st_add and st_mult for allocation size computation
      prepare_{git,shell}_cmd: use argv_array
      write_untracked_extension: use FLEX_ALLOC helper
      fast-import: simplify allocation in start_packfile
      fetch-pack: simplify add_sought_entry
      test-path-utils: fix normalize_path_copy output buffer size
      sequencer: simplify memory allocation of get_message
      git-compat-util: drop mempcpy compat code
      transport_anonymize_url: use xstrfmt
      diff_populate_gitlink: use a strbuf
      convert ewah/bitmap code to use xmalloc
      ewah: convert to REALLOC_ARRAY, etc
      merge-one-file: use empty blob for add/add base
      merge-tree: drop generate_common strategy
      xdiff: drop XDL_EMIT_COMMON
      t5313: test bounds-checks of corrupted/malicious pack/idx files
      nth_packed_object_offset: bounds-check extended offset
      use_pack: handle signed off_t overflow
      write_or_die: handle EPIPE in async threads
      fetch-pack: ignore SIGPIPE in sideband demuxer
      test_must_fail: report number of unexpected signal
      t5504: handle expected output from SIGPIPE death
      compat/mingw: brown paper bag fix for 50a6c8e

Johannes Schindelin (1):
      git config: report when trying to modify a non-existing repo config

John Keeping (2):
      t8005: avoid grep on non-ASCII data
      t9200: avoid grep on non-ASCII data

Junio C Hamano (4):
      pager: lose a separate argv[]
      pager: factor out a helper to prepare a child process to run the pager
      am -i: fix "v"iew
      Git 2.7.3

Martin Amdisen (1):
      templates/hooks: fix minor typo in the sample update-hook

Matthieu Moy (1):
      Documentation/git-push: document that 'simple' is the default

Michael J Gruber (1):
      tests: rename work-tree tests to *work-tree*

Nguyễn Thái Ngọc Duy (2):
      rev-parse: take prefix into account in --git-common-dir
      sha1_file.c: mark strings for translation

Patrick Steinhardt (16):
      config: introduce set_or_die wrappers
      branch: report errors in tracking branch setup
      branch: die on config error when unsetting upstream
      branch: die on config error when editing branch description
      submodule: die on config error when linking modules
      submodule--helper: die on config error when cloning module
      remote: die on config error when setting URL
      remote: die on config error when setting/adding branches
      remote: die on config error when manipulating remotes
      clone: die on config error in cmd_clone
      init-db: die on config errors when initializing empty repo
      sequencer: die on config error when saving replay opts
      compat: die when unable to set core.precomposeunicode
      config: rename git_config_set to git_config_set_gently
      config: rename git_config_set_or_die to git_config_set
      xdiff/xmerge: fix memory leak in xdl_merge

Shawn O. Pearce (1):
      remote-curl: include curl_errorstr on SSL setup failures

Stefan Beller (1):
      submodule helper list: respect correct path prefix


Version v2.7.2; changes since v2.7.1:
-------------------------------------

Alex Henrie (1):
      stripspace: call U+0020 a "space" instead of a "blank"

Andrew Wheeler (1):
      push: fix ref status reporting for --force-with-lease

Dickson Wong (1):
      mergetool: reorder vim/gvim buffers in three-way diffs

GyuYong Jung (1):
      git-cvsserver.perl: fix typo

Johannes Schindelin (3):
      merge-file: let conflict markers match end-of-line style of the context
      merge-file: ensure that conflict sections match eol style
      test-lib: limit the output of the yes utility

Junio C Hamano (2):
      Start preparing for 2.7.2
      Git 2.7.2

Matt McCutchen (1):
      Documentation/git-clean.txt: don't mention deletion of .git/modules/*

Nguyễn Thái Ngọc Duy (5):
      blame: remove obsolete comment
      add and use a convenience macro ce_intent_to_add()
      grep: make it clear i-t-a entries are ignored
      worktree.c: fix indentation
      worktree: stop supporting moving worktrees manually

SZEDER Gábor (1):
      completion: fix mis-indentation in _git_stash()


Version v2.7.1; changes since v2.7.0:
-------------------------------------

Changwoo Ryu (1):
      l10n: ko.po: Add Korean translation

Dave Ware (1):
      contrib/subtree: fix "subtree split" skipped-merge bug

David A. Wheeler (1):
      Expand documentation describing --signoff

Dennis Kaarsemaker (1):
      reflog-walk: don't segfault on non-commit sha1's in the reflog

Eric Wong (3):
      git-send-email: do not double-escape quotes from mutt
      for-each-ref: document `creatordate` and `creator` fields
      git-svn: fix auth parameter handling on SVN 1.9.0+

Jeff King (8):
      avoid shifting signed integers 31 bits
      bswap: add NO_UNALIGNED_LOADS define
      rebase: ignore failures from "gc --auto"
      filter-branch: resolve $commit^{tree} in no-index case
      clean: make is_git_repository a public function
      resolve_gitlink_ref: ignore non-repository paths
      t6300: use test_atom for some un-modern tests
      tag: do not show ambiguous tag names as "tags/foo"

Johannes Schindelin (11):
      commit: allow editing the commit message even in shared repos
      Handle more file writes correctly in shared repos
      Refactor skipping DOS drive prefixes
      compat/basename: make basename() conform to POSIX
      compat/basename.c: provide a dirname() compatibility function
      t0060: verify that basename() and dirname() work as expected
      fetch: release pack files before garbage-collecting
      am: release pack files before garbage-collecting
      merge: release pack files before garbage-collecting
      receive-pack: release pack files before garbage-collecting
      t0060: loosen overly strict expectations

Johannes Sixt (1):
      mingw: avoid linking to the C library's isalpha()

John Keeping (1):
      completion: add missing git-rebase options

Junio C Hamano (2):
      test-lib: clarify and tighten SANITY
      Git 2.7.1

Lars Vogel (1):
      git-add doc: do not say working directory when you mean working tree

Nguyễn Thái Ngọc Duy (5):
      Revert "setup: set env $GIT_WORK_TREE when work tree is set, like $GIT_DIR"
      dir.c: clean the entire struct in clear_exclude_list()
      Revert "dir.c: don't exclude whole dir prematurely if neg pattern may match"
      diff-no-index: do not take a redundant prefix argument
      diff: make -O and --output work in subdirectory

Paul Wagland (2):
      completion: complete show-branch "--date-order"
      completion: update completion arguments for stash

SZEDER Gábor (1):
      t6050-replace: make failing editor test more robust

Sebastian Schuberth (3):
      docs: clarify that passing --depth to git-clone implies --single-branch
      docs: say "commits" in the --depth option wording for git-clone
      docs: clarify that --depth for git-fetch works with newly initialized repos

Stephen P. Smith (4):
      user-manual: remove temporary branch entry from todo list
      glossary: define the term shallow clone
      user-manual: add section documenting shallow clones
      user-manual: add addition gitweb information

Thomas Braun (1):
      completion: complete "diff --word-diff-regex="

Øyvind A. Holm (1):
      gitweb: squelch "uninitialized value" warning


Version v2.7.0; changes since v2.7.0-rc3:
-----------------------------------------

Junio C Hamano (2):
      Git 2.6.5
      Git 2.7

Ralf Thielow (2):
      l10n: de.po: improve some translations
      l10n: de.po: translate 68 new messages


Version v2.7.0-rc3; changes since v2.7.0-rc2:
---------------------------------------------

Alex Henrie (2):
      l10n: ca.po: update translation
      l10n: ca.po: update translation

Alexander Shopov (2):
      l10n: Updated Bulgarian translation of git (2477t,0f,0u)
      l10n: Updated Bulgarian translation of git (2477t,0f,0u)

Audric Schiltknecht (1):
      l10n: fr.po: Fix typo

Dimitriy Ryazantcev (1):
      l10n: ru.po: update Russian translation

Jean-Noël Avila (2):
      l10n: fr v2.7.0 round 1 (2477t)
      l10n: fr.po v2.7.0 round 2 (2477t)

Jeff King (3):
      revision.c: propagate tag names from pending array
      symbolic-ref: propagate error code from create_symref()
      t1401: test reflog creation for git-symbolic-ref

Jiang Xin (4):
      l10n: git.pot: v2.7.0 round 1 (66 new, 29 removed)
      l10n: zh_CN: for git v2.7.0 l10n round 1
      l10n: git.pot: v2.7.0 round 2 (2 new, 2 removed)
      l10n: zh_CN: for git v2.7.0 l10n round 2

Junio C Hamano (1):
      Git 2.7-rc3

Luke Diamand (1):
      git-p4: failing test case for skipping changes with multiple depots

Peter Krefting (3):
      l10n: sv.po: Update Swedish translation (2477t0f0u)
      l10n: sv: Fix bad translation
      l10n: sv.po: Update Swedish translation (2477t0f0u)

Sam Hocevar (2):
      git-p4: support multiple depot paths in p4 submit
      git-p4: reduce number of server queries for fetches

Trần Ngọc Quân (1):
      l10n: vi.po: Updated translation (2477t)

Élie Bouttier (1):
      l10n: fr.po: Fix typo


Version v2.7.0-rc2; changes since v2.7.0-rc1:
---------------------------------------------

Fabian Ruch (1):
      rebase -i: remember merge options beyond continue actions

Giuseppe Bilotta (2):
      gitk: Match ttk fonts to gitk fonts
      gitk: Let .bleft.mid widgets 'breathe'

Jeff King (3):
      ident: make xgetpwuid_self() a static local helper
      ident: keep a flag for bogus default_email
      ident: loosen getpwuid error in non-strict mode

Johannes Schindelin (1):
      mingw: emulate write(2) that fails with a EPIPE

John Keeping (1):
      send-email: enable SSL level 1 debug output

Junio C Hamano (2):
      Update release notes to 2.7
      Git 2.7-rc2

Mike Crowe (3):
      push: add recurseSubmodules config option
      push: test that --recurse-submodules on command line overrides config
      push: follow the "last one wins" convention for --recurse-submodules

Peter Krefting (1):
      gitk: sv.po: Update Swedish translation (311t)

Ralf Thielow (1):
      push: don't mark options of recurse-submodules for translation

SZEDER Gábor (2):
      completion: remove 'git column' from porcelain commands
      credential-store: don't pass strerror to die_errno()

YOKOTA Hiroshi (16):
      gitk: Color name update
      gitk: Re-sync line number in Japanese message catalogue
      gitk: Update Japanese message catalog
      gitk: Translate more to Japanese catalog
      gitk: Translate Japanese catalog
      gitk: Fix wrong translation
      gitk: Update Japanese translation
      gitk: Fix translation around copyright sign
      gitk: Update Japanese translation
      gitk: Update fuzzy messages
      gitk: Change last translator line
      gitk: Update year
      gitk: Remove unused line
      gitk: Improve translation message
      gitk: Update "Language:" header
      gitk: Update revision date in Japanese PO file

brian m. carlson (3):
      sha1_file.c: introduce a null_oid constant
      format-patch: add an option to suppress commit hash
      format-patch: check that header line has expected format


Version v2.7.0-rc1; changes since v2.7.0-rc0:
---------------------------------------------

Charles Bailey (1):
      t3404: fix quoting of redirect for some versions of bash

Jeff King (1):
      ident: fix undefined variable when NO_IPV6 is set

Johannes Sixt (1):
      prune: close directory earlier during loose-object directory traversal

Junio C Hamano (4):
      Prepare for 2.6.5
      Update release notes to 2.7
      Update draft release notes to 2.6.5
      Git 2.7-rc1

Lars Schneider (1):
      git-p4: add option to keep empty commits

SZEDER Gábor (2):
      Make error message after failing commit_lock_file() less confusing
      completion: fix completing unstuck email alias arguments

Stefan Beller (1):
      document submodule sync --recursive

Stefan Naewe (1):
      revision.c: fix possible null pointer arithmetic


Version v2.7.0-rc0; changes since v2.6.7:
-----------------------------------------

Alex Henrie (1):
      gitk: l10n: Update Catalan translation

Alex Riesen (1):
      clone: allow "--dissociate" without reference

Antoine Delaite (1):
      bisect: add the terms old/new

Beat Bolli (1):
      gitk: Add missing accelerators

Ben Boeckel (1):
      remote: add get-url subcommand

Dair Grant (1):
      git-svn: improve rebase/mkdirs performance

David Turner (8):
      refs: clean up common_list
      path: optimize common dir checking
      refs: make refs/bisect/* per-worktree
      http.c: use CURLOPT_RANGE for range requests
      copy_msg(): rename to copy_reflog_msg()
      initdb: make safe_create_dir public
      files_log_ref_write: new function
      refs: break out ref conflict checks

Dennis Kaarsemaker (1):
      git-p4: import the ctypes module

Dimitriy Ryazantcev (1):
      gitk: Update Russian translation

Edmundo Carmona Antoranz (1):
      checkout: add --progress option

Fabio Porcedda (1):
      contrib/subtree: remove "push" command from the "todo" file

Gabor Bernat (1):
      filter-branch: add passed/remaining seconds on progress

Jacob Keller (2):
      sendemail: teach git-send-email to dump alias names
      completion: add support for completing email aliases

Jeff King (77):
      run-command: provide in_async query function
      pkt-line: show packets in async processes as "sideband"
      fast-import: switch crash-report date to iso8601
      date: make "local" orthogonal to date format
      show-branch: avoid segfault with --reflog of unborn branch
      mailsplit: fix FILE* leak in split_maildir
      archive-tar: fix minor indentation violation
      fsck: don't fsck alternates for connectivity-only check
      add xsnprintf helper function
      add git_path_buf helper function
      strbuf: make strbuf_complete_line more generic
      add reentrant variants of sha1_to_hex and find_unique_abbrev
      fsck: use strbuf to generate alternate directories
      mailsplit: make PATH_MAX buffers dynamic
      trace: use strbuf for quote_crnl output
      progress: store throughput display in a strbuf
      test-dump-cache-tree: avoid overflow of cache-tree name
      compat/inet_ntop: fix off-by-one in inet_ntop4
      convert trivial sprintf / strcpy calls to xsnprintf
      archive-tar: use xsnprintf for trivial formatting
      use xsnprintf for generating git object headers
      find_short_object_filename: convert sprintf to xsnprintf
      stop_progress_msg: convert sprintf to xsnprintf
      compat/hstrerror: convert sprintf to snprintf
      grep: use xsnprintf to format failure message
      entry.c: convert strcpy to xsnprintf
      add_packed_git: convert strcpy into xsnprintf
      http-push: replace strcat with xsnprintf
      receive-pack: convert strncpy to xsnprintf
      replace trivial malloc + sprintf / strcpy calls with xstrfmt
      config: use xstrfmt in normalize_value
      fetch: replace static buffer with xstrfmt
      use strip_suffix and xstrfmt to replace suffix
      ref-filter: drop sprintf and strcpy calls
      help: drop prepend function in favor of xstrfmt
      mailmap: replace strcpy with xstrdup
      read_branches_file: simplify string handling
      read_remotes_file: simplify string handling
      resolve_ref: use strbufs for internal buffers
      upload-archive: convert sprintf to strbuf
      remote-ext: simplify git pkt-line generation
      http-push: use strbuf instead of fwrite_buffer
      http-walker: store url in a strbuf
      sha1_get_pack_name: use a strbuf
      precompose_utf8: drop unused variable
      probe_utf8_pathname_composition: use internal strbuf
      init: use strbufs to store paths
      apply: convert root string to strbuf
      transport: use strbufs for status table "quickref" strings
      merge-recursive: convert malloc / strcpy to strbuf
      enter_repo: convert fixed-size buffers to strbufs
      remove_leading_path: use a strbuf for internal storage
      write_loose_object: convert to strbuf
      diagnose_invalid_index_path: use strbuf to avoid strcpy/strcat
      fetch-pack: use argv_array for index-pack / unpack-objects
      http-push: use an argv_array for setup_revisions
      stat_tracking_info: convert to argv_array
      daemon: use cld->env_array when re-spawning
      use sha1_to_hex_r() instead of strcpy
      drop strcpy in favor of raw sha1_to_hex
      color: add overflow checks for parsing colors
      use alloc_ref rather than hand-allocating "struct ref"
      avoid sprintf and strcpy with flex arrays
      receive-pack: simplify keep_arg computation
      help: clean up kfmclient munging
      prefer memcpy to strcpy
      color: add color_set helper for copying raw colors
      notes: document length of fanout path with a constant
      convert strncpy to memcpy
      fsck: drop inode-sorting code
      Makefile: drop D_INO_IN_DIRENT build knob
      fsck: use for_each_loose_file_in_objdir
      use strbuf_complete to conditionally append slash
      name-rev: use strip_suffix to avoid magic numbers
      http: use off_t to store partial file size
      filter-branch: skip index read/write when possible
      blame: fix object casting regression

Johannes Schindelin (1):
      test: facilitate debugging Git executables in tests with gdb

Johannes Sixt (9):
      read_branches_file: plug a FILE* leak
      compat/mingw.c: remove printf format warning
      modernize t9300: single-quote placement and indentation
      modernize t9300: use test_must_fail
      modernize t9300: use test_must_be_empty
      modernize t9300: wrap lines after &&
      modernize t9300: use test_when_finished for clean-up
      modernize t9300: mark here-doc words to ignore tab indentation
      modernize t9300: move test preparations into test_expect_success

John Keeping (11):
      Documentation/blame-options: don't list date formats
      Documentation/config: don't list date formats
      Documentation/git-for-each-ref: don't list date formats
      Documentation/rev-list: don't list date formats
      t6300: introduce test_date() helper
      t6300: add test for "raw" date format
      date: check for "local" before anything else
      t6300: make UTC and local dates different
      t6300: add tests for "-local" date formats
      send-email: expand path in sendemail.smtpsslcertpath config
      send-email: die if CA path doesn't exist

Juerg Haefliger (1):
      git-quiltimport: add commandline option --series <file>

Junio C Hamano (71):
      rerere: fix an off-by-one non-bug
      rerere: handle conflicts with multiple stage #1 entries
      rerere: plug conflict ID leaks
      rerere: lift PATH_MAX limitation
      rerere: write out each record of MERGE_RR in one go
      rerere: report autoupdated paths only after actually updating them
      rerere: drop want_sp parameter from is_cmarker()
      rerere: stop looping unnecessarily
      rerere: do not leak mmfile[] for a path with multiple stage #1 entries
      rerere: explain the rerere I/O abstraction
      rerere: fix benign off-by-one non-bug and clarify code
      rerere: explain MERGE_RR management helpers
      rerere: explain the primary codepath
      rerere: explain "rerere forget" codepath
      rerere: explain the remainder
      rerere: refactor "replay" part of do_plain_rerere()
      rerere: further de-dent do_plain_rerere()
      rerere: further clarify do_rerere_one_path()
      rerere: call conflict-ids IDs
      rerere: use "struct rerere_id" instead of "char *" for conflict ID
      rerere: un-nest merge() further
      filter-branch: make report-progress more readable
      Start cycle toward 2.7
      Second batch for 2.7
      Third batch for 2.7
      Fourth batch for 2.7
      Fifth batch for 2.7
      mailinfo: remove a no-op call convert_to_utf8(it, "")
      mailinfo: fold decode_header_bq() into decode_header()
      mailinfo: fix an off-by-one error in the boundary stack
      mailinfo: explicitly close file handle to the patch output
      Sixth batch for 2.7
      mailinfo: plug strbuf leak during continuation line handling
      mailinfo: move handle_boundary() lower
      mailinfo: move read_one_header_line() closer to its callers
      mailinfo: move check_header() after the helpers it uses
      mailinfo: move cleanup_space() before its users
      mailinfo: move definition of MAX_HDR_PARSED closer to its use
      mailinfo: get rid of function-local static states
      mailinfo: do not let handle_body() touch global "line" directly
      mailinfo: do not let handle_boundary() touch global "line" directly
      mailinfo: do not let find_boundary() touch global "line" directly
      mailinfo: move global "line" into mailinfo() function
      mailinfo: introduce "struct mailinfo" to hold globals
      mailinfo: move keep_subject & keep_non_patch_bracket to struct mailinfo
      mailinfo: move global "FILE *fin, *fout" to struct mailinfo
      mailinfo: move filter/header stage to struct mailinfo
      mailinfo: move patch_lines to struct mailinfo
      mailinfo: move add_message_id and message_id to struct mailinfo
      mailinfo: move use_scissors and use_inbody_headers to struct mailinfo
      mailinfo: move metainfo_charset to struct mailinfo
      mailinfo: move check for metainfo_charset to convert_to_utf8()
      mailinfo: move transfer_encoding to struct mailinfo
      mailinfo: move charset to struct mailinfo
      mailinfo: move cmitmsg and patchfile to struct mailinfo
      mailinfo: move [ps]_hdr_data to struct mailinfo
      mailinfo: move content/content_top to struct mailinfo
      mailinfo: handle_commit_msg() shouldn't be called after finding patchbreak
      mailinfo: keep the parsed log message in a strbuf
      mailinfo: libify
      mailinfo: handle charset conversion errors in the caller
      am: make direct call to mailinfo
      mailinfo: remove calls to exit() and die() deep in the callchain
      Seventh batch for 2.7
      Eighth batch for 2.7
      Ninth batch for 2.7
      Tenth batch for 2.7
      Eleventh batch for 2.7
      RelNotes update for 2.7
      Update release notes to 2.7
      Git 2.7-rc0

Karthik Nayak (35):
      t6302: for-each-ref tests for ref-filter APIs
      tag: libify parse_opt_points_at()
      ref-filter: implement '--points-at' option
      for-each-ref: add '--points-at' option
      ref-filter: add parse_opt_merge_filter()
      ref-filter: implement '--merged' and '--no-merged' options
      for-each-ref: add '--merged' and '--no-merged' options
      parse-option: rename parse_opt_with_commit()
      parse-options.h: add macros for '--contains' option
      ref-filter: implement '--contains' option
      for-each-ref: add '--contains' option
      ref-filter: move `struct atom_value` to ref-filter.c
      ref-filter: introduce ref_formatting_state and ref_formatting_stack
      utf8: add function to align a string into given strbuf
      ref-filter: introduce handler function for each atom
      ref-filter: introduce match_atom_name()
      ref-filter: implement an `align` atom
      ref-filter: add option to filter out tags, branches and remotes
      ref-filter: add support for %(contents:lines=X)
      ref-filter: add support to sort by version
      ref-filter: add option to match literal pattern
      tag.c: use 'ref-filter' data structures
      tag.c: use 'ref-filter' APIs
      tag.c: implement '--format' option
      tag.c: implement '--merged' and '--no-merged' options
      branch: refactor width computation
      branch: bump get_head_description() to the top
      branch: roll show_detached HEAD into regular ref_list
      branch: move 'current' check down to the presentation layer
      branch: drop non-commit error reporting
      branch.c: use 'ref-filter' data structures
      branch.c: use 'ref-filter' APIs
      branch: add '--points-at' option
      tag.c: use the correct algorithm for the '--contains' option
      ref-filter: fallback on alphabetical comparison

Lars Schneider (18):
      git-p4: add config git-p4.pathEncoding
      git-p4: improve path encoding verbose output
      git-p4: use replacement character for non UTF-8 characters in paths
      git-p4: add optional type specifier to gitConfig reader
      git-p4: add gitConfigInt reader
      git-p4: return an empty list if a list config has no values
      git-p4: add file streaming progress in verbose mode
      git-p4: check free space during streaming
      git-p4: add support for large file systems
      git-p4: add Git LFS backend for large file system
      git-p4: avoid "stat" command in t9815 git-p4-submit-fail
      git-p4: skip t9819 test case on case insensitive file systems
      git-p4: retry kill/cleanup operations in tests with timeout
      git-p4: add p4d timeout in tests
      git-p4: add trap to kill p4d on test exit
      implement test_might_fail using a refactored test_must_fail
      add "ok=sigpipe" to test_must_fail and use it to fix flaky tests
      Add Travis CI support

Lukas Fleischer (4):
      config.txt: document the semantics of hideRefs with namespaces
      upload-pack: strip refs before calling ref_is_hidden()
      hideRefs: add support for matching full refs
      t5509: add basic tests for hideRefs

Matthieu Moy (5):
      bisect: sanity check on terms
      bisect: add 'git bisect terms' to view the current terms
      bisect: allow setting any user-specified in 'git bisect start'
      strtoul_ui: reject negative values
      git-multimail: update to release 1.2.0

Max Kirillov (3):
      blame: test to describe use of blame --reverse --first-parent
      blame: extract find_single_final
      blame: allow blame --reverse --first-parent when it makes sense

Michael Haggerty (4):
      pack_if_possible_fn(): use ref_type() instead of is_per_worktree_ref()
      refname_is_safe(): improve docstring
      refs/refs-internal.h: new header file
      refs: split filesystem-based refs code into a new file

Michael Rappazzo (5):
      worktree: add top-level worktree.c
      worktree: refactor find_linked_symref function
      worktree: add a function to get worktree details
      worktree: add details to the worktree struct
      worktree: add 'list' command

Namhyung Kim (1):
      stash: allow "stash show" diff output configurable

Nguyễn Thái Ngọc Duy (3):
      dir.c: make last_exclude_matching_from_list() run til the end
      dir.c: don't exclude whole dir prematurely if neg pattern may match
      mailinfo: fix passing wrong address to git_mailinfo_config

Noam Postavsky (1):
      credential-cache: new option to ignore sighup

Ramsay Jones (1):
      http: fix some printf format warnings

René Scharfe (7):
      parse-options: deduplicate parse_options_usage() calls
      parse-options: inline parse_options_usage() at its only remaining caller
      parse-options: allow -h as a short option
      t1450: add tests for NUL in headers of commits and tags
      grep: stop using PARSE_OPT_NO_INTERNAL_HELP
      fsck: treat a NUL in a tag header as an error
      show-ref: stop using PARSE_OPT_NO_INTERNAL_HELP

Ronnie Sahlberg (2):
      verify_refname_available(): rename function
      verify_refname_available(): new function

Stefan Beller (4):
      submodule: rewrite `module_list` shell function in C
      submodule: rewrite `module_name` shell function in C
      submodule: rewrite `module_clone` shell function in C
      submodule-config: "goto" removal in parse_config()

Takashi Iwai (3):
      gitk: Update msgid's for menu items with accelerator
      gitk: Add accelerators to Japanese locale
      gitk: Add accelerator to German locale

Techlive Zheng (7):
      contrib/subtree: Clean and refactor test code
      contrib/subtree: Add test for missing subtree
      contrib/subtree: Add tests for subtree add
      contrib/subtree: Add merge tests
      contrib/subtree: Add split tests
      contrib/subtree: Make each test self-contained
      contrib/subtree: Handle '--prefix' argument with a slash appended

Tobias Klauser (4):
      credential-cache--daemon: remove unused #include "sigchain.h"
      diff: remove unused #include "sigchain.h"
      read-cache: remove unused #include "sigchain.h"
      shallow: remove unused #include "sigchain.h"

Torsten Bögershausen (1):
      t0027: improve test for not-normalized files

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

brian m. carlson (12):
      sha1_file: introduce has_object_file helper.
      Convert struct ref to use object_id.
      add_sought_entry_mem: convert to struct object_id
      parse_fetch: convert to use struct object_id
      get_remote_heads: convert to struct object_id
      push_refs_with_export: convert to struct object_id
      ref_newer: convert to use struct object_id
      object: introduce get_object_hash macro.
      Add several uses of get_object_hash.
      Convert struct object to object_id
      Remove get_object_hash.
      remote: convert functions to struct object_id


Version v2.6.7; changes since v2.6.6:
-------------------------------------

Jeff King (1):
      shell: disallow repo names beginning with dash

Junio C Hamano (3):
      Git 2.4.12
      Git 2.5.6
      Git 2.6.7


Version v2.6.6; changes since v2.6.5:
-------------------------------------

Jeff King (7):
      add helpers for detecting size_t overflow
      tree-diff: catch integer overflow in combine_diff_path allocation
      http-push: stop using name_path
      show_object_with_name: simplify by using path_name()
      list-objects: convert name_path to a strbuf
      list-objects: drop name_path entirely
      list-objects: pass full pathname to callbacks

Junio C Hamano (3):
      Git 2.4.11
      Git 2.5.5
      Git 2.6.6


Version v2.6.5; changes since v2.6.4:
-------------------------------------

Alexey Shumkin (2):
      t7900-subtree: test the "space in a subdirectory name" case
      contrib/subtree: respect spaces in a repository path

Charles Bailey (1):
      t3404: fix quoting of redirect for some versions of bash

Christian Couder (1):
      Documentation/git-update-index: add missing opts to synopsis

David Turner (1):
      verify_pack: do not ignore return value of verification function

Elia Pinto (1):
      ident.c: add support for IPv6

Jeff King (7):
      ident: make xgetpwuid_self() a static local helper
      ident: keep a flag for bogus default_email
      ident: loosen getpwuid error in non-strict mode
      ident: fix undefined variable when NO_IPV6 is set
      revision.c: propagate tag names from pending array
      symbolic-ref: propagate error code from create_symref()
      t1401: test reflog creation for git-symbolic-ref

Johannes Sixt (1):
      prune: close directory earlier during loose-object directory traversal

John Keeping (6):
      t7610: don't use test_config in a subshell
      t5801: don't use test_when_finished in a subshell
      test-lib-functions: support "test_config -C <dir> ..."
      t7800: don't use test_config in a subshell
      test-lib-functions: detect test_when_finished in subshell
      send-email: enable SSL level 1 debug output

Junio C Hamano (3):
      Prepare for 2.6.5
      Update draft release notes to 2.6.5
      Git 2.6.5

Lars Schneider (1):
      git-p4: add option to keep empty commits

Nguyễn Thái Ngọc Duy (1):
      git-check-ref-format.txt: typo, s/avoids/avoid/

René Scharfe (2):
      use pop_commit() for consuming the first entry of a struct commit_list
      show-branch: use argv_array for default arguments

SZEDER Gábor (3):
      Make error message after failing commit_lock_file() less confusing
      completion: remove 'git column' from porcelain commands
      credential-store: don't pass strerror to die_errno()

Stefan Beller (1):
      document submodule sync --recursive

Stefan Naewe (1):
      revision.c: fix possible null pointer arithmetic


Version v2.6.4; changes since v2.6.3:
-------------------------------------

Atousa Pahlevan Duprat (2):
      sha1: provide another level of indirection for the SHA-1 functions
      sha1: allow limiting the size of the data passed to SHA1_Update()

Charles Bailey (1):
      http: treat config options sslCAPath and sslCAInfo as paths

Christian Couder (1):
      Documentation/git-update-index: add missing opts to synopsys

Clemens Buchacher (1):
      allow hooks to ignore their standard input stream

Daniel Knittl-Frank (1):
      Escape Git's exec path in contrib/rerere-train.sh script

David Aguilar (1):
      difftool: ignore symbolic links in use_wt_file

Dennis Kaarsemaker (2):
      t5813: avoid creating urls that break on cygwin
      check-ignore: correct documentation about output

Doug Kelly (2):
      t5304: test cleaning pack garbage
      gc: remove garbage .idx files from pack dir

Fredrik Medley (1):
      rebase-i-exec: Allow space in SHELL_PATH

GIRARD Etienne (1):
      git-p4: clean up after p4 submit failure

John Keeping (3):
      interpret-trailers: allow running outside a repository
      rebase: support --no-autostash
      Documentation/git-rebase: fix --no-autostash formatting

Junio C Hamano (3):
      prepare_packed_git(): refactor garbage reporting in pack directory
      Prepare for 2.6.4
      Git 2.6.4

Luke Diamand (3):
      git-p4: add failing test for submit from detached head
      git-p4: add option to system() to return subshell status
      git-p4: work with a detached head

Michael J Gruber (1):
      Documentation/diff: give --word-diff-regex=. example

Pat Thoyts (1):
      remote-http(s): support SOCKS proxies

Rainer M. Canavan (1):
      configure.ac: use $LIBS not $CFLAGS when testing -lpthread

René Scharfe (1):
      wt-status: correct and simplify check for detached HEAD

SZEDER Gábor (4):
      bash prompt: test dirty index and worktree while on an orphan branch
      bash prompt: remove a redundant 'git diff' option
      bash prompt: indicate dirty index even on orphan branches
      filter-branch: deal with object name vs. pathname ambiguity in tree-filter

Андрей Рыбак (1):
      Documentation: make environment variable formatting more consistent


Version v2.6.3; changes since v2.6.2:
-------------------------------------

David Turner (2):
      t7063: fix flaky untracked-cache test
      name-hash: don't reuse cache_entry in dir_entry

Dimitriy Ryazantcev (1):
      l10n: ru.po: update Russian translation

James McCoy (1):
      filter-branch: remove multi-line headers in msg filter

Jeff King (7):
      introduce "extensions" form of core.repositoryformatversion
      introduce "preciousObjects" repository extension
      t6031: move triple-rename test to t3030
      t6031: generalize for recursive and resolve strategies
      merge: detect delete/modechange conflict
      add_submodule_odb: initialize alt_odb list earlier
      merge-file: clamp exit code to maximum 127

Johannes Schindelin (10):
      t5700: demonstrate a Windows file locking issue with `git clone --dissociate`
      sha1_file: consolidate code to close a pack's file descriptor
      gc: demonstrate failure with stale remote HEAD
      sha1_file.c: add a function to release all packs
      clone --dissociate: avoid locking pack files
      pack-objects: do not get distracted by broken symrefs
      imap-send: only use CURLOPT_LOGIN_OPTIONS if it is actually available
      Squelch warning about an integer overflow
      Silence GCC's "cast of pointer to integer of a different size" warning
      t3404: "rebase -i" gets broken when insn sheet uses CR/LF line endings

Junio C Hamano (10):
      am -3: do not let failed merge from completing the error codepath
      Documentation/gc: warn against --prune=<now>
      usage: do not insist that standard input must come from a file
      Documentation/everyday: match undefline with the text
      Documentation: match underline with the text
      Documentation: match undefline with the text in old release notes
      Documentation: AsciiDoc spells em-dash as double-dashes, not triple
      add: simplify -u/-A without pathspec
      rebase-i: work around Windows CRLF line endings
      Git 2.6.3

Lars Schneider (2):
      git-p4: add test case for "Translation of file content failed" error
      git-p4: handle "Translation of file content failed"

Luke Diamand (3):
      git-p4: failing test for ignoring invalid p4 labels
      git-p4: do not terminate creating tag for unknown commit
      git-p4: fix P4 label import for unprocessed commits

Max Kirillov (3):
      submodule refactor: use strbuf_git_path_submodule() in add_submodule_odb()
      path: implement common_dir handling in git_pathdup_submodule()
      blame: fix option name in error message

Nguyễn Thái Ngọc Duy (7):
      path.c: delete an extra space
      gc: save log from daemonized gc --auto and print it next time
      t0002: add test for enter_repo(), non-strict mode
      enter_repo: avoid duplicating logic, use is_git_directory() instead
      enter_repo: allow .git files in strict mode
      clone: allow --local from a linked checkout
      clone: better error when --reference is a linked checkout

Ralf Thielow (1):
      am, credential-cache: add angle brackets to usage string

Ray Donnelly (1):
      test-path-utils.c: remove incorrect assumption

Remi Pommarel (3):
      Makefile: link libcurl before zlib
      Makefile: make curl-config path configurable
      configure.ac: detect ssl need with libcurl

René Scharfe (7):
      t7060: add test for status --branch on a detached HEAD
      wt-status: exit early using goto in wt_shortstatus_print_tracking()
      wt-status: avoid building bogus branch name with detached HEAD
      wt-status: don't skip a magical number of characters blindly
      wt-status: use skip_prefix() to get rid of magic string length constants
      run-command: factor out child_process_clear()
      daemon: plug memory leak

Sidhant Sharma (1):
      worktree: usage: denote <branch> as optional with 'add'

Stefan Agner (1):
      git-send-email.perl: Fixed sending of many/huge changes/patches

Tobias Klauser (2):
      strbuf: make stripspace() part of strbuf
      stripspace: use parse-options for command-line parsing

Waldek Maleska (1):
      Correct fscanf formatting string for I64u values

Xue Fuqiao (2):
      Documentation: fix header markup
      user-manual: fix the description of fast-forward


Version v2.6.2; changes since v2.6.1:
-------------------------------------

Alex Henrie (2):
      merge: grammofix in please-commit-before-merge message
      pull: enclose <options> in brackets in the usage string

Christian Couder (2):
      quote: fix broken sq_quote_buf() related comment
      quote: move comment before sq_quote_buf()

Eric N. Vander Weele (1):
      log: Update log.follow doc and add to config.txt

Jacob Keller (1):
      notes: correct documentation of DWIMery for notes references

Jeff King (3):
      git_connect: clear GIT_* environment for ssh
      git_connect: clarify conn->use_shell flag
      blame: handle --first-parent

Johannes Schindelin (1):
      setup: fix "inside work tree" detection on case-insensitive filesystems

John Keeping (2):
      Makefile: fix MAKEFLAGS tests with multiple flags
      Documentation: fix section header mark-up

Junio C Hamano (3):
      Makefile: allow $(ARFLAGS) specified from the command line
      fsck: exit with non-zero when problems are found
      Git 2.6.2

Matthieu Moy (7):
      Documentation: use 'keyid' consistently, not 'key-id'
      Documentation/grep: fix documentation of -O
      Documentation: explain optional arguments better
      t3203: test 'detached at' after checkout --detach
      status: don't say 'HEAD detached at HEAD'
      rebase-i: explicitly accept tab as separator in commands
      rebase-i: loosen over-eager check_bad_cmd check

Michael J Gruber (1):
      t2026: rename worktree prune test

Nguyễn Thái Ngọc Duy (1):
      ls-remote.txt: delete unsupported option

Renee Margaret McConahy (1):
      am: configure gpg at startup

Stephan Beyer (2):
      t5561: get rid of racy appending to logfile
      t/perf: make runner work even if Git is not installed

Takashi Iwai (1):
      pager: don't use unsafe functions in signal handlers

Tobias Klauser (2):
      connect: fix typo in result string of prot_name()
      Documentation/interpret-trailers: Grammar fix


Version v2.6.1; changes since v2.6.0:
-------------------------------------

Blake Burkhart (2):
      http: limit redirection to protocol-whitelist
      http: limit redirection depth

Jeff King (6):
      transport: add a protocol-whitelist environment variable
      submodule: allow only certain protocols for submodule fetches
      transport: refactor protocol whitelist code
      react to errors in xdi_diff
      xdiff: reject files larger than ~1GB
      merge-file: enforce MAX_XDIFF_SIZE on incoming files

Junio C Hamano (4):
      Git 2.3.10
      Git 2.4.10
      Git 2.5.4
      Git 2.6.1


Version v2.6.0; changes since v2.6.0-rc3:
-----------------------------------------

Junio C Hamano (1):
      Git 2.6


Version v2.6.0-rc3; changes since v2.6.0-rc2:
---------------------------------------------

Alejandro R. Sedeño (1):
      Makefile: use SHELL_PATH when running generate-cmdlist.sh

Alex Henrie (2):
      show-ref: place angle brackets around variables in usage string
      l10n: ca.po: update translation

Andreas Schwab (1):
      Documentation/config: fix formatting for branch.*.rebase and pull.rebase

Brian Norris (1):
      send-email: fix uninitialized var warning for $smtp_auth

Edward Thomson (1):
      poll: honor the timeout on Win32

Jean-Noël Avila (2):
      l10n: fr.po v2.6.0 round 1 (2441t)
      l10n: fr.po v2.6.0 round 2 (2440t)

Jiang Xin (6):
      l10n: TEAMS: stash inactive zh_CN team members
      l10n: zh_CN: Add translations for Git glossary
      l10n: git.pot: v2.6.0 round 1 (123 new, 41 removed)
      l10n: zh_CN: for git v2.6.0 l10n round 1
      l10n: git.pot: v2.6.0 round 2 (3 improvements)
      l10n: zh_CN: for git v2.6.0 l10n round 2

Johannes Schindelin (1):
      am --skip/--abort: merge HEAD/ORIG_HEAD tree into index

Junio C Hamano (4):
      Update RelNotes to 2.6 to describe leftover bits since -rc2
      Git 2.5.3
      Update RelNotes to 2.6
      Git 2.6-rc3

Peter Krefting (1):
      l10n: sv.po: Update Swedish translation (2441t0f0u)

Philip Oakley (1):
      doc: show usage of branch description

Phillip Sz (1):
      l10n: de.po: better language for one string

Ralf Thielow (4):
      pull: don't mark values for option "rebase" for translation
      tag, update-ref: improve description of option "create-reflog"
      l10n: de.po: translate 123 new messages
      l10n: de.po: translate 2 messages

Ramsay Jones (1):
      mailmap: update my entry with new email address

Ray Chen (10):
      l10n: zh_CN: Update Translation: "tag object"
      l10n: zh_CN: Unify Translation of "packfile"
      l10n: zh_CN: Update Translation of "tag"
      l10n: zh_CN: Add Surrounding Spaces
      l10n: zh_CN: Update Git Glossary: SHA-1
      l10n: zh_CN: Update Git Glossary: "dumb", "smart"
      l10n: zh_CN: Update Git Glossary: tag
      l10n: zh_CN: Update Git Glossary: fork
      l10n: zh_CN: Update Git Glossary: pickaxe
      l10n: zh_CN: Update Git Glossary: "commit message"

Trần Ngọc Quân (2):
      l10n: Updated Vietnamese translation (2441t)
      l10n: Update and review Vietnamese translation (2440t)


Version v2.6.0-rc2; changes since v2.6.0-rc1:
---------------------------------------------

Alex Henrie (2):
      gitk: Fix bad English grammar "Matches none Commit Info"
      gitk: Remove mc parameter from proc show_error

Alexander Shopov (2):
      gitk: Update Bulgarian translation (304t)
      gitk: Update Bulgarian translation (307t)

Beat Bolli (2):
      gitk: Add a "Copy commit summary" command
      gitk: Adjust the menu line numbers to compensate for the new entry

Giuseppe Bilotta (2):
      apply: comment grammar fix
      gitk: Accelerators for the main menu

Ismael Luceno (1):
      gitk: Make it easier to go quickly to a specific commit

Jeff King (5):
      pack-protocol: clarify LF-handling in PKT-LINE()
      verify_absent: allow filenames longer than PATH_MAX
      notes: use a strbuf in add_non_note
      read_info_alternates: handle paths larger than PATH_MAX
      show-branch: use a strbuf for reflog descriptions

Junio C Hamano (6):
      Git 2.2.3
      Git 2.3.9
      Git 2.4.9
      Git 2.5.2
      Release Notes: typofix
      Git 2.6-rc2

Marc Branchaud (3):
      gitk: Rearrange window title to be more conventional
      gitk: Show the current view's name in the window title
      gitk: Use translated version of "Command line" in getcommitlines

Matthieu Prat (1):
      t7060: actually test "git diff-index --cached -M"

Michael J Gruber (1):
      git-svn: parse authors file more leniently

Michael Rappazzo (1):
      gitk: Add mouse right-click options to copy path and branch name

Paul Mackerras (3):
      gitk: Replace catch {unset foo} with unset -nocomplain foo
      gitk: Fix error when changing colors after closing "List references" window
      gitk: Update .po files

Peter Krefting (1):
      gitk: sv.po: Update Swedish translation (305t0f0u)


Version v2.6.0-rc1; changes since v2.6.0-rc0:
---------------------------------------------

Jeff King (1):
      rerere: release lockfile in non-writing functions

Junio C Hamano (2):
      am: match --signoff to the original scripted version
      Git 2.6-rc1


Version v2.6.0-rc0; changes since v2.5.6:
-----------------------------------------

Alex Henrie (3):
      reflog: add missing single quote to error message
      pack-objects: place angle brackets around placeholders in usage strings
      read-tree: replace bracket set with parentheses to clarify usage

Antoine Delaite (3):
      bisect: correction of typo
      bisect: replace hardcoded "bad|good" by variables
      bisect: simplify the addition of new bisect terms

Brian Degenhardt (1):
      unpack-trees: populate cache-tree on successful merge

Charles Bailey (2):
      test-parse-options: update to handle negative ints
      parse-options: move unsigned long option parsing out of pack-objects.c

Dave Borowitz (9):
      Documentation/git-push.txt: document when --signed may fail
      Documentation/git-send-pack.txt: wrap long synopsis line
      Documentation/git-send-pack.txt: document --signed
      gitremote-helpers.txt: document pushcert option
      transport: remove git_transport_options.push_cert
      config.c: rename git_config_maybe_bool_text and export it as git_parse_maybe_bool
      builtin/send-pack.c: use parse_options API
      push: support signing pushes iff the server supports it
      push: add a config option push.gpgSign for default signed pushes

David Turner (18):
      log: add "log.follow" configuration variable
      refs.c: add err arguments to reflog functions
      refs: break out check for reflog autocreation
      refs: new public ref function: safe_create_reflog
      git-reflog: add exists command
      refs: add REF_FORCE_CREATE_REFLOG flag
      update-ref and tag: add --create-reflog arg
      git-stash: use update-ref --create-reflog instead of creating files
      t/t7509: remove unnecessary manipulation of reflog
      tests: remove some direct access to .git/logs
      refs: introduce pseudoref and per-worktree ref concepts
      refs: add ref_type function
      pseudorefs: create and use pseudoref update and delete functions
      bisect: use update_ref
      sequencer: replace write_cherry_pick_head with update_ref
      worktrees: add find_shared_symref
      notes: handle multiple worktrees
      pseudoref: check return values from read_ref()

Elia Pinto (1):
      http: add support for specifying the SSL version

Eric Sunshine (25):
      config: rename "gc.pruneWorktreesExpire" to "gc.worktreePruneExpire"
      checkout: avoid resolving HEAD unnecessarily
      checkout: name check_linked_checkouts() more meaningfully
      checkout: improve die_if_checked_out() robustness
      checkout: die_if_checked_out: simplify strbuf management
      checkout: generalize die_if_checked_out() branch name argument
      checkout: check_linked_checkout: improve "already checked out" aesthetic
      checkout: check_linked_checkout: simplify symref parsing
      checkout: teach check_linked_checkout() about symbolic link HEAD
      branch: publish die_if_checked_out()
      worktree: improve worktree setup message
      worktree: simplify new branch (-b/-B) option checking
      worktree: introduce options container
      worktree: make --detach mutually exclusive with -b/-B
      worktree: add: suppress auto-vivication with --detach and no <branch>
      worktree: make branch creation distinct from worktree population
      worktree: elucidate environment variables intended for child processes
      worktree: add_worktree: construct worktree-population command locally
      worktree: detect branch-name/detached and error conditions locally
      worktree: make setup of new HEAD distinct from worktree population
      worktree: avoid resolving HEAD unnecessarily
      worktree: populate via "git reset --hard" rather than "git checkout"
      checkout: drop intimate knowledge of newly created worktree
      Documentation/git-worktree: fix broken 'linkgit' invocation
      Documentation/config: mention "now" and "never" for 'expire' settings

Erik Elfström (5):
      setup: add gentle version of read_gitfile
      setup: sanity check file size in read_gitfile_gently
      t7300: add tests to document behavior of clean and nested git
      p7300: add performance tests for clean
      clean: improve performance when removing lots of directories

Galan Rémi (3):
      git-rebase -i: add command "drop" to remove a commit
      git rebase -i: warn about removed commits
      git rebase -i: add static check for commands and SHA-1

Guillaume Pagès (4):
      status: factor two rebase-related messages together
      status: differentiate interactive from non-interactive rebases
      status: give more information during rebase -i
      status: add new tests for status during rebase -i

Heiko Voigt (4):
      submodule: implement a config API for lookup of .gitmodules values
      submodule: extract functions for config set and lookup
      submodule: use new config API for worktree configurations
      submodule: allow erroneous values for the fetchRecurseSubmodules option

Jacob Keller (8):
      refs: cleanup comments regarding check_refname_component()
      refs: loosen restriction on wildcard "*" refspecs
      notes: document cat_sort_uniq rewriteMode
      notes: extract enum notes_merge_strategy to notes-utils.h
      notes: extract parse_notes_merge_strategy to notes-utils
      notes: add tests for --commit/--abort/--strategy exclusivity
      notes: add notes.mergeStrategy option to select default strategy
      notes: teach git-notes about notes.<name>.mergeStrategy option

Jan Viktorin (1):
      send-email: provide whitelist of SMTP AUTH mechanisms

Jeff King (36):
      pkt-line: simplify starts_with checks in packet tracing
      pkt-line: tighten sideband PACK check when tracing
      pkt-line: support tracing verbatim pack contents
      cat-file: minor style fix in options list
      cat-file: move batch_options definition to top of file
      cat-file: add --buffer option
      cat-file: stop returning value from batch_one_object
      cat-file: split batch_one_object into two stages
      cat-file: add --batch-all-objects option
      read_gitfile_gently: fix use-after-free
      cat-file: sort and de-dup output of --batch-all-objects
      show-branch: use DATE_RELATIVE instead of magic number
      convert "enum date_mode" into a struct
      introduce "format" date-mode
      strbuf: make strbuf_addftime more robust
      docs/config.txt: reorder hideRefs config
      refs: support negative transfer.hideRefs
      cache.h: clarify documentation for git_path, et al
      cache.h: complete set of git_path_submodule helpers
      t5700: modernize style
      add_to_alternates_file: don't add duplicate entries
      prefer git_pathdup to git_path in some possibly-dangerous cases
      prefer mkpathdup to mkpath in assignments
      remote.c: drop extraneous local variable from migrate_file
      refs.c: remove extra git_path calls from read_loose_refs
      path.c: drop git_path_submodule
      refs.c: simplify strbufs in reflog setup and writing
      refs.c: avoid repeated git_path calls in rename_tmp_log
      refs.c: avoid git_path assignment in lock_ref_sha1_basic
      refs.c: remove_empty_directories can take a strbuf
      find_hook: keep our own static buffer
      get_repo_path: refactor path-allocation
      memoize common git-path "constant" files
      format_config: don't init strbuf
      format_config: simplify buffer handling
      get_urlmatch: avoid useless strbuf write

Jiang Xin (1):
      i18n: am: fix typo in description of -b option

Johannes Schindelin (19):
      fsck: introduce fsck options
      fsck: introduce identifiers for fsck messages
      fsck: provide a function to parse fsck message IDs
      fsck: offer a function to demote fsck errors to warnings
      fsck (receive-pack): allow demoting errors to warnings
      fsck: report the ID of the error/warning
      fsck: make fsck_ident() warn-friendly
      fsck: make fsck_commit() warn-friendly
      fsck: handle multiple authors in commits specially
      fsck: make fsck_tag() warn-friendly
      fsck: add a simple test for receive.fsck.<msg-id>
      fsck: disallow demoting grave fsck errors to warnings
      fsck: optionally ignore specific fsck issues completely
      fsck: allow upgrading fsck warnings to errors
      fsck: document the new receive.fsck.<msg-id> options
      fsck: support demoting errors to warnings
      fsck: introduce `git fsck --connectivity-only`
      fsck: git receive-pack: support excluding objects from fsck'ing
      fsck: support ignoring objects in `git fsck` via fsck.skiplist

Johannes Sixt (1):
      t7300-clean: require POSIXPERM for chmod 0 test

Junio C Hamano (21):
      commit-slab: introduce slabname##_peek() function
      First batch for 2.6
      sha1_file.c: rename move_temp_to_file() to finalize_object_file()
      Second batch for 2.6
      Third batch for 2.6
      Fourth batch for 2.6
      log: rename "tweak" helpers
      log: when --cc is given, default to -p unless told otherwise
      log: show merge commit when --cc is given
      builtin/am: introduce write_state_*() helper functions
      builtin/am: make sure state files are text
      write_file(): drop "fatal" parameter
      write_file_v(): do not leave incomplete line at the end
      write_file(): drop caller-supplied LF from calls to create a one-liner file
      builtin/log.c: minor reformat
      Fifth batch for 2.6
      Sixth batch for 2.6
      Seventh batch for 2.6
      Eighth batch for 2.6
      Ninth batch for 2.6
      Git 2.6-rc0

Karsten Blees (1):
      Documentation/i18n.txt: clarify character encoding support

Karthik Nayak (11):
      for-each-ref: extract helper functions out of grab_single_ref()
      for-each-ref: clean up code
      for-each-ref: rename 'refinfo' to 'ref_array_item'
      for-each-ref: introduce new structures for better organisation
      for-each-ref: introduce 'ref_array_clear()'
      for-each-ref: rename some functions and make them public
      for-each-ref: rename variables called sort to sorting
      ref-filter: add 'ref-filter.h'
      ref-filter: move code from 'for-each-ref'
      for-each-ref: introduce filter_refs()
      ref-filter: make 'ref_array_item' use a FLEX_ARRAY for refname

Kevin Daudt (1):
      pull: allow dirty tree when rebase.autostash enabled

Lars Schneider (1):
      git-p4: honor core.ignorecase when using P4 client specs

Matthieu Moy (2):
      Documentation/bisect: move getting help section to the end
      bisect: don't mix option parsing and non-trivial code

Michael Haggerty (41):
      delete_ref(): move declaration to refs.h
      remove_branches(): remove temporary
      delete_ref(): handle special case more explicitly
      delete_refs(): new function for the refs API
      delete_refs(): make error message more generic
      delete_refs(): bail early if the packed-refs file cannot be rewritten
      prune_remote(): use delete_refs()
      prune_refs(): use delete_refs()
      repack_without_refs(): make function private
      initial_ref_transaction_commit(): function for initial ref creation
      refs: remove some functions from the module's public interface
      initial_ref_transaction_commit(): check for duplicate refs
      initial_ref_transaction_commit(): check for ref D/F conflicts
      refs: move the remaining ref module declarations to refs.h
      refs.h: add some parameter names to function declarations
      check_branch_commit(): make first parameter const
      update_ref(): don't read old reference value before delete
      cmd_update_ref(): make logic more straightforward
      delete_ref(): use the usual convention for old_sha1
      Documentation/bisect: revise overall content
      fast-import: add a get-mark command
      Documentation/git-worktree: consistently use term "linked working tree"
      Documentation/git-worktree: fix incorrect reference to file "locked"
      Documentation/config: fix stale "git prune --worktree" reference
      Documentation/git-worktree: wordsmith worktree-related manpages
      lockfile: move documentation to lockfile.h and lockfile.c
      create_bundle(): duplicate file descriptor to avoid closing it twice
      lockfile: add accessors get_lock_file_fd() and get_lock_file_fp()
      lockfile: add accessor get_lock_file_path()
      commit_lock_file(): use get_locked_file_path()
      tempfile: a new module for handling temporary files
      prepare_tempfile_object(): new function, extracted from create_tempfile()
      tempfile: add several functions for creating temporary files
      register_tempfile(): new function to handle an existing temporary file
      write_shared_index(): use tempfile module
      setup_temporary_shallow(): use tempfile module
      diff: use tempfile module
      lock_repo_for_gc(): compute the path to "gc.pid" only once
      gc: use tempfile module to handle gc.pid file
      credential-cache--daemon: delete socket from main()
      credential-cache--daemon: use tempfile module

Michael Rappazzo (1):
      git-rebase--interactive.sh: add config option for custom instruction format

Mike Hommey (1):
      Allow to control where the replace refs are looked for

Patrick Steinhardt (4):
      Documentation/git-worktree: fix duplicated 'from'
      clone: do not include authentication data in guessed dir
      clone: do not use port number as dir name
      clone: abort if no dir name could be guessed

Paul Tan (85):
      t4150: test applying StGit patch
      am: teach StGit patch parser how to read from stdin
      t4150: test applying StGit series
      am: use gmtime() to parse mercurial patch date
      am: teach mercurial patch parser how to read from stdin
      parse-options-cb: implement parse_opt_passthru()
      parse-options-cb: implement parse_opt_passthru_argv()
      argv-array: implement argv_array_pushv()
      pull: implement skeletal builtin pull
      pull: implement fetch + merge
      pull: pass verbosity, --progress flags to fetch and merge
      pull: pass git-merge's options to git-merge
      pull: pass git-fetch's options to git-fetch
      pull: error on no merge candidates
      pull: support pull.ff config
      pull: check if in unresolved merge state
      pull: fast-forward working tree if head is updated
      pull: implement pulling into an unborn branch
      pull: set reflog message
      pull: teach git pull about --rebase
      pull: configure --rebase via branch.<name>.rebase or pull.rebase
      pull --rebase: exit early when the working directory is dirty
      pull --rebase: error on no merge candidate cases
      pull: remove redirection to git-pull.sh
      t4150: am.messageid really adds the message id
      t4150: am fails if index is dirty
      t4151: am --abort will keep dirty index intact
      t4150: am refuses patches when paused
      t4150: am --resolved fails if index has no changes
      t4150: am --resolved fails if index has unmerged entries
      t4150: am with applypatch-msg hook
      t4150: am with pre-applypatch hook
      t4150: am with post-applypatch hook
      t4150: tests for am --[no-]scissors
      t3418: non-interactive rebase --continue with rerere enabled
      t3901: test git-am encoding conversion
      wrapper: implement xopen()
      wrapper: implement xfopen()
      builtin-am: implement skeletal builtin am
      builtin-am: implement patch queue mechanism
      builtin-am: split out mbox/maildir patches with git-mailsplit
      builtin-am: auto-detect mbox patches
      builtin-am: extract patch and commit info with git-mailinfo
      builtin-am: apply patch with git-apply
      builtin-am: implement committing applied patch
      builtin-am: refuse to apply patches if index is dirty
      builtin-am: implement --resolved/--continue
      builtin-am: don't parse mail when resuming
      builtin-am: implement --skip
      builtin-am: implement --abort
      builtin-am: reject patches when there's a session in progress
      builtin-am: implement -q/--quiet
      builtin-am: exit with user friendly message on failure
      builtin-am: implement -s/--signoff
      cache-tree: introduce write_index_as_tree()
      builtin-am: implement --3way
      builtin-am: implement --rebasing mode
      builtin-am: bypass git-mailinfo when --rebasing
      builtin-am: handle stray state directory
      builtin-am: implement -u/--utf8
      builtin-am: implement -k/--keep, --keep-non-patch
      builtin-am: implement --[no-]message-id, am.messageid
      builtin-am: support --keep-cr, am.keepcr
      builtin-am: implement --[no-]scissors
      builtin-am: pass git-apply's options to git-apply
      builtin-am: implement --ignore-date
      builtin-am: implement --committer-date-is-author-date
      builtin-am: implement -S/--gpg-sign, commit.gpgsign
      builtin-am: invoke post-rewrite hook
      builtin-am: support automatic notes copying
      builtin-am: invoke applypatch-msg hook
      builtin-am: invoke pre-applypatch hook
      builtin-am: invoke post-applypatch hook
      builtin-am: rerere support
      builtin-am: support and auto-detect StGit patches
      builtin-am: support and auto-detect StGit series files
      builtin-am: support and auto-detect mercurial patches
      builtin-am: implement -i/--interactive
      builtin-am: implement legacy -b/--binary option
      builtin-am: check for valid committer ident
      builtin-am: remove redirection to git-am.sh
      test_terminal: redirect child process' stdin to a pty
      am: let command-line options override saved options
      am: let --signoff override --no-signoff
      am --skip/--abort: merge HEAD/ORIG_HEAD tree into index

Ralf Thielow (1):
      lockfile: remove function "hold_lock_file_for_append"

Remi Lespinet (11):
      t9001-send-email: move script creation in a setup test
      send-email: allow aliases in patch header and command script outputs
      t9001-send-email: refactor header variable fields replacement
      send-email: refactor address list process
      send-email: allow use of aliases in the From field of --compose mode
      send-email: minor code refactoring
      send-email: reduce dependencies impact on parse_address_line
      send-email: consider quote as delimiter instead of character
      send-email: allow multiple emails using --cc, --to and --bcc
      send-email: suppress meaningless whitespaces in from field
      git-am: add am.threeWay config variable

SZEDER Gábor (6):
      bash prompt: test untracked files status indicator with untracked dirs
      bash prompt: faster untracked status indicator with untracked directories
      config: add '--name-only' option to list only variable names
      completion: list variable names reliably with 'git config --name-only'
      config: restructure format_config() for better control flow
      describe --contains: default to HEAD when no commit-ish is given

Stefan Beller (1):
      read-cache: fix indentation in read_index_from

Thomas Braun (1):
      completion: offer '--edit-todo' during interactive rebase

Zoë Blade (1):
      userdiff: add support for Fountain documents

brian m. carlson (7):
      verify-tag: add tests
      verify-tag: share code with verify-commit
      verify-commit: add test for exit status on untrusted signature
      gpg: centralize signature check
      gpg: centralize printing signature buffers
      verify-commit: add option to print raw gpg status information
      verify-tag: add option to print raw gpg status information


Version v2.5.6; changes since v2.5.5:
-------------------------------------

Jeff King (1):
      shell: disallow repo names beginning with dash

Junio C Hamano (2):
      Git 2.4.12
      Git 2.5.6


Version v2.5.5; changes since v2.5.4:
-------------------------------------

Jeff King (7):
      add helpers for detecting size_t overflow
      tree-diff: catch integer overflow in combine_diff_path allocation
      http-push: stop using name_path
      show_object_with_name: simplify by using path_name()
      list-objects: convert name_path to a strbuf
      list-objects: drop name_path entirely
      list-objects: pass full pathname to callbacks

Junio C Hamano (2):
      Git 2.4.11
      Git 2.5.5


Version v2.5.4; changes since v2.5.3:
-------------------------------------

Blake Burkhart (2):
      http: limit redirection to protocol-whitelist
      http: limit redirection depth

Jeff King (6):
      transport: add a protocol-whitelist environment variable
      submodule: allow only certain protocols for submodule fetches
      transport: refactor protocol whitelist code
      react to errors in xdi_diff
      xdiff: reject files larger than ~1GB
      merge-file: enforce MAX_XDIFF_SIZE on incoming files

Junio C Hamano (3):
      Git 2.3.10
      Git 2.4.10
      Git 2.5.4


Version v2.5.3; changes since v2.5.2:
-------------------------------------

Alex Henrie (1):
      git-submodule: remove extraneous space from error message

Brett Randall (1):
      git-svn doc: mention "svn-remote.<name>.include-paths"

David Turner (2):
      untracked-cache: support sparse checkout
      untracked-cache: fix subdirectory handling

Johannes Schindelin (1):
      am --skip/--abort: merge HEAD/ORIG_HEAD tree into index

Junio C Hamano (1):
      Git 2.5.3

Nguyễn Thái Ngọc Duy (2):
      t7063: use --force-untracked-cache to speed up a bit
      untracked cache: fix entry invalidation


Version v2.5.2; changes since v2.5.1:
-------------------------------------

Andreas Schwab (1):
      Documentation/config: fix inconsistent label on gc.*.reflogExpireUnreachable

Christian Couder (3):
      trailer: ignore first line of message
      trailer: retitle a test and correct an in-comment message
      trailer: support multiline title

Clemens Buchacher (1):
      git_open_noatime: return with errno=0 on success

David Turner (1):
      commit: don't rewrite shared index unnecessarily

Eric Sunshine (1):
      generate-cmdlist: re-implement as shell script

Erik Elfström (1):
      t7300: fix broken && chains

Jeff King (9):
      vreportf: report to arbitrary filehandles
      vreportf: avoid intermediate buffer
      config: silence warnings for command names with invalid keys
      rev-list: make it obvious that we do not support notes
      log: diagnose empty HEAD more clearly
      verify_absent: allow filenames longer than PATH_MAX
      notes: use a strbuf in add_non_note
      read_info_alternates: handle paths larger than PATH_MAX
      show-branch: use a strbuf for reflog descriptions

Jim Hill (1):
      strbuf_read(): skip unnecessary strbuf_grow() at eof

Johannes Sixt (1):
      t2019: skip test requiring '*' in a file name non Windows

Junio C Hamano (5):
      ps_matched: xcalloc() takes nmemb and then element size
      Git 2.2.3
      Git 2.3.9
      Git 2.4.9
      Git 2.5.2

Michael Haggerty (4):
      get_remote_group(): handle remotes with single-character names
      get_remote_group(): rename local variable "space" to "wordlen"
      get_remote_group(): eliminate superfluous call to strcspn()
      get_remote_group(): use skip_prefix()

Nguyễn Thái Ngọc Duy (1):
      setup: update the right file in multiple checkouts

Patrick Steinhardt (2):
      tests: fix broken && chains in t1509-root-worktree
      tests: fix cleanup after tests in t1509-root-worktree

Philip Oakley (1):
      po/README: Update directions for l10n contributors

René Scharfe (3):
      t5004: test ZIP archives with many entries
      archive-zip: use a local variable to store the creator version
      archive-zip: support more than 65535 entries

SZEDER Gábor (2):
      t3020: fix typo in test description
      wt-status: move #include "pathspec.h" to the header

Sven Strickroth (1):
      config: close config file handle in case of error


Version v2.5.1; changes since v2.5.0:
-------------------------------------

Charles Bailey (1):
      untracked: fix detection of uname(2) failure

David Aguilar (1):
      contrib/subtree: ignore log.date configuration

David Turner (1):
      unpack-trees: don't update files with CE_WT_REMOVE set

Eric Sunshine (5):
      Documentation/git: drop outdated Cogito reference
      Documentation/git-tools: improve discoverability of Git wiki
      Documentation/git-tools: fix item text formatting
      Documentation/git-tools: drop references to defunct tools
      Documentation/git-tools: retire manually-maintained list

Ilya Bobyr (1):
      rev-parse --parseopt: allow [*=?!] in argument hints

Jeff King (4):
      test-lib: turn off "-x" tracing during chain-lint check
      test-lib: disable trace when test is not verbose
      clone: add tests for output directory
      clone: use computed length in guess_dir_name

Jiang Xin (1):
      receive-pack: crash when checking with non-exist HEAD

Jose F. Morales (1):
      Mingw: verify both ends of the pipe () call

Junio C Hamano (5):
      builtin/send-pack.c: respect user.signingkey
      Git 2.4.8
      Start preparing for 2.5.1
      pull: pass upload_pack only when it was given
      Git 2.5.1

Karthik Nayak (1):
      Documentation/tag: remove double occurance of "<pattern>"

Matthieu Moy (1):
      pull.sh: quote $upload_pack when passing it to git-fetch

Mike Hommey (1):
      fast-import: do less work when given "from" matches current branch head

Nguyễn Thái Ngọc Duy (1):
      setup: set env $GIT_WORK_TREE when work tree is set, like $GIT_DIR

Simon A. Eugster (1):
      checkout: document subtlety around --ours/--theirs

Stefan Beller (3):
      parse-options: align curly braces for all options
      add: remove dead code
      transport-helper: die on errors reading refs.

Thomas Ackermann (1):
      typofix for index-format.txt


Version v2.5.0; changes since v2.5.0-rc3:
-----------------------------------------

Junio C Hamano (4):
      Revert "git-am: add am.threeWay config variable"
      RelNotes: am.threeWay does not exist (yet)
      Git 2.4.7
      Git 2.5


Version v2.5.0-rc3; changes since v2.5.0-rc2:
---------------------------------------------

Alex Henrie (2):
      l10n: ca.po: update translation
      l10n: ca.po: update translation

Alexander Shopov (2):
      l10n: Updated Bulgarian translation of git (2355t,0f,0u)
      l10n: Updated Bulgarian translation of git (2359t,0f,0u)

Dimitriy Ryazantcev (1):
      l10n: ru.po: update Russian translation

Eric Sunshine (2):
      Documentation/git-worktree: fix stale "git checkout --to" references
      Documentation/git: fix stale "MULTIPLE CHECKOUT MODE" reference

Jean-Noël Avila (2):
      l10n: fr.po v2.5.0-rc0 (2355t)
      l10n: fr v2.5.0 round 2 (2359t)

Jiang Xin (4):
      l10n: git.pot: v2.5.0 round 1 (65 new, 15 removed)
      l10n: zh_CN: for git v2.5.0 l10n round 1
      l10n: git.pot: v2.5.0 round 2 (9 new, 5 removed)
      l10n: zh_CN: for git v2.5.0 l10n round 2

Junio C Hamano (3):
      Git 2.4.6
      worktree: caution that this is still experimental
      Git 2.5.0-rc3

Peter Krefting (2):
      l10n: sv.po: Update Swedish translation (2355t0f0u)
      l10n: sv.po: Update Swedish translation (2359t0f0u)

Ralf Thielow (4):
      l10n: de.po: fix translation of "head nodes"
      l10n: de.po: translate "index" as "Index"
      l10n: de.po: translate 65 new messages
      l10n: de.po: translate 9 new messages

René Scharfe (1):
      diff: parse ws-error-highlight option more strictly

Stefan Beller (1):
      revision.c: remove unneeded check for NULL

Tony Finch (1):
      gitweb: fix typo in man page

Trần Ngọc Quân (2):
      l10n: Updated Vietnamese translation (2355t)
      l10n: Updated Vietnamese translation (2359t)


Version v2.5.0-rc2; changes since v2.5.0-rc1:
---------------------------------------------

Charles Bailey (3):
      contrib/subtree: use tabs consitently for indentation in tests
      contrib/subtree: fix broken &&-chains and revealed test error
      contrib/subtree: small tidy-up to test

Clemens Buchacher (1):
      rebase: return non-zero error code if format-patch fails

Enrique Tobis (1):
      http: always use any proxy auth method available

Eric Sunshine (23):
      Documentation/git-checkout: fix incorrect worktree prune command
      Documentation/git-worktree: associate options with commands
      Documentation: move linked worktree description from checkout to worktree
      Documentation/git-worktree: add BUGS section
      Documentation/git-worktree: split technical info from general description
      Documentation/git-worktree: add high-level 'lock' overview
      Documentation/git-worktree: add EXAMPLES section
      checkout: fix bug with --to and relative HEAD
      checkout: relocate --to's "no branch specified" check
      checkout: prepare_linked_checkout: drop now-unused 'new' argument
      checkout: make --to unconditionally verbose
      checkout: drop 'checkout_opts' dependency from prepare_linked_checkout
      worktree: introduce "add" command
      worktree: add --force option
      worktree: add --detach option
      worktree: add -b/-B options
      tests: worktree: retrofit "checkout --to" tests for "worktree add"
      checkout: retire --to option
      checkout: require worktree unconditionally
      worktree: extract basename computation to new function
      worktree: add: make -b/-B default to HEAD when <branch> is omitted
      worktree: add: auto-vivify new branch when <branch> is omitted
      checkout: retire --ignore-other-worktrees in favor of --force

Jeff King (4):
      docs: clarify that --encoding can produce invalid sequences
      for_each_packed_object: automatically open pack index
      rev-list: disable --use-bitmap-index when pruning commits
      check_and_freshen_file: fix reversed success-check

Johannes Schindelin (2):
      t3404: demonstrate CHERRY_PICK_HEAD bug
      rebase -i: do not leave a CHERRY_PICK_HEAD file behind

Junio C Hamano (6):
      fsck: it is OK for a tag and a commit to lack the body
      pager: do not leak "GIT_PAGER_IN_USE" to the pager
      index-pack: fix allocation of sorted_by_pos array
      The last minute bits of fixes
      Revert "checkout: retire --ignore-other-worktrees in favor of --force"
      Git 2.5.0-rc2

Karsten Blees (2):
      config.c: fix writing config files on Windows network shares
      Makefile / racy-git.txt: clarify USE_NSEC prerequisites

Lawrence Siebert (1):
      rev-list: add --count to usage guide

Matthieu Moy (3):
      git-multimail: update to release 1.1.1
      Documentation/branch: document -d --force and -m --force
      Documentation/branch: document -M and -D in terms of --force

Michael Haggerty (1):
      strbuf: strbuf_read_file() should return ssize_t

Nguyễn Thái Ngọc Duy (3):
      checkout: don't check worktrees when not necessary
      worktree: new place for "git prune --worktrees"
      Add tests for wildcard "path vs ref" disambiguation

Richard Hansen (2):
      Revert "test-lib.sh: do tests for color support after changing HOME"
      test-lib.sh: fix color support when tput needs ~/.terminfo

Sebastian Schuberth (1):
      clone: simplify string handling in guess_dir_name()

Stefan Beller (1):
      p5310: Fix broken && chain in performance test

Torsten Bögershausen (1):
      git-checkout.txt: document "git checkout <pathspec>" better


Version v2.5.0-rc1; changes since v2.5.0-rc0:
---------------------------------------------

Joe Cridge (1):
      git-prompt.sh: document GIT_PS1_STATESEPARATOR

Junio C Hamano (1):
      Git 2.5.0-rc1

Matthieu Moy (1):
      Documentation/describe: improve one-line summary

Michael J Gruber (1):
      mergetool-lib: fix default tool selection

Mike Edgar (1):
      fetch-pack: check for shallow if depth given


Version v2.5.0-rc0; changes since v2.4.12:
------------------------------------------

Allen Hubbe (1):
      send-email: add sendmail email aliases format

Blair Holloway (1):
      git-p4: fix filetype detection on files opened exclusively

Christian Neukirchen (1):
      cvsimport: silence regex warning appearing in Perl 5.22.

Danny Lin (2):
      contrib/subtree: there's no push --squash
      contrib/subtree: portability fix for string printing

David Aguilar (2):
      mergetool--lib: set IFS for difftool and mergetool
      mergetools: add winmerge as a builtin tool

David Turner (3):
      tree-walk: learn get_tree_entry_follow_symlinks
      sha1_name: get_sha1_with_context learns to follow symlinks
      cat-file: add --follow-symlinks to --batch

Dennis Kaarsemaker (1):
      checkout: don't require a work tree when checking out into a new one

Eric Sunshine (14):
      command-list: prepare machinery for upcoming "common groups" section
      generate-cmdlist: parse common group commands
      send-email: further document missing sendmail aliases functionality
      send-email: visually distinguish sendmail aliases parser warnings
      send-email: drop noise comments which merely repeat what code says
      send-email: fix style: cuddle 'elsif' and 'else' with closing brace
      send-email: refactor sendmail aliases parser
      send-email: simplify sendmail aliases comment and blank line recognizer
      send-email: implement sendmail aliases line continuation support
      t9001: refactor sendmail aliases test infrastructure
      t9001: add sendmail aliases line continuation tests
      send-email: further warn about unsupported sendmail aliases features
      config.mak.uname: Darwin: define HAVE_GETDELIM for modern OS X releases
      configure: add getdelim() check

Fredrik Medley (3):
      config.txt: clarify allowTipSHA1InWant with camelCase
      upload-pack: prepare to extend allow-tip-sha1-in-want
      upload-pack: optionally allow fetching reachable sha1

Jeff King (29):
      strbuf_getwholeline: use getc macro
      git-compat-util: add fallbacks for unlocked stdio
      strbuf_getwholeline: use getc_unlocked
      config: use getc_unlocked when reading from file
      strbuf_addch: avoid calling strbuf_grow
      strbuf_getwholeline: avoid calling strbuf_grow
      strbuf_getwholeline: use getdelim if it is available
      read_packed_refs: avoid double-checking sane refs
      t1430: add another refs-escape test
      test-lib: turn on GIT_TEST_CHAIN_LINT by default
      remote.c: drop default_remote_name variable
      progress: treat "no terminal" as being in the foreground
      remote.c: refactor setup of branch->merge list
      remote.c: drop "remote" pointer from "struct branch"
      remote.c: hoist branch.*.remote lookup out of remote_get_1
      remote.c: provide per-branch pushremote name
      remote.c: hoist read_config into remote_get_1
      remote.c: introduce branch_get_upstream helper
      remote.c: report specific errors from branch_get_upstream
      remote.c: untangle error logic in branch_get_upstream
      remote.c: return upstream name from stat_tracking_info
      remote.c: add branch_get_push
      sha1_name: refactor upstream_mark
      sha1_name: refactor interpret_upstream_mark
      sha1_name: implement @{push} shorthand
      for-each-ref: use skip_prefix instead of starts_with
      for-each-ref: accept "%(push)" format
      t7063: hide stderr from setup inside prereq
      index-pack: fix truncation of off_t in comparison

Johannes Sixt (5):
      compat/mingw: stubs for getpgid() and tcgetpgrp()
      lockfile: replace random() by rand()
      help.c: wrap wait-only poll() invocation in sleep_millisec()
      lockfile: convert retry timeout computations to millisecond
      lockfile: wait using sleep_millisec() instead of select()

Jonathan Nieder (1):
      config: use error() instead of fprintf(stderr, ...)

Junio C Hamano (38):
      t2026: fix broken &&-chain
      test: validate prerequistes syntax
      merge: test the top-level merge driver
      merge: simplify code flow
      t5520: style fixes
      t5520: test pulling an octopus into an unborn branch
      merge: clarify "pulling into void" special case
      merge: do not check argc to determine number of remote heads
      merge: small leakfix and code simplification
      merge: clarify collect_parents() logic
      merge: split reduce_parents() out of collect_parents()
      merge: narrow scope of merge_names
      merge: extract prepare_merge_message() logic out
      merge: make collect_parents() auto-generate the merge message
      merge: decide if we auto-generate the message early in collect_parents()
      merge: handle FETCH_HEAD internally
      merge: deprecate 'git merge <message> HEAD <commit>' syntax
      First batch for 2.5 cycle
      Second batch for 2.5 cycle
      Third batch for 2.5 cycle
      copy.c: make copy_fd() report its status silently
      filter_buffer_or_fd(): ignore EPIPE
      Fourth batch for 2.5 cycle
      t4015: modernise style
      t4015: separate common setup and per-test expectation
      Fifth batch for 2.5 cycle
      diff.c: add emit_del_line() and emit_context_line()
      diff.c: --ws-error-highlight=<kind> option
      t9001: write $HOME/, not ~/, to help shells without tilde expansion
      apply: reject a hunk that does not do anything
      Sixth batch for 2.5 cycle
      ll-merge: pass the original path to external drivers
      The first half of the seventh batch for 2.5
      Second half of seventh batch
      Eighth batch for 2.5
      Revert "diff-lib.c: adjust position of i-t-a entries in diff"
      Ninth batch for 2.5
      Git 2.5.0-rc0

Karthik Nayak (4):
      sha1_file: support reading from a loose object of unknown type
      cat-file: make the options mutually exclusive
      cat-file: teach cat-file a '--allow-unknown-type' option
      t1006: add tests for git cat-file --allow-unknown-type

Lars Kellogg-Stedman (1):
      http: add support for specifying an SSL cipher list

Lex Spoon (1):
      git-p4: use -m when running p4 changes

Luke Diamand (11):
      git-p4: fix small bug in locked test scripts
      git-p4: small fix for locked-file-move-test
      git-p4: t9814: prevent --chain-lint failure
      git-p4: add failing tests for case-folding p4d
      git-p4: add failing test for P4EDITOR handling
      git-p4: fix handling of multi-word P4EDITOR
      git-p4: tests: use test-chmtime in place of touch
      git-p4: additional testing of --changes-block-size
      git-p4: test with limited p4 server results
      git-p4: add tests for non-numeric revision range
      git-p4: fixing --changes-block-size handling

Luke Mewburn (1):
      progress: no progress in background

Matthieu Moy (6):
      t3701-add-interactive: simplify code
      add -p: demonstrate failure when running 'edit' after a split
      t3904-stash-patch: fix test description
      t3904-stash-patch: factor PERL prereq at the top of the file
      stash -p: demonstrate failure of split with mixed y/n
      git-multimail: update to release 1.1.0

Max Kirillov (3):
      checkout: do not fail if target is an empty directory
      git-common-dir: make "modules/" per-working-directory directory
      prune --worktrees: fix expire vs worktree existence condition

Michael Haggerty (62):
      lockfile: allow file locking to be retried with a timeout
      lock_packed_refs(): allow retries when acquiring the packed-refs lock
      each_ref_fn: change to take an object_id parameter
      builtin/rev-parse: rewrite to take an object_id argument
      handle_one_ref(): rewrite to take an object_id argument
      register_ref(): rewrite to take an object_id argument
      append_ref(): rewrite to take an object_id argument
      add_pending_uninteresting_ref(): rewrite to take an object_id argument
      get_name(): rewrite to take an object_id argument
      builtin/fetch: rewrite to take an object_id argument
      grab_single_ref(): rewrite to take an object_id argument
      name_ref(): rewrite to take an object_id argument
      builtin/pack-objects: rewrite to take an object_id argument
      show_ref_cb(): rewrite to take an object_id argument
      builtin/reflog: rewrite ref functions to take an object_id argument
      add_branch_for_removal(): rewrite to take an object_id argument
      add_branch_for_removal(): don't set "util" field of string_list entries
      builtin/remote: rewrite functions to take object_id arguments
      show_reference(): rewrite to take an object_id argument
      append_matching_ref(): rewrite to take an object_id argument
      builtin/show-branch: rewrite functions to take object_id arguments
      append_one_rev(): rewrite to work with object_id
      builtin/show-branch: rewrite functions to work with object_id
      cmd_show_branch(): fix error message
      fsck: change functions to use object_id
      builtin/show-ref: rewrite to use object_id
      show_ref(): convert local variable peeled to object_id
      builtin/show-ref: rewrite to take an object_id argument
      append_similar_ref(): rewrite to take an object_id argument
      http-backend: rewrite to take an object_id argument
      show_head_ref(): convert local variable "unused" to object_id
      add_ref_decoration(): rewrite to take an object_id argument
      add_ref_decoration(): convert local variable original_sha1 to object_id
      string_list_add_one_ref(): rewrite to take an object_id argument
      add_one_ref(): rewrite to take an object_id argument
      remote: rewrite functions to take object_id arguments
      register_replace_ref(): rewrite to take an object_id argument
      handle_one_reflog(): rewrite to take an object_id argument
      add_info_ref(): rewrite to take an object_id argument
      handle_one_ref(): rewrite to take an object_id argument
      shallow: rewrite functions to take object_id arguments
      submodule: rewrite to take an object_id argument
      write_refs_to_temp_dir(): convert local variable sha1 to object_id
      write_one_ref(): rewrite to take an object_id argument
      find_symref(): rewrite to take an object_id argument
      find_symref(): convert local variable "unused" to object_id
      upload-pack: rewrite functions to take object_id arguments
      send_ref(): convert local variable "peeled" to object_id
      mark_complete(): rewrite to take an object_id argument
      clear_marks(): rewrite to take an object_id argument
      mark_complete_oid(): new function, taking an object_oid
      mark_complete(): remove unneeded arguments
      rev_list_insert_ref_oid(): new function, taking an object_oid
      rev_list_insert_ref(): remove unneeded arguments
      each_ref_fn_adapter(): remove adapter
      warn_if_dangling_symref(): convert local variable "junk" to object_id
      struct ref_lock: convert old_sha1 member to object_id
      verify_lock(): return 0/-1 rather than struct ref_lock *
      verify_lock(): on errors, let the caller unlock the lock
      verify_lock(): report errors via a strbuf
      verify_lock(): do not capitalize error messages
      ref_transaction_commit(): do not capitalize error messages

Miguel Torroja (1):
      p4: retrieve the right revision of the file in UTF-16 codepath

Mike Hommey (1):
      show-branch: show all local heads when only giving one rev along --topics

Nguyễn Thái Ngọc Duy (63):
      path.c: make get_pathname() return strbuf instead of static buffer
      path.c: make get_pathname() call sites return const char *
      git_snpath(): retire and replace with strbuf_git_path()
      path.c: rename vsnpath() to do_git_path()
      path.c: group git_path(), git_pathdup() and strbuf_git_path() together
      git_path(): be aware of file relocation in $GIT_DIR
      *.sh: respect $GIT_INDEX_FILE
      reflog: avoid constructing .lock path with git_path
      fast-import: use git_path() for accessing .git dir instead of get_git_dir()
      commit: use SEQ_DIR instead of hardcoding "sequencer"
      $GIT_COMMON_DIR: a new environment variable
      git-sh-setup.sh: use rev-parse --git-path to get $GIT_DIR/objects
      *.sh: avoid hardcoding $GIT_DIR/hooks/...
      git-stash: avoid hardcoding $GIT_DIR/logs/....
      setup.c: convert is_git_directory() to use strbuf
      setup.c: detect $GIT_COMMON_DIR in is_git_directory()
      setup.c: convert check_repository_format_gently to use strbuf
      setup.c: detect $GIT_COMMON_DIR check_repository_format_gently()
      setup.c: support multi-checkout repo setup
      wrapper.c: wrapper to open a file, fprintf then close
      use new wrapper write_file() for simple file writing
      checkout: support checking out into a new working directory
      prune: strategies for linked checkouts
      checkout: reject if the branch is already checked out elsewhere
      checkout: clean up half-prepared directories in --to mode
      gc: style change -- no SP before closing parenthesis
      gc: factor out gc.pruneexpire parsing code
      gc: support prune --worktrees
      count-objects: report unused files in $GIT_DIR/worktrees/...
      git_path(): keep "info/sparse-checkout" per work-tree
      t2025: add a test to make sure grafts is working from a linked checkout
      checkout: pass whole struct to parse_branchname_arg instead of individual flags
      checkout: add --ignore-other-wortrees
      git-checkout.txt: a note about multiple checkout support for submodules
      index-pack: reduce object_entry size to save memory
      dir.c: optionally compute sha-1 of a .gitignore file
      untracked cache: record .gitignore information and dir hierarchy
      untracked cache: initial untracked cache validation
      untracked cache: invalidate dirs recursively if .gitignore changes
      untracked cache: make a wrapper around {open,read,close}dir()
      untracked cache: record/validate dir mtime and reuse cached output
      untracked cache: mark what dirs should be recursed/saved
      untracked cache: don't open non-existent .gitignore
      ewah: add convenient wrapper ewah_serialize_strbuf()
      untracked cache: save to an index extension
      untracked cache: load from UNTR index extension
      untracked cache: invalidate at index addition or removal
      read-cache.c: split racy stat test to a separate function
      untracked cache: avoid racy timestamps
      untracked cache: print stats with $GIT_TRACE_UNTRACKED_STATS
      untracked cache: mark index dirty if untracked cache is updated
      untracked-cache: temporarily disable with $GIT_DISABLE_UNTRACKED_CACHE
      status: enable untracked cache
      update-index: manually enable or disable untracked cache
      update-index: test the system before enabling untracked cache
      t7063: tests for untracked cache
      mingw32: add uname()
      untracked cache: guard and disable on system changes
      git-status.txt: advertisement for untracked cache
      diff-lib.c: adjust position of i-t-a entries in diff
      index-pack: kill union delta_base to save memory
      pathspec: avoid the need of "--" when wildcard is used
      read-cache: fix untracked cache invalidation when split-index is used

Paul Tan (10):
      t5520: prevent field splitting in content comparisons
      t5520: test no merge candidates cases
      t5520: test for failure if index has unresolved entries
      t5520: test work tree fast-forward when fetch updates head
      t5520: test --rebase with multiple branches
      t5520: test --rebase failure on unborn branch with index
      t5521: test --dry-run does not make any changes
      t5520: check reflog action in fast-forward merge
      pull: handle git-fetch's options as well
      pull: use git-rev-parse --parseopt for option parsing

Quentin Neill (1):
      blame: add blame.showEmail configuration

Ramsay Jones (1):
      t7502-commit.sh: fix a broken and-chain

Remi Lespinet (3):
      git-am.sh: fix initialization of the threeway variable
      t4150-am: refactor am -3 tests
      git-am: add am.threeWay config variable

SZEDER Gábor (4):
      completion: remove redundant __git_compute_all_commands() call
      completion: remove credential helpers from porcelain commands
      completion: add a helper function to get config variables
      completion: simplify query for config variables

Stefan Beller (2):
      prefix_path(): unconditionally free results in the callers
      refs.c: remove lock_fd from struct ref_lock

Sébastien Guimmara (4):
      command-list.txt: fix whitespace inconsistency
      command-list.txt: add the common groups block
      command-list.txt: drop the "common" tag
      help: respect new common command grouping

Thomas Braun (1):
      completion: suggest sequencer commands for revert

Thomas Gummerer (1):
      t1501: fix test with split index

Thomas Schneider (1):
      checkout: call a single commit "it" intead of "them"

Torsten Bögershausen (4):
      t2026 needs procondition SANITY
      t0027: cleanup: rename functions; avoid non-leading TABs
      t0027: support NATIVE_CRLF platforms
      t0027: Add repoMIX and LF_nul

Vitor Antunes (2):
      t9801: check git-p4's branch detection with client spec enabled
      git-p4: improve client path detection when branches are used

brian m. carlson (11):
      define a structure for object IDs
      define utility functions for object IDs
      bisect.c: convert leaf functions to use struct object_id
      archive.c: convert to use struct object_id
      zip: use GIT_SHA1_HEXSZ for trailers
      bulk-checkin.c: convert to use struct object_id
      diff: convert struct combine_diff_path to object_id
      commit: convert parts to struct object_id
      patch-id: convert to use struct object_id
      apply: convert threeway_stage to object_id
      refs: convert struct ref_entry to use struct object_id


Version v2.4.12; changes since v2.4.11:
---------------------------------------

Jeff King (1):
      shell: disallow repo names beginning with dash

Junio C Hamano (1):
      Git 2.4.12


Version v2.4.11; changes since v2.4.10:
---------------------------------------

Jeff King (7):
      add helpers for detecting size_t overflow
      tree-diff: catch integer overflow in combine_diff_path allocation
      http-push: stop using name_path
      show_object_with_name: simplify by using path_name()
      list-objects: convert name_path to a strbuf
      list-objects: drop name_path entirely
      list-objects: pass full pathname to callbacks

Junio C Hamano (1):
      Git 2.4.11


Version v2.4.10; changes since v2.4.9:
--------------------------------------

Blake Burkhart (2):
      http: limit redirection to protocol-whitelist
      http: limit redirection depth

Jeff King (6):
      transport: add a protocol-whitelist environment variable
      submodule: allow only certain protocols for submodule fetches
      transport: refactor protocol whitelist code
      react to errors in xdi_diff
      xdiff: reject files larger than ~1GB
      merge-file: enforce MAX_XDIFF_SIZE on incoming files

Junio C Hamano (2):
      Git 2.3.10
      Git 2.4.10


Version v2.4.9; changes since v2.4.8:
-------------------------------------

Jeff King (4):
      verify_absent: allow filenames longer than PATH_MAX
      notes: use a strbuf in add_non_note
      read_info_alternates: handle paths larger than PATH_MAX
      show-branch: use a strbuf for reflog descriptions

Junio C Hamano (3):
      Git 2.2.3
      Git 2.3.9
      Git 2.4.9


Version v2.4.8; changes since v2.4.7:
-------------------------------------

Johannes Schindelin (2):
      t3404: demonstrate CHERRY_PICK_HEAD bug
      rebase -i: do not leave a CHERRY_PICK_HEAD file behind

Junio C Hamano (1):
      Git 2.4.8

Michael Haggerty (4):
      t6301: new tests of for-each-ref error handling
      for-each-ref: report broken references correctly
      read_loose_refs(): simplify function logic
      read_loose_refs(): treat NULL_SHA1 loose references as broken

Paul Tan (6):
      am --skip: revert changes introduced by failed 3way merge
      am -3: support 3way merge on unborn branch
      am --skip: support skipping while on unborn branch
      am --abort: revert changes introduced by failed 3way merge
      am --abort: support aborting to unborn branch
      am --abort: keep unrelated commits on unborn branch

SZEDER Gábor (2):
      completion: teach 'scissors' mode to 'git commit --cleanup='
      commit: cope with scissors lines in commit message

Sebastian Schuberth (1):
      clone: simplify string handling in guess_dir_name()


Version v2.4.7; changes since v2.4.6:
-------------------------------------

Clemens Buchacher (1):
      rebase: return non-zero error code if format-patch fails

Enrique Tobis (1):
      http: always use any proxy auth method available

Jeff King (4):
      index-pack: avoid excessive re-reading of pack directory
      docs: clarify that --encoding can produce invalid sequences
      rev-list: disable --use-bitmap-index when pruning commits
      check_and_freshen_file: fix reversed success-check

Junio C Hamano (3):
      fsck: it is OK for a tag and a commit to lack the body
      pager: do not leak "GIT_PAGER_IN_USE" to the pager
      Git 2.4.7

Karsten Blees (1):
      config.c: fix writing config files on Windows network shares

Lawrence Siebert (1):
      rev-list: add --count to usage guide

Matthieu Moy (2):
      Documentation/branch: document -d --force and -m --force
      Documentation/branch: document -M and -D in terms of --force

Michael Haggerty (1):
      strbuf: strbuf_read_file() should return ssize_t

Richard Hansen (2):
      Revert "test-lib.sh: do tests for color support after changing HOME"
      test-lib.sh: fix color support when tput needs ~/.terminfo

Torsten Bögershausen (1):
      git-checkout.txt: document "git checkout <pathspec>" better


Version v2.4.6; changes since v2.4.5:
-------------------------------------

Ariel Faigon (1):
      git-completion.tcsh: fix redirect with noclobber

Charles Bailey (1):
      Fix definition of ARRAY_SIZE for non-gcc builds

Eric Sunshine (2):
      ewah/bitmap: silence warning about MASK macro redefinition
      utf8: NO_ICONV: silence uninitialized variable warning

Frans Klaver (1):
      doc: format-patch: fix typo

Jeff King (2):
      ewah: use less generic macro name
      Revert "stash: require a clean index to apply"

Joe Cridge (1):
      git-prompt.sh: document GIT_PS1_STATESEPARATOR

Junio C Hamano (2):
      format-patch: do not feed tags to clear_commit_marks()
      Git 2.4.6

Matthieu Moy (1):
      Documentation/describe: improve one-line summary

Michael Haggerty (2):
      fsck_handle_reflog_sha1(): new function
      fsck: report errors if reflog entries point at invalid objects

Mike Edgar (1):
      fetch-pack: check for shallow if depth given

Panagiotis Astithas (1):
      hooks/pre-auto-gc: adjust power checking for newer OS X

Paul Tan (1):
      t0302: "unreadable" test needs SANITY prereq


Version v2.4.5; changes since v2.4.4:
-------------------------------------

Jeff King (13):
      diff: accept color.diff.context as a synonym for "plain"
      diff.h: rename DIFF_PLAIN color slot to DIFF_CONTEXT
      read-cache.c: drop PROT_WRITE from mmap of index
      config.c: fix mmap leak when writing config
      config.c: avoid xmmap error messages
      config.c: rewrite ENODEV into EISDIR when mmap fails
      Makefile: drop dependency between git-instaweb and gitweb
      Makefile: avoid timestamp updates to GIT-BUILD-OPTIONS
      Makefile: silence perl/PM.stamp recipe
      setup_git_directory: delay core.bare/core.worktree errors
      add quieter versions of parse_{tree,commit}
      silence broken link warnings with revs->ignore_missing_links
      suppress errors on missing UNINTERESTING links

Junio C Hamano (3):
      t5407: use <<- to align the expected output
      xmmap(): drop "Out of memory?"
      Git 2.4.5

Matthieu Moy (2):
      rebase -i: demonstrate incorrect behavior of post-rewrite
      rebase -i: fix post-rewrite hook with failed exec command

Paul Tan (1):
      pull: remove --tags error in no merge candidates case

SZEDER Gábor (1):
      Documentation: include 'merge.branchdesc' for merge and config as well

Stefan Beller (1):
      Documentation/technical/pack-protocol: mention http as possible protocol


Version v2.4.4; changes since v2.4.3:
-------------------------------------

Alex Henrie (1):
      blame, log: format usage strings similarly to those in documentation

David Turner (1):
      clean: only lstat files in pathspec

Elia Pinto (1):
      git-compat-util.h: implement a different ARRAY_SIZE macro for for safely deriving the size of array

Jeff King (8):
      http-backend: fix die recursion with custom handler
      t5551: factor out tag creation
      stash: complain about unknown flags
      stash: recognize "--help" for subcommands
      test_bitmap_walk: free bitmap with bitmap_free
      http-backend: spool ref negotiation requests to buffer
      clone: use OPT_STRING_LIST for --reference
      clone: reorder --dissociate and --reference options

Jim Hill (1):
      sha1_file: pass empty buffer to index empty file

Junio C Hamano (1):
      Git 2.4.4

Matthieu Moy (2):
      Documentation/log: clarify what --raw means
      Documentation/log: clarify sha1 non-abbreviation in log --raw

Michael Coleman (1):
      Documentation/git-commit: grammofix

Michael J Gruber (3):
      l10n: de.po: grammar fix
      l10n: de.po: punctuation fixes
      l10n: de.po: translation fix for fall-back to 3way merge

Phillip Sz (1):
      l10n: de.po: change error message from "sagen" to "Meinten Sie"

René Scharfe (3):
      use file_exists() to check if a file exists in the worktree
      clean: remove unused variable buf
      dir: remove unused variable sb

Stefan Beller (2):
      submodule doc: reorder introductory paragraphs
      glossary: add "remote", "submodule", "superproject"


Version v2.4.3; changes since v2.4.2:
-------------------------------------

Danny Lin (1):
      branch: do not call a "remote-tracking branch" a "remote branch"

Fredrik Gustafsson (1):
      Documentation: clarify how "git commit" cleans up the edited log message

Jean-Noël Avila (1):
      doc: fix unmatched code fences

Jeff King (14):
      sha1_file: squelch "packfile cannot be accessed" warnings
      t/lib-httpd.sh: skip tests if NO_CURL is defined
      add: check return value of launch_editor
      doc: fix unmatched code fences in git-stripspace
      doc: fix misrendering due to `single quote'
      doc: fix unquoted use of "{type}"
      doc: fix hanging "+"-continuation
      doc: fix length of underlined section-title
      doc/add: reformat `--edit` option
      doc: convert \--option to --option
      doc: drop backslash quoting of some curly braces
      doc: put example URLs and emails inside literal backticks
      doc: convert AsciiDoc {?foo} to ifdef::foo[]
      rerere: exit silently on "forget" when rerere is disabled

Junio C Hamano (7):
      t0302: "unreadable" test needs POSIXPERM
      fmt-merge-msg: plug small leak of commit buffer
      ignore: info/exclude should trump core.excludesfile
      tests: skip dav http-push tests under NO_EXPAT=NoThanks
      log: decorate HEAD with branch name under --decorate=full, too
      log: do not shorten decoration names too early
      Git 2.4.3

Michael Haggerty (30):
      t1404: new tests of ref D/F conflicts within transactions
      is_refname_available(): revamp the comments
      is_refname_available(): avoid shadowing "dir" variable
      is_refname_available(): convert local variable "dirname" to strbuf
      entry_matches(): inline function
      report_refname_conflict(): inline function
      struct nonmatching_ref_data: store a refname instead of a ref_entry
      is_refname_available(): use dirname in first loop
      ref_transaction_commit(): use a string_list for detecting duplicates
      refs: check for D/F conflicts among refs created in a transaction
      verify_refname_available(): rename function
      verify_refname_available(): report errors via a "struct strbuf *err"
      lock_ref_sha1_basic(): report errors via a "struct strbuf *err"
      lock_ref_sha1_basic(): improve diagnostics for ref D/F conflicts
      rename_ref(): integrate lock_ref_sha1_basic() errors into ours
      ref_transaction_commit(): provide better error messages
      ref_transaction_commit(): delete extra "the" from error message
      reflog_expire(): integrate lock_ref_sha1_basic() errors into ours
      write_ref_to_lockfile(): new function, extracted from write_ref_sha1()
      commit_ref_update(): new function, extracted from write_ref_sha1()
      rename_ref(): inline calls to write_ref_sha1() from this function
      ref_transaction_commit(): inline call to write_ref_sha1()
      ref_transaction_commit(): remove the local flags variable
      ref_transaction_commit(): fix atomicity and avoid fd exhaustion
      write_ref_to_lockfile(): new function, extracted from write_ref_sha1()
      commit_ref_update(): new function, extracted from write_ref_sha1()
      rename_ref(): inline calls to write_ref_sha1() from this function
      ref_transaction_commit(): inline call to write_ref_sha1()
      ref_transaction_commit(): remove the local flags variable
      ref_transaction_commit(): fix atomicity and avoid fd exhaustion

Mike Hommey (1):
      clone: call transport_set_verbosity before anything else on the newly created transport

Patrick Steinhardt (5):
      bundle: verify arguments more strictly
      git-verify-pack.txt: fix inconsistent spelling of "packfile"
      git-unpack-objects.txt: fix inconsistent spelling of "packfile"
      pack-protocol.txt: fix insconsistent spelling of "packfile"
      doc: fix inconsistent spelling of "packfile"

Paul Tan (13):
      git-credential-store: support multiple credential files
      git-credential-store: support XDG_CONFIG_HOME
      t0302: test credential-store support for XDG_CONFIG_HOME
      path.c: implement xdg_config_home()
      attr.c: replace home_config_paths() with xdg_config_home()
      dir.c: replace home_config_paths() with xdg_config_home()
      credential-store.c: replace home_config_paths() with xdg_config_home()
      git-commit: replace use of home_config_paths()
      git-config: replace use of home_config_paths()
      path.c: remove home_config_paths()
      pull: handle --log=<n>
      pull: make pull.ff=true override merge.ff
      pull: parse pull.ff as a bool or string

Phil Hord (1):
      rebase -i: redo tasks that die during cherry-pick

René Scharfe (1):
      pack-bitmaps: plug memory leak, fix allocation size for recent_bitmaps

Stefan Beller (5):
      update-ref: test handling large transactions properly
      t7004: rename ULIMIT test prerequisite to ULIMIT_STACK_SIZE
      update-ref: test handling large transactions properly
      t7004: rename ULIMIT test prerequisite to ULIMIT_STACK_SIZE
      subdirectory tests: code cleanup, uncomment test

Torsten Bögershausen (1):
      blame: CRLF in the working tree and LF in the repo

brian m. carlson (3):
      connect: simplify SSH connection code path
      t5601: fix quotation error leading to skipped tests
      connect: improve check for plink to reduce false positives


Version v2.4.2; changes since v2.4.1:
-------------------------------------

Eric Sunshine (3):
      git-hash-object.txt: document --literally option
      hash-object --literally: fix buffer overrun with extra-long object type
      t1007: add hash-object --literally tests

Jeff King (7):
      limit_list: avoid quadratic behavior from still_interesting
      t3903: stop hard-coding commit sha1s
      t3903: avoid applying onto dirty index
      stash: require a clean index to apply
      stop putting argv[0] dirname at front of PATH
      rebase: silence "git checkout" for noop rebase
      filter-branch: avoid passing commit message through sed

Junio C Hamano (3):
      write_sha1_file(): do not use a separate sha1[] array
      daemon: unbreak NO_IPV6 build regression
      Git 2.4.2

SZEDER Gábor (1):
      completion: fix and update 'git log --decorate=' options


Version v2.4.1; changes since v2.4.0:
-------------------------------------

Carlos Martín Nieto (1):
      dir: allow a BOM at the beginning of exclude files

Elia Pinto (1):
      test-lib-functions.sh: fix the second argument to some helper functions

Jeff King (5):
      init: don't set core.worktree when initializing /.git
      type_from_string_gently: make sure length matches
      reachable: only mark local objects as recent
      sha1_file: freshen pack objects before loose
      sha1_file: only freshen packs once per run

Junio C Hamano (10):
      diff-no-index: DWIM "diff D F" into "diff D/F F"
      diff-no-index: align D/F handling with that of normal Git
      parse_date_basic(): return early when given a bogus timestamp
      parse_date_basic(): let the system handle DST conversion
      add_excludes_from_file: clarify the bom skipping logic
      utf8-bom: introduce skip_utf8_bom() helper
      config: use utf8_bom[] from utf.[ch] in git_parse_source()
      attr: skip UTF8 BOM at the beginning of the input file
      Git 2.3.8
      Git 2.4.1

Matthieu Moy (2):
      Documentation: change -L:<regex> to -L:<funcname>
      log -L: improve error message on malformed argument

Nguyễn Thái Ngọc Duy (1):
      t1509: update prepare script to be able to run t1509 in chroot again

Ossi Herrala (1):
      config: fix settings in default_user_config template

Stefan Beller (2):
      line-log.c: fix a memleak
      pack-bitmap.c: fix a memleak


Version v2.4.0; changes since v2.4.0-rc3:
-----------------------------------------

Junio C Hamano (2):
      Git 2.3.7
      Git 2.4

Michael Haggerty (6):
      git tag: mention versionsort.prereleaseSuffix in manpage
      RelNotes: correct name of versionsort.prereleaseSuffix
      RelNotes: refer to the rebase -i "todo list", not "insn sheet"
      RelNotes: wordsmithing
      status: document the -v/--verbose option
      Update git-multimail to version 1.0.2

Michael J Gruber (1):
      rev-list-options.txt: complete sentence about notes matching


Version v2.4.0-rc3; changes since v2.4.0-rc2:
---------------------------------------------

Alexander Shopov (2):
      git-gui i18n: Updated Bulgarian translation (520t,0f,0u)
      git-gui i18n: Updated Bulgarian translation (547t,0f,0u)

Csaba Kiraly (1):
      git-gui: fix problem with gui.maxfilesdisplayed

David Turner (1):
      git-gui: Make git-gui lib dir configurable at runime

Henri GEIST (1):
      git-gui: Add a 'recursive' checkbox in the clone menu.

Junio C Hamano (6):
      push --signed: tighten what the receiving end can ask to sign
      Revert "merge: pass verbosity flag down to merge-recursive"
      Hopefully the last batch for 2.4
      RelNotes: "merge --quiet" change has been reverted
      Git 2.3.6
      Git 2.4.0-rc3

Kyle J. McKay (1):
      git-gui: reinstate support for Tcl 8.4

Michael Lutz (1):
      git-gui: add configurable tab size to the diff view

Márcio Almada (1):
      completion: fix global bash variable leak on __gitcompappend

Pat Thoyts (3):
      git-gui: align the new recursive checkbox with the radiobuttons.
      git-gui: fix verbose loading when git path contains spaces.
      git-gui: set version 0.20

Patrick Steinhardt (1):
      grep: correctly initialize help-all option

Peter Krefting (1):
      git-gui: sv.po: Update Swedish translation (547t0f0u)

Remi Rampin (2):
      git-gui: Fixes chooser not accepting gitfiles
      git-gui: Makes chooser set 'gitdir' to the resolved path

Sebastian Schuberth (1):
      git-gui/gitk: Do not depend on Cygwin's "kill" command on Windows

Torsten Bögershausen (1):
      connect.c: ignore extra colon after hostname

Trần Ngọc Quân (1):
      L10n: vi.po (543t): Init translation for Vietnamese

Vitor Antunes (3):
      t9814: fix broken shell syntax in git-p4 rename test
      git-p4: fix copy detection test
      t9814: guarantee only one source exists in git-p4 copy tests


Version v2.4.0-rc2; changes since v2.4.0-rc1:
---------------------------------------------

Alex Henrie (2):
      l10n: ca.po: update translation
      l10n: ca.po: update translation

Alexander Shopov (1):
      l10n: Updated Bulgarian translation of git (2305t,0f,0u)

Dimitriy Ryazantcev (3):
      l10n: ru: added Russian translation
      l10n: ru: updated Russian translation
      l10n: ru: updated Russian translation

Ivan Ukhov (1):
      parse-options.h: OPTION_{BIT,SET_INT} do not store pointer to defval

Jean-Noël Avila (2):
      l10n: fr.po v2.4.0-rc0 round 1
      l10n: fr.po v2.4.0 round 2

Jeff King (3):
      cherry-pick: fix docs describing handling of empty commits
      howto: document more tools for recovery corruption
      merge: pass verbosity flag down to merge-recursive

Jiang Xin (5):
      l10n: git.pot: v2.4.0 round 1 (99 new, 92 removed)
      l10n: zh_CN: translations for git v2.4.0-rc0
      l10n: git.pot: v2.4.0 round 2 (1 update)
      l10n: zh_CN: for git v2.4.0 l10n round 2
      l10n: TEAMS: Change repository URL of zh_CN

John Keeping (1):
      streaming.c: fix a memleak

Jonathan Nieder (1):
      fast-import doc: remove suggested 16-parent limit

Julian Gindi (1):
      CodingGuidelines: update 'rough' rule count

Junio C Hamano (2):
      push-to-deploy: allow pushing into an unborn branch and updating it
      Git 2.4.0-rc2

Jérôme Zago (1):
      gitweb.conf.txt: say "build-time", not "built-time"

Kyle J. McKay (1):
      diff-highlight: do not split multibyte characters

Matthias Rüster (1):
      l10n: de.po: translate 'symbolic link' as 'symbolische Verknüpfung'

Michael J Gruber (1):
      l10n: de.po: fix negation for commit -a with paths

Paul Tan (1):
      enter_repo(): fix docs to match code

Peter Krefting (2):
      l10n: sv.po: Update Swedish translation (2305t0f0u)
      l10n: sv.po: Update Swedish translation (2305t0f0u)

Phillip Sz (1):
      l10n: de.po: add space before ellipsis

Ralf Thielow (3):
      l10n: de.po: fix messages with abbreviated hashs
      l10n: de.po: translate 99 new messages
      l10n: de.po: translate one message

Stefan Beller (1):
      wt-status.c: fix a memleak

Trần Ngọc Quân (2):
      l10n: vi.po: Updated Vietnamese translation
      l10n: vi.po(2305t): Updated 1 new string


Version v2.4.0-rc1; changes since v2.4.0-rc0:
---------------------------------------------

Junio C Hamano (6):
      add_to_index(): free unused cache-entry
      Update mailmap to spell out "Alexander Kuleshov"
      Prepare for 2.3.5
      RelNotes: minor doc updates
      Git 2.3.5
      Git 2.4.0-rc1

Phil Hord (1):
      git-push.txt: clean up force-with-lease wording

Ralf Thielow (1):
      send-pack: unify error messages for unsupported capabilities

Sebastian Schuberth (2):
      docs: clarify "preserve" option wording for git-pull
      docs: clarify what git-rebase's "-p" / "--preserve-merges" does

Stefan Beller (9):
      read-cache: free cache entry in add_to_index in case of early return
      update-index: fix a memleak
      builtin/apply.c: fix a memleak
      merge-blobs.c: fix a memleak
      merge-recursive: fix memleaks
      http-push: remove unneeded cleanup
      commit.c: fix a memory leak
      read-cache: fix memleak
      http: release the memory of a http pack request as well

Thomas Ackermann (2):
      api-error-handling doc: typofix
      2.3.2 release notes: typofix


Version v2.4.0-rc0; changes since v2.3.10:
------------------------------------------

Alex Henrie (3):
      standardize usage info string format
      gitk: Remove tcl-format flag from a message that shouldn't have it
      gitk: l10n: Add Catalan translation

Alexander Kuleshov (3):
      pack-bitmap: fix typo
      t/lib-terminal.sh: fix typo
      gitk: Fix typo in Russian translation

Chris Packham (1):
      gitk: Default wrcomcmd to use --pretty=email

Christoph Junghans (2):
      log: teach --invert-grep option
      gitk: Pass --invert-grep option down to "git log"

Dave Olszewski (1):
      push: allow --follow-tags to be set by config push.followTags

Dongcan Jiang (1):
      revision: forbid combining --graph and --no-walk

Eric Wong (1):
      git-svn: lazy load some modules

Gabriele Mazzotta (1):
      gitk: Enable mouse horizontal scrolling in diff pane

Jean-Noël Avila (1):
      Add hint interactive cleaning

Jeff King (50):
      strbuf.h: integrate api-strbuf.txt documentation
      strbuf.h: drop asciidoc list formatting from API docs
      strbuf.h: format asciidoc code blocks as 4-space indent
      strbuf.h: reorganize api function grouping headers
      strbuf.h: drop boilerplate descriptions of strbuf_split_*
      strbuf.h: group documentation for trim functions
      git_push_config: drop cargo-culted wt_status pointer
      cmd_push: set "atomic" bit directly
      cmd_push: pass "flags" pointer to config callback
      gettext.c: move get_preferred_languages() from http.c
      t/test-lib: introduce --chain-lint option
      t: fix severe &&-chain breakage
      t: fix moderate &&-chain breakage
      t: fix trivial &&-chain breakage
      t: assume test_cmp produces verbose output
      t: use verbose instead of hand-rolled errors
      t: use test_must_fail instead of hand-rolled blocks
      t: fix &&-chaining issues around setup which might fail
      t: use test_might_fail for diff and grep
      t: use test_expect_code instead of hand-rolled comparison
      t: wrap complicated expect_code users in a block
      t: avoid using ":" for comments
      t3600: fix &&-chain breakage for setup commands
      t7201: fix &&-chain breakage
      t9502: fix &&-chain breakage
      t6030: use modern test_* helpers
      t0020: use modern test_* helpers
      t1301: use modern test_* helpers
      t6034: use modern test_* helpers
      t4117: use modern test_* helpers
      t9001: use test_when_finished
      t0050: appease --chain-lint
      t7004: fix embedded single-quotes
      t0005: fix broken &&-chains
      t4104: drop hand-rolled error reporting
      wt-status: don't flush before running "submodule status"
      wt_status: fix signedness mismatch in strbuf_read call
      run-command: introduce capture_command helper
      wt-status: use capture_command
      submodule: use capture_command
      trailer: use capture_command
      run-command: forbid using run_command with piped output
      perf-lib: fix ignored exit code inside loop
      t0020: fix ignored exit code inside loops
      t3305: fix ignored exit code inside loop
      t7701: fix ignored exit code inside loop
      t: fix some trivial cases of ignored exit codes in loops
      t: simplify loop exit-code status variables
      t0020: use test_* helpers instead of hand-rolled messages
      t9001: drop save_confirm helper

Jonathan Nieder (1):
      doc: document error handling functions and conventions

Junio C Hamano (33):
      receive-pack: refactor updateInstead codepath
      receive-pack: support push-to-checkout hook
      http.c: make finish_active_slot() and handle_curl_result() static
      prompt.c: remove git_getpass() nobody uses
      pack-bitmap.c: make pack_bitmap_filename() static
      line-log.c: make line_log_data_init() static
      revision.c: make save_parents() and free_saved_parents() static
      urlmatch.c: make match_urls() static
      remote.c: make clear_cas_option() static
      shallow.c: make check_shallow_file_for_update() static
      CodingGuidelines: clarify C #include rules
      "log --pretty" documentation: do not forget "tformat:"
      apply: detect and mark whitespace errors in context lines when fixing
      t4122: use test_write_lines from test-lib-functions
      run_diff_files(): clarify computation of sha1 validity
      Post 2.3 cycle (batch #1)
      xread/xwrite: clip MAX_IO_SIZE to SSIZE_MAX
      send-email: ask confirmation if given encoding name is very short
      Post 2.3 cycle (batch #2)
      Post 2.3 cycle (batch #3)
      Post 2.3 cycle (batch #4)
      Post 2.3 cyle (batch #5)
      Post 2.3 cycle (batch #6)
      Post 2.3 cycle (batch #7)
      t7508: .gitignore 'expect' and 'output' files
      Post 2.3 cycle (batch #8)
      Post 2.3 cycle (batch #9)
      log: decorate HEAD with branch name
      Post 2.3 cyce (batch #10)
      Post 2.3 cycle (batch #11)
      Post 2.3 cycle (batch #12)
      Getting ready for -rc0
      Git 2.4.0-rc0

Kevin Daudt (1):
      rev-list: refuse --first-parent combined with --bisect

Kyle J. McKay (8):
      gettext.h: add parentheses around N_ expansion if supported
      git-instaweb: allow running in a working tree subdirectory
      git-instaweb: use @SHELL_PATH@ instead of /bin/sh
      git-compat-util.h: move SHELL_PATH default into header
      help.c: use SHELL_PATH instead of hard-coded "/bin/sh"
      configure: support HAVE_BSD_SYSCTL option
      thread-utils.c: detect CPU count on older BSD-like systems
      t5528: do not fail with FreeBSD shell

Luke Diamand (2):
      git-p4: correct --prepare-p4-only instructions
      git-p4: support excluding paths on sync

Max Kirillov (3):
      gitk: Only write changed configuration variables
      gitk: Report errors in saving config file
      gitk: Synchronize config file writes

Michael Haggerty (37):
      expire_reflog(): it's not an each_ref_fn anymore
      expire_reflog(): rename "ref" parameter to "refname"
      expire_reflog(): return early if the reference has no reflog
      expire_reflog(): use a lock_file for rewriting the reflog file
      Extract function should_expire_reflog_ent()
      expire_reflog(): extract two policy-related functions
      expire_reflog(): add a "flags" argument
      expire_reflog(): move dry_run to flags argument
      expire_reflog(): move updateref to flags argument
      Rename expire_reflog_cb to expire_reflog_policy_cb
      struct expire_reflog_cb: a new callback data type
      expire_reflog(): pass flags through to expire_reflog_ent()
      expire_reflog(): move verbose to flags argument
      expire_reflog(): move rewrite to flags argument
      Move newlog and last_kept_sha1 to "struct expire_reflog_cb"
      expire_reflog(): treat the policy callback data as opaque
      reflog_expire(): new function in the reference API
      lock_any_ref_for_update(): inline function
      refs: move REF_DELETING to refs.c
      refs: remove the gap in the REF_* constant values
      refs.c: change some "flags" to "unsigned int"
      struct ref_update: move "have_old" into "flags"
      ref_transaction_update(): remove "have_old" parameter
      ref_transaction_delete(): remove "have_old" parameter
      commit: add tests of commit races
      commit: avoid race when creating orphan commits
      ref_transaction_create(): check that new_sha1 is valid
      ref_transaction_delete(): check that old_sha1 is not null_sha1
      ref_transaction_verify(): new function to check a reference's value
      update_ref(): improve documentation
      refs.h: remove duplication in function docstrings
      write_ref_sha1(): remove check for lock == NULL
      write_ref_sha1(): move write elision test to callers
      lock_ref_sha1_basic(): do not set force_write for missing references
      reflog: improve and update documentation
      reflog_expire(): ignore --updateref for symbolic references
      reflog_expire(): never update a reference to null_sha1

Michael J Gruber (7):
      t7508: test git status -v
      commit/status: show the index-worktree diff with -v -v
      sequencer: preserve commit messages
      wt-status: refactor detached HEAD analysis
      branch: name detached HEAD analogous to status
      t9104: fix test for following larger parents
      t9158, t9161: fix broken &&-chain in git-svn tests

Mike Hommey (2):
      transport-helper: ask the helper to set progress and verbosity options after asking for its capabilities
      transport-helper: ask the helper to set the same options for import as for fetch

Nguyễn Thái Ngọc Duy (6):
      attr.c: rename arg name attr_nr to avoid shadowing the global one
      attr: do not attempt to expand when we know it's not a macro
      attr: avoid heavy work when we know the specified attr is not defined
      versionsort: support reorder prerelease suffixes
      config.txt: update versioncmp.prereleaseSuffix
      *config.txt: stick to camelCase naming convention

Paul Mackerras (1):
      gitk: Update .po files

René Scharfe (3):
      archive-zip: mark text files in archives
      daemon: use strbuf for hostname info
      daemon: deglobalize hostname information

Ronnie Sahlberg (7):
      refs.c: make ref_transaction_create a wrapper for ref_transaction_update
      refs.c: make ref_transaction_delete a wrapper for ref_transaction_update
      refs.c: add a function to append a reflog entry to a fd
      refs.c: remove unlock_ref/close_ref/commit_ref from the refs api
      receive-pack.c: negotiate atomic push support
      send-pack.c: add --atomic command line argument
      push.c: add an --atomic argument

Sebastian Schuberth (1):
      check-builtins: strip executable suffix $X when enumerating builtins

Stefan Beller (15):
      refs.c: don't expose the internal struct ref_lock in the header file
      refs.c: let fprintf handle the formatting
      receive-pack.c: shorten the execute_commands loop over all commands
      receive-pack.c: die instead of error in case of possible future bug
      receive-pack.c: move iterating over all commands outside execute_commands
      receive-pack.c: move transaction handling in a central place
      receive-pack.c: add execute_commands_atomic function
      send-pack: rename ref_update_to_be_sent to check_to_send_update
      t5543-atomic-push.sh: add basic tests for atomic pushes
      Document receive.advertiseatomic
      strbuf.h: unify documentation comments beginnings
      struct ref_lock: delete the force_write member
      connect.c: do not leak "conn" after showing diagnosis
      bundle.c: fix memory leak
      builtin/help.c: fix memory leak

Tom G. Christensen (1):
      http: support curl < 7.10.7

Torsten Bögershausen (1):
      t6039: fix broken && chain

Yi EungJun (1):
      http: add Accept-Language header if possible


Version v2.3.10; changes since v2.3.9:
--------------------------------------

Blake Burkhart (2):
      http: limit redirection to protocol-whitelist
      http: limit redirection depth

Jeff King (6):
      transport: add a protocol-whitelist environment variable
      submodule: allow only certain protocols for submodule fetches
      transport: refactor protocol whitelist code
      react to errors in xdi_diff
      xdiff: reject files larger than ~1GB
      merge-file: enforce MAX_XDIFF_SIZE on incoming files

Junio C Hamano (1):
      Git 2.3.10


Version v2.3.9; changes since v2.3.8:
-------------------------------------

Jeff King (4):
      verify_absent: allow filenames longer than PATH_MAX
      notes: use a strbuf in add_non_note
      read_info_alternates: handle paths larger than PATH_MAX
      show-branch: use a strbuf for reflog descriptions

Junio C Hamano (2):
      Git 2.2.3
      Git 2.3.9


Version v2.3.8; changes since v2.3.7:
-------------------------------------

Junio C Hamano (5):
      diff-no-index: DWIM "diff D F" into "diff D/F F"
      diff-no-index: align D/F handling with that of normal Git
      parse_date_basic(): return early when given a bogus timestamp
      parse_date_basic(): let the system handle DST conversion
      Git 2.3.8

Matthieu Moy (2):
      Documentation: change -L:<regex> to -L:<funcname>
      log -L: improve error message on malformed argument

Ossi Herrala (1):
      config: fix settings in default_user_config template


Version v2.3.7; changes since v2.3.6:
-------------------------------------

Junio C Hamano (2):
      push --signed: tighten what the receiving end can ask to sign
      Git 2.3.7

Márcio Almada (1):
      completion: fix global bash variable leak on __gitcompappend

Torsten Bögershausen (1):
      connect.c: ignore extra colon after hostname


Version v2.3.6; changes since v2.3.5:
-------------------------------------

Ivan Ukhov (1):
      parse-options.h: OPTION_{BIT,SET_INT} do not store pointer to defval

Jeff King (7):
      t: translate SIGINT to an exit
      t: redirect stderr GIT_TRACE to descriptor 4
      t: pass GIT_TRACE through Apache
      t5541: move run_with_cmdline_limit to test-lib.sh
      t5551: make EXPENSIVE test cheaper
      cherry-pick: fix docs describing handling of empty commits
      howto: document more tools for recovery corruption

Jonathan Nieder (1):
      fast-import doc: remove suggested 16-parent limit

Julian Gindi (1):
      CodingGuidelines: update 'rough' rule count

Junio C Hamano (1):
      Git 2.3.6

Jérôme Zago (1):
      gitweb.conf.txt: say "build-time", not "built-time"

Kyle J. McKay (1):
      diff-highlight: do not split multibyte characters

Paul Tan (1):
      enter_repo(): fix docs to match code


Version v2.3.5; changes since v2.3.4:
-------------------------------------

Cody A Taylor (1):
      git prompt: use toplevel to find untracked files

Jeff King (15):
      tag: fix some mis-organized options in "-h" listing
      upload-pack: fix transfer.hiderefs over smart-http
      upload-pack: do not check NULL return of lookup_unknown_object
      sha1fd_check: die when we cannot open the file
      clone: initialize atexit cleanup handler earlier
      clone: drop period from end of die_errno message
      filter_ref: avoid overwriting ref->old_sha1 with garbage
      filter_ref: make a copy of extra "sought" entries
      fetch_refs_via_pack: free extra copy of refs
      fetch-pack: remove dead assignment to ref->new_sha1
      t5312: test object deletion code paths in a corrupted repository
      refs: introduce a "ref paranoia" flag
      prune: turn on ref_paranoia flag
      repack: turn on "ref paranoia" when doing a destructive repack
      refs.c: drop curate_packed_refs

John Szakmeister (1):
      contrib/completion: escape the forward slash in __git_match_ctag

Junio C Hamano (5):
      SubmittingPatches: encourage users to use format-patch and send-email
      report_path_error(): move to dir.c
      Update mailmap to spell out "Alexander Kuleshov"
      Prepare for 2.3.5
      Git 2.3.5

Nguyễn Thái Ngọc Duy (1):
      git.txt: list index versions in plain English

Phil Hord (1):
      git-push.txt: clean up force-with-lease wording

SZEDER Gábor (1):
      completion: use __gitcomp_nl() for completing refs

Sebastian Schuberth (2):
      docs: clarify "preserve" option wording for git-pull
      docs: clarify what git-rebase's "-p" / "--preserve-merges" does

Thomas Ackermann (1):
      2.3.2 release notes: typofix

Thomas Gummerer (2):
      t1700: make test pass with index-v4
      read-cache: fix reading of split index

Wilhelm Schuermann (1):
      grep: fix "--quiet" overwriting current output


Version v2.3.4; changes since v2.3.3:
-------------------------------------

Alexander Kuleshov (1):
      git: make was_alias and done_help non-static

Eric Sunshine (2):
      rebase-interactive: suppress whitespace preceding item count
      rebase-interactive: re-word "item count" comment

Junio C Hamano (8):
      Documentation/config.txt: avoid unnecessary negation
      Documentation/config.txt: explain multi-valued variables once
      Documentation/config.txt: describe the structure first and then meaning
      Documentation/config.txt: have a separate "Values" section
      Documentation/config.txt: describe 'color' value type in the "Values" section
      Documentation/config.txt: simplify boolean description in the syntax section
      log --decorate: do not leak "commit" color into the next item
      Git 2.3.4

Karthik Nayak (1):
      git: treat "git -C '<path>'" as a no-op when <path> is empty

Kyle J. McKay (2):
      imap-send: use cURL automatically when NO_OPENSSL defined
      t7510: do not fail when gpg warns about insecure memory

Michael J Gruber (1):
      config,completion: add color.status.unmerged

René Scharfe (2):
      zlib: initialize git_zstream in git_deflate_init{,_gzip,_raw}
      use isxdigit() for checking if a character is a hexadecimal digit

SZEDER Gábor (2):
      completion: add a test for __git_remotes() helper function
      completion: simplify __git_remotes()

Torsten Bögershausen (3):
      connect.c: allow ssh://user@[2001:db8::1]/repo.git
      t5601: add more test cases for IPV6
      t5500: show user name and host in diag-url


Version v2.3.3; changes since v2.3.2:
-------------------------------------

Anders Kaseorg (1):
      t5516: correct misspelled pushInsteadOf

Ben Walton (1):
      kwset: use unsigned char to store values with high-bit set

Jeff King (5):
      git_connect: let user override virtual-host we send to daemon
      t5570: test git-daemon's --interpolated-path option
      daemon: sanitize incoming virtual hostname
      diffcore-rename: split locate_rename_dst into two functions
      diffcore-rename: avoid processing duplicate destinations

Johannes Sixt (1):
      test_ln_s_add: refresh stat info of fake symbolic links

Junio C Hamano (11):
      apply: reject input that touches outside the working area
      apply: do not read from the filesystem under --index
      apply: do not read from beyond a symbolic link
      apply: do not touch a file beyond a symbolic link
      t4008: correct stale comments
      t9300: correct expected object names
      t4010: correct expected object names
      tests: do not borrow from COPYING and README from the real source
      t/diff-lib: check exact object names in compare_diff_raw
      t4008: modernise style
      Git 2.3.3

Michael J Gruber (1):
      git-remote.txt: describe behavior without --tags and --no-tags

Michal Sojka (1):
      submodule: improve documentation of update subcommand

Mikko Rapeli (1):
      Documentation/git-clean.txt: document that -f may need to be given twice

Mårten Kongstad (1):
      diff --shortstat --dirstat: remove duplicate output

Nguyễn Thái Ngọc Duy (1):
      grep: correct help string for --exclude-standard

René Scharfe (2):
      daemon: look up client-supplied hostname lazily
      daemon: use callback to build interpolated path


Version v2.3.2; changes since v2.3.1:
-------------------------------------

Aleksander Boruch-Gruszecki (1):
      merge-file: correctly open files when in a subdir

Aleksey Vasenev (1):
      wincred: fix get credential if username has "@"

Alexander Kuleshov (1):
      Git.pm: two minor typo fixes

Eric Sunshine (1):
      builtin/blame: destroy initialized commit_info only

Jeff King (8):
      t/lib-httpd: switch SANITY check for NOT_ROOT
      t/lib-gpg: include separate public keys in keyring.gpg
      t/lib-gpg: sanity-check that we can actually sign
      config: do not ungetc EOF
      decimal_width: avoid integer overflow
      config_buf_ungetc: warn when pushing back a random character
      for_each_loose_file_in_objdir: take an optional strbuf path
      fast-import: avoid running end_packfile recursively

Jonathon Mah (1):
      sha1_file: fix iterating loose alternate objects

Junio C Hamano (7):
      tests: correct misuses of POSIXPERM
      config.txt: clarify that add.ignore-errors is deprecated
      config.txt: mark deprecated variables more prominently
      Documentation/git-remote.txt: stress that set-url is not for triangular
      CodingGuidelines: describe naming rules for configuration variables
      Prepare for 2.3.2
      Git 2.3.2

Kirill A. Shutemov (1):
      rebase -i: use full object name internally throughout the script

Kyle J. McKay (3):
      git-compat-util: do not step on MAC_OS_X_VERSION_MIN_REQUIRED
      git-send-email.perl: support no- prefix with older GetOptions
      Git::SVN::*: avoid premature FileHandle closure

Matthieu Moy (2):
      Documentation/config.txt: document mailinfo.scissors
      Documentation/git-am.txt: mention mailinfo.scissors config variable

Mike Hommey (2):
      transport-helper: do not request symbolic refs to remote helpers
      transport-helper: fix typo in error message when --signed is not supported

Patrick Steinhardt (1):
      git-submodule.sh: fix '/././' path normalization

Ramsay Jones (1):
      git-compat-util.h: remove redundant code

René Scharfe (4):
      connect: use strcmp() for string comparison
      for-each-ref: use skip_prefix() to avoid duplicate string comparison
      pretty: use starts_with() to check for a prefix
      sha1_name: use strlcpy() to copy strings

Ryuichi Kokubo (1):
      git-svn: fix localtime=true on non-glibc environments

Stefan Beller (2):
      hex.c: reduce memory footprint of sha1_to_hex static buffers
      read-cache.c: free cache entry when refreshing fails

Tom G. Christensen (2):
      Makefile: handle broken curl version number in version check
      ewah: fix building with gcc < 3.4.0

Torsten Bögershausen (1):
      test-lib.sh: set prerequisite SANITY by testing what we really need

Дилян Палаузов (1):
      do not include the same header twice


Version v2.3.1; changes since v2.3.0:
-------------------------------------

Alexander Kuleshov (1):
      add -i: return from list_and_choose if there is no candidate

Doug Kelly (2):
      t4255: test am submodule with diff.submodule
      format-patch: ignore diff.submodule setting

Jeff King (7):
      git-compat-util: add xstrdup_or_null helper
      builtin/apply.c: use xstrdup_or_null instead of null_strdup
      builtin/commit.c: use xstrdup_or_null instead of envdup
      use xstrdup_or_null to replace ternary conditionals
      dumb-http: do not pass NULL path to parse_pack_index
      read_and_strip_branch: fix typo'd address-of operator
      do not check truth value of flex arrays

Jonathan Nieder (1):
      rerere: error out on autoupdate failure

Junio C Hamano (6):
      apply.c: typofix
      apply: make update_pre_post_images() sanity check the given postlen
      apply: count the size of postimage correctly
      Documentation: what does "git log --indexed-objects" even mean?
      diff-format doc: a score can follow M for rewrite
      Git 2.3.1

Lukas Fleischer (1):
      blame.c: fix garbled error message

Michael J Gruber (2):
      commit: reword --author error message
      git-push.txt: document the behavior of --repo

brian m. carlson (1):
      remote-curl: fall back to Basic auth if Negotiate fails


Version v2.3.0; changes since v2.3.0-rc2:
-----------------------------------------

Alex Henrie (1):
      l10n: ca.po: Fix trailing whitespace

Junio C Hamano (1):
      Git 2.3


Version v2.3.0-rc2; changes since v2.3.0-rc1:
---------------------------------------------

Alex Henrie (1):
      l10n: ca.po: update translation

Alexander Kuleshov (1):
      cat-file: use "type" and "size" from outer scope

Benedikt Heine (1):
      l10n: de.po: fix typo

Jean-Noël Avila (2):
      l10n: fr.po v2.3.0 round 1
      l10n: fr.po v2.3.0 round 2

Jiang Xin (5):
      l10n: git.pot: v2.3.0 round 1 (13 new, 11 removed)
      l10n: zh_CN: translations for git v2.3.0-rc0
      l10n: git.pot: v2.3.0 round 2 (3 updated)
      l10n: zh_CN: various fixes on command arguments
      l10n: correct indentation of show-branch usage

Joan Perals (1):
      l10n: ca.po: various fixes

Johannes Sixt (1):
      t1050-large: generate large files without dd

Junio C Hamano (1):
      Git 2.3.0-rc2

Kacper Kornet (1):
      Fix unclosed here document in t3301.sh

Michael J Gruber (2):
      l10n: de.po: translate "leave behind" correctly
      l10n: de.po: correct singular form

Peter Krefting (2):
      l10n: sv.po: Update Swedish translation (2298t0f0u)
      l10n: sv.po: Update Swedish translation (2298t0f0u)

Ralf Thielow (4):
      l10n: de.po: translate "track" as "versionieren"
      l10n: de.po: fix typo
      l10n: de.po: translate 13 new messages
      l10n: de.po: translate 3 messages

Sven van Haastregt (1):
      Documentation: fix version numbering

Trần Ngọc Quân (2):
      l10n: vi.po(2298t): Updated and change Plural-Forms
      l10n: vi.po(2298t): Updated 3 new strings


Version v2.3.0-rc1; changes since v2.3.0-rc0:
---------------------------------------------

Adam Williamson (1):
      correct smtp-ssl-cert-path description

Alexander Kuleshov (4):
      show-branch: line-wrap show-branch usage
      git.c: remove unnecessary #includes
      cat-file: remove unused includes
      Documentation: list long options for -v and -n

Jeff King (4):
      t1301: set umask in reflog sharedrepository=group test
      update-server-info: create info/* with mode 0666
      http-push: trim trailing newline from remote symref
      parse_color: fix return value for numeric color values 0-8

Jess Austin (1):
      git-prompt.sh: allow to hide prompt for ignored pwd

Johannes Schindelin (2):
      git remote: allow adding remotes agreeing with url.<...>.insteadOf
      Add a regression test for 'git remote add <existing> <same-url>'

Junio C Hamano (2):
      Fifth batch for 2.3 cycle
      Git 2.3.0-rc1

Kyle J. McKay (3):
      log.c: fix translation markings
      imap-send.c: support GIT_CURL_VERBOSE
      imap-send.c: set CURLOPT_USE_SSL to CURLUSESSL_TRY

Matthieu Moy (1):
      git-completion: add --autostash for 'git rebase'

Philip Oakley (2):
      doc: core.ignoreStat clarify the --assume-unchanged effect
      doc: core.ignoreStat update, and clarify the --assume-unchanged effect

Ralf Thielow (1):
      show-branch: fix indentation of usage string

Ramkumar Ramachandra (2):
      Git::SVN: handle missing ref_id case correctly
      git-svn: make it play nicely with submodules

Raphael Kubo da Costa (1):
      for-each-ref: always check stat_tracking_info()'s return value

Reuben Hawkins (3):
      configure.ac: check 'tv_nsec' field in 'struct stat'
      configure.ac: check for clock_gettime and CLOCK_MONOTONIC
      configure.ac: check for HMAC_CTX_cleanup

Richard Hansen (3):
      git-prompt.sh: if pc mode, immediately set PS1 to a plain prompt
      test-lib: use 'test ...' instead of '[ ... ]'
      test-lib.sh: do tests for color support after changing HOME

Steffen Prohaska (1):
      subtree: fix AsciiDoc list item continuation

Tony Finch (1):
      git-prompt: preserve value of $? in all cases


Version v2.3.0-rc0; changes since v2.2.3:
-----------------------------------------

Alfred Perlstein (1):
      git-svn: support for git-svn propset

Beat Bolli (5):
      update_unicode.sh: simplify output capture
      update_unicode.sh: set UNICODE_DIR only once
      update_unicode.sh: shorten uniset invocation path
      update_unicode.sh: make the output structure visible
      update_unicode.sh: delete the command group

Ben Walton (1):
      t0090: tweak awk statement for Solaris /usr/xpg4/bin/awk

Bernhard Reiter (2):
      imap-send: use parse options API to determine verbosity
      git-imap-send: use libcurl for implementation

Christian Couder (5):
      commit: make ignore_non_trailer() non static
      trailer: reuse ignore_non_trailer() to ignore conflict lines
      trailer: add test with an old style conflict block
      bisect: parse revs before passing them to check_expected_revs()
      bisect: add test to check that revs are properly parsed

Christian Hesse (4):
      tests: create gpg homedir on the fly
      tests: skip RFC1991 tests for gnupg 2.1
      tests: replace binary GPG keyrings with ASCII-armored keys
      tests: make comment on GPG keyring match the code

Dan Wyand (1):
      git-sh-setup.sh: use dashdash with basename call

David Aguilar (4):
      mergetool--lib: remove use of $status global
      difftool--helper: add explicit exit statement
      mergetool: simplify conditionals
      mergetools: stop setting $status in merge_cmd()

David Michael (1):
      compat: convert modes to use portable file type values

Eric Sunshine (7):
      git-compat-util: suppress unavoidable Apple-specific deprecation warnings
      t2004: modernize style
      t2004: drop unnecessary write-tree/read-tree
      t2004: standardize file naming in symlink test
      t2004: demonstrate broken relative path printing
      checkout-index: fix --temp relative path mangling
      SubmittingPatches: explain rationale for using --notes with format-patch

Jeff King (13):
      parse_color: refactor color storage
      parse_color: support 24-bit RGB values
      parse_color: recognize "no$foo" to clear the $foo attribute
      diff-highlight: allow configurable colors
      credential: let helpers tell us to quit
      prompt: respect GIT_TERMINAL_PROMPT to disable terminal prompts
      fsck: properly bound "invalid tag name" error message
      parse_color: drop COLOR_BACKGROUND macro
      pkt-line: allow writing of LARGE_PACKET_MAX buffers
      t: support clang/gcc AddressSanitizer
      commit: loosen ident checks when generating template
      commit: always populate GIT_AUTHOR_* variables
      add--interactive: leave main loop on read error

Jim Hill (1):
      pre-push.sample: remove unnecessary and misleading IFS=' '

Johan Herland (9):
      builtin/notes: fix premature failure when trying to add the empty blob
      t3301: verify that 'git notes' removes empty notes by default
      builtin/notes: improve naming
      builtin/notes: refactor note file path into struct note_data
      builtin/notes: simplify early exit code in add()
      builtin/notes: split create_note() to clarify add vs. remove logic
      builtin/notes: add --allow-empty, to allow storing empty notes
      notes: empty notes should be shown by 'git log'
      t3301: modernize style

Johannes Schindelin (2):
      receive-pack: add another option for receive.denyCurrentBranch
      test-hashmap: squelch gcc compiler warning

Johannes Sixt (1):
      t5000 on Windows: do not mistake "sh.exe" as "sh"

Junio C Hamano (30):
      checkout: report upstream correctly even with loosely defined branch.*.merge
      clone: --dissociate option to mark that reference is only temporary
      diff -B -M: fix output for "copy and then rewrite" case
      builtin/merge.c: drop a parameter that is never used
      merge & sequencer: unify codepaths that write "Conflicts:" hint
      strbuf_add_commented_lines(): avoid SP-HT sequence in commented lines
      builtin/commit.c: extract ignore_non_trailer() helper function
      merge & sequencer: turn "Conflicts:" hint into a comment
      bisect: clean flags after checking merge bases
      get_merge_bases(): always clean-up object flags
      unpack_trees: plug leakage of o->result
      mergetool--lib: remove no-op assignment to $status from setup_user_tool
      SubmittingPatches: refer to t/README for tests
      t/README: justify why "! grep foo" is sufficient
      t9001: style modernisation phase #1
      t9001: style modernisation phase #2
      t9001: style modernisation phase #3
      t9001: style modernisation phase #4
      t9001: style modernisation phase #5
      system_path(): always return free'able memory to the caller
      t5516: more tests for receive.denyCurrentBranch=updateInstead
      run-command.c: retire unused run_hook_with_custom_index()
      t3102: document that ls-tree does not yet support negated pathspec
      t3102: style modernization
      First batch for 2.3 cycle
      tests: squelch noise from GPG machinery set-up
      Second batch for 2.3 cycle
      Third batch for 2.3 cycle
      Fourth batch for 2.3 cycle
      Git 2.3.0-rc0

Justin Guenther (1):
      git-prompt.sh: make $f local to __git_eread()

Karsten Blees (1):
      pack-bitmap: do not use gcc packed attribute

Luis Henriques (2):
      send-email: add --[no-]xmailer option
      test/send-email: --[no-]xmailer tests

Michael Haggerty (10):
      cmd_config(): make a copy of path obtained from git_path()
      prune_remote(): exit early if there are no stale references
      prune_remote(): initialize both delete_refs lists in a single loop
      prune_remote(): sort delete_refs_list references en masse
      repack_without_refs(): make the refnames argument a string_list
      prune_remote(): rename local variable
      prune_remote(): iterate using for_each_string_list_item()
      sort_string_list(): rename to string_list_sort()
      t1400: add some more tests of "update-ref --stdin"'s verify command
      update-ref: fix "verify" command with missing <oldvalue>

Michael J Gruber (4):
      t3200-branch: test -M
      check-ignore: clarify treatment of tracked files
      gitignore.txt: do not suggest assume-unchanged
      branch: allow -f with -m and -d

Nguyễn Thái Ngọc Duy (6):
      lockfile.c: store absolute path
      tree.c: update read_tree_recursive callback to pass strbuf as base
      ls-tree: remove path filtering logic in show_tree
      ls-tree: disable negative pathspec because it's not supported
      index-pack: terminate object buffers with NUL
      index-format.txt: add a missing closing quote

Onno Kortmann (1):
      Show number of TODO items for interactive rebase

Paolo Bonzini (4):
      git-send-email: delay creation of MIME headers
      git-send-email: add --transfer-encoding option
      git-mailinfo: add --message-id
      git-am: add --message-id/--no-message-id

Paul Smith (1):
      git-new-workdir: don't fail if the target directory is empty

Peter van der Does (1):
      Update documentation occurrences of filename .sh

Philip Oakley (1):
      doc: make clear --assume-unchanged's user contract

Ralf Thielow (3):
      builtin/push.c: fix description of --recurse-submodules option
      for-each-ref: correct spelling of Tcl in option description
      completion: add git-tag options

Ramsay Jones (2):
      git-compat-util.h: don't define _XOPEN_SOURCE on cygwin
      t0050-*.sh: mark the rename (case change) test as passing

René Scharfe (6):
      use args member of struct child_process
      use strbuf_complete_line() for adding a newline if needed
      commit-tree: simplify parsing of option -S using skip_prefix()
      merge: release strbuf after use in suggest_conflicts()
      transport: simplify duplicating a substring in transport_get() using xmemdupz()
      refs: plug strbuf leak in lock_ref_sha1_basic()

Ronnie Sahlberg (1):
      lock_ref_sha1_basic: do not die on locking errors

Slavomir Vlcek (3):
      builtin: move builtin retrieval to get_builtin()
      apply: fix typo in an error message
      Documentation/git-stripspace: add synopsis for --comment-lines

Stefan Beller (5):
      string_list: document string_list_(insert,lookup)
      mailmap: use higher level string list functions
      string_list: remove string_list_insert_at_index() from its API
      t5400: remove dead code
      Documentation/SubmittingPatches: unify whitespace/tabs for the DCO

Thomas Quinot (1):
      git_connect: set ssh shell command in GIT_SSH_COMMAND

Tony Finch (1):
      git-prompt: preserve value of $? inside shell prompt

Torsten Bögershausen (2):
      init-db: improve the filemode trustability check
      t0027: check the eol conversion warnings

brian m. carlson (3):
      Documentation: add missing article in rev-list-options.txt
      rev-list: add an option to mark fewer edges as uninteresting
      pack-objects: use --objects-edge-aggressive for shallow repos

Роман Донченко (2):
      send-email: align RFC 2047 decoding more closely with the spec
      send-email: handle adjacent RFC 2047-encoded words properly


Version v2.2.3; changes since v2.2.2:
-------------------------------------

Jeff King (4):
      verify_absent: allow filenames longer than PATH_MAX
      notes: use a strbuf in add_non_note
      read_info_alternates: handle paths larger than PATH_MAX
      show-branch: use a strbuf for reflog descriptions

Junio C Hamano (1):
      Git 2.2.3


Version v2.2.2; changes since v2.2.1:
-------------------------------------

Alexander Kuleshov (1):
      clean: typofix

Jeff King (17):
      pass TIME_DATE_NOW to approxidate future-check
      checkout $tree: do not throw away unchanged index entries
      approxidate: allow ISO-like dates far in the future
      Makefile: have perl scripts depend on NO_PERL setting
      t0090: mark add-interactive test with PERL prerequisite
      t960[34]: mark cvsimport tests as requiring perl
      gitweb: hack around CGI's list-context param() handling
      docs: describe ANSI 256-color mode
      config: fix parsing of "git config --get-color some.key -1"
      t4026: test "normal" color
      push: truly use "simple" as default, not "upstream"
      for_each_reflog_ent_reverse: fix newlines on block boundaries
      for_each_reflog_ent_reverse: turn leftover check into assertion
      read_packed_refs: use a strbuf for reading lines
      read_packed_refs: pass strbuf to parse_ref_line
      read_packed_refs: use skip_prefix instead of static array
      is_hfs_dotgit: loosen over-eager match of \u{..47}

Johannes Sixt (1):
      Windows: correct detection of EISDIR in mingw_open()

Jonathan Nieder (2):
      Makefile: simplify by using SCRIPT_{PERL,SH}_GEN macros
      Makefile: have python scripts depend on NO_PYTHON setting

Junio C Hamano (2):
      Prepare for 2.2.2
      Git 2.2.2

Michael Haggerty (1):
      create_default_files(): don't set u+x bit on $GIT_DIR/config

Michael J Gruber (1):
      add: ignore only ignored files

Mike Hommey (1):
      sha1_name: avoid unnecessary sha1 lookup in find_unique_abbrev

René Scharfe (2):
      use labs() for variables of type long instead of abs()
      use labs() for variables of type long instead of abs()

Ronald Wampler (1):
      git-am.txt: --ignore-date flag is not passed to git-apply

brian m. carlson (1):
      Documentation: change "gitlink" typo in git-push


Version v2.2.1; changes since v2.2.0:
-------------------------------------

Hartmut Henkel (1):
      l10n: de.po: fix typos

Jeff King (8):
      unpack-trees: propagate errors adding entries to the index
      read-tree: add tests for confusing paths like ".." and ".git"
      verify_dotfile(): reject .git case-insensitively
      t1450: refactor ".", "..", and ".git" fsck tests
      fsck: notice .git case-insensitively
      utf8: add is_hfs_dotgit() helper
      read-cache: optionally disallow HFS+ .git variants
      fsck: complain about HFS+ ".git" aliases in trees

Johannes Schindelin (3):
      path: add is_ntfs_dotgit() helper
      read-cache: optionally disallow NTFS .git variants
      fsck: complain about NTFS ".git" aliases in trees

Junio C Hamano (6):
      Start post 2.2 cycle
      Git 1.8.5.6
      Git 1.9.5
      Git 2.0.5
      Git 2.1.4
      Git 2.2.1


Version v2.2.0; changes since v2.2.0-rc3:
-----------------------------------------

Junio C Hamano (1):
      Git 2.2

Marc Branchaud (1):
      RelNotes: spelling & grammar tweaks


Version v2.2.0-rc3; changes since v2.2.0-rc2:
---------------------------------------------

Alex Henrie (1):
      l10n: Update Catalan translation

Christian Couder (2):
      trailer: ignore comment lines inside the trailers
      trailer: display a trailer without its trailing newline

David Aguilar (1):
      difftool: honor --trust-exit-code for builtin tools

Jiang Xin (3):
      l10n: git.pot: v2.2.0 round 2 (1 updated)
      l10n: batch updates for one trivial change
      l10n: remove a superfluous translation for push.c

Junio C Hamano (2):
      Documentation/git-commit: clarify that --only/--include records the working tree contents
      Git 2.2.0-rc3

Max Horn (1):
      doc: add some crossrefs between manual pages

Ralf Thielow (4):
      l10n: de.po: use imperative form for command options
      l10n: de.po: translate 62 new messages
      l10n: de.po: translate 2 new messages
      l10n: de.po: translate 2 messages

Slavomir Vlcek (1):
      SubmittingPatches: final submission is To: maintainer and CC: list

Stefan Beller (1):
      l10n: de.po: Fixup one translation

Stefan Naewe (1):
      gittutorial: fix output of 'git status'

Thomas Ackermann (1):
      gittutorial.txt: remove reference to ancient Git version

Torsten Bögershausen (1):
      t5705: the file:// URL should be absolute


Version v2.2.0-rc2; changes since v2.2.0-rc1:
---------------------------------------------

Alexander Shopov (1):
      l10n: Updated Bulgarian translation of git (2296t,0f,0u)

Jean-Noël Avila (1):
      l10n: fr.po (2296t) update for version 2.2.0

Jeff King (1):
      t1410: fix breakage on case-insensitive filesystems

Jiang Xin (2):
      l10n: git.pot: v2.2.0 round 1 (62 new, 23 removed)
      l10n: zh_CN: translations for git v2.2.0-rc0

John Szakmeister (1):
      diff-highlight: exit when a pipe is broken

Junio C Hamano (2):
      Update draft release notes to 2.2
      Git 2.2.0-rc2

Nicolas Dermine (1):
      config.txt: fix typo

Peter Krefting (1):
      l10n: sv.po: Update Swedish translation (2296t0f0u)

René Scharfe (2):
      trailer: use CHILD_PROCESS_INIT in apply_command()
      run-command: use void to declare that functions take no parameters

Thomas Quinot (1):
      Documentation/config.txt: fix minor typo

Trần Ngọc Quân (1):
      l10n: vi.po: Update new message strings


Version v2.2.0-rc1; changes since v2.2.0-rc0:
---------------------------------------------

Ben North (1):
      gitignore.txt: fix spelling of "backslash"

Jeff King (5):
      cache-tree: avoid infinite loop on zero-entry tree
      bundle: split out ref writing from bundle_create
      fetch: load all default config at startup
      ignore stale directories when checking reflog existence
      docs/credential-store: s/--store/--file/

Junio C Hamano (3):
      bundle: split out a helper function to create pack data
      bundle: split out a helper function to compute and write prerequisites
      Git 2.2.0-rc1

Matthieu Moy (1):
      RelNotes/2.2.0.txt: fix minor typos

René Scharfe (1):
      use child_process_init() to initialize struct child_process variables

Thomas Ackermann (1):
      Documentation: typofixes

Tzvetan Mikov (1):
      line-log: fix crash when --first-parent is used


Version v2.2.0-rc0; changes since v2.1.4:
-----------------------------------------

Alex Henrie (1):
      grammofix in user-facing messages

Arjun Sreedharan (1):
      calloc() and xcalloc() takes nmemb and then size

Beat Bolli (1):
      pretty: provide a strict ISO 8601 date format

Ben Walton (2):
      t/lib-credential: use write_script
      trace.c: do not mark getnanotime() as "inline"

Bernhard Reiter (3):
      http.c: die if curl_*_init fails
      git-imap-send: simplify tunnel construction
      imap-send.c: imap_folder -> imap_server_conf.folder

Brian Gernhardt (1):
      receive-pack::hmac_sha1(): copy the entire SHA-1 hash out

Brice Lambson (1):
      MinGW: update tests to handle a native eol of crlf

Charles Bailey (2):
      mergetool: don't require a work tree for --tool-help
      difftool: don't assume that default sh is sane

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

David Aguilar (19):
      stylefix: asterisks stick to the variable, not the type
      cleanups: ensure that git-compat-util.h is included first
      Documentation: a note about stdout for git rev-parse --verify --quiet
      t1503: use test_must_be_empty
      refs: make rev-parse --quiet actually quiet
      stash: prefer --quiet over shell redirection of the standard error stream
      completion: add --show-signature for log and show
      t7610-mergetool: use tabs instead of a mix of tabs and spaces
      t7610-mergetool: add missing && and remove commented-out code
      t7610-mergetool: prefer test_config over git config
      test-lib-functions: adjust style to match CodingGuidelines
      mergetool: use more conservative temporary filenames
      git-sh-setup: move GIT_DIR initialization into a function
      t7610-mergetool: use test_config to isolate tests
      test-lib-functions: adjust style to match CodingGuidelines
      mergetool: use more conservative temporary filenames
      mergetool: add an option for writing to a temporary directory
      t7610-mergetool: add test cases for mergetool.writeToTemp
      difftool: add support for --trust-exit-code

David Michael (3):
      git-compat-util.h: support variadic macros with the XL C compiler
      Makefile: reorder linker flags in the git executable rule
      compat/bswap.h: detect endianness from XL C compiler macros

David Turner (4):
      cache-tree: create/update cache-tree on checkout
      test-dump-cache-tree: invalid trees are not errors
      cache-tree: subdirectory tests
      cache-tree: Write updated cache-tree after commit

Eric Wong (15):
      git svn: info: correctly handle absolute path args
      git svn: find-rev allows short switches for near matches
      git-svn: delay term initialization
      git-svn: reduce check_cherry_pick cache overhead
      git-svn: cache only mergeinfo revisions
      git-svn: remove mergeinfo rev caching
      git-svn: reload RA every log-window-size
      git-svn: remove unnecessary DESTROY override
      git-svn: save a little memory as fetch progresses
      git-svn: disable _rev_list memoization
      Git.pm: add specified name to tempfile template
      git-svn: prepare SVN::Ra config pieces once
      git-svn: (cleanup) remove editor param passing
      git-svn: add space after "W:" prefix in warning
      git-svn: use SVN::Ra::get_dir2 when possible

Etienne Buira (2):
      index-pack: fix compilation with NO_PTHREADS
      Handle atexit list internaly for unthreaded builds

Harry Jeffery (1):
      pretty: add %D format specifier

Ian Liu Rodrigues (1):
      Makefile: fix some typos in the preamble

Jaime Soriano Pastor (2):
      read_index_from(): catch out of order entries when reading an index file
      read_index_unmerged(): remove unnecessary loop index adjustment

Jakob Stoklund Olesen (2):
      git-svn: only look at the new parts of svn:mergeinfo
      git-svn: only look at the root path for svn:mergeinfo

Jeff King (54):
      stash: default listing to working-tree diff
      subtree: make "all" default target of Makefile
      http: style fixes for curl_multi_init error check
      Makefile: use `find` to determine static header dependencies
      log-tree: make add_name_decoration a public function
      log-tree: make name_decoration hash static
      Makefile: drop CHECK_HEADER_DEPENDENCIES code
      log-tree: use FLEX_ARRAY in name_decoration
      commit: provide a function to find a header in a buffer
      record_author_date(): fix memory leak on malformed commit
      record_author_date(): use find_commit_header()
      date: use strbufs in date-formatting functions
      teach fast-export an --anonymize option
      docs/fast-export: explain --anonymize more completely
      determine_author_info(): reuse parsing functions
      determine_author_info(): copy getenv output
      refs: write packed_refs file using stdio
      refs: speed up is_refname_available
      prune-packed: fix minor memory leak
      make update-server-info more robust
      server-info: clean up after writing info/packs
      credential-cache: close stderr in daemon process
      branch: clean up commit flags after merge-filter walk
      t5304: use test_path_is_* instead of "test -f"
      t5304: use helper to report failure of "test foo = bar"
      test-lib.sh: support -x option for shell-tracing
      color_parse: do not mention variable name in error message
      foreach_alt_odb: propagate return value from callback
      isxdigit: cast input to unsigned char
      object_array: factor out slopbuf-freeing logic
      object_array: add a "clear" function
      clean up name allocation in prepare_revision_walk
      reachable: use traverse_commit_list instead of custom walk
      reachable: reuse revision.c "add all reflogs" code
      prune: factor out loose-object directory traversal
      reachable: mark index blobs as SEEN
      prune-packed: use for_each_loose_file_in_objdir
      count-objects: do not use xsize_t when counting object size
      count-objects: use for_each_loose_file_in_objdir
      sha1_file: add for_each iterators for loose and packed objects
      prune: keep objects reachable from recent objects
      pack-objects: refactor unpack-unreachable expiration check
      pack-objects: match prune logic for discarding objects
      write_sha1_file: freshen existing objects
      make add_object_array_with_context interface more sane
      traverse_commit_list: support pending blobs/trees with paths
      t5516: test pushing a tag of an otherwise unreferenced blob
      rev-list: document --reflog option
      rev-list: add --indexed-objects option
      reachable: use revision machinery's --indexed-objects code
      pack-objects: use argv_array
      repack: pack objects mentioned by the index
      pack-objects: double-check options before discarding objects
      drop add_object_array_with_mode

Johannes Schindelin (6):
      Refactor type_from_string() to allow continuing after detecting an error
      fsck_object(): allow passing object data separately from the object itself
      Make sure fsck_commit_buffer() does not run out of the buffer
      fsck: check tag objects' headers
      Add regression tests for stricter tag fsck'ing
      Make sure that index-pack --strict checks tag objects

Johannes Sixt (3):
      t9300: use test_cmp_bin instead of test_cmp to compare binary files
      mingw.h: add dummy functions for sigset_t operations
      difftool--helper: exit when reading a prompt answer fails

John Szakmeister (1):
      completion: silence "fatal: Not a git repository" error

Jonas 'Sortie' Termansen (3):
      git-compat-util.h: add missing semicolon after struct itimerval
      autoconf: check for struct itimerval
      autoconf: check for setitimer()

Jonathan Nieder (10):
      i18n: treat "make pot" as an explicitly-invoked target
      update-ref --stdin: narrow scope of err strbuf
      update-ref --stdin: pass transaction around explicitly
      pass config slots as pointers instead of offsets
      mv test: recreate mod/ directory instead of relying on stale copy
      branch -d: avoid repeated symref resolution
      packed-ref cache: forbid dot-components in refnames
      refs.c: do not permit err == NULL
      lockfile: remove unable_to_lock_error
      ref_transaction_commit: bail out on failure to remove a ref

Junio C Hamano (55):
      tests: drop GIT_*_TIMING_TESTS environment variable support
      lockfile: allow reopening a closed but still locked file
      test prerequisites: eradicate NOT_FOO
      test prerequisites: enumerate with commas
      config.mak.uname: add hint on uname_R for MacOS X
      Start the post-2.1 cycle
      cache-tree: do not try to use an invalidated subtree info to build a tree
      parse-options: detect attempt to add a duplicate short option name
      Update draft release notes to 2.2
      Update draft release notes to 2.2
      hash-object: reduce file-scope statics
      hash-object: pass 'write_object' as a flag
      hash-object: add --literally option
      t1450: make sure fsck detects a malformed tagger line
      receive-pack: do not overallocate command structure
      receive-pack: parse feature request a bit earlier
      receive-pack: do not reuse old_sha1[] for other things
      receive-pack: factor out queueing of command
      send-pack: move REF_STATUS_REJECT_NODELETE logic a bit higher
      send-pack: refactor decision to send update per ref
      send-pack: always send capabilities
      send-pack: factor out capability string generation
      receive-pack: factor out capability string generation
      send-pack: rename "new_refs" to "need_pack_data"
      send-pack: refactor inspecting and resetting status and sending commands
      send-pack: clarify that cmds_sent is a boolean
      gpg-interface: move parse_gpg_output() to where it should be
      gpg-interface: move parse_signature() to where it should be
      pack-protocol doc: typofix for PKT-LINE
      push: the beginning of "git push --signed"
      receive-pack: GPG-validate push certificates
      send-pack: send feature request on push-cert packet
      signed push: remove duplicated protocol info
      signed push: add "pushee" header to push certificate
      receive-pack: allow hooks to ignore its standard input stream
      signed push: fortify against replay attacks
      signed push: teach smart-HTTP to pass "git push --signed" around
      signed push: allow stale nonce in stateless mode
      Update draft release notes to 2.2
      t7004: give the test a bit more stack space
      Update draft release notes to 2.2
      Update draft release notes to 2.2
      Update draft release notes to 2.2
      completion: use "git -C $there" instead of (cd $there && git ...)
      pack-objects: set number of threads before checking and warning
      t1308: fix broken here document in test script
      Update draft release notes to 2.2
      reflog test: test interaction with detached HEAD
      Revert "archive: honor tar.umask even for pax headers"
      Update draft release notes to 2.2
      mergetool: rename bc3 to bc
      Update draft release notes to 2.2
      Update draft release notes to 2.2
      Update draft release notes to 2.2
      Git 2.2.0-rc0

Kyle J. McKay (1):
      config.mak.uname: set NO_APPLE_COMMON_CRYPTO on older systems

Lawrence Velázquez (1):
      git-svn.txt: Remove mentions of repack options

Linus Arver (7):
      Documentation: git-init: typographical fixes
      Documentation: git-init: list items facelift
      Documentation: git-init: template directory: reword
      Documentation: git-init: --separate-git-dir: clarify
      Documentation: git-init: reword parenthetical statements
      Documentation: git-init: template directory: reword and cross-reference
      Documentation: git-init: flesh out example

Matthias Rüster (2):
      rerere.h: mark string for translation
      builtin/log.c: mark strings for translation

Matthieu Moy (7):
      config --global --edit: create a template file if needed
      home_config_paths(): let the caller ignore xdg path
      commit: advertise config --global --edit on guessed identity
      config.c: mark error and warnings strings for translation
      config.c: fix accuracy of line number in errors
      builtin/log.c: fix minor memory leak
      merge, pull: stop advising 'commit -a' in case of conflict

Max Kirillov (2):
      gitk: Show detached HEAD if --all is specified
      gitk: Remove boilerplate for configuration variables

Maxim Bublis (1):
      contrib/svn-fe: fix Makefile

Michael Haggerty (41):
      unable_to_lock_die(): rename function from unable_to_lock_index_die()
      api-lockfile: revise and expand the documentation
      close_lock_file(): exit (successfully) if file is already closed
      rollback_lock_file(): do not clear filename redundantly
      rollback_lock_file(): exit early if lock is not active
      rollback_lock_file(): set fd to -1
      lockfile: unlock file if lockfile permissions cannot be adjusted
      hold_lock_file_for_append(): release lock on errors
      lock_file(): always initialize and register lock_file object
      lockfile.c: document the various states of lock_file objects
      cache.h: define constants LOCK_SUFFIX and LOCK_SUFFIX_LEN
      delete_ref_loose(): don't muck around in the lock_file's filename
      prepare_index(): declare return value to be (const char *)
      lock_file(): exit early if lockfile cannot be opened
      remove_lock_file(): call rollback_lock_file()
      commit_lock_file(): inline temporary variable
      commit_lock_file(): die() if called for unlocked lockfile object
      close_lock_file(): if close fails, roll back
      commit_lock_file(): rollback lock file on failure to rename
      api-lockfile: document edge cases
      dump_marks(): remove a redundant call to rollback_lock_file()
      git_config_set_multivar_in_file(): avoid call to rollback_lock_file()
      lockfile: avoid transitory invalid states
      struct lock_file: declare some fields volatile
      try_merge_strategy(): remove redundant lock_file allocation
      try_merge_strategy(): use a statically-allocated lock_file object
      commit_lock_file(): use a strbuf to manage temporary space
      lockfile: change lock_file::filename into a strbuf
      resolve_symlink(): use a strbuf for internal scratch space
      resolve_symlink(): take a strbuf parameter
      trim_last_path_component(): replace last_path_elm()
      commit_lock_file_to(): refactor a helper out of commit_lock_file()
      lockfile: rename LOCK_NODEREF to LOCK_NO_DEREF
      lockfile.c: rename static functions
      get_locked_file_path(): new function
      hold_lock_file_for_append(): restore errno before returning
      hold_locked_index(): move from lockfile.c to read-cache.c
      lockfile.h: extract new header file for the functions in lockfile.c
      fdopen_lock_file(): access a lockfile using stdio
      dump_marks(): reimplement using fdopen_lock_file()
      commit_packed_refs(): reimplement using fdopen_lock_file()

Michael J Gruber (2):
      push: heed user.signingkey for signed pushes
      t/lib-gpg: make gpghome files writable

Monard Vong (1):
      git-svn: branch: avoid systematic prompt for cert/pass

Nguyễn Thái Ngọc Duy (16):
      mv: mark strings for translations
      mv: flatten error handling code block
      utf8.c: fix strbuf_utf8_replace() consuming data beyond input string
      wrapper.c: introduce gentle xmallocz that does not die()
      sha1_file.c: do not die failing to malloc in unpack_compressed_entry
      diff.c: allow to pass more flags to diff_populate_filespec
      diff --stat: mark any file larger than core.bigfilethreshold binary
      diff: shortcut for diff'ing two binary SHA-1 objects
      mv: split submodule move preparation code out
      mv: remove an "if" that's always true
      mv: move index search code out
      mv: unindent one level for directory move code
      mv: combine two if(s)
      mv: no SP between function name and the first opening parenthese
      archive: support filtering paths with glob
      dir.c: remove the second declaration of "stk" in prep_exclude()

Pat Thoyts (1):
      Makefile: propagate NATIVE_CRLF to C

Patrick Reynolds (2):
      use a hashmap to make remotes faster
      unblock and unignore SIGPIPE

Philip Oakley (4):
      doc: modernise everyday.txt wording and format in man page style
      doc: Makefile regularise OBSOLETE_HTML list building
      doc: add 'everyday' to 'git help'
      doc: fix 'git status --help' character quoting

Ramsay Jones (1):
      revision: remove definition of unused 'add_object' function

René Scharfe (44):
      strbuf: add strbuf_getcwd()
      unix-sockets: use strbuf_getcwd()
      init: avoid superfluous real_path() calls
      turn path macros into inline function
      run-command: introduce CHILD_PROCESS_INIT
      run-command: introduce child_process_init()
      run-command: call run_command_v_opt_cd_env() instead of duplicating it
      run-command: inline prepare_run_command_v_opt()
      sha1_name: avoid quadratic list insertion in handle_one_ref
      walker: avoid quadratic list insertion in mark_complete
      setup: convert setup_git_directory_gently_1 et al. to strbuf
      abspath: use strbuf_getcwd() to remember original working directory
      abspath: convert real_path_internal() to strbuf
      wrapper: add xgetcwd()
      use xgetcwd() to get the current directory or die
      use xgetcwd() to set $GIT_DIR
      abspath: convert absolute_path() to strbuf
      use strbuf_add_absolute_path() to add absolute paths
      connect: simplify check_ref() using skip_prefix() and starts_with()
      pack-write: simplify index_pack_lockfile using skip_prefix() and xstrfmt()
      config: simplify git_config_include()
      http-walker: simplify process_alternates_response() using strbuf
      merge-tree: remove unused df_conflict arguments
      imap-send: simplify v_issue_imap_cmd() and get_cmd_result() using starts_with()
      trace: correct trace_strbuf() parameter type for !HAVE_VARIADIC_MACROS
      strbuf: export strbuf_addchars()
      strbuf: use strbuf_addchars() for adding a char multiple times
      repack: call prune_packed_objects() and update_server_info() directly
      add macro REALLOC_ARRAY
      use REALLOC_ARRAY for changing the allocation size of arrays
      graph: simplify graph_padding_line()
      remote: simplify match_name_with_pattern() using strbuf
      t0090: avoid passing empty string to printf %d
      sha1-array: add test-sha1-array and basic tests
      sha1-lookup: handle duplicates in sha1_pos()
      bundle: plug minor memory leak in is_tag_in_date_range()
      mailsplit: remove unnecessary unlink(2) call
      use skip_prefix() to avoid more magic numbers
      receive-pack: plug minor memory leak in unpack()
      run-command: add env_array, an optional argv_array for env
      use env_array member of struct child_process
      grep: add color.grep.matchcontext and color.grep.matchselected
      receive-pack: avoid minor leak in case start_async() fails
      api-run-command: add missing list item marker

Robert de Bath (1):
      config.txt: pack.windowmemory limit applies per-thread

Ronnie Sahlberg (38):
      refs.c: change ref_transaction_create to do error checking and return status
      refs.c: update ref_transaction_delete to check for error and return status
      refs.c: make ref_transaction_begin take an err argument
      refs.c: add transaction.status and track OPEN/CLOSED
      tag.c: use ref transactions when doing updates
      replace.c: use the ref transaction functions for updates
      commit.c: use ref transactions for updates
      sequencer.c: use ref transactions for all ref updates
      fast-import.c: change update_branch to use ref transactions
      branch.c: use ref transaction for all ref updates
      refs.c: change update_ref to use a transaction
      receive-pack.c: use a reference transaction for updating the refs
      fast-import.c: use a ref transaction when dumping tags
      walker.c: use ref transaction for ref updates
      refs.c: make lock_ref_sha1 static
      refs.c: remove the update_ref_lock function
      refs.c: remove the update_ref_write function
      refs.c: remove lock_ref_sha1
      refs.c: make prune_ref use a transaction to delete the ref
      refs.c: make delete_ref use a transaction
      wrapper.c: remove/unlink_or_warn: simplify, treat ENOENT as success
      refs.c: lock_ref_sha1_basic is used for all refs
      wrapper.c: add a new function unlink_or_msg
      refs.c: add an err argument to delete_ref_loose
      refs.c: pass the ref log message to _create/delete/update instead of _commit
      rename_ref: don't ask read_ref_full where the ref came from
      refs.c: refuse to lock badly named refs in lock_ref_sha1_basic
      refs.c: call lock_ref_sha1_basic directly from commit
      refs.c: pass a list of names to skip to is_refname_available
      refs.c: ref_transaction_commit: distinguish name conflicts from other errors
      fetch.c: change s_update_ref to use a ref transaction
      refs.c: make write_ref_sha1 static
      refs.c: change resolve_ref_unsafe reading argument to be a flags field
      branch -d: simplify by using RESOLVE_REF_READING
      test: put tests for handling of bad ref names in one place
      refs.c: allow listing and deleting badly named refs
      for-each-ref: skip and warn about broken ref names
      remote rm/prune: print a message when writing packed-refs fails

Sebastian Schuberth (3):
      subtree: add an install-html target
      contacts: add a Makefile to generate docs and install
      gitk: Do not depend on Cygwin's "kill" command on Windows

Sergey Organov (1):
      Documentation/git-rebase.txt: document when --fork-point is auto-enabled

Sergey Senozhatsky (1):
      compat-util: add _DEFAULT_SOURCE define

Stefan Beller (12):
      remote.c: don't leak the base branch name in format_tracking_info
      clone.c: don't leak memory in cmd_clone
      prepare_revision_walk(): check for return value in all places
      builtin/blame.c: add translation to warning about failed revision walk
      mailsplit.c: remove dead code
      help: fix the size passed to qsort
      t9300-fast-import: fix typo in test description
      t6031-test-merge-recursive: do not forget to add file to be committed
      merge-recursive: fix copy-paste mistake
      merge-recursive: remove stale commented debugging code
      transport: free leaking head in transport_print_push_status()
      .mailmap: add Stefan Bellers corporate mail address

Steffen Prohaska (8):
      convert: drop arguments other than 'path' from would_convert_to_git()
      config.c: add git_env_ulong() to parse environment variable
      memory_limit: use git_env_ulong() to parse GIT_ALLOC_LIMIT
      mmap_limit: introduce GIT_MMAP_LIMIT to allow testing expected mmap size
      copy_fd(): do not close the input file descriptor
      convert: stream from fd to required clean filter to reduce used address space
      Documentation: use single-parameter --cacheinfo in example
      sha1_file: don't convert off_t to size_t too early to avoid potential die()

Sveinung Kvilhaugsvik (1):
      git-svn.txt: advertise pushurl with dcommit

Tanay Abhra (24):
      add `config_set` API for caching config-like files
      test-config: add tests for the config_set API
      pretty.c: make git_pretty_formats_config return -1 on git_config_string failure
      add line number and file name info to `config_set`
      change `git_config()` return value to void
      config: add `git_die_config()` to the config-set API
      rewrite git_config() to use the config-set API
      add a test for semantic errors in config files
      add tests for `git_config_get_string_const()`
      daemon.c: replace `git_config()` with `git_config_get_bool()` family
      http-backend.c: replace `git_config()` with `git_config_get_bool()` family
      read-cache.c: replace `git_config()` with `git_config_get_*()` family
      archive.c: replace `git_config()` with `git_config_get_bool()` family
      fetchpack.c: replace `git_config()` with `git_config_get_*()` family
      rerere.c: replace `git_config()` with `git_config_get_*()` family
      builtin/gc.c: replace `git_config()` with `git_config_get_*()` family
      pager.c: replace `git_config()` with `git_config_get_value()`
      imap-send.c: replace `git_config()` with `git_config_get_*()` family
      alias.c: replace `git_config()` with `git_config_get_string()`
      branch.c: replace `git_config()` with `git_config_get_string()
      fast-import.c: replace `git_config()` with `git_config_get_*()` family
      ll-merge.c: refactor `read_merge_config()` to use `git_config_string()`
      merge-recursive.c: replace `git_config()` with `git_config_get_int()`
      builtin/apply.c: replace `git_config()` with `git_config_get_string_const()`

Thomas Braun (2):
      pretty: note that %cd respects the --date= option
      completion: Add --ignore-blank-lines for diff

Tony Finch (2):
      imap-send: clarify CRAM-MD5 vs LOGIN documentation
      imap-send: create target mailbox if it is missing

Torsten Bögershausen (2):
      t0027: Tests for core.eol=native, eol=lf, eol=crlf
      core.filemode may need manual action

W. Trevor King (2):
      pre-push.sample: Write error message to stderr
      t1304: Set LOGNAME even if USER is unset or null

brian m. carlson (8):
      archive: honor tar.umask even for pax headers
      imap-send doc: omit confusing "to use imap-send" modifier
      Documentation: adjust document title underlining
      Documentation: fix mismatched delimiters in git-imap-send
      Documentation: move some AsciiDoc parameters into variables
      Documentation: implement linkgit macro for Asciidoctor
      Documentation: refactor common operations into variables
      Documentation: remove Asciidoctor linkgit macro


Version v2.1.4; changes since v2.1.3:
-------------------------------------

Ben North (1):
      gitignore.txt: fix spelling of "backslash"

Jeff King (9):
      docs/credential-store: s/--store/--file/
      unpack-trees: propagate errors adding entries to the index
      read-tree: add tests for confusing paths like ".." and ".git"
      verify_dotfile(): reject .git case-insensitively
      t1450: refactor ".", "..", and ".git" fsck tests
      fsck: notice .git case-insensitively
      utf8: add is_hfs_dotgit() helper
      read-cache: optionally disallow HFS+ .git variants
      fsck: complain about HFS+ ".git" aliases in trees

Johannes Schindelin (3):
      path: add is_ntfs_dotgit() helper
      read-cache: optionally disallow NTFS .git variants
      fsck: complain about NTFS ".git" aliases in trees

Junio C Hamano (4):
      Git 1.8.5.6
      Git 1.9.5
      Git 2.0.5
      Git 2.1.4

Nicolas Dermine (1):
      config.txt: fix typo

René Scharfe (1):
      clean: use f(void) instead of f() to declare a pointer to a function without arguments

Thomas Quinot (1):
      Documentation/config.txt: fix minor typo


Version v2.1.3; changes since v2.1.2:
-------------------------------------

David Aguilar (1):
      mergetools/meld: make usage of `--output` configurable and more robust

Eric Sunshine (1):
      mailinfo: work around -Wstring-plus-int warning

Jeff King (2):
      mailinfo: make ">From" in-body header check more robust
      pack-objects: turn off bitmaps when we split packs

Junio C Hamano (1):
      Git 2.1.3

René Scharfe (3):
      daemon: handle gethostbyname() error
      daemon: fix error message after bind()
      daemon: remove write-only variable maxfd

Roland Mas (1):
      gitweb: use start_form, not startform that was removed in CGI.pm 4.04

Wieland Hoffmann (1):
      git-tag.txt: Add a missing hyphen to `-s`

brian m. carlson (1):
      Documentation: fix misrender of pretty-formats in Asciidoctor


Version v2.1.2; changes since v2.1.1:
-------------------------------------

Jeff King (5):
      send-pack: take refspecs over stdin
      index-pack: fix race condition with duplicate bases
      fsck: exit with non-zero status upon error from fsck_obj()
      config: avoid a funny sentinel value "a^"
      fsck: return non-zero status on missing ref tips

Junio C Hamano (1):
      Git 2.1.2

Max Kirillov (1):
      reachable.c: add HEAD to reachability starting commits

Maxim Bublis (2):
      t9300: test filedelete command
      fast-import: fix segfault in store_tree()

Phillip Sz (2):
      l10n: de.po: change Email to E-Mail
      l10n: de.po: use comma before "um"

Ralf Thielow (1):
      po/TEAMS: add new member to German translation team

Sergey Organov (2):
      Documentation/git-rebase.txt: -f forces a rebase that would otherwise be a no-op
      Documentation/git-rebase.txt: <upstream> must be given to specify <branch>

Tanay Abhra (1):
      make config --add behave correctly for empty and NULL values


Version v2.1.1; changes since v2.1.0:
-------------------------------------

Alex Henrie (2):
      l10n: Add Catalan translation
      po/TEAMS: Add Catalan team

Alexander Shopov (3):
      l10n: Updated Bulgarian translation of git (2228t,0f,0u)
      l10n: Updated Bulgarian translation of git (2247t,0f,0u)
      l10n: Updated Bulgarian translation of git (2257t,0f,0u)

Edward Thomson (1):
      upload-pack: keep poll(2)'s timeout to -1

Jean-Noël Avila (1):
      l10n: fr.po (2257t) update for version 2.1.0

Jeff King (10):
      revision: drop useless string offset when parsing "--pretty"
      pretty: treat "--format=" as an empty userformat
      pretty: make empty userformats truly empty
      pack-objects: turn off bitmaps when we see --shallow lines
      Makefile: make perf tests optional for profile build
      intersect_paths: respect mode in git's tree-sort
      pack-refs: prune top-level refs like "refs/foo"
      fast-import: clean up pack_data pointer in end_packfile
      fast-import: fix buffer overflow in dump_tags
      git-prompt: do not look for refs/stash in $GIT_DIR

Jiang Xin (2):
      l10n: git.pot: v2.1.0 round 1 (38 new, 9 removed)
      l10n: zh_CN: translations for git v2.1.0-rc0

Jonathan Nieder (2):
      unpack-trees: use 'cuddled' style for if-else cascade
      checkout -m: attempt merge when deletion of path was staged

Junio C Hamano (5):
      config: teach "git -c" to recognize an empty string
      apply: use the right attribute for paths in non-Git patches
      apply: hoist use_patch() helper for path exclusion up
      apply: omit ws check for excluded paths
      Git 2.1.1

Lukas Fleischer (1):
      bundle: fix exclusion of annotated tags

Nguyễn Thái Ngọc Duy (2):
      fetch: convert argv_gc_auto to struct argv_array
      fetch: silence git-gc if --quiet is given

Peter Krefting (2):
      l10n: Fix more typos in the Swedish translations
      l10n: sv.po: Update Swedish translation (2257t0f0u)

Ralf Thielow (4):
      l10n: de.po: fix typo
      l10n: de.po: improve message when switching branches
      l10n: de.po: translate 38 new messages
      po/TEAMS: add new members to German translation team

René Scharfe (1):
      read-cache: check for leading symlinks when refreshing index

Shawn O. Pearce (1):
      Document LF appearing in shallow command during send-pack/receive-pack

Stefan Beller (1):
      unpack-trees: simplify 'all other failures' case

Trần Ngọc Quân (1):
      l10n: vi.po (2257t): Update translation


Version v2.1.0; changes since v2.1.0-rc2:
-----------------------------------------

Alexander Shopov (1):
      gitk: Updated Bulgarian translation (302t,0f,0u)

Johannes Sixt (1):
      tests: fix negated test_i18ngrep calls

Junio C Hamano (1):
      Git 2.1

Max Kirillov (1):
      gitk: Add keybinding to switch to parent commit


Version v2.1.0-rc2; changes since v2.1.0-rc1:
---------------------------------------------

Junio C Hamano (2):
      RelNotes: no more check_ref_format micro-optimization
      Git 2.1-rc2

Marc Branchaud (1):
      Release notes: grammatical fixes

Stefan Beller (1):
      various contrib: Fix links in man pages


Version v2.1.0-rc1; changes since v2.1.0-rc0:
---------------------------------------------

Fabian Ruch (1):
      commit --amend: test specifies authorship but forgets to check

Jeff King (14):
      receive-pack: don't copy "dir" parameter
      free ref string returned by dwim_ref
      transport: fix leaks in refs_from_alternate_cb
      fix memory leak parsing core.commentchar
      apply: avoid possible bogus pointer
      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
      t1402: check for refs ending with a dot
      t4013: test diff-tree's --stdin commit formatting

Johannes Schindelin (1):
      MinGW: Skip test redirecting to fd 4

John Keeping (3):
      completion: complete "unstuck" `git push --recurse-submodules`
      completion: add some missing options to `git push`
      completion: complete `git push --force-with-lease=`

Junio C Hamano (6):
      t9814: fix misconversion from test $a -o $b to test $a || test $b
      Revert "Merge branch 'dt/refs-check-refname-component-sse-fix'"
      Revert "Merge branch 'dt/refs-check-refname-component-sse'"
      Git 2.0.4
      Update draft release notes to 2.1
      Git 2.1.0-rc1

Karsten Blees (16):
      Revert "Windows: teach getenv to do a case-sensitive search"
      Win32: Unicode environment (outgoing)
      Win32: Unicode environment (incoming)
      Win32: fix environment memory leaks
      Win32: unify environment case-sensitivity
      Win32: unify environment function names
      Win32: factor out environment block creation
      Win32: don't copy the environment twice when spawning child processes
      Win32: reduce environment array reallocations
      Win32: use low-level memory allocation during initialization
      Win32: keep the environment sorted
      Win32: patch Windows environment on startup
      Win32: enable color output in Windows cmd.exe
      t0110/MinGW: skip tests that pass arbitrary bytes on the command line
      MinGW: disable legacy encoding tests
      t800[12]: work around MSys limitation

Pat Thoyts (3):
      tests: do not pass iso8859-1 encoded parameter
      t4210: skip command-line encoding tests on mingw
      t9902: mingw-specific fix for gitfile link files

Ramsay Jones (1):
      alloc.c: remove the alloc_raw_commit_node() function

Tanay Abhra (1):
      add documentation for writing config files

Tony Finch (1):
      git-push: fix link in man page


Version v2.1.0-rc0; changes since v2.0.5:
-----------------------------------------

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

Brian Gesiak (2):
      strbuf: use _rtrim and _ltrim in strbuf_trim
      api-strbuf.txt: add docs for _trim and _ltrim

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

Charles Bailey (1):
      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 (5):
      docs: document RUN_SETUP_GENTLY and clarify RUN_SETUP
      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 (61):
      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
      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 (12):
      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
      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

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 (97):
      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
      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
      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
      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
      error_resolve_conflict: rewrap advice message
      error_resolve_conflict: drop quotations around operation
      pack-objects: stop respecting pack.writebitmaps
      repack: simplify handling of --write-bitmap-index
      repack: introduce repack.writeBitmaps config option
      t7700: drop explicit --no-pack-kept-objects from .keep test
      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
      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
      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 (19):
      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

Jeremiah Mahler (4):
      format-patch: add "--signature-file=<file>" option
      t9138-git-svn-authors-prog.sh fixups
      name-hash.c: replace cache_name_compare() with memcmp(3)
      cleanup duplicate name_compare() functions

Johannes Schindelin (1):
      Win32: let mingw_execve() return an int

John Keeping (2):
      rebase--am: use --cherry-pick instead of --ignore-if-in-upstream
      rebase: omit patch-identical commits with --fork-point

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 (37):
      send-email: windows drive prefix (e.g. C:) appears only at the beginning
      mergetool: document the default for --[no-]prompt
      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>"
      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
      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
      Third batch for 2.1
      git-submodule.sh: avoid "echo" path-like values
      Fourth batch for 2.1
      Fifth batch for 2.1
      Sixth batch for 2.1
      Seventh batch for 2.1
      Eighth batch for 2.1
      Ninth batch for 2.1
      Git 2.1.0-rc0

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.

Matthieu Moy (3):
      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

Max Kirillov (4):
      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 (5):
      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

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 (38):
      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
      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

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

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

René Scharfe (22):
      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()
      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()
      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()

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

Ronnie Sahlberg (26):
      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
      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 (1):
      .mailmap: map different names with the same email address together

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

Stepan Kasal (2):
      Revert "submodules: fix ambiguous absolute paths under Windows"
      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 (1):
      http: fix charset detection of extract_content_type()

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


Version v2.0.5; changes since v2.0.4:
-------------------------------------

Jeff King (8):
      unpack-trees: propagate errors adding entries to the index
      read-tree: add tests for confusing paths like ".." and ".git"
      verify_dotfile(): reject .git case-insensitively
      t1450: refactor ".", "..", and ".git" fsck tests
      fsck: notice .git case-insensitively
      utf8: add is_hfs_dotgit() helper
      read-cache: optionally disallow HFS+ .git variants
      fsck: complain about HFS+ ".git" aliases in trees

Johannes Schindelin (3):
      path: add is_ntfs_dotgit() helper
      read-cache: optionally disallow NTFS .git variants
      fsck: complain about NTFS ".git" aliases in trees

Junio C Hamano (3):
      Git 1.8.5.6
      Git 1.9.5
      Git 2.0.5

Wieland Hoffmann (1):
      git-tag.txt: Add a missing hyphen to `-s`


Version v2.0.4; changes since v2.0.3:
-------------------------------------

Fabian Ruch (1):
      commit --amend: test specifies authorship but forgets to check

Jeff King (8):
      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
      t4013: test diff-tree's --stdin commit formatting

Junio C Hamano (1):
      Git 2.0.4

Ramsay Jones (1):
      alloc.c: remove the alloc_raw_commit_node() function


Version v2.0.3; changes since v2.0.2:
-------------------------------------

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

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

Brian Gesiak (12):
      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

Charles Bailey (2):
      compat/bswap.h: detect endianness on more platforms that don't use BYTE_ORDER
      filter-branch: eliminate duplicate mapped parents

Elia Pinto (1):
      scripts: "export VAR=VALUE" construct is not portable

Jeremiah Mahler (3):
      Documentation: wording fixes in the user manual and glossary
      t/t7810-grep.sh: remove duplicate test_config()
      api-strbuf.txt minor typos

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

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

Junio C Hamano (3):
      compat/bswap.h: restore preference __BIG_ENDIAN over BIG_ENDIAN
      scripts: more "export VAR=VALUE" fixes
      Git 2.0.3

Michael J Gruber (1):
      log: correctly identify mergetag signature verification status

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

René Scharfe (2):
      use xcalloc() to allocate zero-initialized memory
      use xmemdupz() to allocate copies of strings given by start and length

Stefan Beller (2):
      git.1: switch homepage for stats
      .mailmap: combine Stefan Beller's emails

Stepan Kasal (1):
      t5000, t5003: do not use test_cmp to compare binary files

Yi EungJun (1):
      http-protocol.txt: Basic Auth is defined in RFC 2617, not RFC 2616

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

brian m. carlson (1):
      Documentation: fix missing text for rev-parse --verify


Version v2.0.2; changes since v2.0.1:
-------------------------------------

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


Version v2.0.1; changes since v2.0.0:
-------------------------------------

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

David Turner (2):
      merge-recursive.c: fix case-changing merge bug
      mv: allow renaming to fix case on case insensitive filesystems

Felipe Contreras (1):
      rerere: fix for merge.conflictstyle

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

Jeff King (7):
      commit: do not complain of empty messages from -C
      index-pack: distinguish missing objects from type errors
      run_diff_files: do not look at uninitialized stat data
      open_sha1_file: report "most interesting" errno
      move "--follow needs one pathspec" rule to diff_setup_done
      t5537: re-drop http tests
      update-index: fix segfault with missing --cacheinfo argument

Jens Lehmann (2):
      status/commit: show staged submodules regardless of ignore config
      commit -m: commit staged submodules regardless of ignore config

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

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

Johannes Schindelin (1):
      git grep -O -i: if the pager is 'less', pass the '-I' option

John Keeping (2):
      completion: add a note that merge options are shared
      completion: add missing options for git-merge

Junio C Hamano (5):
      apply --ignore-space-change: lines with and without leading whitespaces do not match
      Git 1.9.4
      shortlog: allow --exclude=<glob> to be passed
      revision: parse "git log -<count>" more carefully
      Git 2.0.1

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

Matthieu Moy (1):
      rebase -i: test "Nothing to do" case with autostash

Max Kirillov (1):
      git-show: fix 'git show -s' to not add extra terminator after merge commit

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

Nguyễn Thái Ngọc Duy (2):
      index-pack: work around thread-unsafe pread()
      gc --auto: do not lock refs in the background

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

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

René Scharfe (2):
      mailinfo: use strcmp() for string comparison
      pack-objects: use free()+xcalloc() instead of xrealloc()+memset()

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

brian m. carlson (1):
      blame: correctly handle files regardless of autocrlf

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


Version v2.0.0; changes since v2.0.0-rc4:
-----------------------------------------

Junio C Hamano (2):
      Update draft release notes to 2.0
      Git 2.0


Version v2.0.0-rc4; changes since v2.0.0-rc3:
---------------------------------------------

Alexander Shopov (1):
      l10n: Updated Bulgarian translation of git (1307t0f921u)

Anders Kaseorg (1):
      Documentation/technical/api-hashmap: remove source highlighting

Felipe Contreras (2):
      contrib: completion: fix 'eread()' namespace
      contrib: remote-helpers: add move warnings (v2.0)

Grégoire Paris (1):
      fr: a lot of good fixups

Jason St. John (1):
      RelNotes/2.0.0.txt: Fix several grammar issues, notably a lack of hyphens, double quotes, or articles

Jens Lehmann (1):
      git-gui: tolerate major version changes when comparing the git version

Junio C Hamano (5):
      request-pull: resurrect for-linus -> tags/for-linus DWIM
      Revert "Merge branch 'fc/transport-helper-sync-error-fix'"
      remote-helpers: point at their upstream repositories
      Revert "Merge branch 'jc/graduate-remote-hg-bzr' (early part)"
      Git 2.0-rc4

Richard Hansen (1):
      git-prompt.sh: don't assume the shell expands the value of PS1


Version v2.0.0-rc3; changes since v2.0.0-rc2:
---------------------------------------------

Jonathan Nieder (1):
      shell doc: remove stray "+" in example

Junio C Hamano (4):
      Update draft release notes for 2.0
      Start preparing for 1.9.3
      Git 1.9.3
      Git 2.0-rc3

Peter Krefting (1):
      l10n: Fix a couple of typos in the Swedish translation

Tolga Ceylan (1):
      git-p4: format-patch to diff-tree change breaks binary patches

Øyvind A. Holm (1):
      RelNotes/2.0.0: Grammar and typo fixes


Version v2.0.0-rc2; changes since v2.0.0-rc1:
---------------------------------------------

Dave Borowitz (1):
      Makefile: default to -lcurl when no CURL_CONFIG or CURLDIR

Jean-Noël Avila (1):
      l10n: fr translation for v2.0.0rc0 (2228t)

Jeff King (1):
      run_external_diff: use an argv_array for the command line

Jiang Xin (2):
      l10n: git.pot: v2.0.0 round 1 (45 new, 28 removed)
      l10n: zh_CN.po: translate 46 new messages (2229t0f0u)

Junio C Hamano (2):
      Revert the whole "ask curl-config" topic for now
      Git 2.0-rc2

Kyle J. McKay (1):
      t9117: use --prefix "" instead of --prefix=""

Martin Erik Werner (1):
      setup: fix windows path buffer over-stepping

Max Kirillov (1):
      Documentation: git-gui: describe gui.displayuntracked

Peter Krefting (1):
      l10n: Update Swedish translation (2228t0f0u)

Ralf Thielow (3):
      l10n: de.po: correct translation of "completed" after resolving deltas
      l10n: de.po: translate 45 new messages
      l10n: de.po: improve hint for autocorrected command execution

Richard Hansen (1):
      git-prompt.sh: don't put unsanitized branch names in $PS1

Trần Ngọc Quân (1):
      l10n: vi.po (2228t): Update and minor fix


Version v2.0.0-rc1; changes since v2.0.0-rc0:
---------------------------------------------

Dave Borowitz (2):
      Makefile: use curl-config to determine curl flags
      Makefile: allow static linking against libcurl

Elia Pinto (14):
      howto-index.sh: use the $( ... ) construct for command substitution
      install-webdoc.sh: use the $( ... ) construct for command substitution
      git-checkout.sh: use the $( ... ) construct for command substitution
      git-clone.sh: use the $( ... ) construct for command substitution
      git-commit.sh: use the $( ... ) construct for command substitution
      git-fetch.sh: use the $( ... ) construct for command substitution
      git-ls-remote.sh: use the $( ... ) construct for command substitution
      git-merge.sh: use the $( ... ) construct for command substitution
      git-repack.sh: use the $( ... ) construct for command substitution
      git-resolve.sh: use the $( ... ) construct for command substitution
      git-revert.sh: use the $( ... ) construct for command substitution
      git-tag.sh: use the $( ... ) construct for command substitution
      t9360-mw-to-git-clone.sh: use the $( ... ) construct for command substitution
      t9362-mw-to-git-utf8.sh: use the $( ... ) construct for command substitution

Felipe Contreras (6):
      transport-helper: remove barely used xchgline()
      remote-helpers: make recvline return an error
      transport-helper: propagate recvline() error pushing
      transport-helper: trivial cleanup
      transport-helper: fix sync issue on crashes
      t5801 (remote-helpers): cleanup environment sets

Jiang Xin (3):
      i18n: fix uncatchable comments for translators in date.c
      i18n: remove obsolete comments for translators in diffstat generation
      i18n: only extract comments marked with "TRANSLATORS:"

Johan Herland (1):
      Git 2.0: git svn: Set default --prefix='origin/' if --prefix is not given

Junio C Hamano (3):
      i18n: mention "TRANSLATORS:" marker in Documentation/CodingGuidelines
      Update draft release notes to 2.0
      Git 2.0-rc1

Kyle J. McKay (3):
      rebase: avoid non-function use of "return" on FreeBSD
      Revert "rebase: fix run_specific_rebase's use of "return" on FreeBSD"
      ewah_bitmap.c: do not assume size_t and eword_t are the same size


Version v2.0.0-rc0; changes since v1.9.5:
-----------------------------------------

Adam (1):
      branch.c: install_branch_config: simplify if chain

Albert L. Lash, IV (4):
      docs/merge-strategies: remove hyphen from mis-merges
      docs/git-remote: capitalize first word of initial blurb
      docs/git-clone: clarify use of --no-hardlinks option
      docs/git-blame: explain more clearly the example pickaxe use

Andrew Keller (1):
      gitweb: Avoid overflowing page body frame with large images

Astril Hayato (1):
      Documentation/gitk: document the location of the configulation file

Benoit Sigoure (1):
      git-compat-util.h: #undef (v)snprintf before #define them

Brian Bourn (2):
      diff-no-index: rename read_directory()
      diff-no-index: replace manual "."/".." check with is_dot_or_dotdot()

Brian Gesiak (3):
      t3200-branch: test setting branch as own upstream
      branch: use skip_prefix() in install_branch_config()
      rebase: allow "-" short-hand for the previous branch

Charles Bailey (2):
      dir.c: make git_fnmatch() not inline
      tests: don't rely on strerror text when testing rmdir failure

Chris Angelico (1):
      config.txt: third-party tools may and do use their own variables

Chris Packham (2):
      Documentation/git-am: Document supported --patch-format options
      Documentation/git-am: typofix

Christian Couder (1):
      strbuf: remove prefixcmp() and suffixcmp()

David Aguilar (2):
      pull: add pull.ff configuration
      pull: add --ff-only to the help text

David Kastrup (6):
      builtin/blame.c: struct blame_entry does not need a prev link
      builtin/blame.c: eliminate same_suspect()
      builtin/blame.c::prepare_lines: fix allocation size of sb->lineno
      blame.c: prepare_lines should not call xrealloc for every line
      builtin/blame.c::find_copy_in_blob: no need to scan for region end
      skip_prefix(): scan prefix only once

David Tran (1):
      tests: use "env" to run commands with temporary env-var settings

Dirk Wallenstein (1):
      doc: status, remove leftover statement about '#' prefix

Dmitry Marakasov (1):
      configure.ac: link with -liconv for locale_charset()

Dmitry S. Dolzhenko (15):
      commit.c: use the generic "sha1_pos" function for lookup
      builtin/pack-objects.c: use ALLOC_GROW() in check_pbase_path()
      bundle.c: use ALLOC_GROW() in add_to_ref_list()
      cache-tree.c: use ALLOC_GROW() in find_subtree()
      commit.c: use ALLOC_GROW() in register_commit_graft()
      diff.c: use ALLOC_GROW()
      diffcore-rename.c: use ALLOC_GROW()
      patch-ids.c: use ALLOC_GROW() in add_commit()
      replace_object.c: use ALLOC_GROW() in register_replace_object()
      reflog-walk.c: use ALLOC_GROW()
      dir.c: use ALLOC_GROW() in create_simplify()
      attr.c: use ALLOC_GROW() in handle_attr_line()
      builtin/mktree.c: use ALLOC_GROW() in append_to_tree()
      read-cache.c: use ALLOC_GROW() in add_index_entry()
      sha1_file.c: use ALLOC_GROW() in pretend_sha1_file()

Elia Pinto (9):
      bisect.c: reduce scope of variable
      builtin/apply.c: reduce scope of variables
      builtin/blame.c: reduce scope of variables
      builtin/clean.c: reduce scope of variable
      builtin/commit.c: reduce scope of variables
      builtin/fetch.c: reduce scope of variable
      builtin/gc.c: reduce scope of variables
      check-builtins.sh: use the $(...) construct for command substitution
      git-am.sh: use the $(...) construct for command substitution

Eric Sunshine (2):
      name-hash: retire unused index_name_exists()
      sh-i18n--envsubst: retire unused string_list_member()

Fabian Ruch (1):
      add: use struct argv_array in run_add_interactive()

Felipe Contreras (10):
      transport-helper: mismerge fix
      transport-helper: don't update refs in dry-run
      transport-helper: add 'force' to 'export' helpers
      transport-helper: check for 'forced update' message
      remote-helpers: allow all tests running from any dir
      remote-hg: always normalize paths
      remote-bzr: add support for older versions
      completion: fix completing args of aliased "push", "fetch", etc.
      remote-bzr: trivial test fix
      prompt: fix missing file errors in zsh

Hiroyuki Sano (1):
      fsck: use bitwise-or assignment operator to set flag

Ilya Bobyr (1):
      rev-parse --parseopt: option argument name hints

Jacopo Notarstefano (2):
      git-bisect.sh: fix a few style issues
      branch.c: delete size check of newly tracked branch names

Jeff King (43):
      pack-objects: split add_object_entry
      repack: stop using magic number for ARRAY_SIZE(exts)
      repack: turn exts array into array-of-struct
      repack: handle optional files created by pack-objects
      t: add basic bitmap functionality tests
      t/perf: add tests for pack bitmaps
      cat-file: refactor error handling of batch_objects
      cat-file: fix a minor memory leak in batch_objects
      do not discard revindex when re-preparing packfiles
      block-sha1: factor out get_be and put_be wrappers
      read-cache: use get_be32 instead of hand-rolled ntoh_l
      tests: auto-set git-daemon port
      ewah: unconditionally ntohll ewah data
      tests: turn on network daemon tests by default
      http: never use curl_easy_perform
      config: disallow relative include paths from blobs
      docs: clarify remote restrictions for git-upload-archive
      CodingGuidelines: mention C whitespace rules
      repack: add `repack.packKeptObjects` config var
      docs: mark info/grafts as outdated
      match_explicit: hoist refspec lhs checks into their own function
      match_explicit_lhs: allow a "verify only" mode
      push: detect local refspec errors early
      cat-file: restore warn_on_object_refname_ambiguity flag
      rev-list: disable object/refname ambiguity check with --stdin
      pack-objects: show progress for reused packfiles
      pack-objects: show reused packfile objects in "Counting objects"
      pack-objects: turn off bitmaps when skipping objects
      subtree: initialize "prefix" variable
      t/Makefile: stop setting GIT_CONFIG
      t/test-lib: drop redundant unset of GIT_CONFIG
      t: drop useless sane_unset GIT_* calls
      t: stop using GIT_CONFIG to cross repo boundaries
      t: prefer "git config --file" to GIT_CONFIG with test_must_fail
      t: prefer "git config --file" to GIT_CONFIG
      t0001: make symlink reinit test more careful
      t0001: use test_path_is_*
      t0001: use test_config_global
      t0001: use test_must_fail
      t0001: drop useless subshells
      t0001: drop subshells just for "cd"
      pack-objects: do not reuse packfiles without --delta-base-offset
      config.c: mark die_bad_number as NORETURN

Jens Lehmann (2):
      submodule: don't access the .gitmodules cache entry after removing it
      submodule update: consistently document the '--checkout' option

Johan Herland (1):
      notes: disallow reusing non-blob as a note object

Johannes Sixt (11):
      t0008: skip trailing space test on Windows
      userdiff: support C++ ->* and .* operators in the word regexp
      userdiff: support unsigned and long long suffixes of integer constants
      t4018: an infrastructure to test hunk headers
      t4018: convert perl pattern tests to the new infrastructure
      t4018: convert java pattern test to the new infrastructure
      t4018: convert custom pattern test to the new infrastructure
      t4018: reduce test files for pattern compilation tests
      t4018: test cases for the built-in cpp pattern
      t4018: test cases showing that the cpp pattern misses many anchor points
      userdiff: have 'cpp' hunk header pattern catch more C++ anchor points

John Keeping (4):
      notes-utils: handle boolean notes.rewritemode correctly
      utf8: fix iconv error detection
      utf8: use correct type for values in interval table
      builtin/mv: don't use memory after free

John Marshall (1):
      stash doc: mention short form -k in save description

Jonathan Nieder (3):
      am doc: add a pointer to relevant hooks
      .gitignore: test-hashmap is a generated file
      test-hashmap.c: drop unnecessary #includes

Junio C Hamano (34):
      git add <pathspec>... defaults to "-A"
      git add: -u/-A now affects the entire working tree
      core.statinfo: remove as promised in Git 2.0
      push: switch default from "matching" to "simple"
      diff: remove "diff-files -q" in a version of Git in a distant future
      push: switch default from "matching" to "simple"
      open_istream(): do not dereference NULL in the error case
      combine-diff: simplify intersect_paths() further
      commit-tree: add and document --no-gpg-sign
      request-pull: pick up tag message as before
      request-pull: test updates
      request-pull: resurrect "pretty refname" feature
      *.sh: drop useless use of "env"
      tag: grok "--with" as synonym to "--contains"
      Start preparing for Git 2.0
      request-pull: documentation updates
      Update draft release notes to Git 2.0
      Update draft release notes to Git 2.0
      Update draft release notes to 2.0
      t1502: protect runs of SPs used in the indentation
      parse-options: multi-word argh should use dash to separate words
      update-index: teach --cacheinfo a new syntax "mode,sha1,path"
      parse-options: make sure argh string does not have SP or _
      Update draft release notes to 2.0
      Update draft release notes to 2.0
      parse-options: add cast to correct pointer type to OPT_SET_PTR
      Update draft release notes to 2.0
      Revert "Merge branch 'wt/doc-submodule-name-path-confusion-2'"
      Revert "submodule: explicit local branch creation in module_clone"
      Revert part of 384364b (Start preparing for Git 2.0, 2014-03-07)
      Update draft release notes to 2.0
      Update draft release notes to 2.0
      Update draft release notes for 2.0
      Git 2.0-rc0

Karsten Blees (14):
      add a hashtable implementation that supports O(1) removal
      buitin/describe.c: use new hash map implementation
      diffcore-rename.c: move code around to prepare for the next patch
      diffcore-rename.c: simplify finding exact renames
      diffcore-rename.c: use new hash map implementation
      name-hash.c: use new hash map implementation for directories
      name-hash.c: remove unreferenced directory entries
      name-hash.c: use new hash map implementation for cache entries
      name-hash.c: remove cache entries instead of marking them CE_UNHASHED
      remove old hash.[ch] implementation
      fix 'git update-index --verbose --again' output
      builtin/update-index.c: cleanup update_one
      read-cache.c: fix memory leaks caused by removed cache entries
      hashmap.h: use 'unsigned int' for hash-codes everywhere

Kirill A. Shutemov (3):
      builtin/config.c: rename check_blob_write() -> check_write()
      config: change git_config_with_options() interface
      config: teach "git config --file -" to read from the standard input

Kirill Smelkov (10):
      tree-diff: allow diff_tree_sha1 to accept NULL sha1
      tree-diff: convert diff_root_tree_sha1() to just call diff_tree_sha1 with old=NULL
      line-log: convert to using diff_tree_sha1()
      revision: convert to using diff_tree_sha1()
      tree-walk: finally switch over tree descriptors to contain a pre-parsed entry
      diffcore-order: export generic ordering interface
      diff test: add tests for combine-diff with orderfile
      combine-diff: optimize combine_diff_path sets intersection
      combine-diff: combine_diff_path.len is not needed anymore
      tests: add checking that combine-diff emits only correct paths

Lars Gullik Bjønnes (1):
      git-contacts: do not fail parsing of good diffs

Linus Torvalds (2):
      request-pull: more strictly match local/remote branches
      request-pull: allow "local:remote" to specify names on both ends

Marat Radchenko (5):
      MSVC: allow linking with the cURL library
      MSVC: link in invalidcontinue.obj for better POSIX compatibility
      MSVC: fix t0040-parse-options crash
      parse-options: remove unused OPT_SET_PTR
      MSVC: allow using ExtUtils::MakeMaker

Max Horn (2):
      transport-helper.c: do not overwrite forced bit
      remote-hg: do not fail on invalid bookmarks

Michael Haggerty (14):
      rename read_replace_refs to check_replace_refs
      replace_object: use struct members instead of an array
      find_pack_entry(): document last_found_pack
      sha1_file_name(): declare to return a const string
      sha1_file.c: document a bunch of functions defined in the file
      Add docstrings for lookup_replace_object() and do_lookup_replace_object()
      Document some functions defined in object.c
      cache_tree_find(): remove redundant checks
      cache_tree_find(): find the end of path component using strchrnul()
      cache_tree_find(): fix comment formatting
      cache_tree_find(): remove redundant check
      cache_tree_find(): remove early return
      cache_tree_find(): use path variable when passing over slashes
      git-multimail: update to version 1.0.0

Nguyễn Thái Ngọc Duy (24):
      count-objects: recognize .bitmap in garbage-checking
      t7101, t7014: rename test files to indicate what that file is for
      reset: support "--mixed --intent-to-add" mode
      daemon: move daemonize() to libgit.a
      gc: config option for running --auto in background
      dir: warn about trailing spaces in exclude patterns
      dir: ignore trailing spaces in exclude patterns
      wt-status.c: make cut_line[] const to shrink .data section a bit
      wt-status.c: move cut-line print code out to wt_status_add_cut_line
      use wildmatch() directly without fnmatch() wrapper
      Revert "test-wildmatch: add "perf" command to compare wildmatch and fnmatch"
      stop using fnmatch (either native or compat)
      actually remove compat fnmatch source code
      sha1_file: fix delta_stack memory leak in unpack_entry
      i18n: mark all progress lines for translation
      commit: add --cleanup=scissors
      tag: support --sort=<spec>
      strbuf: style fix -- top opening bracket on a separate line
      upload-pack: send shallow info over stdin to pack-objects
      connect.c: SP after "}", not TAB
      object.h: centralize object flag allocation
      log: add --show-linear-break to help see non-linear history
      gc --aggressive: make --depth configurable
      environment.c: fix constness for odb_pack_keep()

Nicolas Vigier (10):
      cherry-pick, revert: add the --gpg-sign option
      git-sh-setup.sh: add variable to use the stuck-long mode
      am: parse options in stuck-long mode
      am: add the --gpg-sign option
      rebase: remove useless arguments check
      rebase: don't try to match -M option
      rebase: parse options in stuck-long mode
      rebase: add the --gpg-sign option
      commit-tree: add the commit.gpgsign option to sign all commits
      test the commit.gpgsign config option

Ralf Thielow (1):
      help.c: rename function "pretty_print_string_list"

René Scharfe (13):
      t7810: add missing variables to tests in loop
      grep: support -h (no header) with --count
      t4209: set up expectations up front
      t4209: factor out helper function test_log()
      t4209: factor out helper function test_log_icase()
      t4209: use helper functions to test --grep
      t4209: use helper functions to test --author
      pickaxe: honor -i when used with -S and --pickaxe-regex
      pickaxe: merge diffcore_pickaxe_grep() and diffcore_pickaxe_count() into diffcore_pickaxe()
      pickaxe: move pickaxe() after pickaxe_match()
      pickaxe: call strlen only when necessary in diffcore_pickaxe_count()
      pickaxe: simplify kwset loop in contains()
      rev-parse: fix typo in example on manpage

Richard Hansen (2):
      test-hg.sh: tests are now expected to pass
      remote-bzr: support the new 'force' option

Richard Lowe (1):
      diffcore.h: be explicit about the signedness of is_binary

Roberto Tyley (1):
      Documentation: fix documentation AsciiDoc links for external urls

Rohit Mani (1):
      use strchrnul() in place of strchr() and strlen()

Scott J. Goldman (1):
      add uploadarchive.allowUnreachable option

Sebastian Schuberth (1):
      t5510: Do not use $(pwd) when fetching / pushing / pulling via rsync

Simon Ruderich (2):
      git-config: document interactive.singlekey requires Term::ReadKey
      git-add--interactive: warn if module for interactive.singlekey is missing

Sun He (3):
      write_pack_file: use correct variable in diagnostic
      finish_tmp_packfile():use strbuf for pathname construction
      Use hashcpy() when copying object names

Sup Yut Sum (1):
      completion: teach --recurse-submodules to fetch, pull and push

Tanay Abhra (1):
      commit.c: use skip_prefix() instead of starts_with()

Tay Ray Chuan (1):
      demonstrate git-commit --dry-run exit code behaviour

Thomas Gummerer (3):
      introduce GIT_INDEX_VERSION environment variable
      test-lib: allow setting the index format version
      read-cache: add index.version config variable

Vicent Marti (16):
      revindex: export new APIs
      pack-objects: refactor the packing list
      pack-objects: factor out name_hash
      revision: allow setting custom limiter function
      sha1_file: export `git_open_noatime`
      compat: add endianness helpers
      ewah: compressed bitmap implementation
      documentation: add documentation for the bitmap format
      pack-bitmap: add support for bitmap indexes
      pack-objects: use bitmaps when packing objects
      rev-list: add bitmap mode to speed up object lists
      pack-objects: implement bitmap writing
      repack: consider bitmaps when performing repacks
      pack-bitmap: implement optional name_hash cache
      ewah: support platforms that require aligned reads
      add `ignore_missing_links` mode to revwalk

Vlad Dogaru (1):
      git-p4: explicitly specify that HEAD is a revision

W. Trevor King (6):
      submodule: make 'checkout' update_module mode more explicit
      submodule: document module_clone arguments in comments
      submodule: explicit local branch creation in module_clone
      Documentation: describe 'submodule update --remote' use case
      doc: submodule.* config are keyed by submodule names
      doc: submodule.*.branch config is keyed by name

Yuxuan Shui (2):
      fsck.c:fsck_ident(): ident points at a const string
      fsck.c:fsck_commit(): use skip_prefix() to verify and skip constant

brian m. carlson (1):
      pull: add the --gpg-sign option.

dequis (1):
      remote-bzr: include authors field in pushed commits

Дилян Палаузов (1):
      Makefile: describe CHARSET_LIB better


Version v1.9.5; changes since v1.9.4:
-------------------------------------

Jeff King (9):
      t7300: repair filesystem permissions with test_when_finished
      unpack-trees: propagate errors adding entries to the index
      read-tree: add tests for confusing paths like ".." and ".git"
      verify_dotfile(): reject .git case-insensitively
      t1450: refactor ".", "..", and ".git" fsck tests
      fsck: notice .git case-insensitively
      utf8: add is_hfs_dotgit() helper
      read-cache: optionally disallow HFS+ .git variants
      fsck: complain about HFS+ ".git" aliases in trees

Johannes Schindelin (3):
      path: add is_ntfs_dotgit() helper
      read-cache: optionally disallow NTFS .git variants
      fsck: complain about NTFS ".git" aliases in trees

Junio C Hamano (2):
      Git 1.8.5.6
      Git 1.9.5

René Scharfe (1):
      annotate: use argv_array

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

Wieland Hoffmann (1):
      git-tag.txt: Add a missing hyphen to `-s`

brian m. carlson (1):
      Documentation: fix missing text for rev-parse --verify


Version v1.9.4; changes since v1.9.3:
-------------------------------------

Junio C Hamano (2):
      t3004: add test for ls-files on symlinks via absolute paths
      Git 1.9.4

Martin Erik Werner (6):
      t0060: add test for prefix_path on symlinks via absolute paths
      t0060: add test for prefix_path when path == work tree
      t0060: add tests for prefix_path when path begins with work tree
      setup: add abspath_part_inside_repo() function
      setup: don't dereference in-tree symlinks for absolute paths
      setup: fix windows path buffer over-stepping

Richard Hansen (1):
      git-prompt.sh: don't assume the shell expands the value of PS1


Version v1.9.3; changes since v1.9.2:
-------------------------------------

Jonathan Nieder (1):
      shell doc: remove stray "+" in example

Junio C Hamano (2):
      Start preparing for 1.9.3
      Git 1.9.3

Kyle J. McKay (4):
      test: fix t7001 cp to use POSIX options
      test: fix t5560 on FreeBSD
      rebase: avoid non-function use of "return" on FreeBSD
      Revert "rebase: fix run_specific_rebase's use of "return" on FreeBSD"

Richard Hansen (1):
      git-prompt.sh: don't put unsanitized branch names in $PS1

Tolga Ceylan (1):
      git-p4: format-patch to diff-tree change breaks binary patches

Torsten Bögershausen (1):
      utf8.c: partially update to version 6.3


Version v1.9.2; changes since v1.9.1:
-------------------------------------

Aman Gupta (1):
      update-ref: fail create operation over stdin if ref already exists

Benoit Pierre (7):
      merge hook tests: fix missing '&&' in test
      merge hook tests: use 'test_must_fail' instead of '!'
      test patch hunk editing with "commit -p -m"
      commit: fix patch hunk editing with "commit -p -m"
      merge: fix GIT_EDITOR override for commit hook
      merge hook tests: fix and update tests
      run-command: mark run_hook_with_custom_index as deprecated

Carlos Martín Nieto (2):
      fetch: add a failing test for prunning with overlapping refspecs
      fetch: handle overlaping refspecs on --prune

Jeff King (6):
      shallow: use stat_validity to check for up-to-date file
      shallow: automatically clean up shallow tempfiles
      t/lib-terminal: make TTY a lazy prerequisite
      shallow: verify shallow file after taking lock
      date: recognize bogus FreeBSD gmtime output
      t4212: loosen far-in-future test for AIX

John Keeping (1):
      builtin/mv: fix out of bounds write

Jonathan Nieder (2):
      wt-status: extract the code to compute width for labels
      wt-status: i18n of section labels

Junio C Hamano (8):
      stash pop: mention we did not drop the stash upon failing to apply
      wt-status: make full label string to be subject to l10n
      wt-status: lift the artificual "at least 20 columns" floor
      index-pack: report error using the correct variable
      diff-no-index: correctly diagnose error return from diff_opt_parse()
      Start preparing for 1.9.1
      Update draft release notes to 1.9.2
      Git 1.9.2

Justin Lebar (4):
      Documentation: fix misuses of "nor"
      contrib: fix misuses of "nor"
      comments: fix misuses of "nor"
      code and test: fix misuses of "nor"

Matthieu Moy (1):
      status: disable translation when --porcelain is used

Michael Haggerty (2):
      checkout_entry(): use the strbuf throughout the function
      entry.c: fix possible buffer overflow in remove_subtree()

Ramkumar Ramachandra (1):
      Documentation/merge-strategies: avoid hyphenated commands

Thomas Ackermann (1):
      doc/http-backend: missing accent grave in literal mark-up

Uwe Storbeck (2):
      rebase -i: do not "echo" random user-supplied strings
      test-lib.sh: do not "echo" caller-supplied strings

brian m. carlson (1):
      mv: prevent mismatched data when ignoring errors.


Version v1.9.1; changes since v1.9.0:
-------------------------------------

Brad King (4):
      t3030-merge-recursive: test known breakage with empty work tree
      read-cache.c: refactor --ignore-missing implementation
      read-cache.c: extend make_cache_entry refresh flag with options
      merge-recursive.c: tolerate missing files while refreshing index

David Aguilar (1):
      difftool: support repositories with .git-files

David Sharp (1):
      rev-parse: check i before using argv[i] against argc

Jeff King (12):
      expand_user_path: do not look at NULL path
      handle_path_include: don't look at NULL value
      tests: auto-set LIB_HTTPD_PORT from test name
      t4212: test bogus timestamps with git-log
      fsck: report integer overflow in author timestamps
      date: check date overflow against time_t
      log: handle integer overflow in timestamps
      log: do not segfault on gmtime errors
      remote: handle pushremote config in any order
      show_ident_date: fix tz range check
      clean: respect pathspecs with "-d"
      clean: simplify dir/not-dir logic

Junio C Hamano (4):
      t0003: do not chdir the whole test process
      check-attr: move to the top of working tree when in non-bare repository
      t7800: add a difftool test for .git-files
      Git 1.9.1

Nguyễn Thái Ngọc Duy (17):
      test: rename http fetch and push test files
      pack-protocol.txt: clarify 'obj-id' in the last ACK after 'done'
      protocol-capabilities.txt: refer multi_ack_detailed back to pack-protocol.txt
      protocol-capabilities.txt: document no-done
      fetch-pack: fix deepen shallow over smart http with no-done cap
      t5537: move http tests out to t5539
      reset: optionally setup worktree and refresh index on --mixed
      pathspec: convert some match_pathspec_depth() to ce_path_match()
      pathspec: convert some match_pathspec_depth() to dir_path_match()
      pathspec: rename match_pathspec_depth() to match_pathspec()
      dir.c: prepare match_pathspec_item for taking more flags
      match_pathspec: match pathspec "foo/" against directory "foo"
      pathspec: pass directory indicator to match_pathspec_item()
      clean: replace match_pathspec() with dir_path_match()
      clean: use cache_name_is_other()
      diff.c: move diffcore_skip_stat_unmatch core logic out for reuse later
      diff: do not quit early on stat-dirty files

Sandy Carter (1):
      i18n: proposed command missing leading dash

Thomas Rast (1):
      diff: do not reuse_worktree_file for submodules


Version v1.9.0; changes since v1.9.0-rc3:
-----------------------------------------

Jean-Noël Avila (1):
      l10n: fr: 1.9rc2 2211t

Jiang Xin (3):
      l10n: git.pot: v1.9 round 2 (1 new)
      l10n: zh_CN.po: translate 1 new message (2211t0f0u)
      l10n: zh_CN.po: Disambiguation for rebase

Junio C Hamano (2):
      Git 1.8.5.5
      Git 1.9.0

Michael J Gruber (1):
      release notes: typo fixes

Peter Krefting (1):
      l10n: Update Swedish translation (2211t0f0u)

Ralf Thielow (2):
      l10n: de.po: translate 28 new messages
      l10n: de.po: correct message when hiding commits by craft

Trần Ngọc Quân (1):
      l10n: vi.po (2211t): Updated one new string


Version v1.9.0-rc3; changes since v1.9-rc2:
-------------------------------------------

Adrian Johnson (1):
      userdiff: update Ada patterns

Junio C Hamano (3):
      Git 1.8.5.4
      howto/maintain-git.txt: new version numbering scheme
      Git 1.9.0-rc3

Nguyễn Thái Ngọc Duy (1):
      git-tag.txt: <commit> for --contains is optional

Torsten Bögershausen (1):
      repack.c: rename and unlink pack file if it exists

Øystein Walle (1):
      Documentation: fix typos in man pages


Version v1.9-rc2; changes since v1.9-rc1:
-----------------------------------------

Alexander Shopov (2):
      po/TEAMS: Added Bulgarian team
      l10n: Bulgarian translation of git (222t21f1967u)

Jean-Noël Avila (1):
      [fr] update french translation 2210/2210

Jiang Xin (3):
      l10n: git.pot: v1.9 round 1 (27 new, 11 removed)
      l10n: zh_CN.po: translate 27 messages (2210t0f0u)
      l10n: remove 2 blank translations on Danish, Dutch

Jonathan Nieder (1):
      pager test: make fake pager consume all its input

Junio C Hamano (1):
      Git 1.9-rc2

Peter Krefting (1):
      l10n: Update Swedish translation (2210t0f0u)

Trần Ngọc Quân (1):
      l10n: vi.po (2210t): Updated git-core translation


Version v1.9-rc1; changes since v1.9-rc0:
-----------------------------------------

Alexander Shopov (4):
      git-gui i18n: Initial glossary in Bulgarian
      git-gui l10n: Add 29 more terms to glossary
      git-gui i18n: Added Bulgarian translation
      gitk: Add Bulgarian translation (304t)

Andy Spencer (1):
      tree_entry_interesting: match against all pathspecs

Anthony Baire (1):
      subtree: fix argument validation in add/pull/push

Astril Hayato (1):
      gitk: Comply with XDG base directory specification

Erik Faye-Lund (2):
      prefer xwrite instead of write
      mingw: remove mingw_write

Jeff King (18):
      fetch-pack: do not filter out one-level refs
      interpret_branch_name: factor out upstream handling
      interpret_branch_name: rename "cp" variable to "at"
      interpret_branch_name: always respect "namelen" parameter
      interpret_branch_name: avoid @{upstream} past colon
      interpret_branch_name: find all possible @-marks
      diff_filespec: reorder dirty_submodule macro definitions
      diff_filespec: drop funcname_pattern_ident field
      diff_filespec: drop xfrm_flags field
      diff_filespec: reorder is_binary field
      diff_filespec: use only 2 bits for is_binary flag
      t/perf: time rev-list with UNINTERESTING commits
      list-objects: only look at cmdline trees with edge_hint
      repack: fix typo in max-pack-size option
      repack: make parsed string options const-correct
      repack: propagate pack-objects options as strings
      t7501: fix "empty commit" test with NO_PERL
      t7700: do not use "touch" unnecessarily

Johannes Sixt (1):
      Makefile: Fix compilation of Windows resource file

John Keeping (3):
      completion: complete merge-base options
      completion: handle --[no-]fork-point options to git-rebase
      Makefile: remove redundant object in git-http{fetch,push}

Jonathan Nieder (3):
      gitignore doc: add global gitignore to synopsis
      git-gui: chmod +x po2msg, windows/git-gui.sh
      gitk: chmod +x po2msg.sh

Junio C Hamano (6):
      Documentation: exclude irrelevant options from "git pull"
      Documentation: "git pull" does not have the "-m" option
      revision: mark contents of an uninteresting tree uninteresting
      revision: propagate flag bits from tags to pointees
      Documentation: make it easier to maintain enumerated documents
      Git 1.9-rc1

Marc Branchaud (1):
      gitk: Replace "next" and "prev" buttons with down and up arrows

Max Kirillov (2):
      git-gui: fallback right pane to packed widgets with Tk 8.4
      gitk: Fix mistype

Michael Haggerty (22):
      safe_create_leading_directories(): fix format of "if" chaining
      safe_create_leading_directories(): reduce scope of local variable
      safe_create_leading_directories(): add explicit "slash" pointer
      safe_create_leading_directories(): rename local variable
      safe_create_leading_directories(): split on first of multiple slashes
      safe_create_leading_directories(): always restore slash at end of loop
      safe_create_leading_directories(): introduce enum for return values
      cmd_init_db(): when creating directories, handle errors conservatively
      safe_create_leading_directories(): add new error value SCLD_VANISHED
      gitattributes: document more clearly where macros are allowed
      refname_match(): always use the rules in ref_rev_parse_rules
      lock_ref_sha1_basic(): on SCLD_VANISHED, retry
      lock_ref_sha1_basic(): if locking fails with ENOENT, retry
      remove_dir_recurse(): tighten condition for removing unreadable dir
      remove_dir_recurse(): handle disappearing files and directories
      rename_ref(): extract function rename_tmp_log()
      rename_tmp_log(): handle a possible mkdir/rmdir race
      rename_tmp_log(): limit the number of remote_empty_directories() attempts
      rename_tmp_log(): on SCLD_VANISHED, retry
      safe_create_leading_directories(): on Windows, \ can separate path components
      Add cross-references between docs for for-each-ref and show-ref
      doc: remote author/documentation sections from more pages

Nguyễn Thái Ngọc Duy (1):
      tree-walk.c: ignore trailing slash on submodule in tree_entry_interesting()

Pat Thoyts (1):
      git-gui 0.19

Paul Mackerras (2):
      gitk: Update copyright dates
      gitk: Indent word-wrapped lines in commit display header

Pete Wyckoff (11):
      git p4 test: wildcards are supported
      git p4 test: ensure p4 symlink parsing works
      git p4: work around p4 bug that causes empty symlinks
      git p4 test: explicitly check p4 wildcard delete
      git p4 test: is_cli_file_writeable succeeds
      git p4 test: run as user "author"
      git p4 test: do not pollute /tmp
      git p4: handle files with wildcards when doing RCS scrubbing
      git p4: fix an error message when "p4 where" fails
      git p4 test: examine behavior with locked (+l) files
      git p4 doc: use two-line style for options with multiple spellings

Ruben Kerkhof (1):
      send-email: /etc/ssl/certs/ directory may not be usable as ca_path

Thomas Ackermann (2):
      create HTML for http-protocol.txt
      http-protocol.txt: don't use uppercase for variable names in "The Negotiation Algorithm"

Thomas Rast (2):
      Documentation/gitk: document -L option
      Documentation: @{-N} can refer to a commit

lin zuojian (1):
      git-svn: memoize _rev_list and rebuild


Version v1.9-rc0; changes since v1.8.5.6:
-----------------------------------------

Anders Kaseorg (1):
      submodule foreach: skip eval for more than one argument

Antoine Pelisse (2):
      Prevent buffer overflows when path is too long
      remote-hg: test 'shared_path' in a moved clone

Benny Siegert (1):
      Add MirBSD support to the build system.

Brodie Rao (1):
      sha1_name: don't resolve refs when core.warnambiguousrefs is false

Carlos Martín Nieto (1):
      send-pack: don't send a thin pack to a server which doesn't support it

Christian Couder (15):
      environment: normalize use of prefixcmp() by removing " != 0"
      builtin/remote: remove postfixcmp() and use suffixcmp() instead
      strbuf: introduce starts_with() and ends_with()
      replace {pre,suf}fixcmp() with {starts,ends}_with()
      rename READ_SHA1_FILE_REPLACE flag to LOOKUP_REPLACE_OBJECT
      replace_object: don't check read_replace_refs twice
      sha1_file.c: add lookup_replace_object_extended() to pass flags
      sha1_object_info_extended(): add an "unsigned flags" parameter
      t6050: show that git cat-file --batch fails with replace objects
      sha1_file: perform object replacement in sha1_object_info_extended()
      builtin/replace: teach listing using short, medium or full formats
      t6050: add tests for listing with --format
      builtin/replace: unset read_replace_refs
      Documentation/git-replace: describe --format option
      replace info: rename 'full' to 'long' and clarify in-code symbols

Crestez Dan Leonard (1):
      git p4: Use git diff-tree instead of format-patch

Felipe Contreras (9):
      test-lib.sh: convert $TEST_DIRECTORY to an absolute path
      test-bzr.sh, test-hg.sh: allow running from any dir
      remote-helpers: add extra safety checks
      remote-hg: fix 'shared path' path
      remote-hg: add tests for special filenames
      abspath: trivial style fix
      t: trivial whitespace cleanups
      fetch: add missing documentation
      remote: fix status with branch...rebase=preserve

Francesco Pretto (1):
      git-submodule.sh: 'checkout' is a valid update mode

Greg Jacobson (1):
      push: enhance unspecified push default warning

Jeff King (24):
      log_tree_diff: die when we fail to parse a commit
      assume parse_commit checks commit->object.parsed
      assume parse_commit checks for NULL commit
      use parse_commit_or_die instead of segfaulting
      use parse_commit_or_die instead of custom message
      checkout: do not die when leaving broken detached HEAD
      sha1write: make buffer const-correct
      use @@PERL@@ in built scripts
      http: return curl's AUTHAVAIL via slot_results
      remote-curl: pass curl slot_results back through run_slot
      drop support for "experimental" loose objects
      t5000: simplify gzip prerequisite checks
      pack-objects: name pack files after trailer hash
      pack-objects doc: treat output filename as opaque
      diff.c: fix some recent whitespace style violations
      builtin/prune.c: use strbuf to avoid having to worry about PATH_MAX
      do not pretend sha1write returns errors
      sha1_object_info_extended: provide delta base sha1s
      cat-file: provide %(deltabase) batch format
      use distinct username/password for http auth tests
      t0000: set TEST_OUTPUT_DIRECTORY for sub-tests
      t0000: simplify HARNESS_ACTIVE hack
      t0000: drop "known breakage" test
      t5531: further "matching" fixups

Jens Lehmann (3):
      submodule update: remove unnecessary orig_flags variable
      mv: better document side effects when moving a submodule
      rm: better document side effects when removing a submodule

Johannes Sixt (1):
      document --exclude option

John Keeping (8):
      repo-config: remove deprecated alias for "git config"
      tar-tree: remove deprecated command
      lost-found: remove deprecated command
      peek-remote: remove deprecated alias of ls-remote
      pull: use merge-base --fork-point when appropriate
      rebase: use reflog to find common base with upstream
      rebase: fix fork-point with zero arguments
      pull: suppress error when no remoteref is found

John Murphy (1):
      git-gui: corrected setup of git worktree under cygwin.

John Szakmeister (1):
      contrib/git-credential-gnome-keyring.c: small stylistic cleanups

Jonathan Nieder (16):
      git-remote-mediawiki: do not remove installed files in "clean" target
      git-remote-mediawiki: honor DESTDIR in "make install"
      git-remote-mediawiki build: make 'install' command configurable
      git-remote-mediawiki build: handle DESTDIR/INSTLIBDIR with whitespace
      Makefile: rebuild perl scripts when perl paths change
      Makefile: add PERLLIB_EXTRA variable that adds to default perl path
      mark Windows build scripts executable
      mark perl test scripts executable
      mark contributed hooks executable
      contrib: remove git-p4import
      test: make FILEMODE a lazy prereq
      test: replace shebangs with descriptions in shell libraries
      remove #!interpreter line from shell libraries
      stop installing git-tar-tree link
      pager: set LV=-c alongside LESS=FRSX
      diff test: reading a directory as a file need not error out

Junio C Hamano (17):
      revision: introduce --exclude=<glob> to tame wildcards
      merge-base: use OPT_CMDMODE and clarify the command line parsing
      merge-base: teach "--fork-point" mode
      rev-list --exclude: tests
      rev-list --exclude: export add/clear-ref-exclusion and ref-excluded API
      rev-parse: introduce --exclude=<glob> to tame wildcards
      bundle: use argv-array
      builtin/push.c: use strbuf instead of manual allocation
      push: use remote.$name.push as a refmap
      push: also use "upstream" mapping when pushing a single ref
      Start 1.9 cycle
      Update draft release notes to 1.9
      prune-packed: use strbuf to avoid having to worry about PATH_MAX
      Update draft release notes to 1.9
      Update draft release notes to 1.9
      Update draft release notes to 1.9
      Git 1.9-rc0

Karsten Blees (1):
      gitignore.txt: clarify recursive nature of excluded directories

Krzesimir Nowak (4):
      gitweb: Move check-ref-format code into separate function
      gitweb: Return 1 on validation success instead of passed input
      gitweb: Add a feature for adding more branch refs
      gitweb: Denote non-heads, non-remotes branches

Mads Dørup (1):
      git-gui: Improve font rendering on retina macbooks

Masanari Iida (1):
      git-gui: correct spelling errors in comments

Max Kirillov (2):
      git-gui: Add gui.displayuntracked option
      git-gui: right half window is paned

Michael Haggerty (26):
      t5510: use the correct tag name in test
      t5510: prepare test refs more straightforwardly
      t5510: check that "git fetch --prune --tags" does not prune branches
      api-remote.txt: correct section "struct refspec"
      get_ref_map(): rename local variables
      builtin/fetch.c: reorder function definitions
      get_expanded_map(): add docstring
      get_expanded_map(): avoid memory leak
      fetch: only opportunistically update references based on command line
      fetch --tags: fetch tags *in addition to* other stuff
      fetch --prune: prune only based on explicit refspecs
      query_refspecs(): move some constants out of the loop
      builtin/remote.c: reorder function definitions
      builtin/remote.c:update(): use struct argv_array
      fetch, remote: properly convey --no-prune options to subprocesses
      fetch-options.txt: simplify ifdef/ifndef/endif usage
      git-fetch.txt: improve description of tag auto-following
      ref_remove_duplicates(): avoid redundant bisection
      t5536: new test of refspec conflicts when fetching
      ref_remove_duplicates(): simplify loop logic
      ref_remote_duplicates(): extract a function handle_duplicate()
      handle_duplicate(): mark error message for translation
      fetch: improve the error messages emitted for conflicting refspecs
      shorten_unambiguous_ref(): introduce a new local variable
      gen_scanf_fmt(): delete function and use snprintf() instead
      shorten_unambiguous_ref(): tighten up pointer arithmetic

Nguyễn Thái Ngọc Duy (36):
      wt-status: take the alignment burden off translators
      gettext.c: detect the vsnprintf bug at runtime
      glossary-content.txt: rephrase magic signature part
      Support pathspec magic :(exclude) and its short form :!
      pathspec.c: support adding prefix magic to a pathspec with mnemonic magic
      parse-options: remove OPT_BOOLEAN
      transport.h: remove send_pack prototype, already defined in send-pack.h
      remote.h: replace struct extra_have_objects with struct sha1_array
      send-pack: forbid pushing from a shallow repository
      clone: prevent --reference to a shallow repository
      make the sender advertise shallow commits to the receiver
      connect.c: teach get_remote_heads to parse "shallow" lines
      shallow.c: extend setup_*_shallow() to accept extra shallow commits
      shallow.c: the 8 steps to select new commits for .git/shallow
      shallow.c: steps 6 and 7 to select new commits for .git/shallow
      fetch-pack.c: move shallow update code out of fetch_pack()
      fetch-pack.h: one statement per bitfield declaration
      clone: support remote shallow repository
      fetch: support fetching from a shallow repository
      upload-pack: make sure deepening preserves shallow roots
      fetch: add --update-shallow to accept refs that update .git/shallow
      receive-pack: reorder some code in unpack()
      receive/send-pack: support pushing from a shallow clone
      add GIT_SHALLOW_FILE to propagate --shallow-file to subprocesses
      connected.c: add new variant that runs with --shallow-file
      receive-pack: allow pushes that update .git/shallow
      send-pack: support pushing to a shallow clone
      remote-curl: pass ref SHA-1 to fetch-pack as well
      smart-http: support shallow fetch/clone
      receive-pack: support pushing to a shallow clone via http
      send-pack: support pushing from a shallow clone via http
      clone: use git protocol for cloning shallow repo locally
      prune: clean .git/shallow after pruning objects
      git-clone.txt: remove shallow clone limitations
      commit.c: make "tree" a const pointer in commit_tree*()
      t5537: fix incorrect expectation in test case 10

Nicolas Vigier (2):
      Use the word 'stuck' instead of 'sticked'
      rev-parse --parseopt: add the --stuck-long mode

Pat Thoyts (3):
      git-gui: added gui.maxrecentrepo to extend the number of remembered repos
      git-gui: show the maxrecentrepo config option in the preferences dialog
      git-gui: add menu item to launch a bash shell on Windows.

Paul Mackerras (1):
      gitk: Tag display improvements

Ramkumar Ramachandra (11):
      t6300 (for-each-ref): clearly demarcate setup
      t6300 (for-each-ref): don't hardcode SHA-1 hexes
      for-each-ref: introduce %(HEAD) asterisk marker
      for-each-ref: introduce %(upstream:track[short])
      for-each-ref: introduce %(color:...) for color
      for-each-ref: avoid color leakage
      zsh completion: find matching custom bash completion
      completion: introduce __gitcomp_nl_append ()
      completion: fix branch.autosetup(merge|rebase)
      completion: fix remote.pushdefault
      completion: complete format.coverLetter

Ramsay Jones (2):
      send-pack.c: mark a file-local function static
      shallow: remove unused code

Richard Hansen (6):
      test-bzr.sh, test-hg.sh: prepare for change to push.default=simple
      test-hg.sh: eliminate 'local' bashism
      test-hg.sh: avoid obsolete 'test' syntax
      test-hg.sh: fix duplicate content strings in author tests
      test-hg.sh: help user correlate verbose output with email test
      remote-bzr, remote-hg: fix email address regular expression

Roberto Tyley (1):
      docs: add filter-branch notes on The BFG

Roman Kagan (1):
      git-svn: workaround for a bug in svn serf backend

Samuel Bronson (3):
      t4056: add new tests for "git diff -O"
      diff: let "git diff -O" read orderfile from any file and fail properly
      diff: add diff.orderfile configuration variable

Sebastian Schuberth (3):
      git.c: consistently use the term "builtin" instead of "internal command"
      builtin/help.c: call load_command_list() only when it is needed
      builtin/help.c: speed up is_git_command() by checking for builtin commands first

Thomas Ackermann (1):
      user-manual: improve html and pdf formatting

Thomas Gummerer (4):
      diff: move no-index detection to builtin/diff.c
      diff: don't read index when --no-index is given
      diff: add test for --no-index executed outside repo
      diff: avoid some nesting

Thomas Rast (9):
      commit-slab: document clear_$slabname()
      commit-slab: declare functions "static inline"
      gitk: Support -G option from the command line
      gitk: Refactor per-line part of getblobdiffline and its support
      gitk: Split out diff part in $commitinfo
      gitk: Support showing the gathered inline diffs
      gitk: Recognize -L option
      commit-slab: sizeof() the right type in xrealloc
      config: arbitrary number of matches for --unset and --replace-all

Tom Miller (2):
      fetch --prune: always print header url
      fetch --prune: Run prune before fetching

Vasily Makarov (1):
      get_octopus_merge_bases(): cleanup redundant variable

Zoltan Klinger (1):
      difftool: display the number of files in the diff queue in the prompt

brian m. carlson (2):
      remote-curl: fix large pushes with GSSAPI
      Documentation: document pitfalls with 3-way merge

jcb91 (1):
      remote-hg: avoid buggy strftime()


Version v1.8.5.6; changes since v1.8.5.5:
-----------------------------------------

Jeff King (9):
      t7300: repair filesystem permissions with test_when_finished
      unpack-trees: propagate errors adding entries to the index
      read-tree: add tests for confusing paths like ".." and ".git"
      verify_dotfile(): reject .git case-insensitively
      t1450: refactor ".", "..", and ".git" fsck tests
      fsck: notice .git case-insensitively
      utf8: add is_hfs_dotgit() helper
      read-cache: optionally disallow HFS+ .git variants
      fsck: complain about HFS+ ".git" aliases in trees

Johannes Schindelin (3):
      path: add is_ntfs_dotgit() helper
      read-cache: optionally disallow NTFS .git variants
      fsck: complain about NTFS ".git" aliases in trees

Junio C Hamano (1):
      Git 1.8.5.6

René Scharfe (1):
      annotate: use argv_array

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

Wieland Hoffmann (1):
      git-tag.txt: Add a missing hyphen to `-s`

brian m. carlson (1):
      Documentation: fix missing text for rev-parse --verify


Version v1.8.5.5; changes since v1.8.5.4:
-----------------------------------------

Andy Spencer (1):
      tree_entry_interesting: match against all pathspecs

Jeff King (9):
      fetch-pack: do not filter out one-level refs
      interpret_branch_name: factor out upstream handling
      interpret_branch_name: rename "cp" variable to "at"
      interpret_branch_name: always respect "namelen" parameter
      interpret_branch_name: avoid @{upstream} past colon
      interpret_branch_name: find all possible @-marks
      repack: fix typo in max-pack-size option
      repack: make parsed string options const-correct
      repack: propagate pack-objects options as strings

Junio C Hamano (5):
      merge-base: separate "--independent" codepath into its own helper
      merge-base --octopus: reduce the result from get_octopus_merge_bases()
      revision: mark contents of an uninteresting tree uninteresting
      revision: propagate flag bits from tags to pointees
      Git 1.8.5.5

Ruben Kerkhof (1):
      send-email: /etc/ssl/certs/ directory may not be usable as ca_path


Version v1.8.5.4; changes since v1.8.5.3:
-----------------------------------------

Jens Lehmann (1):
      commit -v: strip diffs and submodule shortlogs from the commit message

Johannes Schindelin (1):
      Remove the line length limit for graft files

Johannes Sixt (2):
      git_connect: remove artificial limit of a remote command
      git_connect: factor out discovery of the protocol and its parts

Junio C Hamano (4):
      get_max_fd_limit(): fall back to OPEN_MAX upon getrlimit/sysconf failure
      Documentation: exclude irrelevant options from "git pull"
      Documentation: "git pull" does not have the "-m" option
      Git 1.8.5.4

Nguyễn Thái Ngọc Duy (2):
      clone,fetch: catch non positive --depth option value
      add: don't complain when adding empty project root

Roman Kagan (1):
      git-svn: workaround for a bug in svn serf backend

Thomas Rast (3):
      send-email: pass Debug to Net::SMTP::SSL::new
      send-email: --smtp-ssl-cert-path takes an argument
      send-email: set SSL options through IO::Socket::SSL::set_client_defaults

Torsten Bögershausen (8):
      t5601: remove clear_ssh, refactor setup_ssh_wrapper
      t5601: add tests for ssh
      git fetch-pack: add --diag-url
      t5500: add test cases for diag-url
      git fetch: support host:/~repo
      git_connect(): refactor the port handling for ssh
      connect.c: refactor url parsing
      git_connect(): use common return point

brian m. carlson (1):
      log: properly handle decorations with chained tags

Øystein Walle (1):
      stash: handle specifying stashes with $IFS


Version v1.8.5.3; changes since v1.8.5.2:
-----------------------------------------

Jeff King (5):
      rev-parse: correctly diagnose revision errors before "--"
      rev-parse: be more careful with munging arguments
      cat-file: pass expand_data to print_object_or_die
      cat-file: handle --batch format with missing type/size
      Revert "prompt: clean up strbuf usage"

Johannes Sixt (1):
      mv: let 'git mv file no-such-dir/' error out on Windows, too

Junio C Hamano (1):
      Git 1.8.5.3

Kyle J. McKay (1):
      gc: notice gc processes run by other users

Matthieu Moy (1):
      mv: let 'git mv file no-such-dir/' error out

Nguyễn Thái Ngọc Duy (1):
      daemon: be strict at parsing parameters --[no-]informative-errors

Ralf Thielow (1):
      l10n: de.po: fix translation of 'prefix'

Ramkumar Ramachandra (1):
      for-each-ref: remove unused variable

Thomas Ackermann (1):
      pack-heuristics.txt: mark up the file header properly

W. Trevor King (1):
      Documentation/gitmodules: Only 'update' and 'url' are required


Version v1.8.5.2; changes since v1.8.5.1:
-----------------------------------------

Jason St. John (6):
      Documentation/git-log: update "--log-size" description
      Documentation/git-log.txt: mark-up fix and minor rephasing
      State correct usage of literal examples in man pages in the coding standards
      Documentation/rev-list-options.txt: fix mark-up
      Documentation/rev-list-options.txt: fix some grammatical issues and typos
      Documentation/gitcli.txt: fix double quotes

Jeff King (1):
      unpack-trees: fix "read-tree -u --reset A B" with conflicted index

Johan Herland (1):
      sha1_file.c:create_tmpfile(): Fix race when creating loose object dirs

Junio C Hamano (4):
      t1005: reindent
      t1005: add test for "read-tree --reset -u A B"
      sha1_loose_object_info(): do not return success on missing object
      Git 1.8.5.2

Masanari Iida (3):
      typofixes: fix misspelt comments
      Documentation/technical/http-protocol.txt: typofixes
      contrib: typofixes

Michael Haggerty (1):
      cmd_repack(): remove redundant local variable "nr_packs"

Nguyễn Thái Ngọc Duy (2):
      diff: restrict pathspec limitations to diff b/f case only
      glossary-content.txt: fix documentation of "**" patterns

René Scharfe (1):
      SubmittingPatches: document how to handle multiple patches

Thomas Rast (1):
      Documentation: revamp git-cherry(1)

Torsten Bögershausen (1):
      git-fetch-pack uses URLs like git-fetch


Version v1.8.5.1; changes since v1.8.5:
---------------------------------------

Junio C Hamano (3):
      submodule: do not copy unknown update mode from .gitmodules
      Git 1.8.4.5
      Git 1.8.5.1

Nick Townsend (1):
      ref-iteration doc: add_submodule_odb() returns 0 for success


Version v1.8.5; changes since v1.8.5-rc3:
-----------------------------------------

Junio C Hamano (1):
      Git 1.8.5

Richard Hansen (2):
      remote-hg: don't decode UTF-8 paths into Unicode objects
      remote-hg: don't decode UTF-8 paths into Unicode objects


Version v1.8.5-rc3; changes since v1.8.5-rc2:
---------------------------------------------

Junio C Hamano (3):
      Revert "upload-pack: send non-HEAD symbolic refs"
      Git 1.8.4.4
      Git 1.8.5-rc3

Marc Branchaud (1):
      RelNotes: spelling & grammar fixes

Nguyễn Thái Ngọc Duy (1):
      pathspec: stop --*-pathspecs impact on internal parse_pathspec() uses

Torstein Hegge (1):
      branch: fix --verbose output column alignment


Version v1.8.5-rc2; changes since v1.8.5-rc1:
---------------------------------------------

Jason St. John (1):
      Correct word usage of "timezone" in "Documentation" directory

Jean-Noël Avila (1):
      l10n: fr.po 2194/1294 messages translated

Jiang Xin (2):
      l10n: git.pot: v1.8.5 round 1 (68 new, 9 removed)
      l10n: zh_CN.po: translate 68 messages (2194t0f0u)

Junio C Hamano (3):
      Start preparing for 1.8.4.3
      Git 1.8.4.3
      Git 1.8.5-rc2

Karsten Blees (1):
      gitignore.txt: fix documentation of "**" patterns

Peter Krefting (1):
      l10n: Update Swedish translation (2194t0f0u)

Ralf Thielow (3):
      po/TEAMS: update Thomas Rast's email address
      l10n: de.po: translate 68 new messages
      l10n: de.po: improve error message when pushing to unknown upstream

Trần Ngọc Quân (1):
      l10n: vi.po (2194t): Update and minor fix


Version v1.8.5-rc1; changes since v1.8.5-rc0:
---------------------------------------------

Anders Kaseorg (1):
      cvsserver: Determinize output to combat Perl 5.18 hash randomization

Antoine Pelisse (1):
      remote-hg: unquote C-style paths when exporting

Ben Walton (2):
      Change sed i\ usage to something Solaris' sed can handle
      Avoid difference in tr semantics between System V and BSD

Felipe Contreras (12):
      merge: simplify ff-only option
      t: replace pulls with merges
      revision: add missing include
      branch: trivial style fix
      sha1-name: trivial style cleanup
      transport-helper: trivial style fix
      describe: trivial style fixes
      pretty: trivial style fix
      revision: trivial style fixes
      diff: trivial style fix
      run-command: trivial style fixes
      setup: trivial style fixes

Jeff King (7):
      add-interactive: handle unborn branch in patch mode
      reset: pass real rev name to add--interactive
      howto: add article on recovering a corrupted object
      t: provide a perl() function which uses $PERL_PATH
      t: use perl instead of "$PERL_PATH" where applicable
      for-each-ref: avoid loading objects to print %(objectname)
      subtree: add makefile target for html docs

Jens Lehmann (1):
      mv: Fix spurious warning when moving a file in presence of submodules

Johannes Sixt (4):
      t5300-pack-object: do not compare binary data using test_cmp
      Windows: a test_cmp that is agnostic to random LF <> CRLF conversions
      tests: undo special treatment of CRLF for Windows
      t3200: do not open a HTML manual page when DEFAULT_MAN_FORMAT is html

Jonathan Nieder (1):
      t/README: tests can use perl even with NO_PERL

Junio C Hamano (5):
      doc/pull: clarify the illustrations
      Update draft release notes to 1.8.5
      t4015: simplify sed command that is not even seen by sed
      Update draft release notes to 1.8.5
      Git 1.8.5-rc1

Kacper Kornet (1):
      Fix '\%o' for printf from coreutils

Rüdiger Sonderfeld (1):
      web--browse: Add support for xdg-open

Sitaram Chamarty (1):
      doc/howto: warn about (dumb)http server document being too old

Stefan Beller (2):
      refs: remove unused function invalidate_ref_cache
      cache: remove unused function 'have_git_dir'

Vivien Didelot (2):
      Documentation: restore a space in unpack-objects usage
      Documentation: "pack-file" is not literal in unpack-objects


Version v1.8.5-rc0; changes since v1.8.4.5:
-------------------------------------------

Alexandru Juncu (1):
      git-p4: Fix occasional truncation of symlink contents.

Antoine Pelisse (1):
      remote-hg: fix path when cloning with tilde expansion

Brad King (8):
      reset: rename update_refs to reset_refs
      refs: report ref type from lock_any_ref_for_update
      refs: factor update_ref steps into helpers
      refs: factor delete_ref loose ref step into a helper
      refs: add function to repack without multiple refs
      refs: add update_refs for multiple simultaneous updates
      update-ref: support multiple simultaneous updates
      update-ref: add test cases covering --stdin signature

Brandon Casey (18):
      sha1_file: introduce close_one_pack() to close packs on fd pressure
      Don't close pack fd when free'ing pack windows
      contrib/git-credential-gnome-keyring.c: remove unnecessary pre-declarations
      contrib/git-credential-gnome-keyring.c: remove unused die() function
      contrib/git-credential-gnome-keyring.c: *style* use "if ()" not "if()" etc.
      contrib/git-credential-gnome-keyring.c: add static where applicable
      contrib/git-credential-gnome-keyring.c: exit non-zero when called incorrectly
      contrib/git-credential-gnome-keyring.c: strlen() returns size_t, not ssize_t
      contrib/git-credential-gnome-keyring.c: ensure buffer is non-empty before accessing
      contrib/git-credential-gnome-keyring.c: set Gnome application name
      contrib/git-credential-gnome-keyring.c: use gnome helpers in keyring_object()
      contrib/git-credential-gnome-keyring.c: use secure memory functions for passwds
      contrib/git-credential-gnome-keyring.c: use secure memory for reading passwords
      contrib/git-credential-gnome-keyring.c: use glib memory allocation functions
      contrib/git-credential-gnome-keyring.c: use glib messaging functions
      contrib/git-credential-gnome-keyring.c: report failure to store password
      contrib/git-credential-gnome-keyring.c: support ancient gnome-keyring
      contrib/git-credential-gnome-keyring.c: support really ancient gnome-keyring

Brian Gernhardt (3):
      Makefile: Fix APPLE_COMMON_CRYPTO with BLK_SHA1
      OS X: Fix redeclaration of die warning
      t5551: Remove header from curl cookie file

Christian Couder (7):
      replace: forbid replacing an object with one of a different type
      Documentation/replace: state that objects must be of the same type
      t6050-replace: test that objects are of the same type
      t6050-replace: add test to clean up all the replace refs
      Documentation/replace: add Creating Replacement Objects section
      replace: allow long option names
      t6050-replace: use some long option names

Dale R. Worley (2):
      t0070: test that git_mkstemps correctly checks return value of open()
      diff --no-index: clarify operation when not inside a repository

Dave Borowitz (1):
      http: add http.savecookies option to write out HTTP cookies

Dave Williams (1):
      check-ignore: Add option to ignore index contents

Eric Sunshine (36):
      t8001/t8002: blame: decompose overly-large test
      t8001/t8002: blame: demonstrate -L bounds checking bug
      t8001/t8002: blame: add empty file & partial-line tests
      blame: fix -L bounds checking bug
      t4211: log: demonstrate -L bounds checking bug
      t4211: retire soon-to-be unimplementable tests
      log: fix -L bounds checking bug
      t8001/t8002: blame: demonstrate acceptance of bogus -LX,+0 and -LX,-0
      blame: reject empty ranges -LX,+0 and -LX,-0
      t8001/t8002: blame: demonstrate acceptance of bogus -L,+0 and -L,-0
      blame: reject empty ranges -L,+0 and -L,-0
      git-log.txt: place each -L option variation on its own line
      line-range-format.txt: clarify -L:regex usage form
      range-set: publish API for re-use by git-blame -L
      blame: inline one-line function into its lone caller
      blame: accept multiple -L ranges
      t8001/t8002: blame: add tests of multiple -L options
      blame: document multiple -L support
      line-range: teach -L/RE/ to search relative to anchor point
      blame: teach -L/RE/ to search from end of previous -L range
      log: teach -L/RE/ to search from end of previous -L range
      line-range-format.txt: document -L/RE/ relative search
      line-range: teach -L^/RE/ to search from start of file
      line-range: teach -L:RE to search from end of previous -L range
      line-range: teach -L^:RE to search from start of file
      t8001/t8002: blame: add tests of -L line numbers less than 1
      line-range: reject -L line numbers less than 1
      contacts: validate hunk length earlier
      contacts: gather all blame sources prior to invoking git-blame
      contacts: reduce git-blame invocations
      name-hash: refactor polymorphic index_name_exists()
      employ new explicit "exists in index?" API
      name-hash: stop storing trailing '/' on paths in index_state.dir_hash
      dir: revert work-around for retired dangerous behavior
      t7508: avoid non-portable sed expression
      contacts: fix to work in subdirectories

Eric Wong (1):
      http: enable keepalive on TCP sockets

Felipe Contreras (26):
      remote-hg: ensure shared repo is initialized
      remote-hg: add shared repo upgrade
      unpack-trees: plug a memory leak
      remote-bzr: fix export of utf-8 authors
      remote-bzr: make bzr branches configurable per-repo
      remote-hg: fix test
      remote-hg: add missing &&s in the test
      remote-hg: improve basic test
      remote-helpers: trivial style fixes
      remote-helpers: cleanup more global variables
      remote-hg: use notes to keep track of Hg revisions
      reset: trivial refactoring
      branch: trivial style fix
      reset: trivial style cleanup
      add: trivial style cleanup
      sha1-name: pass len argument to interpret_branch_name()
      t: branch: trivial style fix
      t: branch: fix typo
      t: branch: fix broken && chains
      fast-export: make extra_refs global
      fast-export: refactor get_tags_and_duplicates()
      rev-parse test: modernize quoting and whitespace
      rev-parse test: use test_must_fail, not "if <command>; then false; fi"
      rev-parse test: use standard test functions for setup
      Add new @ shortcut for HEAD
      alias: have SP around arithmetic operators

Gerrit Pape (1):
      hooks/post-receive-email: set declared encoding to utf-8

Hiroshige Umino (1):
      cherry-pick: allow "-" as abbreviation of '@{-1}'

Jean-Noël Avila (1):
      l10n: fr.po: 2135/2135 messages translated

Jeff King (22):
      grep: allow to use textconv filters
      clear parsed flag when we free tree buffers
      cat-file: only split on whitespace when %(rest) is used
      test-sha1: add a binary output mode
      sha1-lookup: handle duplicate keys with GIT_USE_LOOKUP
      add tests for indexing packs with delta cycles
      test index-pack on packs with recoverable delta cycles
      write_index: optionally allow broken null sha1s
      pager: turn on "cat" optimization for DEFAULT_PAGER
      peel_onion: do not assume length of x_type globals
      t5308: check that index-pack --strict detects duplicate objects
      config: factor out integer parsing from range checks
      config: properly range-check integer values
      config: set errno in numeric git_parse_* functions
      config: make numeric parsing errors more clear
      git-config: always treat --int as 64-bit internally
      t5541: mark passing c-a-s test as success
      cherry-pick: handle "-" after parsing options
      remote: do not copy "origin" string literal
      http: use curl's tcp keepalive if available
      drop redundant semicolon in empty while
      silence gcc array-bounds warning

Jens Lehmann (6):
      mv: move submodules together with their work trees
      mv: move submodules using a gitfile
      submodule.c: add .gitmodules staging helper functions
      mv: update the path entry in .gitmodules for moved submodules
      rm: delete .gitmodules entry of submodules removed from the work tree
      Improve documentation concerning the status.submodulesummary setting

Jens Lindström (1):
      Clear fd after closing to avoid double-close error

Jeremy Huddleston (1):
      imap-send: use Apple's Security framework for base64 encoding

Jiang Xin (6):
      branch: report invalid tracking branch as gone
      status: always show tracking branch even no change
      documentation: clarify notes for clean.requireForce
      test: use unambigous leading path (/foo) for MSYS
      relative_path should honor dos-drive-prefix
      Use simpler relative_path when set_git_dir

Johan Herland (3):
      sample pre-commit hook: use --bool when retrieving config var
      Documentation/git-svn: Promote the use of --prefix in docs + examples
      git-svn: Warn about changing default for --prefix in Git v2.0

Johannes Sixt (1):
      compat/mingw.h: define PRId64

John Keeping (10):
      t9300: document fast-import empty path issues
      fast-import: set valid mode on root tree in "ls"
      fast-import: allow ls or filecopy of the root tree
      fast-import: allow moving the root tree
      rev-parse: remove restrictions on some options
      rev-parse(1): logically group options
      git_remote_helpers: remove little used Python library
      rm: re-use parse_pathspec's trailing-slash removal
      reset: handle submodule with trailing slash
      Documentation/Makefile: make AsciiDoc dblatex dir configurable

Jonathan Nieder (7):
      hooks/post-receive-email: use plumbing instead of git log/show
      hooks/post-receive-email: force log messages in UTF-8
      add -i test: use skip_all instead of repeated PERL prerequisite
      reset test: modernize style
      rev-parse test: use test_cmp instead of "test" builtin
      status test: add missing && to <<EOF blocks
      gc: remove gc.pid file at end of execution

Julien Carsique (1):
      git-prompt.sh: optionally show upstream branch name

Junio C Hamano (60):
      pack-objects: shrink struct object_entry
      diff_opt: track whether flags have been set explicitly
      setup_reflog_action: document the rules for using GIT_REFLOG_ACTION
      cache.h: move remote/connect API out of it
      builtin/push.c: use OPT_BOOL, not OPT_BOOLEAN
      check-ignore: the name of the character is NUL, not NULL
      check-attr: the name of the character is NUL, not NULL
      check-ignore -z: a single -z should apply to both input and output
      check-attr -z: a single -z should apply to both input and output
      diff: pass the whole diff_options to diffcore_apply_filter()
      diff: factor out match_filter()
      diff: preparse --diff-filter string argument
      diff: reject unknown change class given to --diff-filter
      diff: allow lowercase letter to specify what change class to exclude
      diff: deprecate -q option to diff-files
      remote.c: add command line option parser for "--force-with-lease"
      push --force-with-lease: implement logic to populate old_sha1_expect[]
      push --force-with-lease: tie it all together
      t5533: test "push --force-with-lease"
      parse-options: add OPT_CMDMODE()
      tag: use OPT_CMDMODE
      http.c: fix parsing of http.sslCertPasswordProtected variable
      config: add generic callback wrapper to parse section.<url>.key
      t5540/5541: smart-http does not support "--force-with-lease"
      send-pack: fix parsing of --force-with-lease option
      push: teach --force-with-lease to smart-http transport
      builtin/config: refactor collect_config()
      config: "git config --get-urlmatch" parses section.<url>.key
      builtin/config.c: compilation fix
      core-tutorial: trim the section on Inspecting Changes
      whatchanged: document its historical nature
      diff --no-index: describe in a separate paragraph
      config: rewrite core.pager documentation
      Start the post-1.8.4 cycle
      contrib/remote-helpers: style updates for test scripts
      contrib/remote-helpers: quote variable references in redirection targets
      Update draft release notes after merging the first batch of topics
      typofix: commit is spelled with two ems
      typofix: cherry is spelled with two ars
      Update draft release notes to 1.8.5 for the second batch of topics
      checkout: update synopsys and documentation on detaching HEAD
      Update draft release notes to 1.8.5
      mailmap: work around implementations with pure inline strcasecmp
      Update draft release notes to 1.8.5 for the third batch of topics
      Update draft release notes to 1.8.5 for the first half of the fourth batch
      Update draft release notes to 1.8.5 for the fourth batch of topics
      Update draft release notes to 1.8.5 for the fifth batch of topics
      C: have space around && and || operators
      abspath.c: have SP around arithmetic operators
      alloc.c: have SP around arithmetic operators
      archive.c: have SP around arithmetic operators
      base85.c: have SP around arithmetic operators
      block-sha1/sha1.c: have SP around arithmetic operators
      Update draft release notes to 1.8.5
      Update draft release notes to 1.8.5
      Update draft release notes to 1.8.5
      Update draft release notes to 1.8.5
      checkout_entry(): clarify the use of topath[] parameter
      Almost -rc0 for 1.8.5
      Git 1.8.5-rc0

Kacper Kornet (2):
      Make test "using invalid commit with -C" more strict
      t/t7106-reset-unborn-branch.sh: Add PERL prerequisite

Karsten Blees (3):
      MSVC: fix compile errors due to missing libintl.h
      MSVC: fix compile errors due to macro redefinitions
      MSVC: fix stat definition hell

Kazuki Saitoh (2):
      git p4 test: sanitize P4CHARSET
      git p4: implement view spec wildcards with "p4 where"

Keshav Kini (4):
      git-svn.txt: fix AsciiDoc formatting error
      git-svn.txt: reword description of gc command
      git-svn.txt: replace .git with $GIT_DIR
      git-svn.txt: elaborate on rev_map files

Kirill A. Shutemov (1):
      rebase -i: respect core.abbrev

Kyle J. McKay (2):
      config: add helper to normalize and match URLs
      config: parse http.<url>.<variable> using urlmatch

Lee Carver (1):
      Allow git-filter-branch to process large repositories with lots of branches.

Marc Branchaud (1):
      Provide some linguistic guidance for the documentation.

Mark Levedahl (1):
      t6131 - skip tests if on case-insensitive file system

Matthieu Moy (16):
      Documentation/fast-import: clarify summary for `feature` command
      Documentation/remote-helpers: document common use-case for private ref
      git-remote-mediawiki: add test and check Makefile targets
      transport-helper: add no-private-update capability
      git-remote-mediawiki: use no-private-update capability on dumb push
      git-remote-mediawiki: no need to update private ref in non-dumb push
      builtin/stripspace.c: fix broken indentation
      wt-status: use argv_array API
      submodule summary: ignore --for-status option
      status: disable display of '#' comment prefix by default
      tests: don't set status.displayCommentPrefix file-wide
      status: add missing blank line after list of "other" files
      commit: factor status configuration is a helper function
      wt-status: turn advice_status_hints into a field of wt_status
      commit: disable status hints when writing to COMMIT_EDITMSG
      RelNotes/1.8.5: direct script writers to "git status --porcelain"

Michael J Gruber (5):
      t4030: demonstrate behavior of show with textconv
      show: honor --textconv for blobs
      cat-file: do not die on --textconv without textconv filters
      t7008: demonstrate behavior of grep with textconv
      grep: honor --textconv for the case rev:path

Michael S. Tsirkin (1):
      doc: don't claim that cherry calls patch-id

Michael Schubert (1):
      fetch: make --prune configurable

Michal Nazarewicz (1):
      remove dead pastebin link from pack-heuristics document

Nazri Ramliy (2):
      git: run in a directory given with -C option
      t0056: "git -C" test updates

Nguyễn Thái Ngọc Duy (57):
      clean: remove unused variable "seen"
      move struct pathspec and related functions to pathspec.[ch]
      pathspec: i18n-ize error strings in pathspec parsing code
      pathspec: add copy_pathspec
      add parse_pathspec() that converts cmdline args to struct pathspec
      parse_pathspec: save original pathspec for reporting
      parse_pathspec: add PATHSPEC_PREFER_{CWD,FULL} flags
      convert some get_pathspec() calls to parse_pathspec()
      parse_pathspec: add special flag for max_depth feature
      parse_pathspec: support stripping submodule trailing slashes
      parse_pathspec: support stripping/checking submodule paths
      parse_pathspec: support prefixing original patterns
      guard against new pathspec magic in pathspec matching code
      clean: convert to use parse_pathspec
      commit: convert to use parse_pathspec
      status: convert to use parse_pathspec
      rerere: convert to use parse_pathspec
      checkout: convert to use parse_pathspec
      rm: convert to use parse_pathspec
      ls-files: convert to use parse_pathspec
      archive: convert to use parse_pathspec
      check-ignore: convert to use parse_pathspec
      add: convert to use parse_pathspec
      reset: convert to use parse_pathspec
      line-log: convert to use parse_pathspec
      convert read_cache_preload() to take struct pathspec
      convert run_add_interactive to use struct pathspec
      convert unmerge_cache to take struct pathspec
      checkout: convert read_tree_some to take struct pathspec
      convert report_path_error to take struct pathspec
      convert refresh_index to take struct pathspec
      convert {read,fill}_directory to take struct pathspec
      convert add_files_to_cache to take struct pathspec
      convert common_prefix() to use struct pathspec
      remove diff_tree_{setup,release}_paths
      remove init_pathspec() in favor of parse_pathspec()
      remove match_pathspec() in favor of match_pathspec_depth()
      tree-diff: remove the use of pathspec's raw[] in follow-rename codepath
      rename field "raw" to "_raw" in struct pathspec
      parse_pathspec: make sure the prefix part is wildcard-free
      parse_pathspec: preserve prefix length via PATHSPEC_PREFIX_ORIGIN
      kill limit_pathspec_to_literal() as it's only used by parse_pathspec()
      pathspec: support :(literal) syntax for noglob pathspec
      pathspec: make --literal-pathspecs disable pathspec magic
      pathspec: support :(glob) syntax
      parse_pathspec: accept :(icase)path syntax
      smart http: use the same connectivity check on cloning
      for-each-ref, quote: convert *_quote_print -> *_quote_buf
      gc: reject if another gc is running, unless --force is given
      push: respect --no-thin
      pathspec: catch prepending :(prefix) on pathspec with short magic
      add: lift the pathspec magic restriction on "add -p"
      pack-objects: no crc check when the cached version is used
      fetch-pack.c: show correct command name that fails
      clone: tighten "local paths with colons" check a bit
      Fix calling parse_pathspec with no paths nor PATHSPEC_PREFER_* flags
      entry.c: convert checkout_entry to use strbuf

Nicolas Pitre (1):
      lookup_object: remove hashtable_index() and optimize hash_obj()

Nicolas Vigier (2):
      git-svn: fix signed commit parsing
      config doc: user.signingkey is also used for signed commits

Philip Oakley (6):
      Doc: 'replace' merge and non-merge commits
      doc: command line interface (cli) dot-repository dwimmery
      config doc: update dot-repository notes
      remote doc: document long forms of set-head options
      remote set-head -h: add long options to synopsis
      doc/cli: make "dot repository" an independent bullet point

Ralf Thielow (2):
      Documentation/git-merge-file: document option "--diff3"
      status: show commit sha1 in "You are currently cherry-picking" message

Ramkumar Ramachandra (3):
      editor: use canonicalized absolute path
      tar-tree: remove dependency on sq_quote_print()
      quote: remove sq_quote_print()

Ramsay Jones (8):
      howto/setup-git-server-over-http: fix unescaped '^'s
      howto/revert-a-faulty-merge: fix unescaped '^'s
      config.c: mark file-local function static
      refs.c: spell NULL pointer as NULL
      wrapper.c: only define gitmkstemps if needed
      gitweb test: fix highlight test hang on Linux Mint
      format-patch doc: Thunderbird wraps lines unless mailnews.wraplength=0
      sparse: suppress some "using sizeof on a function" warnings

René Scharfe (1):
      pull: use $curr_branch_short more

Richard Hansen (9):
      peel_onion(): add support for <rev>^{tag}
      glossary: mention 'treeish' as an alternative to 'tree-ish'
      glossary: define commit-ish (a.k.a. committish)
      use 'tree-ish' instead of 'treeish'
      use 'commit-ish' instead of 'committish'
      glossary: more precise definition of tree-ish (a.k.a. treeish)
      revisions.txt: fix and clarify <rev>^{<type>}
      glossary: fix and clarify the definition of 'ref'
      remote-bzr: reuse bzrlib transports when possible

SZEDER Gábor (3):
      bash prompt: test the prompt with newline in repository path
      completion: improve untracked directory filtering for filename completion
      t3600: fix broken "choking git rm" test

Sebastian Schuberth (5):
      Documentation: make AsciiDoc links always point to HTML files
      MinGW: Fix stat definitions to work with MinGW runtime version 4.0
      Windows: do not redefine _WIN32_WINNT
      clone: add a period after "done" to end the sentence
      path-utils test: rename mingw_path function to print_path

Shawn O. Pearce (1):
      Document the HTTP transport protocols

Stefan Beller (22):
      rm: do not set a variable twice without intermediate reading.
      Remove deprecated OPTION_BOOLEAN for parsing arguments
      Replace deprecated OPT_BOOLEAN by OPT_BOOL
      log, format-patch: parsing uses OPT__QUIET
      checkout: remove superfluous local variable
      branch, commit, name-rev: ease up boolean conditions
      hash-object: replace stdin parsing OPT_BOOLEAN by OPT_COUNTUP
      config parsing options: allow one flag multiple times
      checkout-index: fix negations of even numbers of -n
      revert: use the OPT_CMDMODE for parsing, reducing code
      diff: remove ternary operator evaluating always to true
      diff: fix a possible null pointer dereference
      rm: remove unneeded null pointer check
      create_delta_index: simplify condition always evaluating to true
      mailmap: remove redundant check for freeing memory
      repack: rewrite the shell script in C
      repack: retain the return value of pack-objects
      repack: improve warnings about failure of renaming and removing files
      contrib: remove ciabot
      checkout test: enable test with complex relative path
      Reword repack documentation to no longer state it's a script
      git-svn docs: Use tabs consistently within the ascii doc

Stefan Saasen (2):
      mergetools/diffmerge: support DiffMerge as a git mergetool
      mergetool--lib: Fix typo in the merge/difftool help

Steffen Prohaska (1):
      git.txt: fix asciidoc syntax of --*-pathspecs

Stephen Haberman (1):
      pull: allow pull to preserve merges when rebasing

Ted Zlatanov (1):
      git-credential-netrc: fix uninitialized warning

Thomas Ackermann (11):
      Call it "Git User Manual" and remove reference to very old Git version
      Use current "detached HEAD" message
      Use current output for "git repack"
      Use "git merge" instead of "git pull ."
      Fix some typos and improve wording
      Simplify "How to make a commit"
      Improve section "Manipulating branches"
      Improve section "Merging multiple trees"
      Remove unnecessary historical note from "Object storage format"
      Remove irrelevant reference from "Tying it all together"
      "git prune" is safe

Thomas Gummerer (1):
      read-cache: use fixed width integer types

Thomas Rast (5):
      urlmatch.c: recompute pointer after append_normalized_escapes
      .mailmap: switch to Thomas Rast's personal address
      Documentation: revamp gitk(1)
      Revert "test-lib: support running tests under valgrind in parallel"
      Revert "test-lib: allow prefixing a custom string before "ok N" etc."

Tony Finch (4):
      gitweb: ensure OPML text fits inside its box
      gitweb: vertically centre contents of page footer
      gitweb: omit the repository owner when it is unset
      gitweb: make search help link less ugly

Torsten Bögershausen (1):
      Set core.precomposeunicode to true on e.g. HFS+

Uli Heller (1):
      git-svn: fix termination issues for remote svn connections

brian m. carlson (3):
      submodule: fix confusing variable name
      submodule: don't print status output with ignore=all
      CodingGuidelines: style for multi-line comments

Ævar Arnfjörð Bjarmason (1):
      gitweb: Fix the author initials in blame for non-ASCII names


Version v1.8.4.5; changes since v1.8.4.4:
-----------------------------------------

Junio C Hamano (2):
      submodule: do not copy unknown update mode from .gitmodules
      Git 1.8.4.5

Richard Hansen (1):
      remote-hg: don't decode UTF-8 paths into Unicode objects


Version v1.8.4.4; changes since v1.8.4.3:
-----------------------------------------

Junio C Hamano (2):
      Revert "upload-pack: send non-HEAD symbolic refs"
      Git 1.8.4.4


Version v1.8.4.3; changes since v1.8.4.2:
-----------------------------------------

Antoine Pelisse (1):
      remote-hg: unquote C-style paths when exporting

Brian Gernhardt (3):
      t5570: Update for symref capability
      t5570: Update for clone-progress-to-stderr branch
      t5570: Update for clone-progress-to-stderr branch

Hemmo Nieminen (1):
      graph: fix coloring around octopus merges

Jeff King (11):
      http_get_file: style fixes
      http_request: factor out curlinfo_strbuf
      http: refactor options to http_get_*
      http: hoist credential request out of handle_curl_result
      http: provide effective url to callers
      http: update base URLs when we see redirects
      remote-curl: make refs_url a strbuf
      remote-curl: store url as a strbuf
      remote-curl: rewrite base url from info/refs redirects
      split_ident: parse timestamp from end of line
      subtree: add makefile target for html docs

Jonathan Nieder (1):
      t/README: tests can use perl even with NO_PERL

Junio C Hamano (10):
      t5505: fix "set-head --auto with ambiguous HEAD" test
      upload-pack.c: do not pass confusing cb_data to mark_our_ref()
      upload-pack: send symbolic ref information as capability
      upload-pack: send non-HEAD symbolic refs
      connect.c: make parse_feature_value() static
      connect: annotate refs with their symref information in get_remote_head()
      clone: test the new HEAD detection logic
      revision: do not peel tags used in range notation
      Start preparing for 1.8.4.3
      Git 1.8.4.3

Karsten Blees (1):
      gitignore.txt: fix documentation of "**" patterns

Matthieu Moy (2):
      checkout: allow dwim for branch creation for "git checkout $branch --"
      checkout: proper error message on 'git checkout foo bar --'

Ramsay Jones (1):
      http.c: Spell the null pointer as NULL

SZEDER Gábor (1):
      bash prompt: don't use '+=' operator in show upstream code path

Sitaram Chamarty (1):
      doc/howto: warn about (dumb)http server document being too old

Vivien Didelot (2):
      Documentation: restore a space in unpack-objects usage
      Documentation: "pack-file" is not literal in unpack-objects


Version v1.8.4.2; changes since v1.8.4.1:
-----------------------------------------

Antoine Pelisse (1):
      commit: search author pattern against mailmap

Christian Couder (1):
      sha1_file: move comment about return value where it belongs

Eric Sunshine (5):
      rebase -i: fix cases ignoring core.commentchar
      dir.c::test_one_path(): work around directory_exists_in_index_icase() breakage
      t3404: make tests more self-contained
      t3404: rebase -i: demonstrate short SHA-1 collision
      t3200: fix failure on case-insensitive filesystems

Jeff King (8):
      has_sha1_file: re-check pack directory before giving up
      upload-pack: send keepalive packets during pack computation
      upload-pack: bump keepalive default to 5 seconds
      clone: send diagnostic messages to stderr
      clone: treat "checking connectivity" like other progress
      clone: always set transport options
      shortlog: ignore commits with missing authors
      format-patch: print in-body "From" only when needed

Johan Herland (4):
      t2024: Fix &&-chaining and a couple of typos
      t3200: Minor fix when preparing for tracking failure
      Refer to branch.<name>.remote/merge when documenting --track
      t3200: Add test demonstrating minor regression in 41c21f2

Johannes Sixt (1):
      add--interactive: fix external command invocation on Windows

John Keeping (1):
      merge-recursive: fix parsing of "diff-algorithm" option

Junio C Hamano (8):
      dir.c: use the cache_* macro to access the current index
      ls-files -k: a directory only can be killed if the index has a non-directory
      t3010: update to demonstrate "ls-files -k" optimization pitfalls
      rebase -i: fix short SHA-1 collision
      cvsserver: pick up the right mode bits
      Start preparing for 1.8.4.2
      Almost 1.8.4.2 ;-)
      Git 1.8.4.2

Matthijs Kooijman (1):
      Add testcase for needless objects during a shallow fetch

Nguyễn Thái Ngọc Duy (7):
      move setup_alternate_shallow and write_shallow_commits to shallow.c
      shallow: only add shallow graft points to new shallow file
      shallow: add setup_temporary_shallow()
      upload-pack: delegate rev walking in shallow fetch to pack-objects
      list-objects: reduce one argument in mark_edges_uninteresting
      list-objects: mark more commits as edges in mark_edges_uninteresting
      Make setup_git_env() resolve .git file when $GIT_DIR is not specified

Nicolas Vigier (1):
      git-merge: document the -S option

Per Cederqvist (1):
      branch.c: Relax unnecessary requirement on upstream's remote ref name

Ralf Thielow (2):
      rebase --preserve-merges: ignore "merge.log" config
      clone --branch: refuse to clone if upstream repo is empty

SZEDER Gábor (1):
      t4254: modernize tests

Steffen Prohaska (1):
      git-prune-packed.txt: fix reference to GIT_OBJECT_DIRECTORY

Torstein Hegge (1):
      test-lib: fix typo in comment

brian m. carlson (1):
      http-backend: provide Allow header for 405


Version v1.8.4.1; changes since v1.8.4:
---------------------------------------

Andreas Schwab (1):
      Documentation/git-merge.txt: fix formatting of example block

Benoit Person (1):
      git-remote-mediawiki: bugfix for pages w/ >500 revisions

Brandon Casey (3):
      git-completion.bash: use correct Bash/Zsh array length syntax
      t9902-completion.sh: old Bash still does not support array+=('') notation
      contrib/git-prompt.sh: handle missing 'printf -v' more gracefully

Jeff King (2):
      config: do not use C function names as struct members
      mailmap: handle mailmap blobs without trailing newlines

Jharrod LaFon (1):
      avoid segfault on submodule.*.path set to an empty "true"

Johannes Sixt (1):
      stream_to_pack: xread does not guarantee to read all requested bytes

Jonathan Nieder (1):
      Git 1.8.4.1

Junio C Hamano (6):
      t5802: add test for connect helper
      fetch: rename file-scope global "transport" to "gtransport"
      fetch: refactor code that prepares a transport
      fetch: refactor code that fetches leftover tags
      fetch: work around "transport-take-over" hack
      Start preparing for 1.8.4.1

Kyle J. McKay (3):
      Git.pm: add new temp_is_locked function
      git-svn: allow git-svn fetching to work using serf
      Git.pm: revert _temp_cache use of temp_is_locked

Matthieu Moy (2):
      die_with_status: use "printf '%s\n'", not "echo"
      rebase: fix run_specific_rebase's use of "return" on FreeBSD

Nguyễn Thái Ngọc Duy (1):
      fetch-pack: do not remove .git/shallow file when --depth is not specified

Ralf Thielow (1):
      l10n: de.po: use "das Tag" instead of "der Tag"

Ramsay Jones (1):
      builtin/fetch.c: Fix a sparse warning

Sebastien Helleu (1):
      l10n: fr.po: hotfix for commit 6b388fc

Steffen Prohaska (2):
      xread, xwrite: limit size of IO to 8MB
      Revert "compat/clipped-write.c: large write(2) fails on Mac OS X/XNU"

Tay Ray Chuan (1):
      t7406-submodule-update: add missing &&

Thomas Rast (2):
      log: use true parents for diff even when rewriting
      log: use true parents for diff when walking reflogs

Thorsten Glaser (1):
      fix shell syntax error in template

brian m. carlson (1):
      send-email: don't call methods on undefined values


Version v1.8.4; changes since v1.8.4-rc4:
-----------------------------------------

Junio C Hamano (2):
      Typofix draft release notes to 1.8.4
      Git 1.8.4


Version v1.8.4-rc4; changes since v1.8.4-rc3:
---------------------------------------------

Junio C Hamano (3):
      Revert "git stash: avoid data loss when "git stash save" kills a directory"
      Revert "Add new @ shortcut for HEAD"
      Git 1.8.4-rc4


Version v1.8.4-rc3; changes since v1.8.4-rc2:
---------------------------------------------

Eric Sunshine (1):
      parse-options: fix clang opterror() -Wunused-value warning

Jean-Noël Avila (2):
      l10n: fr.po: 821/2112 messages translated
      l10n: Add reference for french translation team

Jiang Xin (2):
      l10n: git.pot: v1.8.4 round 2 (5 new, 3 removed)
      l10n: zh_CN.po: translate 5 messages (2135t0f0u)

Junio C Hamano (2):
      .mailmap: update long-lost friends with multiple defunct addresses
      Git 1.8.4-rc3

Matthieu Moy (1):
      git-remote-mediawiki: ignore generated git-mw

Peter Krefting (1):
      l10n: Update Swedish translation (2135t0f0u)

Phil Hord (1):
      t/t7407: fix two typos in submodule tests

Ralf Thielow (3):
      l10n: de.po: switch from pure German to German+English
      l10n: de.po: translate 99 new messages
      l10n: de.po: translate 5 messages

Stefan Beller (2):
      .mailmap: fixup entries
      .mailmap: Combine more (name, email) to individual persons

Trần Ngọc Quân (1):
      l10n: vi.po(2135t): v1.8.4 round 2

Wieland Hoffmann (1):
      l10n: de.po: Fix a typo


Version v1.8.4-rc2; changes since v1.8.4-rc1:
---------------------------------------------

Felix Gruber (1):
      fix typo in documentation of git-svn

Jiang Xin (2):
      l10n: git.pot: v1.8.4 round 1 (99 new, 46 removed)
      l10n: zh_CN.po: translate 99 messages (2133t0f0u)

Jonathan Nieder (1):
      log doc: the argument to --encoding is not optional

Junio C Hamano (4):
      Revert "cat-file: split --batch input lines on whitespace"
      t3900: test rejecting log message with NULs correctly
      commit: typofix for xxFFF[EF] check
      Git 1.8.4-rc2

Ramsay Jones (1):
      cygwin: Remove the Win32 l/stat() implementation

René Scharfe (1):
      t8001, t8002: fix "blame -L :literal" test on NetBSD

Stefan Beller (1):
      .mailmap: Multiple addresses of Michael S. Tsirkin

Torstein Hegge (1):
      Documentation/rev-list-options: add missing word in --*-parents

Trần Ngọc Quân (1):
      l10n: vi.po (2133t)

brian m. carlson (1):
      Add missing test file for UTF-16.


Version v1.8.4-rc1; changes since v1.8.4-rc0:
---------------------------------------------

Brandon Casey (1):
      git-completion.bash: replace zsh notation that breaks bash 3.X

Daniele Segato (1):
      docs/git-tag: explain lightweight versus annotated tags

Jeff King (6):
      docs: fix 'report-status' protocol capability thinko
      docs: note that receive-pack knows side-band-64k capability
      document 'agent' protocol capability
      document 'quiet' receive-pack capability
      commit.h: drop redundant comment
      commit: tweak empty cherry pick advice for sequencer

Jiang Xin (2):
      Documentation/git-clean: fix description for range
      git-clean: implement partial matching for selection

Junio C Hamano (2):
      builtin/rm.c: consolidate error reporting for removing submodules
      Git 1.8.4-rc1

Lukas Fleischer (1):
      Avoid using `echo -n` anywhere

Maurício C Antunes (1):
      hg-to-git: --allow-empty-message in git commit

Michael Haggerty (1):
      do_one_ref(): save and restore value of current_ref

Michal Sojka (1):
      contrib/subtree: Fix make install target

Nguyễn Thái Ngọc Duy (1):
      document 'allow-tip-sha1-in-want' capability

Ondřej Bílka (1):
      many small typofixes

Ralf Thielow (1):
      git-rebase: fix typo

Ramkumar Ramachandra (1):
      config doc: quote paths, fixing tilde-interpretation

Ramsay Jones (1):
      commit-slab.h: Fix memory allocation and addressing

Stefan Beller (1):
      .mailmap: combine more (email, name) to individual persons

Thomas Rast (1):
      Rename advice.object_name_warning to objectNameWarning


Version v1.8.4-rc0; changes since v1.8.3.4:
-------------------------------------------

Adam Spiers (6):
      t0008: remove duplicated test fixture data
      check-ignore: add -n / --non-matching option
      check-ignore: move setup into cmd_check_ignore()
      check-ignore: allow incremental streaming of queries via --stdin
      Documentation: add caveats about I/O buffering for check-{attr,ignore}
      t0008: use named pipe (FIFO) to test check-ignore streaming

Alexey Shumkin (10):
      t6006 (rev-list-format): don't hardcode SHA-1 in expected outputs
      t7102 (reset): don't hardcode SHA-1 in expected outputs
      t4205 (log-pretty-formats): don't hardcode SHA-1 in expected outputs
      pretty: Add failing tests: --format output should honor logOutputEncoding
      pretty: --format output should honor logOutputEncoding
      t4041, t4205, t6006, t7102: use iso8859-1 rather than iso-8859-1
      t4205 (log-pretty-formats): revert back single quotes
      t4205, t6006, t7102: make functions better readable
      t6006 (rev-list-format): add tests for "%b" and "%s" for the case i18n.commitEncoding is not set
      t4205 (log-pretty-formats): avoid using `sed`

Andrew Pimlott (2):
      rebase -i: handle fixup! fixup! in --autosquash
      lib-rebase: style: use write_script, <<-\EOF

Andrew Wong (1):
      git add -e: Explicitly specify that patch should have no color

Antoine Pelisse (1):
      diff: add --ignore-blank-lines option

Arnaud Fontaine (1):
      Do not ignore merge options in interactive rebase

Benoit Person (9):
      git-remote-mediawiki: use Git.pm functions for credentials
      git-remote-mediawiki: remove hardcoded version number in the test suite
      git-remote-mediawiki: introduction of Git::Mediawiki.pm
      wrap-for-bin: make bin-wrappers chainable
      git-remote-mediawiki: add a git bin-wrapper for developement
      git-remote-mediawiki: update tests to run with the new bin-wrapper
      git-remote-mediawiki: factoring code between git-remote-mediawiki and Git::Mediawiki
      git-remote-mediawiki: add git-mw command
      git-remote-mediawiki: add preview subcommand into git mw

Benoit Sigoure (1):
      Revert "compat/unsetenv.c: Fix a sparse warning"

Bo Yang (2):
      Refactor parse_loc
      Export rewrite_parents() for 'log -L'

Brandon Casey (3):
      builtin/checkout.c: don't leak memory in check_tracking_name
      t/t9802: explicitly name the upstream branch to use as a base
      remote.c: avoid O(m*n) behavior in match_push_refs

Brian Gernhardt (1):
      t4205: replace .\+ with ..* in sed commands

Chris Packham (1):
      submodule update: allow custom command to update submodule working tree

Christian Couder (1):
      Makefile: replace "echo 1>..." with "echo >..."

Célestin Matte (32):
      git-remote-mediawiki: display message when launched directly
      git-remote-mediawiki: make a regexp clearer
      git-remote-mediawiki: move "use warnings;" before any instruction
      git-remote-mediawiki: replace :utf8 by :encoding(UTF-8)
      git-remote-mediawiki: always end a subroutine with a return
      git-remote-mediawiki: move a variable declaration at the top of the code
      git-remote-mediawiki: change syntax of map calls
      git-remote-mediawiki: rewrite unclear line of instructions
      git-remote-mediawiki: remove useless regexp modifier (m)
      git-remote-mediawiki: change the behaviour of a split
      git-remote-mediawiki: change separator of some regexps
      git-remote-mediawiki: change style in a regexp
      git-remote-mediawiki: change style in a regexp
      git-remote-mediawiki: add newline in the end of die() error messages
      git-remote-mediawiki: change the name of a variable
      git-remote-mediawiki: turn double-negated expressions into simple expressions
      git-remote-mediawiki: remove unused variable $entry
      git-remote-mediawiki: rename a variable ($last) which has the name of a keyword
      git-remote-mediawiki: assign a variable as undef and make proper indentation
      git-remote-mediawiki: check return value of open
      git-remote-mediawiki: remove import of unused open2
      git-remote-mediawiki: put long code into a subroutine
      git-remote-mediawiki: modify strings for a better coding-style
      git-remote-mediawiki: brace file handles for print for more clarity
      git-remote-mediawiki: replace "unless" statements with negated "if" statements
      git-remote-mediawiki: don't use quotes for empty strings
      git-remote-mediawiki: put non-trivial numeric values in constants.
      git-remote-mediawiki: fix a typo ("mediwiki" instead of "mediawiki")
      git-remote-mediawiki: clearly rewrite double dereference
      git-remote-mediawiki: add a .perlcriticrc file
      git-remote-mediawiki: add a perlcritic rule in Makefile
      git-remote-mediawiki: make error message more precise

Dale R. Worley (1):
      git_mkstemps: correctly test return value of open()

Dirk Wallenstein (1):
      request-pull: improve error message for invalid revision args

Doug Bell (1):
      show-ref: make --head always show the HEAD ref

Eduardo R. D'Avila (5):
      t9903: add tests for git-prompt pcmode
      git-prompt.sh: refactor colored prompt code
      t9903: remove redundant tests
      git-prompt.sh: do not print duplicate clean color code
      git-prompt.sh: add missing information in comments

Eric Sunshine (27):
      t4211: fix broken test when one -L range is subset of another
      range_set: fix coalescing bug when range is a subset of another
      builtin: add git-check-mailmap command
      t4203: test check-mailmap command invocation
      t4203: demonstrate loss of single-character name in mailmap entry
      t4203: demonstrate loss of uppercase characters in canonical email
      mailmap: debug: fix out-of-order fprintf() arguments
      mailmap: debug: fix malformed fprintf() format conversion specification
      mailmap: debug: eliminate -Wformat field precision type warning
      mailmap: debug: avoid passing NULL to fprintf() '%s' conversion specification
      git-log.txt: fix typesetting of example "git-log -L" invocation
      line-range: fix "blame -L X,-N" regression
      t8001/t8002 (blame): modernize style
      t8001/t8002 (blame): add blame -L tests
      t8001/t8002 (blame): add blame -L :funcname tests
      blame-options.txt: place each -L option variation on its own line
      blame-options.txt: explain that -L <start> and <end> are optional
      contrib: add git-contacts helper
      contrib: contacts: add ability to parse from committish
      contrib: contacts: interpret committish akin to format-patch
      contrib: contacts: add mailmap support
      contrib: contacts: add documentation
      range-set: fix sort_and_merge_range_set() corner case bug
      t4211: demonstrate empty -L range crash
      t4211: demonstrate crash when first -L encountered is empty range
      range-set: satisfy non-empty ranges invariant
      line-log: fix "log -LN" crash when N is last line of file

Felipe Contreras (108):
      transport-helper: report errors properly
      transport-helper: improve push messages
      transport-helper: clarify *:* refspec
      transport-helper: update refspec documentation
      transport-helper: clarify pushing without refspecs
      transport-helper: warn when refspec is not used
      transport-helper: trivial code shuffle
      transport-helper: update remote helper namespace
      completion: add file completion tests
      completion: document tilde expansion failure in tests
      completion; remove unuseful comments
      completion: use __gitcompadd for __gitcomp_file
      completion: refactor diff_index wrappers
      completion: refactor __git_complete_index_file()
      completion: add hack to enable file mode in bash < 4
      completion: add space after completed filename
      completion: remove __git_index_file_list_filter()
      fast-export: do not parse non-commit objects while reading marks file
      fast-export: don't parse commits while reading marks file
      fast-{import,export}: use get_sha1_hex() to read from marks file
      tests: at-combinations: simplify setup
      tests: at-combinations: check ref names directly
      tests: at-combinations: improve nonsense()
      sha1_name: remove no-op
      sha1_name: remove unnecessary braces
      completion: cleanup zsh wrapper
      completion: synchronize zsh wrapper
      sha1_name: reorganize get_sha1_basic()
      sha1_name: refactor reinterpret()
      Add new @ shortcut for HEAD
      sha1_name: compare variable with constant, not constant with variable
      test: remote-helper: add missing and
      transport-helper: fix remote helper namespace regression
      transport-helper: barf when user tries old:new
      transport-helper: check if the dry-run is supported
      remote-helpers: tests: use python directly
      remote-hg: tests: fix hg merge
      build: trivial simplification
      build: cleanup using $^
      build: cleanup using $<
      build: add NO_INSTALL variable
      build: do not install git-remote-testpy
      remote-bzr: recover from failed clones
      remote-bzr: fix for files with spaces
      remote-bzr: simplify get_remote_branch()
      remote-bzr: delay cloning/pulling
      remote-bzr: change global repo
      remote-bzr: trivial cleanups
      remote-bzr: reorganize the way 'wanted' works
      remote-bzr: add fallback check for a partial clone
      remote-hg: test: be a little more quiet
      remote-hg: trivial reorganization
      remote-helpers: test: cleanup white-spaces
      remote-helpers: test: cleanup style
      remote-helpers: tests: general improvements
      remote-helpers: test: simplify remote URLs
      remote-hg: test: simplify previous branch checkout
      remote-hg: load all extensions
      remote-hg: use a shared repository store
      remote-hg: shuffle some code
      remote-hg: improve node traversing
      remote-hg: add version checks to the marks
      remote-hg: switch from revisions to SHA-1 noteids
      remote-hg: upgrade version 1 marks
      remote-hg: ensure remote rebasing works
      remote-hg: trivial cleanups
      remote-hg: improve progress calculation
      remote-hg: always point HEAD to master
      remote-hg: add tests for 'master' bookmark
      remote-bzr: simplify test checks
      remote-hg: add check_bookmark() test helper
      remote-hg: update bookmarks when using a remote
      remote-hg: add remote tests
      remote-hg: add test to push new bookmark
      remote-hg: add test for diverged push
      remote-hg: add test for bookmark diverge
      remote-hg: add test for new bookmark special
      remote-hg: add test for big push
      remote-hg: add test for failed double push
      remote-hg: reorganize bookmark handling
      remote-hg: force remote bookmark push selectively
      remote-hg: only update necessary revisions
      remote-hg: implement custom push()
      remote-hg: implement custom checkheads()
      remote-hg: pass around revision refs
      remote-hg: check diverged bookmarks
      remote-hg: simplify branch_tip()
      remote-hg: improve branch listing
      remote-hg: use remote 'default' not local one
      remote-hg: improve lightweight tag author
      remote-hg: remove files before modifications
      remote-hg: add setup_big_push() helper
      remote-hg: add check_push() helper
      remote-helpers: improve marks usage
      remote-hg: trivial cleanup
      remote-hg: check if a fetch is needed
      remote-hg: add support for --dry-run
      remote-hg: add support for --force
      remote: trivial style cleanup
      test: trivial cleanups
      test: rebase: fix --interactive test
      send-email: remove warning about unset chainreplyto
      completion: zsh: improve bash script loading
      completion: avoid ls-remote in certain scenarios
      test: fix post rewrite hook report
      build: generate and clean test scripts
      build: do not install git-remote-testgit
      Makefile: use $^ to avoid listing prerequisites on the command line

Fredrik Gustafsson (2):
      git-submodule.sh: remove duplicate call to set_rev_name
      Add --depth to submodule update/add

Grahack (1):
      French translation: copy -> copie.

Heiko Voigt (6):
      git-gui: allow "\ No newline at end of file" for linewise staging
      config: factor out config file stack management
      config: drop cf validity check in get_next_char()
      config: make parsing stack struct independent from actual data source
      teach config --blob option to parse config from database
      do not die when error in config parsing of buf occurs

Jeff King (40):
      transport-helper: mention helper name when it dies
      commit: allow associating auxiliary info on-demand
      lookup_object: prioritize recently found objects
      t5510: start tracking-ref tests from a known state
      refactor "ref->merge" flag
      fetch: opportunistically update tracking refs
      t0005: test git exit code from signal death
      contrib: drop blameview/ directory
      t5303: drop "count=1" from corruption dd
      unpack_entry: do not die when we fail to apply a delta
      get_packed_ref_cache: reload packed-refs file when it changes
      for_each_ref: load all loose refs before packed refs
      transport-helper: be quiet on read errors from helpers
      fetch-pack: avoid quadratic list insertion in mark_complete
      commit.c: make compare_commits_by_commit_date global
      fetch-pack: avoid quadratic behavior in rev_list_push
      pretty.c: drop const-ness from pretty_print_context
      teach format-patch to place other authors into in-body "From"
      zero-initialize object_info structs
      teach sha1_object_info_extended a "disk_size" query
      clone: drop connectivity check for local clones
      add missing "format" function attributes
      use "sentinel" function attribute for variadic lists
      wt-status: use "format" function attribute for status_printf
      t1006: modernize output comparisons
      cat-file: teach --batch to stream blob objects
      cat-file: refactor --batch option parsing
      cat-file: add --batch-check=<format>
      cat-file: add %(objectsize:disk) format atom
      cat-file: split --batch input lines on whitespace
      pack-revindex: use unsigned to store number of objects
      pack-revindex: radix-sort the revindex
      t0008: avoid SIGPIPE race condition on fifo
      cat-file: disable object/refname ambiguity check for batch mode
      sha1_object_info_extended: rename "status" to "type"
      sha1_loose_object_info: make type lookup optional
      packed_object_info: hoist delta type resolution to helper
      packed_object_info: make type lookup optional
      sha1_object_info_extended: make type calculation optional
      sha1_object_info_extended: pass object_info to helpers

Jiang Xin (16):
      test: add test cases for relative_path
      path.c: refactor relative_path(), not only strip prefix
      quote.c: substitute path_relative with relative_path
      quote_path_relative(): remove redundant parameter
      write_name{_quoted_relative,}(): remove redundant parameters
      git-clean: refactor git-clean into two phases
      git-clean: add support for -i/--interactive
      git-clean: show items of del_list in columns
      git-clean: add colors to interactive git-clean
      git-clean: use a git-add-interactive compatible UI
      git-clean: add filter by pattern interactive action
      git-clean: add select by numbers interactive action
      git-clean: add ask each interactive action
      git-clean: add documentation for interactive git-clean
      test: add t7301 for git-clean--interactive
      test: run testcases with POSIX absolute paths on Windows

Johan Herland (3):
      finish_copy_notes_for_rewrite(): Let caller provide commit message
      Move copy_note_for_rewrite + friends from builtin/notes.c to notes-utils.c
      Move create_notes_commit() from notes-merge.c into notes-utils.c

Johannes Schindelin (2):
      Define NO_GETTEXT for Git for Windows
      Windows resource: handle dashes in the Git version gracefully

Johannes Sixt (4):
      git-remote-testgit: avoid process substitution
      git-remote-testgit: further remove some bashisms
      t0005: skip signal death exit code test on Windows
      rebase topology tests: fix commit names on case-insensitive file systems

John Keeping (20):
      t/Makefile: fix result handling with TEST_OUTPUT_DIRECTORY
      test output: respect $TEST_OUTPUT_DIRECTORY
      t/Makefile: don't define TEST_RESULTS_DIRECTORY recursively
      fetch: don't try to update unfetched tracking refs
      git-gui: fix file name handling with non-empty prefix
      add--interactive: respect diff.algorithm
      Documentation/Makefile: fix spaces around assignments
      Documentation/Makefile: move infodir to be with other '*dir's
      mergetool--lib: refactor {diff,merge}_cmd logic
      t7401: make indentation consistent
      t7403: modernize style
      t7403: add missing && chaining
      submodule: show full path in error message
      rev-parse: add --prefix option
      submodule: drop the top-level requirement
      completion: handle unstuck form of base git options
      completion: learn about --man-path
      git-config(1): clarify precedence of multiple values
      push: avoid suggesting "merging" remote changes
      pull: change the description to "integrate" changes

Jonathan Nieder (1):
      mingw: rename WIN32 cpp macro to GIT_WINDOWS_NATIVE

Jonathon Mah (2):
      Documentation: remove --prune from pack-refs examples
      Documentation: fix git-prune example usage

Jorge Juan Garcia Garcia (4):
      status: introduce status.short to enable --short by default
      status: introduce status.branch to enable --branch by default
      status: introduce status.short to enable --short by default
      status: introduce status.branch to enable --branch by default

Junio C Hamano (56):
      commit-slab: avoid large realloc
      date.c: add parse_expiry_date()
      line-log: fix documentation formatting
      t5801: "VAR=VAL shell_func args" is forbidden
      prune: introduce OPT_EXPIRY_DATE() and use it
      git-remote-testgit: build it to run under $SHELL_PATH
      t6111: allow checking the parents as well
      t6012: update test for tweaked full-history traversal
      Start 1.8.4 cycle
      Update draft release notes to 1.8.4
      Update draft release notes to 1.8.4
      Update draft release notes to 1.8.4
      commit-slab: introduce a macro to define a slab for new type
      test: test_must_be_empty helper
      Update draft release notes
      toposort: rename "lifo" field
      prio-queue: priority queue of pointers to structs
      sort-in-topological-order: use prio-queue
      log: --author-date-order
      Update draft release notes to 1.8.4
      t7512: test "detached from" as well
      Update draft release notes to 1.8.4
      t/lib-t6000: style fixes
      topology tests: teach a helper to take abbreviated timestamps
      t6003: add --date-order test
      topology tests: teach a helper to set author dates as well
      t6003: add --author-date-order test
      add -i: add extra options at the right place in "diff" command line
      Update draft release notes to 1.8.4
      Revert "Merge branch 'jg/status-config'"
      status/commit: make sure --porcelain is not affected by user-facing config
      Update draft release notes to 1.8.4
      Update draft release notes to 1.8.4
      Update draft release notes to 1.8.4
      Update draft release notes to 1.8.4
      Update draft release notes to 1.8.4
      treat_directory(): do not declare submodules to be untracked
      name-ref: factor out name shortening logic from name_ref()
      name-rev: allow converting the exact object name at the tip of a ref
      describe: use argv-array
      remote-http: use argv-array
      Update draft release notes to 1.8.4
      Update draft release notes for 1.8.4
      mailmap: do not lose single-letter names
      mailmap: do not downcase mailmap entries
      mailmap: style fixes
      Revert "git-clone.txt: remove the restriction on pushing from a shallow clone"
      Update draft release notes to 1.8.4
      Update draft release notes to 1.8.4
      name-rev: differentiate between tags and commits they point at
      describe: fix --contains when a tag is given as input
      t2202: make sure "git add" (no args) stays a no-op
      Update draft release notes to 1.8.4
      t7600: fix typo in test title
      t4211: fix incorrect rebase at f8395edc (range-set: satisfy non-empty ranges invariant)
      Git 1.8.4-rc0

Kevin Bracey (14):
      decorate.c: compact table when growing
      t6019: test file dropped in -s ours merge
      t6111: new TREESAME test set
      t6111: add parents to tests
      rev-list-options.txt: correct TREESAME for P
      Documentation: avoid "uninteresting"
      revision.c: Make --full-history consider more merges
      simplify-merges: never remove all TREESAME parents
      simplify-merges: drop merge from irrelevant side branch
      revision.c: add BOTTOM flag for commits
      revision.c: discount side branches when computing TREESAME
      revision.c: don't show all merges for --parents
      revision.c: make default history consider bottom commits
      am: replace uses of --resolved with --continue

Kirill Smelkov (1):
      git-gui: Fix parsing of <rev> <path-which-not-present-in-worktree>

Mark Levedahl (6):
      test-lib.sh - cygwin does not have usable FIFOs
      test-lib.sh - define and use GREP_STRIPS_CR
      Cygwin 1.7 needs compat/regex
      Cygwin 1.7 has thread-safe pread
      Cygwin 1.7 supports mmap
      cygwin: stop forcing core.filemode=false

Martin von Zweigbergk (7):
      add simple tests of consistency across rebase types
      add tests for rebasing with patch-equivalence present
      add tests for rebasing of empty commits
      add tests for rebasing root
      add tests for rebasing merged history
      t3406: modernize style
      tests: move test for rebase messages from t3400 to t3406

Mathieu Lienard--Mayor (2):
      rm: better error message on failure for multiple files
      rm: introduce advice.rmHints to shorten messages

Matthieu Moy (10):
      config: refactor management of color.ui's default value
      git-remote-mediawiki: better error message when HTTP(S) access fails
      make color.ui default to 'auto'
      git-remote-mediawiki: un-brace file handles in binmode calls
      t4000-diff-format.sh: modernize style
      diff: allow --no-patch as synonym for -s
      diff: allow --patch & cie to override -s/--no-patch
      Documentation/git-show.txt: include common diff options, like git-log.txt
      Documentation: move description of -s, --no-patch to diff-options.txt
      Documentation/git-log.txt: capitalize section names

Matthijs Kooijman (1):
      upload-pack: remove a piece of dead code

Michael Haggerty (75):
      git-gc.txt, git-reflog.txt: document new expiry options
      api-parse-options.txt: document "no-" for non-boolean options
      refs: document flags constants REF_*
      refs: document the fields of struct ref_value
      refs: document do_for_each_ref() and do_one_ref()
      refs: document how current_ref is used
      refs: define constant PEELED_LINE_LENGTH
      do_for_each_ref_in_dirs(): remove dead code
      get_packed_ref(): return a ref_entry
      peel_ref(): use function get_packed_ref()
      repack_without_ref(): use function get_packed_ref()
      refs: extract a function ref_resolves_to_object()
      refs: extract function peel_object()
      peel_object(): give more specific information in return value
      peel_ref(): fix return value for non-peelable, not-current reference
      refs: extract a function peel_entry()
      refs: change the internal reference-iteration API
      t3210: test for spurious error messages for dangling packed refs
      repack_without_ref(): silence errors for dangling packed refs
      search_ref_dir(): return an index rather than a pointer
      refs: change how packed refs are deleted
      t3211: demonstrate loss of peeled refs if a packed ref is deleted
      repack_without_ref(): write peeled refs in the rewritten file
      refs: extract a function write_packed_entry()
      pack-refs: rename handle_one_ref() to pack_one_ref()
      pack-refs: merge code from pack-refs.{c,h} into refs.{c,h}
      pack_one_ref(): rename "path" parameter to "refname"
      refs: use same lock_file object for both ref-packing functions
      pack_refs(): change to use do_for_each_entry()
      refs: inline function do_not_prune()
      pack_one_ref(): use function peel_entry()
      pack_one_ref(): use write_packed_entry() to do the writing
      pack_one_ref(): do some cheap tests before a more expensive one
      refs: change do_for_each_*() functions to take ref_cache arguments
      refs: handle the main ref_cache specially
      describe: make own copy of refname
      fetch: make own copies of refnames
      add_rev_cmdline(): make a copy of the name argument
      builtin_diff_tree(): make it obvious that function wants two entries
      cmd_diff(): use an object_array for holding trees
      cmd_diff(): rename local variable "list" -> "entry"
      cmd_diff(): make it obvious which cases are exclusive of each other
      revision: split some overly-long lines
      object_array: add function object_array_filter()
      revision: use object_array_filter() in implementation of gc_boundary()
      object_array_remove_duplicates(): rewrite to reduce copying
      fsck: don't put a void*-shaped peg in a char*-shaped hole
      find_first_merges(): initialize merges variable using initializer
      find_first_merges(): remove unnecessary code
      object_array_entry: fix memory handling of the name field
      do_fetch(): reduce scope of peer_item
      do_fetch(): clean up existing_refs before exiting
      add_existing(): do not retain a reference to sha1
      show_head_ref(): do not shadow name of argument
      show_head_ref(): rename first parameter to "refname"
      string_list_add_one_ref(): rename first parameter to "refname"
      string_list_add_refs_by_glob(): add a comment about memory management
      exclude_existing(): set existing_refs.strdup_strings
      register_ref(): make a copy of the bad reference SHA-1
      refs: document the lifetime of the args passed to each_ref_fn
      resolve_ref_unsafe(): extract function handle_missing_loose_ref()
      resolve_ref_unsafe(): handle the case of an SHA-1 within loop
      resolve_ref_unsafe(): close race condition reading loose refs
      repack_without_ref(): split list curation and entry writing
      pack_refs(): split creation of packed refs and entry writing
      refs: wrap the packed refs cache in a level of indirection
      refs: implement simple transactions for the packed-refs file
      refs: manage lifetime of packed refs cache via reference counting
      do_for_each_entry(): increment the packed refs cache refcount
      packed_ref_cache: increment refcount when locked
      Extract a struct stat_data from cache_entry
      add a stat_validity struct
      refs: do not invalidate the packed-refs cache unnecessarily
      git-multimail: an improved replacement for post-receive-email
      post-receive-email: deprecate script in favor of git-multimail

Michael Schubert (1):
      Change "remote tracking" to "remote-tracking"

Mike Crowe (1):
      describe: Add --first-parent option

Miklos Vajna (1):
      merge: handle --ff/--no-ff/--ff-only as a tri-state option

Namhyung Kim (1):
      name-rev: allow to specify a subpath for --refs option

Nguyễn Thái Ngọc Duy (10):
      clone: allow cloning local paths with colons in them
      index-pack: remove dead code (it should never happen)
      clone: open a shortcut for connectivity check
      prune-packed: avoid implying "1" is DRY_RUN in prune_packed_objects()
      get_sha1: warn about full or short object names that look like refs
      Makefile: promote wildmatch to be the default fnmatch implementation
      core: use env variable instead of config var to turn on logging pack access
      git.txt: document GIT_TRACE_PACKET
      Convert "struct cache_entry *" to "const ..." wherever possible
      git-clone.txt: remove the restriction on pushing from a shallow clone

Ondřej Bílka (3):
      typofix: release notes
      typofix: documentation
      typofix: in-code comments

Pat Thoyts (7):
      git-gui: fix the mergetool launcher for the Beyond Compare tool.
      git-gui: change dialog button positions for Windows to suit platform.
      Provide a Windows version resource for the git executables.
      Ensure the resource file is rebuilt when the version changes.
      Set the default help format to html for msys builds.
      git-gui: avoid an error message when removing the last remote
      git-gui 0.18

Peter Krefting (1):
      commit: reject non-characters

Petr Baudis (1):
      git stash: avoid data loss when "git stash save" kills a directory

Pierre le Riche (1):
      msysgit: Add the --large-address-aware linker directive to the makefile.

Ralf Thielow (1):
      wt-status: give better advice when cherry-pick is in progress

Ramkumar Ramachandra (54):
      tests: at-combinations: increase coverage
      tests: at-combinations: @{N} versus HEAD@{N}
      sha1_name: don't waste cycles in the @-parsing loop
      sha1_name: check @{-N} errors sooner
      am: tighten a conditional that checks for $dotest
      rebase -i: don't error out if $state_dir already exists
      rebase: prepare to do generic housekeeping
      am: return control to caller, for housekeeping
      rebase -i: return control to caller, for housekeeping
      rebase --merge: return control to caller, for housekeeping
      prompt: introduce GIT_PS1_STATESEPARATOR
      prompt: factor out gitstring coloring logic
      prompt: colorize ZSH prompt
      rebase: implement --[no-]autostash and rebase.autostash
      contrib: remove continuous/ and patches/
      completion: difftool takes both revs and files
      completion: show can take both revlist and paths
      rebase: guard against missing files in read_basic_state()
      rebase: finish_rebase() in fast-forward rebase
      rebase: finish_rebase() in noop rebase
      prompt: squelch error output from cat
      t/rebase: add failing tests for a peculiar revision
      sh-setup: add new peel_committish() helper
      rebase: use peel_committish() where appropriate
      am: handle stray $dotest directory
      t/am: use test_path_is_missing() where appropriate
      stash doc: add a warning about using create
      stash doc: document short form -p in synopsis
      stash: simplify option parser for create
      wt-status: remove unused field in grab_1st_switch_cbdata
      t/t2021-checkout-last: "checkout -" should work after a rebase finishes
      status: do not depend on rebase reflog messages
      checkout: respect GIT_REFLOG_ACTION
      stash: introduce 'git stash store'
      rebase: use 'git stash store' to simplify logic
      sequencer: write useful reflog message for fast-forward
      t/t5528-push-default: remove redundant test_config lines
      t/t5505-remote: modernize style
      t/t5505-remote: test push-refspec in branches-file
      t/t5505-remote: use test_path_is_missing
      remote: remove dead code in read_branches_file()
      t/t5505-remote: test url-with-# in branches-file
      ls-remote doc: fix example invocation on git.git
      ls-remote doc: rewrite <repository> paragraph
      ls-remote doc: don't encourage use of branches-file
      t/t5505-remote: test multiple push/pull in remotes-file
      config doc: rewrite push.default section
      rebase: use a better reflog message
      rebase -i: use a better reflog message
      push: change `simple` to accommodate triangular workflows
      t/t5528-push-default: generalize test_push_*
      t/t5528-push-default: test pushdefault workflows
      commit: make it work with status.short
      send-email: be explicit with SSL certificate verification

Ramsay Jones (14):
      compat/regex/regexec.c: Fix some sparse warnings
      compat/fnmatch/fnmatch.c: Fix a sparse error
      compat/nedmalloc: Fix some sparse warnings
      compat/nedmalloc: Fix compiler warnings on linux
      compat/unsetenv.c: Fix a sparse warning
      compat/win32/pthread.c: Fix a sparse warning
      compat/poll/poll.c: Fix a sparse warning
      compat/win32mmap.c: Fix some sparse warnings
      compat/mingw.c: Fix some sparse warnings
      sparse: Fix mingw_main() argument number/type errors
      cygwin: Remove the CYGWIN_V15_WIN32API build variable
      path: Fix a sparse warning
      Fix some sparse warnings
      Add the LAST_ARG_MUST_BE_NULL macro

René Scharfe (11):
      cache: mark cache_entry pointers const
      read-cache: mark cache_entry pointers const
      unpack-trees: factor out dup_entry
      unpack-trees: create working copy of merge entry in merged_entry
      diff-lib, read-tree, unpack-trees: mark cache_entry pointers const
      diff-lib, read-tree, unpack-trees: mark cache_entry array paramters const
      unpack-trees: free cache_entry array members for merges
      match-trees: factor out fill_tree_desc_strict
      unpack-trees: don't shift conflicts left and right
      diffcore-pickaxe: simplify has_changes and contains
      .mailmap: René Scharfe has a new email address

Richard Hartmann (3):
      templates: Use heredoc in pre-commit hook
      templates: Reformat pre-commit hook's message
      templates: spell ASCII in uppercase in pre-commit hook

SZEDER Gábor (16):
      bash prompt: fix redirection coding style in tests
      bash prompt: use 'write_script' helper in interactive rebase test
      completion, bash prompt: move __gitdir() tests to completion test suite
      bash prompt: add a test for symbolic link symbolic refs
      bash prompt: print unique detached HEAD abbreviated object name
      bash prompt: return early from __git_ps1() when not in a git repository
      bash prompt: run 'git rev-parse --git-dir' directly instead of __gitdir()
      bash prompt: use bash builtins to find out rebase state
      bash prompt: use bash builtins to find out current branch
      bash prompt: combine 'git rev-parse' executions in the main code path
      bash prompt: combine 'git rev-parse' for detached head
      bash prompt: use bash builtins to check for unborn branch for dirty state
      bash prompt: use bash builtins to check stash state
      bash prompt: avoid command substitution when checking for untracked files
      bash prompt: avoid command substitution when finalizing gitstring
      bash prompt: mention that PROMPT_COMMAND mode is faster

Sebastian Schuberth (1):
      Makefile: Do not use OLD_ICONV on MINGW anymore

Slava Kardakov (1):
      Fix `git svn` `rebase` & `dcommit` if top-level HEAD directory exist

Stefan Beller (10):
      .mailmap: Map "H.Merijn Brand" to "H. Merijn Brand"
      .mailmap: Map email addresses to names
      .mailmap: Combine more (email, name) to individual persons
      daemon.c:handle: Remove unneeded check for null pointer.
      commit: Fix a memory leak in determine_author_info
      diff.c: Do not initialize a variable, which gets reassigned anyway.
      parse_object_buffer: correct freeing the buffer
      .mailmap: combine more (email, name) to individual persons
      traverse_trees(): clarify return value of the callback
      open_istream: remove unneeded check for null pointer

Stefan Haller (1):
      git-gui: bring wish process to front on Mac

Thomas Gummerer (1):
      perf-lib: fix start/stop of perf tests

Thomas Rast (25):
      Implement line-history search (git log -L)
      log -L: :pattern:file syntax to find by funcname
      Speed up log -L... -M
      log -L: check range set invariants when we look it up
      log -L: fix overlapping input ranges
      t4211: pass -M to 'git log -M -L...' test
      log -L: test merge of parallel modify/rename
      log -L: store the path instead of a diff_filespec
      log -L: improve comments in process_all_files()
      git-log(1): remove --full-line-diff description
      fetch/pull doc: untangle meaning of bare <ref>
      sha1_file: silence sha1_loose_object_info
      test-lib: enable MALLOC_* for the actual tests
      test-lib: refactor $GIT_SKIP_TESTS matching
      test-lib: rearrange start/end of test_expect_* and test_skip
      test-lib: self-test that --verbose works
      test-lib: verbose mode for only tests matching a pattern
      test-lib: valgrind for only tests matching a pattern
      test-lib: allow prefixing a custom string before "ok N" etc.
      test-lib: support running tests under valgrind in parallel
      run-command: dup_devnull(): guard against syscalls failing
      daemon/shell: refactor redirection of 0/1/2 from /dev/null
      git: ensure 0/1/2 are open in main()
      apply, entry: speak of submodules instead of subprojects
      show-branch: fix description of --date-order

Tony Finch (1):
      gitweb: allow extra breadcrumbs to prefix the trail

Torsten Bögershausen (1):
      t0000: do not use export X=Y

W. Trevor King (4):
      doc/clone: Remove the '--bare -l -s' example
      doc/clone: Pick more compelling paths for the --reference example
      Documentation: Update the NFS remote examples to use the staging repo
      Documentation: Update 'linux-2.6.git' -> 'linux.git'

Xidorn Quan (1):
      credential-osxkeychain: support more protocols

brian m. carlson (3):
      send-email: provide port separately from hostname
      commit: reject invalid UTF-8 codepoints
      commit: reject overlong UTF-8 sequences


Version v1.8.3.4; changes since v1.8.3.3:
-----------------------------------------

Dennis Kaarsemaker (2):
      tests: allow sha1's as part of the path
      GIT-VERSION-GEN: support non-standard $GIT_DIR path

Fraser Tweedale (2):
      documentation: add git:// transport security notice
      diff-options: document default similarity index

Jeff King (5):
      t/lib-httpd/apache.conf: do not use LockFile in apache >= 2.4
      t/lib-httpd/apache.conf: load extra auth modules in apache 2.4
      t/lib-httpd/apache.conf: load compat access module in apache 2.4
      t/lib-httpd/apache.conf: configure an MPM module for apache 2.4
      lib-httpd/apache.conf: check version only after mod_version loads

Johannes Sixt (10):
      test-chmtime: Fix exit code on Windows
      t3010: modernize style
      tests: introduce test_ln_s_add
      tests: use test_ln_s_add to remove SYMLINKS prerequisite (trivial cases)
      t0000: use test_ln_s_add to remove SYMLINKS prerequisite
      t3030: use test_ln_s_add to remove SYMLINKS prerequisite
      t3100: use test_ln_s_add to remove SYMLINKS prerequisite
      t3509, t4023, t4114: use test_ln_s_add to remove SYMLINKS prerequisite
      t6035: use test_ln_s_add to remove SYMLINKS prerequisite
      t4011: remove SYMLINKS prerequisite

Junio C Hamano (7):
      fetch-options.txt: prevent a wildcard refspec from getting misformatted
      diff: demote core.safecrlf=true to core.safecrlf=warn
      t1512: correct leftover constants from earlier edition
      get_short_sha1(): correctly disambiguate type-limited abbreviation
      Start preparing for 1.8.3.4
      Update draft release notes to 1.8.3.4
      Git 1.8.3.4

Kevin Bracey (1):
      Documentation: Move "git diff <blob> <blob>"

Matthieu Moy (2):
      Documentation/git-push.txt: explain better cases where --force is dangerous
      Documentation/git-merge.txt: weaken warning about uncommited changes

Michael Haggerty (1):
      lockfile: fix buffer overflow in path handling

Namhyung Kim (1):
      config: Add description of --local option

Ondřej Bílka (1):
      update URL to the marc.info mail archive

Phil Hord (1):
      fix "builtin-*" references to be "builtin/*"

Ramkumar Ramachandra (2):
      column doc: rewrite documentation for column.ui
      name-rev doc: rewrite --stdin paragraph

René Scharfe (9):
      t5000: integrate export-subst tests into regular tests
      t5000, t5003: create directories for extracted files lazily
      t5000: factor out check_tar
      t5000: use check_tar for prefix test
      t5000: simplify tar-tree tests
      t5000: test long filenames
      read-cache: add simple performance test
      read-cache: free cache in discard_index
      use logical OR (||) instead of binary OR (|) in logical context

Stefan Beller (4):
      archive-zip:write_zip_entry: Remove second reset of size variable to zero.
      Documentation: "git reset <tree-ish> <pathspec>" takes a tree-ish, not tree-sh
      http-push.c::add_send_request(): do not initialize transfer_request
      apply.c::find_name_traditional(): do not initialize len to the line's length

Thomas Rast (7):
      coverage: split build target into compile and test
      coverage: do not delete .gcno files before building
      coverage: set DEFAULT_TEST_TARGET to avoid using prove
      coverage: build coverage-untested-functions by default
      Test 'commit --only' after 'checkout --orphan'
      t9902: fix 'test A == B' to use = operator
      test-lint: detect 'export FOO=bar'

Torstein Hegge (1):
      bisect: Fix log output for multi-parent skip ranges

Veres Lajos (1):
      random typofixes (committed missing a 't', successful missing an 's')

Vitor Antunes (1):
      t9801: git-p4: check ignore files with client spec

W. Trevor King (1):
      user-manual: Update download size for Git and the kernel

Yaakov Selkowitz (1):
      web--browse: support /usr/bin/cygstart on Cygwin


Version v1.8.3.3; changes since v1.8.3.2:
-----------------------------------------

Andrew Pimlott (2):
      lib-rebase: document exec_ in FAKE_LINES
      t7500: fix flipped actual/expect

Anthony Ramine (1):
      wildmatch: properly fold case everywhere

Brandon Casey (1):
      http.c: don't rewrite the user:passwd string multiple times

Charles McGarvey (1):
      gitweb: fix problem causing erroneous project list

Chris Rorvick (1):
      git.txt: remove stale comment regarding GIT_WORK_TREE

Clemens Buchacher (1):
      fix segfault with git log -c --follow

David Aguilar (4):
      Makefile: fix default regex settings on Darwin
      Makefile: add support for Apple CommonCrypto facility
      cache.h: eliminate SHA-1 deprecation warnings on Mac OS X
      imap-send: eliminate HMAC deprecation warnings on Mac OS X

Dmitry Marakasov (1):
      contrib/git-subtree: Use /bin/sh interpreter instead of /bin/bash

Felipe Contreras (4):
      read-cache: fix wrong 'the_index' usage
      read-cache: trivial style cleanups
      sequencer: remove useless indentation
      sequencer: avoid leaking message buffer when refusing to create an empty commit

Filipe Cabecinhas (1):
      compate/clipped-write.c: large write(2) fails on Mac OS X/XNU

Fredrik Gustafsson (1):
      handle multibyte characters in name

Jeff King (1):
      pull: update unborn branch tip after index

John Keeping (1):
      git-config: update doc for --get with multiple values

Junio C Hamano (6):
      deprecate core.statinfo at Git 2.0 boundary
      t5551: do not use unportable sed '\+'
      Documentation/diff-index: mention two modes of operation
      Start preparing for 1.8.3.3
      Update draft release notes to 1.8.3.3
      Git 1.8.3.3

Michael S. Tsirkin (9):
      t/send-email.sh: add test for suppress-cc=self
      send-email: fix suppress-cc=self on cccmd
      t/send-email: test suppress-cc=self on cccmd
      send-email: make --suppress-cc=self sanitize input
      t/send-email: add test with quoted sender
      t/send-email: test suppress-cc=self with non-ascii
      test-send-email: test for pre-sanitized self name
      send-email: add test for duplicate utf8 name
      send-email: sanitize author when writing From line

Ramkumar Ramachandra (6):
      sha1_name: fix error message for @{u}
      sha1_name: fix error message for @{<N>}, @{<date>}
      diffcore-pickaxe: make error messages more consistent
      diffcore-pickaxe doc: document -S and -G properly
      check-ignore doc: fix broken link to ls-files page
      fixup-builtins: retire an old transition helper script

René Scharfe (2):
      t5004: avoid using tar for checking emptiness of archive
      t5004: resurrect original empty tar archive test

Richard Hansen (1):
      Documentation/merge-options.txt: restore `-e` option

SZEDER Gábor (1):
      test: spell 'ls-files --delete' option correctly in test descriptions

Thomas Rast (2):
      pull: merge into unborn by fast-forwarding from empty tree
      apply: carefully strdup a possibly-NULL name

Torsten Bögershausen (1):
      t7400: test of UTF-8 submodule names pass under Mac OS

Vikrant Varma (2):
      help: add help_unknown_ref()
      merge: use help_unknown_ref()


Version v1.8.3.2; changes since v1.8.3.1:
-----------------------------------------

Felipe Contreras (1):
      prompt: fix for simple rebase

Johan Herland (8):
      t2024: Add tests verifying current DWIM behavior of 'git checkout <branch>'
      t2024: Show failure to use refspec when DWIMming remote branch names
      checkout: Use remote refspecs when DWIMming tracking branches
      t3200.39: tracking setup should fail if there is no matching refspec.
      t7201.24: Add refspec to keep --track working
      t9114.2: Don't use --track option against "svn-remote"-tracking branches
      branch.c: Validate tracking branches with refspecs instead of refs/remotes/*
      glossary: Update and rephrase the definition of a remote-tracking branch

John Keeping (1):
      contrib/subtree: don't delete remote branches if split fails

Junio C Hamano (3):
      strbuf_branchname(): do not double-expand @{-1}~22
      Start preparing for 1.8.3.2
      Git 1.8.3.2

Kenichi Saita (1):
      difftool --dir-diff: allow changing any clean working tree file

Kevin Bracey (2):
      t6019: demonstrate --ancestry-path A...B breakage
      revision.c: treat A...B merge bases as if manually specified

Matthijs Kooijman (1):
      combine-diff.c: Fix output when changes are exactly 3 lines apart

Michael Heemskerk (2):
      upload-pack: ignore 'shallow' lines with unknown obj-ids
      t5500: add test for fetching with an unknown 'shallow'

Nguyễn Thái Ngọc Duy (3):
      clone: let the user know when check_everything_connected is run
      urls.txt: avoid auto converting to hyperlink
      fetch-pack: prepare updated shallow file before fetching the pack

Ramkumar Ramachandra (4):
      push: factor out the detached HEAD error message
      push: fail early with detached HEAD and current
      push: make push.default = current use resolved HEAD
      completion: complete diff --word-diff

René Scharfe (1):
      commit: don't start editor if empty message is given with -m

Stefano Lattarini (1):
      configure: fix option help message for --disable-pthreads

Thomas Gummerer (1):
      prompt: fix show upstream with svn and zsh

Thomas Rast (1):
      Document push --no-verify

Torsten Bögershausen (1):
      t0070 "mktemp to unwritable directory" needs SANITY

Wieland Hoffmann (1):
      pre-push.sample: Make the script executable


Version v1.8.3.1; changes since v1.8.3:
---------------------------------------

Erik Faye-Lund (1):
      mingw: make mingw_signal return the correct handler

Felipe Contreras (1):
      sha1_file: trivial style cleanup

Fredrik Gustafsson (1):
      Document .git/modules

Jonathan Nieder (1):
      config: allow inaccessible configuration under $HOME

Junio C Hamano (3):
      Start 1.8.3.1 maintenance track
      t/README: test_must_fail is for testing Git
      Git 1.8.3.1

Karsten Blees (1):
      dir.c: fix ignore processing within not-ignored directories

Phil Hord (1):
      trivial: Add missing period in documentation

René Scharfe (1):
      submodule: remove redundant check for the_index.initialized


Version v1.8.3; changes since v1.8.3-rc3:
-----------------------------------------

Amit Bakshi (1):
      remote-hg: set stdout to binary mode on win32

Felipe Contreras (3):
      completion: regression fix for zsh
      remote-hg: trivial configuration note cleanup
      remote-hg: fix order of configuration comments

Jonathan Nieder (1):
      git-svn: clarify explanation of --destination argument

Junio C Hamano (1):
      Git 1.8.3

Nathan Gray (1):
      git-svn: multiple fetch/branches/tags keys are supported

Tobias Schulte (1):
      git-svn: introduce --parents parameter for commands branch and tag


Version v1.8.3-rc3; changes since v1.8.3-rc2:
---------------------------------------------

Dale R. Worley (1):
      git-submodule.txt: Clarify 'init' and 'add' subcommands.

Dale Worley (1):
      CodingGuidelines: Documentation/*.txt are the sources

Felipe Contreras (13):
      remote-bzr: update old organization
      remote-hg: trivial cleanups
      remote-hg: get rid of unused exception checks
      remote-hg: enable track-branches in hg-git mode
      remote-hg: add new get_config_bool() helper
      remote-hg: fix new branch creation
      remote-hg: disable forced push by default
      remote-hg: don't push fake 'master' bookmark
      remote-hg: update bookmarks when pulling
      remote-bzr: fix cloning of non-listable repos
      Revert "remote-hg: update bookmarks when pulling"
      remote-bzr: fixes for older versions of bzr
      documentation: trivial style cleanups

John Keeping (1):
      difftool: fix dir-diff when file does not exist in working tree

Junio C Hamano (1):
      Git 1.8.3-rc3

Peter Krefting (1):
      gitk: Update Swedish translation (304t)

Sandor Bodo-Merle (1):
      remote-bzr: fix old organization destroy


Version v1.8.3-rc2; changes since v1.8.3-rc1:
---------------------------------------------

Anand Kumria (1):
      gitk: Display the date of a tag in a human-friendly way

David Aguilar (1):
      mergetools/kdiff3: do not use --auto when diffing

Felipe Contreras (25):
      remote-bzr: cleanup CustomTree
      remote-bzr: delay blob fetching until the very end
      remote-bzr: fix order of locking in CustomTree
      remote-bzr: always try to update the worktree
      remote-bzr: add support to push merges
      remote-bzr: fixes for branch diverge
      remote-bzr: fix partially pushed merge
      remote-bzr: use branch variable when appropriate
      remote-bzr: add support for bzr repos
      remote-bzr: fix branch names
      remote-bzr: add support for shared repo
      remote-bzr: improve author sanitazion
      remote-bzr: add custom method to find branches
      remote-bzr: add option to specify branches
      remote-bzr: improve progress reporting
      remote-bzr: iterate revisions properly
      remote-bzr: delay peer branch usage
      remote-bzr: access branches only when needed
      transport-helper: improve push messages
      remote-bzr: convert all unicode keys to str
      remote-bzr: avoid bad refs
      remote-bzr: fix for disappeared revisions
      remote-helpers: trivial cleanup
      transport-helper: trivial style cleanup
      gitk: Simplify file filtering

Gauthier Östervall (1):
      gitk: Move hard-coded colors to .gitk

Jiang Xin (2):
      l10n: git.pot: v1.8.3 round 2 (44 new, 12 removed)
      l10n: zh_CN.po: translate 44 messages (2080t0f0u)

John Keeping (1):
      merge-tree: handle directory/empty conflict correctly

Jonathan Nieder (1):
      Git::SVN::*: add missing "NAME" section to perldoc

Junio C Hamano (4):
      Update draft release notes for 1.8.3
      cherry-pick: picking a tag that resolves to a commit is OK
      Git 1.8.2.3
      Git 1.8.3-rc2

Knut Franke (1):
      gitk: Add menu item for reverting commits

Martin Langhoff (1):
      gitk: Add support for -G'regex' pickaxe variant

Michael Contreras (1):
      git-svn: avoid self-referencing mergeinfo

Paul Mackerras (1):
      gitk: Improve behaviour of drop-down lists

Paul Walmsley (1):
      git-svn: added an --include-path flag

Peter Krefting (1):
      l10n: Update Swedish translation (2080t0f0u)

Ralf Thielow (1):
      l10n: de.po: translate 44 new messages

René Scharfe (2):
      t5004: ignore pax global header file
      t5004: avoid using tar for checking emptiness of archive

Tair Sabirgaliev (1):
      gitk: On OSX, bring the gitk window to front

Torsten Bögershausen (1):
      test-bzr: do not use unportable sed '\+'

Trần Ngọc Quân (1):
      l10n: Update Vietnamese translation (2080t0f0u)


Version v1.8.3-rc1; changes since v1.8.3-rc0:
---------------------------------------------

Anders Granskogen Bjørnstad (1):
      Documentation/git-commit: Typo under --edit

Felipe Contreras (5):
      completion: add missing format-patch options
      documentation: trivial whitespace cleanups
      complete: zsh: trivial simplification
      complete: zsh: use zsh completion for the main cmd
      completion: zsh: don't override suffix on _detault

H. Merijn Brand (1):
      Git.pm: call tempfile from File::Temp as a regular function

John Keeping (2):
      merge-tree: fix typo in "both changed identically"
      t/Makefile: remove smoke test targets

Junio C Hamano (2):
      Update draft release notes to 1.8.3
      Git 1.8.3-rc1

Marc Branchaud (1):
      Fix grammar in the 1.8.3 release notes.

Ramkumar Ramachandra (5):
      git-completion.bash: lexical sorting for diff.statGraphWidth
      git-completion.bash: add diff.submodule to config list
      git-completion.bash: complete branch.*.rebase as boolean
      git-completion.bash: add branch.*.pushremote to config list
      git-completion.bash: add remote.pushdefault to config list

Ramsay Jones (2):
      clone: Make the 'junk_mode' symbol a file static
      pretty: Fix bug in truncation support for %>, %< and %><

René Scharfe (3):
      pretty: simplify input line length calculation in pp_user_info()
      pretty: simplify output line length calculation in pp_user_info()
      pretty: remove intermediate strbufs from pp_user_info()

Thomas Rast (4):
      remote: add a test for extra arguments, according to docs
      remote: check for superfluous arguments in 'git remote add'
      remote: 'show' and 'prune' can take more than one remote
      unpack_entry: avoid freeing objects in base cache

Zoltan Klinger (1):
      bash-prompt.sh: show where rebase is at when stopped


Version v1.8.3-rc0; changes since v1.8.2.3:
-------------------------------------------

Aaron Schrab (2):
      clone: Fix error message for reference repository
      clone: Allow repo using gitfile as a reference

Antoine Pelisse (5):
      combine-diff: coalesce lost lines optimally
      fast-export: Allow pruned-references in mark file
      strbuf: create strbuf_humanise_bytes() to show byte sizes
      count-objects: add -H option to humanize sizes
      remote-hg: activate graphlog extension for hg_log()

Brad King (1):
      commit-tree: document -S option consistently

Brandon Casey (11):
      commit, cherry-pick -s: remove broken support for multiline rfc2822 fields
      t/test-lib-functions.sh: allow to specify the tag name to test_commit
      t/t3511: add some tests of 'cherry-pick -s' functionality
      sequencer.c: recognize "(cherry picked from ..." as part of s-o-b footer
      sequencer.c: require a conforming footer to be preceded by a blank line
      sequencer.c: always separate "(cherry picked from" from commit body
      sequencer.c: teach append_signoff how to detect duplicate s-o-b
      sequencer.c: teach append_signoff to avoid adding a duplicate newline
      Unify appending signoff in format-patch, commit and sequencer
      t7502: perform commits using alternate editor in a subshell
      git-commit: populate the edit buffer with 2 blank lines before s-o-b

Brian Gernhardt (3):
      t5550: do not assume the "matching" push is the default
      t5551: do not assume the "matching" push is the default
      t5570: do not assume the "matching" push is the default

Christophe Simonis (3):
      remote-bzr: fix directory renaming
      remote-bzr: remove files before modifications
      remote-bzr: fix utf-8 support for fetching

David Aguilar (4):
      difftool: silence uninitialized variable warning
      t7800: update copyright notice
      t7800: modernize tests
      t7800: "defaults" is no longer a builtin tool name

David Engster (1):
      remote-bzr: set author if available

Dusty Phillips (3):
      remote-hg: add missing config variable in doc
      remote-hg: push to the appropriate branch
      remote-helpers: avoid has_key

Felipe Contreras (64):
      remote-bzr: avoid echo -n
      remote-helpers: fix the run of all tests
      remote-bzr: remove stale check code for tests
      remote-hg: fix hg-git test-case
      remote-bzr: only update workingtree on local repos
      remote-bzr: avoid unreferred tags
      remote-bzr: add utf-8 support for pushing
      send-email: make annotate configurable
      format-patch: improve head calculation for cover-letter
      format-patch: refactor branch name calculation
      log: update to OPT_BOOL
      format-patch: add format.coverLetter configuration variable
      format-patch: trivial cleanups
      remote-bzr: improve tag handling
      remote-hg: trivial cleanups
      remote-hg: properly report errors on bookmark pushes
      remote-hg: make sure fake bookmarks are updated
      remote-hg: trivial test cleanups
      remote-hg: redirect buggy mercurial output
      remote-hg: split bookmark handling
      remote-hg: refactor export
      remote-hg: update remote bookmarks
      remote-hg: update tags globally
      remote-hg: force remote push
      remote-hg: show more proper errors
      remote-hg: add basic author tests
      remote-hg: add simple mail test
      remote-hg: fix bad state issue
      remote-hg: fix bad file paths
      completion: add more cherry-pick options
      completion: trivial test improvement
      completion: get rid of empty COMPREPLY assignments
      rebase-am: explicitly disable cover-letter
      completion: add new __gitcompadd helper
      completion: add __gitcomp_nl tests
      completion: get rid of compgen
      completion: inline __gitcomp_1 to its sole callsite
      completion: small optimization
      branch: colour upstream branches
      remote-bzr: fix prefix of tags
      remote-hg: safer bookmark pushing
      remote-hg: use python urlparse
      remote-hg: properly mark branches up-to-date
      remote-hg: add branch_tip() helper
      remote-hg: add support for tag objects
      remote-hg: custom method to write tags
      remote-hg: write tags in the appropriate branch
      remote-hg: add custom local tag write code
      remote-hg: improve email sanitation
      remote-hg: add support for schemes extension
      remote-hg: don't update bookmarks unnecessarily
      remote-hg: allow refs with spaces
      remote-hg: small performance improvement
      remote-hg: use marks instead of inlined files
      remote-hg: strip extra newline
      remote-bzr: use proper push method
      remote-helpers: trivial cleanups
      remote-hg: remove extra check
      remote-bzr: fix bad state issue
      remote-bzr: add support to push URLs
      remote-hg: use hashlib instead of hg sha1 util
      remote-bzr: store converted URL
      remote-bzr: tell bazaar to be quiet
      remote-bzr: strip extra newline

Jacob Sarvis (1):
      log: read gpg settings for signed commit verification

Jeff King (53):
      upload-pack: use get_sha1_hex to parse "shallow" lines
      upload-pack: do not add duplicate objects to shallow list
      upload-pack: remove packet debugging harness
      fetch-pack: fix out-of-bounds buffer offset in get_ack
      send-pack: prefer prefixcmp over memcmp in receive_status
      upload-archive: do not copy repo name
      upload-archive: use argv_array to store client arguments
      write_or_die: raise SIGPIPE when we get EPIPE
      pkt-line: move a misplaced comment
      pkt-line: drop safe_write function
      pkt-line: provide a generic reading function with options
      pkt-line: teach packet_read_line to chomp newlines
      pkt-line: move LARGE_PACKET_MAX definition from sideband
      pkt-line: provide a LARGE_PACKET_MAX static buffer
      pkt-line: share buffer/descriptor reading implementation
      teach get_remote_heads to read from a memory buffer
      remote-curl: pass buffer straight to get_remote_heads
      remote-curl: move ref-parsing code up in file
      remote-curl: always parse incoming refs
      t2200: check that "add -u" limits itself to subdirectory
      fast-export: rename handle_object function
      fast-export: do not load blob objects twice
      do not use GIT_TRACE_PACKET=3 in tests
      stream_blob_to_fd: detect errors reading from stream
      check_sha1_signature: check return value from read_istream
      read_istream_filtered: propagate read error from upstream
      avoid infinite loop in read_istream_loose
      add test for streaming corrupt blobs
      streaming_write_entry: propagate streaming errors
      add tests for cloning corrupted repositories
      clone: die on errors from unpack_trees
      clone: run check_everything_connected
      t1300: document some aesthetic failures of the config editor
      clone: leave repo in place after checkout errors
      t5516 (fetch-push): drop implicit arguments from helper functions
      t3200: test --set-upstream-to with bogus refs
      branch: factor out "upstream is not a branch" error messages
      branch: improve error message for missing --set-upstream-to ref
      branch: mention start_name in set-upstream error messages
      branch: give advice when tracking start-point is missing
      rm: do not complain about d/f conflicts during deletion
      t3600: test behavior of reverse-d/f conflict
      t3600: document failure of rm across symbolic links
      http: add HTTP_KEEP_ERROR option
      remote-curl: show server content on http errors
      remote-curl: let servers override http 404 advice
      remote-curl: always show friendlier 404 message
      remote-curl: consistently report repo url for http errors
      http: simplify http_error helper function
      http: re-word http error message
      remote-curl: die directly with http error messages
      http: drop http_error function
      http: set curl FAILONERROR each time we select a handle

Jens Lehmann (2):
      submodule: add 'deinit' command
      submodule deinit: clarify work tree removal message

Jiang Xin (3):
      l10n: git.pot: v1.8.3 round 1 (54 new, 15 removed)
      l10n: zh_CN.po: translate 54 messages (2048t0f0u)
      i18n: branch: mark strings for translation

John Keeping (16):
      Makefile: make mandir, htmldir and infodir absolute
      git-difftool(1): fix formatting of --symlink description
      difftool: avoid double slashes in symlink targets
      difftool --dir-diff: symlink all files matching the working tree
      refs.c: fix fread error handling
      t7800: move '--symlinks' specific test to the end
      difftool: don't overwrite modified files
      t7800: don't hide grep output
      t7800: fix tests when difftool uses --no-symlinks
      t7800: run --dir-diff tests with and without symlinks
      submodule: print graph output next to submodule log
      gitremote-helpers(1): clarify refspec behaviour
      merge-tree: don't print entries that match "local"
      fast-export: add --signed-tags=warn-strip mode
      transport-helper: pass --signed-tags=warn-strip to fast-export
      transport-helper: add 'signed-tags' capability

John Koleszar (1):
      http-backend: respect GIT_NAMESPACE with dumb clients

John Szakmeister (1):
      git-web--browse: recognize any TERM_PROGRAM as a GUI terminal on OS X

Jonathan Nieder (11):
      sequencer.c: rework search for start of footer to improve clarity
      shell doc: emphasize purpose and security model
      shell: new no-interactive-login command to print a custom message
      push test: use test_config when appropriate
      push test: simplify check of push result
      push test: rely on &&-chaining instead of 'if bad; then echo Oops; fi'
      add: make pathless 'add [-u|-A]' warning a file-global function
      add: make warn_pathless_add() a no-op after first call
      add -u: only show pathless 'add -u' warning when changes exist outside cwd
      add -A: only show pathless 'add -A' warning when changes exist outside cwd
      convert: The native line-ending is \r\n on MinGW

Jonathon Mah (1):
      branch: give better message when no names specified for rename

Junio C Hamano (53):
      t5404: do not assume the "matching" push is the default
      t5505: do not assume the "matching" push is the default
      t5516: do not assume the "matching" push is the default
      t5517: do not assume the "matching" push is the default
      t5519: do not assume the "matching" push is the default
      t5531: do not assume the "matching" push is the default
      t7406: do not assume the "matching" push is the default
      t9400: do not assume the "matching" push is the default
      t9401: do not assume the "matching" push is the default
      simplify-merges: drop merge from irrelevant side branch
      config.mak.in: remove unused definitions
      parse_fetch_refspec(): clarify the codeflow a bit
      fetch: use struct ref to represent refs to be fetched
      upload-pack: optionally allow fetching from the tips of hidden refs
      fetch: fetch objects by their exact SHA-1 object names
      Makefile: do not export mandir/htmldir/infodir
      match_push_refs(): nobody sets src->peer_ref anymore
      commit.c: add clear_commit_marks_many()
      commit.c: add in_merge_bases_many()
      commit.c: use clear_commit_marks_many() in in_merge_bases_many()
      push: --follow-tags
      for_each_reflog_ent(): extract a helper to process a single entry
      for_each_recent_reflog_ent(): simplify opening of a reflog file
      reflog: add for_each_reflog_ent_reverse() API
      builtin/add.c: simplify boolean variables
      git add: start preparing for "git add <pathspec>..." to default to "-A"
      Start the post 1.8.2 cycle
      The first wave of topics for 1.8.3
      Update draft release notes to 1.8.3
      merge-one-file: remove stale comment
      merge-one-file: force content conflict for "both sides added" case
      Second wave of topics toward 1.8.3
      More topics from the second batch for 1.8.3
      peel_onion: disambiguate to favor tree-ish when we know we want a tree-ish
      peel_onion(): teach $foo^{object} peeler
      Update draft release notes to 1.8.3
      Update draft release notes to 1.8.3
      Update draft release notes to 1.8.3
      Update draft release notes to 1.8.3
      Update draft release notes to 1.8.3
      Revert 4b7f53da7618 (simplify-merges: drop merge from irrelevant side branch, 2013-01-17)
      Update dtaft release notes to 1.8.3
      Update draft release notes to 1.8.3
      git add: rework the logic to warn "git add <pathspec>..." default change
      Update draft release notes to 1.8.3
      Update draft release notes to 1.8.3
      git add: rephrase the "removal will cease to be ignored" warning
      Update draft release notes to 1.8.3
      git add: --ignore-removal is a better named --no-all
      git add: rephrase -A/--no-all warning
      Update draft release notes to 1.8.3
      git add: avoid "-u/-A without pathspec" warning on stat-dirty paths
      Git 1.8.3-rc0

Karsten Blees (14):
      dir.c: git-status --ignored: don't drop ignored directories
      dir.c: git-status --ignored: don't list files in ignored directories
      dir.c: git-status --ignored: don't list empty ignored directories
      dir.c: git-ls-files --directories: don't hide empty directories
      dir.c: git-status --ignored: don't list empty directories as ignored
      dir.c: make 'git-status --ignored' work within leading directories
      dir.c: git-clean -d -X: don't delete tracked directories
      dir.c: factor out parts of last_exclude_matching for later reuse
      dir.c: move prep_exclude
      dir.c: unify is_excluded and is_path_excluded APIs
      dir.c: replace is_path_excluded with now equivalent is_excluded API
      dir.c: git-status: avoid is_excluded checks for tracked files
      dir.c: git-status --ignored: don't scan the work tree three times
      dir.c: git-status --ignored: don't scan the work tree twice

Kevin Bracey (5):
      mergetools/p4merge: swap LOCAL and REMOTE
      mergetools/p4merge: create a base if none available
      git-merge-one-file: style cleanup
      git-merge-one-file: send "ERROR:" messages to stderr
      checkout: abbreviate hash in suggest_reattach

Kirill Smelkov (1):
      Fix `make install` when configured with autoconf

Lukas Fleischer (3):
      attr.c: extract read_index_data() as read_blob_data_from_index()
      read_blob_data_from_index(): optionally return the size of blob data
      convert.c: remove duplicate code

Matthieu Moy (3):
      status: show 'revert' state and status hint
      status: show commit sha1 in "You are currently reverting" message
      add: add a blank line at the end of pathless 'add [-u|-A]' warning

Michael Haggerty (1):
      rev-parse: clarify documentation for the --verify option

Michal Nazarewicz (6):
      Git.pm: allow command_close_bidi_pipe to be called as method
      Git.pm: fix example in command_close_bidi_pipe documentation
      Git.pm: refactor command_close_bidi_pipe to use _cmd_close
      Git.pm: allow pipes to be closed prior to calling command_close_bidi_pipe
      Git.pm: add interface for git credential command
      git-send-email: use git credential to obtain password

Mike Gorchak (2):
      date.c: fix unsigned time_t comparison
      Fix time offset calculation in case of unsigned time_t

Miklos Vajna (1):
      cherry-pick: make sure all input objects are commits

Miklós Fazekas (1):
      git p4: avoid expanding client paths in chdir

Modestas Vainius (1):
      Support FTP-over-SSL/TLS for regular FTP

Nguyễn Thái Ngọc Duy (28):
      git-count-objects.txt: describe each line in -v output
      t4014: more tests about appending s-o-b lines
      format-patch: update append_signoff prototype
      sha1_file: reorder code in prepare_packed_git_one()
      count-objects: report garbage files in pack directory too
      count-objects: report how much disk space taken by garbage files
      wt-status: move strbuf into read_and_strip_branch()
      wt-status: split wt_status_state parsing function out
      wt-status: move wt_status_get_state() out to wt_status_print()
      status: show more info than "currently not on any branch"
      branch: show more information when HEAD is detached
      Preallocate hash tables when the number of inserts are known in advance
      status, branch: fix the misleading "bisecting" message
      checkout: avoid unnecessary match_pathspec calls
      checkout: add --ignore-skip-worktree-bits in sparse checkout mode
      pretty: save commit encoding from logmsg_reencode if the caller needs it
      pretty: get the correct encoding for --pretty:format=%e
      pretty-formats.txt: wrap long lines
      pretty: share code between format_decoration and show_decorations
      utf8.c: move display_mode_esc_sequence_len() for use by other functions
      utf8.c: add utf8_strnwidth() with the ability to skip ansi sequences
      utf8.c: add reencode_string_len() that can handle NULs in string
      pretty: two phase conversion for non utf-8 commits
      pretty: split color parsing into a separate function
      pretty: add %C(auto) for auto-coloring
      pretty: support padding placeholders, %< %> and %><
      pretty: support truncating in %>, %< and %><
      pretty: support %>> that steal trailing spaces

Pete Wyckoff (2):
      git p4 test: make sure P4CONFIG relative path works
      git p4 test: should honor symlink in p4 client root

Peter Krefting (1):
      l10n: Update Swedish translation (2048t0f0u)

Peter van Zetten (1):
      remote-hg: fix for files with spaces

Phil Hord (1):
      rebase: find orig_head unambiguously

Philip Oakley (5):
      builtin/help.c: split "-a" processing into two
      builtin/help.c: add --guide option
      builtin/help.c: add list_common_guides_help() function
      help: mention -a and -g option, and 'git help <concept>' usage.
      doc: include --guide option description for "git help"

Ralf Thielow (1):
      l10n: de.po: translate 54 new messages

Ramkumar Ramachandra (14):
      t5520: use test_config to set/unset git config variables (leftover bits)
      remote.c: simplify a bit of code using git_config_string()
      t5516 (fetch-push): update test description
      remote.c: introduce a way to have different remotes for fetch/push
      remote.c: introduce remote.pushdefault
      remote.c: introduce branch.<name>.pushremote
      git-shortlog.txt: remove (-h|--help) from OPTIONS
      revisions.txt: clarify the .. and ... syntax
      git-log.txt: order OPTIONS properly; move <since>..<until>
      git-log.txt: generalize <since>..<until>
      git-log.txt: rewrite note on why "--" may be required
      git-shortlog.txt: make SYNOPSIS match log, update OPTIONS
      builtin/log.c: make usage string consistent with doc
      builtin/shortlog.c: make usage string consistent with log

Ramsay Jones (5):
      msvc: Fix compilation errors caused by poll.h emulation
      msvc: git-daemon: Fix linker "unresolved external" errors
      msvc: Fix build by adding missing symbol defines
      msvc: test-svn-fe: Fix linker "unresolved external" error
      msvc: avoid collisions between "tags" and "TAGS"

René Scharfe (1):
      archive-zip: use deflateInit2() to ask for raw compressed data

Sebastian Götte (5):
      Move commit GPG signature verification to commit.c
      commit.c/GPG signature verification: Also look at the first GPG status line
      merge/pull: verify GPG signatures of commits being merged
      merge/pull Check for untrusted good GPG signatures
      pretty printing: extend %G? to include 'N' and 'U'

Sebastian Schuberth (1):
      git-svn: Support custom tunnel schemes instead of SSH only

Simon Ruderich (4):
      git-am: show the final log message on "Applying:" indicator
      remote-hg: add 'insecure' option
      remote-hg: document location of stored hg repository
      help: mark common_guides[] as translatable

Stefano Lattarini (1):
      zlib: fix compilation failures with Sun C Compilaer

Steven Walter (1):
      safe_create_leading_directories: fix race that could give a false negative

Ted Zlatanov (1):
      Add contrib/credentials/netrc with GPG support

Thomas Rast (8):
      sha1_file: remove recursion in packed_object_info
      Refactor parts of in_delta_base_cache/cache_or_unpack_entry
      sha1_file: remove recursion in unpack_entry
      Avoid loading commits twice in log with diffs
      t/README: --valgrind already implies -v
      tests: parameterize --valgrind option
      tests --valgrind: provide a mode without --track-origins
      tests: notice valgrind error in test_must_fail

Timotheus Pokorra (1):
      remote-bzr: add utf-8 support for fetching

Torstein Hegge (3):
      t9903: Don't fail when run from path accessed through symlink
      bisect: Store first bad commit as comment in log file
      bisect: Log possibly bad, skipped commits at bisection end

Torsten Bögershausen (4):
      Make core.sharedRepository work under cygwin 1.7
      path.c: simplify adjust_shared_perm()
      path.c: optimize adjust_shared_perm()
      test-bzr: portable shell and utf-8 strings for Mac OS

Trần Ngọc Quân (1):
      l10n: vi.po: Update translation (2048t0u0f)

Yann Droneaud (12):
      t3400: use test_config to set/unset git config variables
      t4304: use test_config to set/unset git config variables
      t4034: use test_config/test_unconfig to set/unset git config variables
      t4202: use test_config/test_unconfig to set/unset git config variables
      t5520: use test_config to set/unset git config variables
      t5541: use test_config to set/unset git config variables
      t7500: use test_config to set/unset git config variables
      t7508: use test_config to set/unset git config variables
      t9500: use test_config to set/unset git config variables
      t7502: use test_config to set/unset git config variables
      t7502: remove clear_config
      t7600: use test_config to set/unset git config variables


Version v1.8.2.3; changes since v1.8.2.2:
-----------------------------------------

Anders Granskogen Bjørnstad (1):
      Documentation/git-commit: Typo under --edit

David Aguilar (1):
      mergetools/kdiff3: do not use --auto when diffing

Felipe Contreras (5):
      documentation: trivial whitespace cleanups
      complete: zsh: trivial simplification
      complete: zsh: use zsh completion for the main cmd
      completion: zsh: don't override suffix on _detault
      transport-helper: trivial style cleanup

John Keeping (1):
      t/Makefile: remove smoke test targets

Jonathan Nieder (1):
      glossary: a revision is just a commit

Junio C Hamano (1):
      Git 1.8.2.3

Ramkumar Ramachandra (3):
      git-completion.bash: lexical sorting for diff.statGraphWidth
      git-completion.bash: add diff.submodule to config list
      git-completion.bash: complete branch.*.rebase as boolean

René Scharfe (2):
      t5004: ignore pax global header file
      t5004: avoid using tar for checking emptiness of archive

Thomas Rast (4):
      read_revisions_from_stdin: make copies for handle_revision_arg
      remote: add a test for extra arguments, according to docs
      remote: check for superfluous arguments in 'git remote add'
      remote: 'show' and 'prune' can take more than one remote


Version v1.8.2.2; changes since v1.8.2.1:
-----------------------------------------

Adam Spiers (1):
      t: make PIPE a standard test prerequisite

Antoine Pelisse (2):
      fix clang -Wtautological-compare with unsigned enum
      Allow combined diff to ignore white-spaces

Benoit Bourbie (1):
      Typo fix: replacing it's -> its

Carlos Martín Nieto (1):
      Documentation/git-commit: reword the --amend explanation

David Aguilar (1):
      help.c: add a compatibility comment to cmd_version()

Felipe Contreras (2):
      remote-hg: fix commit messages
      prompt: fix untracked files for zsh

Jakub Narębski (1):
      gitweb/INSTALL: Simplify description of GITWEB_CONFIG_SYSTEM

Jeff King (13):
      submodule: clarify logic in show_submodule_summary
      filter-branch: return to original dir after filtering
      diffcore-pickaxe: remove fill_one()
      diffcore-pickaxe: unify code for log -S/-G
      show-branch: use strbuf instead of static buffer
      doc/http-backend: clarify "half-auth" repo configuration
      doc/http-backend: give some lighttpd config examples
      doc/http-backend: match query-string in apache half-auth example
      t/test-lib.sh: drop "$test" variable
      usage: allow pluggable die-recursion checks
      run-command: use thread-aware die_is_recursing routine
      cat-file: print tags raw for "cat-file -p"
      receive-pack: close sideband fd on early pack errors

Jiang Xin (1):
      i18n: make the translation of -u advice in one go

Johannes Sixt (3):
      rerere forget: grok files containing NUL
      rerere forget: do not segfault if not all stages are present
      t6200: avoid path mangling issue on Windows

John Keeping (5):
      diffcore-break: don't divide by zero
      bisect: avoid signed integer overflow
      git-merge(1): document diff-algorithm option to merge-recursive
      diff: allow unstuck arguments with --diff-algorithm
      t/test-lib.sh: fix TRASH_DIRECTORY handling

Jonathan Nieder (1):
      gitweb/INSTALL: GITWEB_CONFIG_SYSTEM is for backward compatibility

Junio C Hamano (13):
      merge: a random object may not necssarily be a commit
      apply --whitespace=fix: avoid running over the postimage buffer
      t5516: test interaction between pushURL and pushInsteadOf correctly
      test: resurrect q_to_tab
      t6200: use test_config/test_unconfig
      t6200: test message for merging of an annotated tag
      diffcore-pickaxe: port optimization from has_changes() to diff_grep()
      diffcore-pickaxe: fix leaks in "log -S<block>" and "log -G<pattern>"
      glossary: extend "detached HEAD" description
      doc: clarify that "git daemon --user=<user>" option does not export HOME=~user
      Start preparing for 1.8.2.2
      Update draft release notes to 1.8.2.2
      Git 1.8.2.2

Kevin Bracey (1):
      cherry-pick/revert: make usage say '<commit-ish>...'

Lukas Fleischer (1):
      bundle: Accept prerequisites without commit messages

Martin von Gagern (1):
      Documentation: Strip texinfo anchors to avoid duplicates

Mårten Kongstad (1):
      completion: remove duplicate block for "git commit -c"

Paul Price (1):
      fast-export: fix argument name in error messages

Peter Eisentraut (1):
      pull: Apply -q and -v options to rebase mode as well

Ralf Thielow (2):
      fmt-merge-msg: respect core.commentchar in people credits
      fmt-merge-msg: use core.commentchar in tag signatures completely

Ramkumar Ramachandra (4):
      t3200 (branch): modernize style
      send-email: use "return;" not "return undef;" on error codepaths
      send-email: drop misleading function prototype
      send-email: use the three-arg form of open in recipients_cmd

René Scharfe (5):
      match-trees: simplify score_trees() using tree_entry()
      t5004: fix issue with empty archive test and bsdtar
      archive: clarify explanation of --worktree-attributes
      pretty: handle broken commit headers gracefully
      blame: handle broken commit headers gracefully

Robin Rosenberg (1):
      bash: teach __git_ps1 about REVERT_HEAD

Simon Ruderich (3):
      diffcore-pickaxe: remove unnecessary call to get_textconv()
      diffcore-pickaxe: respect --no-textconv
      t/README: --immediate skips cleanup commands for failed tests

Stefan Saasen (1):
      Documentation: distinguish between ref and offset deltas in pack-format

Stefano Lattarini (9):
      doc: various spelling fixes
      git-remote-mediawiki: spelling fixes
      contrib/subtree: fix spelling of accidentally
      obstack: fix spelling of similar
      compat/regex: fix spelling and grammar in comments
      compat/nedmalloc: fix spelling in comments
      precompose-utf8: fix spelling of "want" in error message
      kwset: fix spelling in comments
      Correct common spelling mistakes in comments and tests

Thomas Ackermann (4):
      glossary: remove outdated/misleading/irrelevant entries
      glossary: improve description of SHA-1 related topics
      The name of the hash function is "SHA-1", not "SHA1"
      glossary: improve definitions of refspec and pathspec

Thomas Rast (2):
      perl: redirect stderr to /dev/null instead of closing
      t9700: do not close STDERR

Torsten Bögershausen (5):
      t9020: do not use export X=Y
      t9501: do not use export X=Y
      test-hg-bidi.sh: do not use export X=Y
      test-hg-hg-git.sh: do not use export X=Y
      t7409: do not use export X=Y


Version v1.8.2.1; changes since v1.8.2:
---------------------------------------

Andrew Wong (2):
      setup.c: stop prefix_pathspec() from looping past the end of string
      setup.c: check that the pathspec magic ends with ")"

Antoine Pelisse (3):
      update-index: allow "-h" to also display options
      diff: Fix rename pretty-print when suffix and prefix overlap
      tests: make sure rename pretty print works

Brandon Casey (4):
      t/t7502: compare entire commit message with what was expected
      t7502: demonstrate breakage with a commit message with trailing newlines
      git-commit: only append a newline to -m mesg if necessary
      Documentation/git-commit.txt: rework the --cleanup section

Christian Helmuth (1):
      git-commit doc: describe use of multiple `-m` options

Dan Bornstein (1):
      Correct the docs about GIT_SSH.

David Aguilar (20):
      git-sh-setup: use a lowercase "usage:" string
      git-svn: use a lowercase "usage:" string
      git-relink: use a lowercase "usage:" string
      git-merge-one-file: use a lowercase "usage:" string
      git-archimport: use a lowercase "usage:" string
      git-cvsexportcommit: use a lowercase "usage:" string
      git-cvsimport: use a lowercase "usage:" string
      git-cvsimport: use a lowercase "usage:" string
      contrib/credential: use a lowercase "usage:" string
      contrib/fast-import: use a lowercase "usage:" string
      contrib/fast-import/import-zips.py: fix broken error message
      contrib/fast-import/import-zips.py: use spaces instead of tabs
      contrib/examples: use a lowercase "usage:" string
      contrib/hooks/setgitperms.perl: use a lowercase "usage:" string
      templates/hooks--update.sample: use a lowercase "usage:" string
      Documentation/user-manual.txt: use a lowercase "usage:" string
      git-svn: use a lowercase "usage:" string
      tests: use a lowercase "usage:" string
      contrib/examples/git-remote.perl: use a lowercase "usage:" string
      contrib/mw-to-git/t/install-wiki.sh: use a lowercase "usage:" string

David Michael (1):
      git-compat-util.h: Provide missing netdb.h definitions

Greg Price (2):
      Fix ".git/refs" stragglers
      describe: Document --match pattern format

Jeff King (23):
      utf8: accept alternate spellings of UTF-8
      mailsplit: sort maildir filenames more cleverly
      cache.h: drop LOCAL_REPO_ENV_SIZE
      environment: add GIT_PREFIX to local_repo_env
      setup: suppress implicit "." work-tree for bare repos
      test-lib: factor out $GIT_UNZIP setup
      archive: handle commits with an empty tree
      upload-pack: drop lookup-before-parse optimization
      upload-pack: make sure "want" objects are parsed
      upload-pack: load non-tip "want" objects from disk
      avoid segfaults on parse_object failure
      use parse_object_or_die instead of die("bad object")
      pack-refs: write peeled entry for non-tags
      index-pack: always zero-initialize object_entry list
      fast-import: use pointer-to-pointer to keep list tail
      drop some obsolete "x = x" compiler warning hacks
      transport: drop "int cmp = cmp" hack
      run-command: always set failed_errno in start_command
      fast-import: clarify "inline" logic in file_change_m
      wt-status: fix possible use of uninitialized variable
      dir.c::match_pathname(): adjust patternlen when shifting pattern
      dir.c::match_pathname(): pay attention to the length of string parameters
      t: check that a pattern without trailing slash matches a directory

Johannes Sixt (1):
      t2003: work around path mangling issue on Windows

John Keeping (4):
      Revert "graph.c: mark private file-scope symbols as static"
      t2003: modernize style
      entry: fix filter lookup
      merge-tree: fix typo in merge-tree.c::unresolved

Joshua Clayton (1):
      Git.pm: fix cat_blob crashes on large files

Junio C Hamano (21):
      imap-send: support Server Name Indication (RFC4366)
      diff-options: unconfuse description of --color
      describe: --match=<pattern> must limit the refs even when used with --all
      reflog: fix typo in "reflog expire" clean-up codepath
      Documentation/git-push: clarify the description of defaults
      git status: document trade-offs in choosing parameters to the -u option
      CodingGuidelines: our documents are in AsciiDoc
      Documentation: merging a tag is a special case
      transport.c: help gcc 4.6.3 users by squelching compiler warning
      Start preparing for 1.8.2.1
      attr.c::path_matches(): the basename is part of the pathname
      More corrections for 1.8.2.1
      More fixes for 1.8.2.1
      attr.c::path_matches(): special case paths that end with a slash
      dir.c::match_basename(): pay attention to the length of string parameters
      Update draft release notes to 1.8.2.1
      Start preparing for 1.8.1.6
      Update draft release notes to 1.8.2.1
      mailmap: update Pasky's address
      Git 1.8.1.6
      Git 1.8.2.1

Kacper Kornet (3):
      rev-parse: clarify documentation of $name@{upstream} syntax
      t1507: Test that branchname@{upstream} is interpreted as branch
      Fix revision walk for commits with the same dates

Karsten Blees (1):
      name-hash.c: fix endless loop with core.ignorecase=true

Kirill Smelkov (1):
      format-patch: RFC 2047 says multi-octet character may not be split

Lukas Fleischer (2):
      bundle: Fix "verify" output if history is complete
      bundle: Add colons to list headings in "verify"

Matthias Krüger (1):
      git help config: s/insn/instruction/

Matthieu Moy (1):
      git-remote-mediawiki: new wiki URL in documentation

Max Nanasy (1):
      diff.c: diff.renamelimit => diff.renameLimit in message

Michael Haggerty (1):
      pack-refs: add fully-peeled trait

Michael J Gruber (5):
      gpg-interface: check good signature in a reliable way
      log-tree: rely upon the check in the gpg_interface
      gpg_interface: allow to request status return
      pretty: parse the gpg status lines rather than the output
      pretty: make %GK output the signing key for signed commits

Mihai Capotă (1):
      git-pull doc: fix grammo ("conflicts" is plural)

Nguyễn Thái Ngọc Duy (7):
      index-format.txt: mention of v4 is missing in some places
      read-cache.c: use INDEX_FORMAT_{LB,UB} in verify_hdr()
      branch: segfault fixes and validation
      update-index: list supported idx versions and their features
      status: advise to consider use of -u when read_directory takes too long
      index-pack: fix buffer overflow caused by translations
      index-pack: protect deepest_delta in multithread code

Phil Hord (1):
      tag: --force does not have to warn when creating tags

Ramkumar Ramachandra (1):
      t4018,7810,7811: remove test_config() redefinition

Ramsay Jones (2):
      fast-import: Fix an gcc -Wuninitialized warning
      cat-file: Fix an gcc -Wuninitialized warning

René Scharfe (4):
      archive-zip: fix compressed size for stored export-subst files
      Makefile: keep LIB_H entries together and sorted
      sha1_name: pass object name length to diagnose_invalid_sha1_path()
      submodule summary: support --summary-limit=<n>

Tadeusz Andrzej Kadłubowski (2):
      git-filter-branch.txt: clarify ident variables usage
      Documentation: filter-branch env-filter example

Thomas Rast (3):
      diff: prevent pprint_rename from underrunning input
      index-pack: guard nr_resolved_deltas reads by lock
      git-tag(1): we tag HEAD by default

Torsten Bögershausen (1):
      remote-helpers/test-bzr.sh: do not use "grep '\s'"

W. Trevor King (2):
      Documentation/githooks: Explain pre-rebase parameters
      user-manual: Standardize backtick quoting

William Entriken (1):
      submodule update: when using recursion, show full path


Version v1.8.2; changes since v1.8.2-rc3:
-----------------------------------------

Antoine Pelisse (1):
      perf: update documentation of GIT_PERF_REPEAT_COUNT

Eric Wong (1):
      git svn: consistent spacing after "W:" in warnings

Greg Price (1):
      add: Clarify documentation of -A and -u

Jan Pešta (1):
      git svn: ignore partial svn:mergeinfo

Junio C Hamano (2):
      Update draft release notes to 1.8.2
      Git 1.8.2

Kevin Bracey (2):
      Translate git_more_info_string consistently
      git.c: make usage match manual page

Matthieu Moy (2):
      add: update pathless 'add [-u|-A]' warning to reflect change of plan
      git-completion.bash: zsh does not implement function redirection correctly


Version v1.8.2-rc3; changes since v1.8.2-rc2:
---------------------------------------------

Fredrik Gustafsson (1):
      gitweb/README: remove reference to git.kernel.org

Jiang Xin (2):
      l10n: git.pot: v1.8.2 round 4 (1 changed)
      l10n: zh_CN.po: translate 1 new message

Junio C Hamano (1):
      Git 1.8.2-rc3

Matthieu Moy (1):
      git-completion.zsh: define __gitcomp_file compatibility function

Peter Krefting (1):
      l10n: Update Swedish translation (2009t0f0u)

Ralf Thielow (4):
      l10n: de.po: translate 35 new messages
      l10n: de.po: translate 5 new messages
      l10n: de.po: correct translation of "bisect" messages
      l10n: de.po: translate 1 new message

Trần Ngọc Quân (1):
      l10n: vi.po: Update translation (2009t0f0u)


Version v1.8.2-rc2; changes since v1.8.2-rc1:
---------------------------------------------

Andrew Wong (1):
      Documentation/githooks: Fix linkgit

Brad King (1):
      Documentation/submodule: Add --force to update synopsis

Erik Faye-Lund (1):
      Revert "compat: add strtok_r()"

Junio C Hamano (3):
      Update draft release notes to 1.8.1.5
      Git 1.8.1.5
      Git 1.8.2-rc2

Karsten Blees (2):
      wincred: accept CRLF on stdin to simplify console usage
      wincred: improve compatibility with windows versions

Michael Haggerty (1):
      Provide a mechanism to turn off symlink resolution in ceiling paths

Thomas Rast (1):
      Make !pattern in .gitattributes non-fatal


Version v1.8.2-rc1; changes since v1.8.2-rc0:
---------------------------------------------

Adam Spiers (1):
      t0008: document test_expect_success_multi

Greg Price (1):
      Documentation: "advice" is uncountable

Jeff King (1):
      Makefile: avoid infinite loop on configure.ac change

Jiang Xin (5):
      l10n: Update git.pot (35 new, 14 removed messages)
      l10n: zh_CN.po: translate 35 new messages
      l10n: git.pot: v1.8.2 round 3 (5 new)
      l10n: zh_CN.po: translate 5 new messages
      Bugfix: undefined htmldir in config.mak.autogen

Junio C Hamano (8):
      doc: mention tracking for pull.default
      user-manual: typofix (ofthe->of the)
      RelNotes 1.8.2: push-simple will not be in effect in this release
      imap-send: move #ifdef around
      name-hash: allow hashing an empty string
      Git 1.8.1.4
      Prepare for 1.8.1.5
      Git 1.8.2-rc1

Martin Erik Werner (1):
      shell-prompt: clean up nested if-then

Matthieu Moy (1):
      git.txt: update description of the configuration mechanism

Oswald Buddenhagen (2):
      imap-send: the subject of SSL certificate must match the host
      imap-send: support subjectAltName as well

Peter Krefting (2):
      l10n: Update Swedish translation (2004t0f0u)
      l10n: Update Swedish translation (2009t0f0u)

Trần Ngọc Quân (2):
      l10n: vi.po: update new strings (2004t0u0f)
      l10n: vi.po: Updated 5 new messages (2009t0f0u)

W. Trevor King (8):
      user-manual: use 'remote add' to setup push URLs
      user-manual: give 'git push -f' as an alternative to +master
      user-manual: mention 'git remote add' for remote branch config
      user-manual: use 'git config --global user.*' for setup
      user-manual: use -o latest.tar.gz to create a gzipped tarball
      user-manual: Reorganize the reroll sections, adding 'git rebase -i'
      user-manual: Use request-pull to generate "please pull" text
      user-manual: Flesh out uncommitted changes and submodule updates


Version v1.8.2-rc0; changes since v1.8.1.6:
-------------------------------------------

Aaron Schrab (3):
      hooks: Add function to check if a hook exists
      push: Add support for pre-push hooks
      Add sample pre-push hook script

Adam Spiers (29):
      tests: test number comes first in 'not ok $count - $message'
      tests: paint known breakages in yellow
      tests: paint skipped tests in blue
      tests: change info messages from yellow/brown to cyan
      tests: refactor mechanics of testing in a sub test-lib
      tests: test the test framework more thoroughly
      tests: paint unexpectedly fixed known breakages in bold red
      api-directory-listing.txt: update to match code
      Improve documentation and comments regarding directory traversal API
      dir.c: rename cryptic 'which' variable to more consistent name
      dir.c: rename path_excluded() to is_path_excluded()
      dir.c: rename excluded_from_list() to is_excluded_from_list()
      dir.c: rename excluded() to is_excluded()
      dir.c: refactor is_excluded_from_list()
      dir.c: refactor is_excluded()
      dir.c: refactor is_path_excluded()
      dir.c: rename free_excludes() to clear_exclude_list()
      dir.c: use a single struct exclude_list per source of excludes
      dir.c: keep track of where patterns came from
      dir.c: provide clear_directory() for reclaiming dir_struct memory
      dir.c: improve docs for match_pathspec() and match_pathspec_depth()
      add.c: remove unused argument from validate_pathspec()
      add.c: move pathspec matchers into new pathspec.c for reuse
      pathspec.c: rename newly public functions for clarity
      add.c: extract check_path_for_gitlink() from treat_gitlinks() for reuse
      add.c: extract new die_if_path_beyond_symlink() for reuse
      setup.c: document get_pathspec()
      add git-check-ignore sub-command
      clean.c, ls-files.c: respect encapsulation of exclude_list_groups

Adam Tkac (1):
      contrib/subtree: honor DESTDIR

Alexey Shumkin (1):
      t7102 (reset): don't hardcode SHA-1 in expected outputs

Andrew Wong (3):
      rebase: Handle cases where format-patch fails
      gitk: Refactor code for binding modified function keys
      gitk: Use bindshiftfunctionkey to bind Shift-F5

Antoine Pelisse (8):
      Use split_ident_line to parse author and committer
      mailmap: simplify map_user() interface
      mailmap: add mailmap structure to rev_info and pp
      pretty: use mailmap to display username and email
      log: add --use-mailmap option
      test: add test for --use-mailmap option
      log: grep author/committer using mailmap
      log: add log.mailmap configuration option

Barry Wardell (1):
      git-svn: Simplify calculation of GIT_DIR

Chris Hiestand (1):
      Add Auto-Submitted header to post-receive-email

Chris Rorvick (10):
      push: return reject reasons as a bitset
      push: add advice for rejected tag reference
      push: keep track of "update" state separately
      push: flag updates that require force
      push: require force for refs under refs/tags/
      push: require force for annotated tags
      push: clarify rejection of update to non-commit-ish
      push: cleanup push rules comment
      push: rename config variable for more general use
      push: allow already-exists advice to be disabled

Christian Couder (4):
      Makefile: remove tracking of TCLTK_PATH
      Makefile: detect when PYTHON_PATH changes
      Makefile: replace "echo 1>..." with "echo >..."
      gitk: Ignore gitk-wish buildproduct

Christoph J. Thompson (1):
      Honor configure's htmldir switch

David A. Greene (3):
      contrib/subtree: remove test number comments
      contrib/subtree: better error handling for 'subtree add'
      contrib/subtree: fix synopsis

David Aguilar (7):
      mergetools/vim: remove redundant diff command
      mergetool--lib: improve show_tool_help() output
      mergetools: simplify how we handle "vim" and "defaults"
      mergetool--lib: simplify command expressions
      mergetool--lib: improve the help text in guess_merge_tool()
      mergetool--lib: add functions for finding available tools
      doc: generate a list of valid merge tools

David Michael (3):
      Support builds when sys/param.h is missing
      Detect when the passwd struct is missing pw_gecos
      Generalize the inclusion of strings.h

Eric S. Raymond (1):
      Add checks to Python scripts for version dependencies.

Eric Wong (1):
      git-svn: cleanup sprintf usage for uppercasing hex

Felipe Contreras (26):
      remote-testgit: properly check for errors
      fast-export: avoid importing blob marks
      remote-testgit: fix direction of marks
      remote-helpers: fix failure message
      Add new remote-bzr transport helper
      remote-bzr: add support for pushing
      remote-bzr: add support for remote repositories
      Rename git-remote-testgit to git-remote-testpy
      Add new simplified git-remote-testgit
      remote-testgit: remove non-local functionality
      remote-testgit: remove irrelevant test
      remote-testgit: cleanup tests
      remote-testgit: exercise more features
      remote-testgit: report success after an import
      remote-testgit: implement the "done" feature manually
      fast-export: trivial cleanup
      fast-export: fix comparison in tests
      fast-export: don't handle uninteresting refs
      fast-export: make sure updated refs get updated
      remote-bzr: update working tree upon pushing
      remote-bzr: add simple tests
      remote-bzr: add support for fecthing special modes
      remote-bzr: add support to push special modes
      remote-bzr: add support for older versions of bzr
      remote-bzr: detect local repositories
      remote-hg: store converted URL

Jeff King (28):
      fsck: warn about '.' and '..' in trees
      fsck: warn about ".git" in trees
      mailmap: refactor mailmap parsing for non-file sources
      mailmap: support reading mailmap from blobs
      mailmap: clean up read_mailmap error handling
      mailmap: fix some documentation loose-ends for mailmap.blob
      mailmap: default mailmap.blob in bare repositories
      make error()'s constant return value more visible
      silence some -Wuninitialized false positives
      add global --literal-pathspecs option
      Makefile: hoist uname autodetection to config.mak.uname
      config: add helper function for parsing key names
      archive-tar: use parse_config_key when parsing config
      convert some config callbacks to parse_config_key
      userdiff: drop parse_driver function
      submodule: use parse_config_key when parsing config
      submodule: simplify memory handling in config parsing
      help: use parse_config_key for man config
      reflog: use parse_config_key in config callback
      commit: drop useless xstrdup of commit message
      logmsg_reencode: never return NULL
      logmsg_reencode: lazily load missing commit buffers
      fetch: run gc --auto after fetching
      fetch-pack: avoid repeatedly re-scanning pack directory
      docs: clarify git-branch --list behavior
      branch: let branch filters imply --list
      Documentation/Makefile: clean up MAN*_TXT lists
      log: re-encode commit messages before grepping

Jesper L. Nielsen (1):
      contrib/subtree: make the manual directory if needed

Jiang Xin (1):
      l10n: Update git.pot (11 new, 7 removed messages)

Johannes Sixt (1):
      t6130-pathspec-noglob: Windows does not allow a file named "f*"

John Keeping (24):
      git-svn: teach find-rev to find near matches
      git_remote_helpers: allow building with Python 3
      git_remote_helpers: fix input when running under Python 3
      git_remote_helpers: force rebuild if python version changes
      git_remote_helpers: use 2to3 if building with Python 3
      svn-fe: allow svnrdump_sim.py to run with Python 3
      git-remote-testpy: hash bytes explicitly
      git-remote-testpy: don't do unbuffered text I/O
      git-remote-testpy: call print as a function
      git-mergetool: move show_tool_help to mergetool--lib
      git-mergetool: remove redundant assignment
      git-mergetool: don't hardcode 'mergetool' in show_tool_help
      git-difftool: use git-mergetool--lib for "--tool-help"
      mergetool--lib: don't call "exit" in setup_tool
      git-remote-testpy: fix path hashing on Python 3
      CodingGuidelines: add Python coding guidelines
      mergetool--lib: list user configured tools in '--tool-help'
      graph: output padding for merge subsequent parents
      diff: write prefix to the correct file
      diff.c: make constant string arguments const
      diff: add diff_line_prefix function
      diff.c: use diff_line_prefix() where applicable
      combine-diff.c: teach combined diffs about line prefix
      rebase -i: respect core.commentchar

Jonathan Nieder (2):
      Git::SVN::Editor::T: pass $deletions to ->A and ->D
      git svn: do not overescape URLs (fallback case)

Junio C Hamano (52):
      diff: accept --no-follow option
      blame: pay attention to --no-follow
      t6006: clean up whitespace
      log --format: teach %C(auto,black) to respect color config
      git-compat-util.h: do not #include <sys/param.h> by default
      builtin/log.c: drop unused "numbered" parameter from make_cover_letter()
      builtin/log.c: drop redundant "numbered_files" parameter from make_cover_letter()
      builtin/log.c: stop using global patch_suffix
      get_patch_filename(): simplify function signature
      get_patch_filename(): drop "just-numbers" hack
      get_patch_filename(): split into two functions
      format-patch: add --reroll-count=$N option
      Start 1.8.2 cycle
      format-patch: document and test --reroll-count
      Update draft release notes to 1.8.2
      format-patch: give --reroll-count a short synonym -v
      Update draft release notes to 1.8.2
      string-list: allow case-insensitive string list
      Update draft release notes to 1.8.2
      mailmap: remove email copy and length limitation
      log --use-mailmap: optimize for cases without --author/--committer search
      Update draft release notes to 1.8.2
      clone: do not export and unexport GIT_CONFIG
      Update draft release notes to 1.8.2
      Makefile: add description on PERL/PYTHON_PATH
      Update draft release notes to 1.8.2
      Allow custom "comment char"
      push: fix "refs/tags/ hierarchy cannot be updated without --force"
      Update draft release notes to 1.8.2
      upload-pack: share more code
      Update draft release notes to 1.8.2
      Update draft release notes to 1.8.2
      push: further clean up fields of "struct ref"
      push: further simplify the logic to assign rejection reason
      push: introduce REJECT_FETCH_FIRST and REJECT_NEEDS_FORCE
      push: finishing touches to explain REJECT_ALREADY_EXISTS better
      Update draft release notes to 1.8.2
      Update draft release notes to 1.8.2
      upload-pack: simplify request validation
      git_remote_helpers: remove GIT-PYTHON-VERSION upon "clean"
      Update draft release notes to 1.8.2
      Documentation: describe the "repository" in repository-layout
      Update draft release notes to 1.8.2
      apply: verify submodule commit object name better
      Update draft release notes to 1.8.2
      upload/receive-pack: allow hiding ref hierarchies
      Update draft release notes to 1.8.2
      Update draft release notes to 1.8.2
      Update draft release notes to 1.8.2
      Documentation/git-add: kill remaining <filepattern>
      Update draft release notes to 1.8.2
      Git 1.8.2-rc0

Manlio Perillo (1):
      git-completion.bash: add support for path completion

Marc Khouzam (1):
      completion: handle path completion and colon for tcsh script

Marcus Karlsson (1):
      gitk: Fix crash when not using themed widgets

Martin Erik Werner (3):
      shell prompt: add bash.showUntrackedFiles option
      t9903: add tests for bash.showUntrackedFiles
      t9903: add extra tests for bash.showDirtyState

Martin von Zweigbergk (21):
      oneway_merge(): only lstat() when told to update worktree
      reset $pathspec: no need to discard index
      reset $pathspec: exit with code 0 if successful
      reset.c: pass pathspec around instead of (prefix, argv) pair
      reset: don't allow "git reset -- $pathspec" in bare repo
      reset.c: extract function for parsing arguments
      reset.c: remove unnecessary variable 'i'
      reset.c: extract function for updating {ORIG_,}HEAD
      reset.c: share call to die_if_unmerged_cache()
      reset --keep: only write index file once
      reset: avoid redundant error message
      reset.c: replace switch by if-else
      reset.c: move update_index_refresh() call out of read_from_tree()
      reset.c: move lock, write and commit out of update_index_refresh()
      reset [--mixed]: only write index file once
      reset.c: finish entire cmd_reset() whether or not pathspec is given
      reset.c: inline update_index_refresh()
      reset $sha1 $pathspec: require $sha1 only to be treeish
      reset: allow reset on unborn branch
      reset [--mixed]: use diff-based reset whether or not pathspec was given
      reset: update documentation to require only tree-ish with paths

Matt Kraai (5):
      Make lock local to fetch_pack
      Port to QNX
      Use __VA_ARGS__ for all of error's arguments
      Allow building with xmlparse.h
      Makefile: don't run "rm" without any files

Matthew Ogilvie (10):
      cvsserver: factor out git-log parsing logic
      cvsserver: cleanup extra slashes in filename arguments
      cvsserver: define a tag name character escape mechanism
      cvsserver: add misc commit lookup, file meta data, and file listing functions
      cvsserver: implement req_Sticky and related utilities
      cvsserver: generalize getmeta() to recognize commit refs
      cvsserver: Add version awareness to argsfromdir
      cvsserver: support -r and sticky tags for most operations
      cvsserver: add t9402 to test branch and tag refs
      cvsserver Documentation: new cvs ... -r support

Matthieu Moy (4):
      add: warn when -u or -A is used without pathspec
      Makefile: make script-related rules usable from subdirectories
      git-remote-mediawiki: use toplevel's Makefile
      completion: support 'git config --local'

Max Horn (2):
      remote-hg: fix handling of file perms when pushing
      fix clang -Wunused-value warnings for error functions

Michael Haggerty (22):
      Add new function strbuf_add_xml_quoted()
      xml_entities(): use function strbuf_addstr_xml_quoted()
      lf_to_crlf(): NUL-terminate msg_data::data
      imap-send: store all_msgs as a strbuf
      imap-send: correctly report errors reading from stdin
      imap-send: change msg_data from storing (ptr, len) to storing strbuf
      wrap_in_html(): use strbuf_addstr_xml_quoted()
      wrap_in_html(): process message in bulk rather than line-by-line
      imap-send.c: remove msg_data::flags, which was always zero
      imap-send.c: remove struct msg_data
      iamp-send.c: remove unused struct imap_store_conf
      imap-send.c: remove struct store_conf
      imap-send.c: remove struct message
      imap-send.c: remove some unused fields from struct store
      imap-send.c: inline parse_imap_list() in parse_list()
      imap-send.c: remove struct imap argument to parse_imap_list_l()
      imap-send.c: remove namespace fields from struct imap
      imap-send.c: remove unused field imap_store::trashnc
      imap-send.c: use struct imap_store instead of struct store
      imap-send.c: remove unused field imap_store::uidvalidity
      imap-send.c: fold struct store into struct imap_store
      imap-send.c: simplify logic in lf_to_crlf()

Michal Privoznik (3):
      git-completion.bash: Autocomplete --minimal and --histogram for git-diff
      config: Introduce diff.algorithm variable
      diff: Introduce --diff-algorithm command line option

Nguyễn Thái Ngọc Duy (43):
      ctype: make sane_ctype[] const array
      ctype: support iscntrl, ispunct, isxdigit and isprint
      Import wildmatch from rsync
      wildmatch: remove unnecessary functions
      wildmatch: follow Git's coding convention
      Integrate wildmatch to git
      t3070: disable unreliable fnmatch tests
      wildmatch: make wildmatch's return value compatible with fnmatch
      wildmatch: remove static variable force_lower_case
      wildmatch: fix case-insensitive matching
      wildmatch: adjust "**" behavior
      wildmatch: make /**/ match zero or more directories
      Support "**" wildcard in .gitignore and .gitattributes
      pathspec: save the non-wildcard length part
      test-wildmatch: avoid Windows path mangling
      pathspec: do exact comparison on the leading non-wildcard part
      pathspec: apply "*.c" optimization from exclude
      tree_entry_interesting: do basedir compare on wildcard patterns when possible
      config.txt: a few lines about branch.<name>.description
      wildmatch: fix "**" special case
      wildmatch: rename constants and update prototype
      compat/fnmatch: respect NO_FNMATCH* even on glibc
      wildmatch: make dowild() take arbitrary flags
      wildmatch: replace variable 'special' with better named ones
      wildmatch: support "no FNM_PATHNAME" mode
      test-wildmatch: add "perf" command to compare wildmatch and fnmatch
      wildmatch: make a special case for "*/" with FNM_PATHNAME
      wildmatch: advance faster in <asterisk> + <literal> patterns
      Makefile: add USE_WILDMATCH to use wildmatch as fnmatch
      branch: delete branch description if it's empty
      t4014: a few more tests on cover letter using branch description
      format-patch: pick up correct branch name from symbolic ref
      format-patch: pick up branch description when no ref is specified
      upload-pack: only accept commits from "shallow" line
      fetch: add --unshallow for turning shallow repo into complete one
      upload-pack: fix off-by-one depth calculation in shallow clone
      fetch: elaborate --depth action
      Update :/abc ambiguity check
      grep: avoid accepting ambiguous revision
      branch: reject -D/-d without branch name
      branch: give a more helpful message on redundant arguments
      branch: mark more strings for translation
      status: show the branch name if possible in in-progress info

Paul Mackerras (3):
      gitk: Fix display of branch names on some commits
      gitk: Improve display of list of nearby tags and heads
      gitk: Display important heads even when there are many

Pete Wyckoff (35):
      git p4: test sync/clone --branch behavior
      git p4: rearrange and simplify hasOrigin handling
      git p4: add comments to p4BranchesInGit
      git p4: inline listExistingP4GitBranches
      git p4: create p4/HEAD on initial clone
      git p4: verify expected refs in clone --bare test
      git p4: clone --branch should checkout master
      git p4 doc: fix branch detection example
      git p4: allow short ref names to --branch
      git p4: rearrange self.initialParent use
      git p4: fail gracefully on sync with no master branch
      git p4: fix sync --branch when no master branch
      git p4 test: keep P4CLIENT changes inside subshells
      git p4: fix submit when no master branch
      git p4: temp branch name should use / even on windows
      git p4: remove unused imports
      git p4: generate better error message for bad depot path
      git p4 test: use client_view to build the initial client
      git p4 test: avoid loop in client_view
      git p4 test: use client_view in t9806
      git p4 test: start p4d inside its db dir
      git p4 test: translate windows paths for cygwin
      git p4: remove unreachable windows \r\n conversion code
      git p4: scrub crlf for utf16 files on windows
      git p4 test: newline handling
      git p4 test: use LineEnd unix in windows tests too
      git p4 test: avoid wildcard * in windows
      git p4: cygwin p4 client does not mark read-only
      git p4 test: use test_chmod for cygwin
      git p4: disable read-only attribute before deleting
      git p4: avoid shell when mapping users
      git p4: avoid shell when invoking git rev-list
      git p4: avoid shell when invoking git config --get-all
      git p4: avoid shell when calling git config
      git p4: introduce gitConfigBool

Peter Krefting (2):
      gitk: Update Swedish translation (296t)
      l10n: Update Swedish translation (1983t0f0u)

Peter Wu (1):
      git-svn: do not escape certain characters in paths

Ralf Thielow (6):
      l10n: de.po: address the user formally
      commit: make default of "cleanup" option configurable
      l10n: de.po: fix some minor issues
      l10n: de.po: translate 11 new messages
      l10n: de.po: translate "revision" consistently as "Revision"
      l10n: de.po: translate "reset" as "neu setzen"

Ramsay Jones (1):
      t3070: Disable some failing fnmatch tests

René Scharfe (3):
      t0008: avoid brace expansion
      pretty: use prefixcmp instead of memcmp on NUL-terminated strings
      refs: use strncmp() instead of strlen() and memcmp()

Robin Rosenberg (1):
      Enable minimal stat checking

Stefan Haller (6):
      gitk: Synchronize highlighting in file view when scrolling diff
      gitk: Highlight current search hit in orange
      gitk: Highlight first search result immediately on incremental search
      gitk: Work around empty back and forward images when buttons are disabled
      gitk: Fix error message when clicking on a connecting line
      gitk: When searching, only highlight files when in Patch mode

Stephen Boyd (2):
      gpg: allow translation of more error messages
      run-command: be more informative about what failed

Sven Strickroth (2):
      mergetools: support TortoiseGitMerge
      mergetools: teach tortoisemerge to handle filenames with SP correctly

Techlive Zheng (1):
      contrib/subtree: use %B for split subject/body

Ted Zlatanov (1):
      Update CodingGuidelines for Perl

Thomas Ackermann (5):
      Documentation: avoid poor-man's small caps GIT
      Documentation: the name of the system is 'Git', not 'git'
      Documentation: do not use undefined terms git-dir and git-file
      Documentation: add a description for 'gitfile' to glossary
      Documentation: StGit is the right spelling, not StGIT

Torsten Bögershausen (9):
      t9402: sed -i is not portable
      t9402: improve check_end_tree() and check_end_full_tree()
      t9402: Dont use test_must_fail cvs
      t9402: No space after IO-redirection
      t9402: Add missing &&; Code style
      t9402: Simplify git ls-tree
      t9402: Rename check.cvsCount and check.list
      t9402: Use TABs for indentation
      test: Add check-non-portable-shell.pl

Trần Ngọc Quân (1):
      l10n: vi.po: updated Vietnamese translation

W. Trevor King (3):
      submodule: add get_submodule_config helper funtion
      submodule update: add --remote for submodule's upstream changes
      submodule add: If --branch is given, record it in .gitmodules

Wang Sheng (1):
      l10n: zh_CN.po: 800+ new translations on command usages


Version v1.8.1.6; changes since v1.8.1.5:
-----------------------------------------

Antoine Pelisse (4):
      update-index: allow "-h" to also display options
      diff: Fix rename pretty-print when suffix and prefix overlap
      tests: make sure rename pretty print works
      perf: update documentation of GIT_PERF_REPEAT_COUNT

Christian Helmuth (1):
      git-commit doc: describe use of multiple `-m` options

Dan Bornstein (1):
      Correct the docs about GIT_SSH.

David Michael (1):
      git-compat-util.h: Provide missing netdb.h definitions

Fredrik Gustafsson (1):
      gitweb/README: remove reference to git.kernel.org

Greg Price (1):
      describe: Document --match pattern format

Jeff King (6):
      avoid segfaults on parse_object failure
      use parse_object_or_die instead of die("bad object")
      pack-refs: write peeled entry for non-tags
      dir.c::match_pathname(): adjust patternlen when shifting pattern
      dir.c::match_pathname(): pay attention to the length of string parameters
      t: check that a pattern without trailing slash matches a directory

Johannes Sixt (1):
      t2003: work around path mangling issue on Windows

John Keeping (3):
      t2003: modernize style
      entry: fix filter lookup
      merge-tree: fix typo in merge-tree.c::unresolved

Joshua Clayton (1):
      Git.pm: fix cat_blob crashes on large files

Junio C Hamano (8):
      imap-send: support Server Name Indication (RFC4366)
      diff-options: unconfuse description of --color
      Documentation: merging a tag is a special case
      attr.c::path_matches(): the basename is part of the pathname
      attr.c::path_matches(): special case paths that end with a slash
      dir.c::match_basename(): pay attention to the length of string parameters
      Start preparing for 1.8.1.6
      Git 1.8.1.6

Kacper Kornet (3):
      rev-parse: clarify documentation of $name@{upstream} syntax
      t1507: Test that branchname@{upstream} is interpreted as branch
      Fix revision walk for commits with the same dates

Karsten Blees (1):
      name-hash.c: fix endless loop with core.ignorecase=true

Kevin Bracey (2):
      Translate git_more_info_string consistently
      git.c: make usage match manual page

Lukas Fleischer (2):
      bundle: Fix "verify" output if history is complete
      bundle: Add colons to list headings in "verify"

Matthias Krüger (1):
      git help config: s/insn/instruction/

Michael Haggerty (2):
      Provide a mechanism to turn off symlink resolution in ceiling paths
      pack-refs: add fully-peeled trait

Mihai Capotă (1):
      git-pull doc: fix grammo ("conflicts" is plural)

Nguyễn Thái Ngọc Duy (4):
      index-format.txt: mention of v4 is missing in some places
      read-cache.c: use INDEX_FORMAT_{LB,UB} in verify_hdr()
      update-index: list supported idx versions and their features
      index-pack: fix buffer overflow caused by translations

René Scharfe (2):
      Makefile: keep LIB_H entries together and sorted
      sha1_name: pass object name length to diagnose_invalid_sha1_path()

Tadeusz Andrzej Kadłubowski (2):
      git-filter-branch.txt: clarify ident variables usage
      Documentation: filter-branch env-filter example

Thomas Rast (2):
      diff: prevent pprint_rename from underrunning input
      git-tag(1): we tag HEAD by default

Torsten Bögershausen (1):
      remote-helpers/test-bzr.sh: do not use "grep '\s'"

W. Trevor King (1):
      Documentation/githooks: Explain pre-rebase parameters


Version v1.8.1.5; changes since v1.8.1.4:
-----------------------------------------

Andrej E Baranov (1):
      gitweb: refer to picon/gravatar images over the same scheme

Andrew Wong (1):
      Documentation/githooks: Fix linkgit

Asheesh Laroia (1):
      git-mergetool: print filename when it contains %

Ben Walton (3):
      Move Git::SVN::get_tz to Git::get_tz_offset
      perl/Git.pm: fix get_tz_offset to properly handle DST boundary cases
      cvsimport: format commit timestamp ourselves without using strftime

Brad King (1):
      Documentation/submodule: Add --force to update synopsis

David Aguilar (3):
      mergetools/p4merge: Honor $TMPDIR for the /dev/null placeholder
      difftool--helper: fix printf usage
      p4merge: fix printf usage

Erik Faye-Lund (1):
      parse-options: report uncorrupted multi-byte options

Greg Price (1):
      Documentation: "advice" is uncountable

Jeff King (2):
      http_request: reset "type" strbuf before adding
      Makefile: avoid infinite loop on configure.ac change

Jiang Xin (1):
      Add utf8_fprintf helper that returns correct number of columns

John Keeping (3):
      Rename {git- => git}remote-helpers.txt
      builtin/apply: tighten (dis)similarity index parsing
      t4038: add tests for "diff --cc --raw <trees>"

Junio C Hamano (7):
      doc: mention tracking for pull.default
      combine-diff: lift 32-way limit of combined diff
      t5551: fix expected error output
      user-manual: typofix (ofthe->of the)
      Prepare for 1.8.1.5
      Update draft release notes to 1.8.1.5
      Git 1.8.1.5

Matthieu Moy (1):
      git.txt: update description of the configuration mechanism

Michael J Gruber (1):
      git-bisect.txt: clarify that reset quits bisect

Nguyễn Thái Ngọc Duy (1):
      clone: forbid --bare --separate-git-dir <dir>

Shawn O. Pearce (1):
      Verify Content-Type from smart HTTP servers

Thomas Rast (1):
      Make !pattern in .gitattributes non-fatal

W. Trevor King (4):
      user-manual: Update for receive.denyCurrentBranch=refuse
      user-manual: Reorganize the reroll sections, adding 'git rebase -i'
      user-manual: Use request-pull to generate "please pull" text
      user-manual: Flesh out uncommitted changes and submodule updates

Zoltan Klinger (1):
      git-clean: Display more accurate delete messages


Version v1.8.1.4; changes since v1.8.1.3:
-----------------------------------------

Junio C Hamano (2):
      imap-send: move #ifdef around
      Git 1.8.1.4

Matthieu Moy (1):
      Replace filepattern with pathspec for consistency

Oswald Buddenhagen (2):
      imap-send: the subject of SSL certificate must match the host
      imap-send: support subjectAltName as well

W. Trevor King (9):
      user-manual: Fix 'both: so' -> 'both; so' typo
      user-manual: Fix 'http' -> 'HTTP' typos
      user-manual: Fix 'you - Git' -> 'you--Git' typo
      user-manual: Rewrite git-gc section for automatic packing
      user-manual: use 'remote add' to setup push URLs
      user-manual: give 'git push -f' as an alternative to +master
      user-manual: mention 'git remote add' for remote branch config
      user-manual: use 'git config --global user.*' for setup
      user-manual: use -o latest.tar.gz to create a gzipped tarball


Version v1.8.1.3; changes since v1.8.1.2:
-----------------------------------------

Brandon Casey (3):
      git-completion.bash: replace zsh notation that breaks bash 3.X
      git-p4.py: support Python 2.5
      git-p4.py: support Python 2.4

Dmitry V. Levin (1):
      am: invoke perl's strftime in C locale

Fraser Tweedale (1):
      push: fix segfault when HEAD points nowhere

John Keeping (1):
      git-cvsimport.txt: cvsps-2 is deprecated

Jonathan Nieder (2):
      ident: do not drop username when reading from /etc/mailname
      Makefile: explicitly set target name for autogenerated dependencies

Junio C Hamano (17):
      Which merge_file() function do you mean?
      merge-tree: lose unused "flags" from merge_list
      merge-tree: lose unused "resolve_directories"
      merge-tree: add comments to clarify what these functions are doing
      merge-tree: fix d/f conflicts
      Documentation: update "howto maintain git"
      howto/maintain: mark titles for asciidoc
      help: include <common-cmds.h> only in one file
      t9902: protect test from stray build artifacts
      howto/maintain: document "### match next" convention in jch/pu branch
      README: update stale and/or incorrect information
      INSTALL: git-p4 does not support Python 3
      git-am: record full index line in the patch used while rebasing
      apply: simplify build_fake_ancestor()
      apply: diagnose incomplete submodule object name better
      Start preparing for 1.8.1.3
      Git 1.8.1.3

Martin von Zweigbergk (2):
      tests: move test_cmp_rev to test-lib-functions
      learn to pick/revert into unborn branch

Nguyễn Thái Ngọc Duy (4):
      attr: fix off-by-one directory component length calculation
      test-lib.sh: unfilter GIT_PERF_*
      attr: avoid calling find_basename() twice per path
      branch: no detached HEAD check when editing another branch's description

Phil Hord (1):
      rebase --preserve-merges: keep all merge commits including empty ones

Ramsay Jones (1):
      Makefile: Replace merge-file.h with merge-blobs.h in LIB_H

Stephen Boyd (1):
      gpg: close stderr once finished with it in verify_signed_buffer()

Torsten Bögershausen (3):
      t0050: known breakage vanished in merge (case change)
      t0050: honor CASE_INSENSITIVE_FS in add (with different case)
      t0050: Use TAB for indentation


Version v1.8.1.2; changes since v1.8.1.1:
-----------------------------------------

Antoine Pelisse (3):
      dir.c: Make git-status --ignored more consistent
      git-status: Test --ignored behavior
      status: always report ignored tracked directories

Dylan Smith (1):
      git-completion.bash: silence "not a valid object" errors

Eric S. Raymond (1):
      Remove the suggestion to use parsecvs, which is currently broken.

John Keeping (1):
      git-for-each-ref.txt: 'raw' is a supported date format

Jonathan Nieder (1):
      contrib/vim: simplify instructions for old vim support

Junio C Hamano (2):
      Start preparing for 1.8.1.2
      Git 1.8.1.2

Marc Khouzam (1):
      Prevent space after directories in tcsh completion

Michael Haggerty (8):
      Introduce new static function real_path_internal()
      real_path_internal(): add comment explaining use of cwd
      Introduce new function real_path_if_valid()
      longest_ancestor_length(): use string_list_split()
      longest_ancestor_length(): take a string_list argument for prefixes
      longest_ancestor_length(): require prefix list entries to be normalized
      setup_git_directory_gently_1(): resolve symlinks in ceiling paths
      string_list_longest_prefix(): remove function

Nguyễn Thái Ngọc Duy (1):
      attr: make it build with DEBUG_ATTR again

Nickolai Zeldovich (1):
      git-send-email: treat field names as case-insensitively

Peter Eisentraut (1):
      git-commit-tree(1): correct description of defaults

René Scharfe (5):
      archive-zip: write uncompressed size into header even with streaming
      t0024, t5000: clear variable UNZIP, use GIT_UNZIP instead
      t0024, t5000: use test_lazy_prereq for UNZIP
      t5000, t5003: move ZIP tests into their own script
      t5003: check if unzip supports symlinks

Sebastian Staudt (1):
      config.txt: Document help.htmlpath config parameter


Version v1.8.1.1; changes since v1.8.1:
---------------------------------------

Aaron Schrab (1):
      Use longer alias names in subdirectory tests

Adam Spiers (1):
      api-allocation-growing.txt: encourage better variable naming

Antoine Pelisse (1):
      merge: Honor prepare-commit-msg return code

Christian Couder (1):
      Makefile: detect when PYTHON_PATH changes

Jean-Noël AVILA (1):
      Add directory pattern matching to attributes

Jeff King (9):
      run-command: drop silent_exec_failure arg from wait_or_whine
      launch_editor: refactor to use start/finish_command
      run-command: do not warn about child death from terminal
      launch_editor: propagate signals from editor to git
      completion: complete refs for "git commit -c"
      refs: do not use cached refs in repack_without_ref
      tests: turn on test-lint by default
      fix compilation with NO_PTHREADS
      run-command: encode signal death as a positive integer

Jens Lehmann (1):
      clone: support atomic operation with --separate-git-dir

John Keeping (4):
      git-fast-import(1): remove duplicate '--done' option
      git-shortlog(1): document behaviour of zero-width wrap
      git-fast-import(1): combine documentation of --[no-]relative-marks
      git-fast-import(1): reorganise options

Jonathan Nieder (6):
      config, gitignore: failure to access with ENOTDIR is ok
      config: treat user and xdg config permission problems as errors
      doc: advertise GIT_CONFIG_NOSYSTEM
      config: exit on error accessing any config file
      build: do not automatically reconfigure unless configure.ac changed
      docs: manpage XML depends on asciidoc.conf

Junio C Hamano (20):
      apply.c:update_pre_post_images(): the preimage can be truncated
      format_commit_message(): simplify calls to logmsg_reencode()
      sh-setup: work around "unset IFS" bug in some shells
      fetch: ignore wildcarded refspecs that update local symbolic refs
      xmkstemp(): avoid showing truncated template more carefully
      t0200: "locale" may not exist
      t9502: do not assume GNU tar
      t4014: fix arguments to grep
      t3600: Avoid "cp -a", which is a GNUism
      t9020: use configured Python to run the test helper
      compat/fnmatch: update old-style definition to ANSI
      t9200: let "cvs init" create the test repository
      merge --no-edit: do not credit people involved in the side branch
      SubmittingPatches: who am I and who cares?
      SubmittingPatches: mention subsystems with dedicated repositories
      Documentation: full-ness of a bundle is significant for cloning
      SubmittingPatches: remove overlong checklist
      SubmittingPatches: give list and maintainer addresses
      Prepare for 1.8.1.1
      Git 1.8.1.1

Kirill Brilliantov (1):
      Documentation: correct example restore from bundle

Mark Levedahl (1):
      Makefile: add comment on CYGWIN_V15_WIN32API

Matthew Daley (1):
      gitweb: Sort projects with undefined ages last

Max Horn (1):
      configure.ac: fix pthreads detection on Mac OS X

Michael Schubert (2):
      git-subtree: ignore git-subtree executable
      git-subtree: fix typo in manpage

Michał Kiedrowicz (1):
      graph.c: infinite loop in git whatchanged --graph -m

Nguyễn Thái Ngọc Duy (4):
      cache-tree: remove dead i-t-a code in verify_cache()
      cache-tree: replace "for" loops in update_one with "while" loops
      cache-tree: fix writing cache-tree when CE_REMOVE is present
      cache-tree: invalidate i-t-a paths after generating trees

Orgad Shaneh (1):
      gitweb: fix error in sanitize when highlight is enabled

Paul Fox (1):
      launch_editor: ignore terminal signals while editor has control

Rene Bredlau (1):
      http.c: Avoid username prompt for certifcate credentials

René Scharfe (2):
      archive-tar: split long paths more carefully
      t1402: work around shell quoting issue on NetBSD

Sebastian Schuberth (1):
      nedmalloc: Fix a compile warning (exposed as error) with GCC 4.7.2

Steffen Prohaska (2):
      shortlog: fix wrapping lines of wraplen
      strbuf_add_wrapped*(): Remove unused return value

Sven Strickroth (3):
      git-svn, perl/Git.pm: add central method for prompting passwords
      perl/Git.pm: Honor SSH_ASKPASS as fallback if GIT_ASKPASS is not set
      git-svn, perl/Git.pm: extend and use Git->prompt method for querying users

Thomas Ackermann (1):
      Remove Documentation/pt_BR/gittutorial.txt

Torsten Bögershausen (2):
      t9810: Do not use sed -i
      t9020: which is not portable

W. Trevor King (1):
      remote-hg: Fix biridectionality -> bidirectionality typos


Version v1.8.1; changes since v1.8.1-rc3:
-----------------------------------------

Junio C Hamano (3):
      git(1): show link to contributor summary page
      Git 1.8.0.3
      Git 1.8.1

Max Horn (1):
      git-remote-helpers.txt: document invocation before input format

Ramkumar Ramachandra (1):
      Documentation: move diff.wordRegex from config.txt to diff-config.txt

Sebastian Leske (4):
      git-svn: Document branches with at-sign(@).
      git-svn: Recommend use of structure options.
      git-svn: Expand documentation for --follow-parent
      git-svn: Note about tags.

Simon Oosthoek (1):
      make __git_ps1 accept a third parameter in pcmode

Thomas Ackermann (1):
      Sort howto documents in howto-index.txt


Version v1.8.1-rc3; changes since v1.8.1-rc2:
---------------------------------------------

Adam Spiers (2):
      SubmittingPatches: add convention of prefixing commit messages
      Documentation: move support for old compilers to CodingGuidelines

Chris Rorvick (2):
      Documentation/git-checkout.txt: clarify usage
      Documentation/git-checkout.txt: document 70c9ac2 behavior

Jeff King (5):
      .mailmap: match up some obvious names/emails
      .mailmap: fix broken entry for Martin Langhoff
      .mailmap: normalize emails for Jeff King
      .mailmap: normalize emails for Linus Torvalds
      contrib: update stats/mailmap script

John Keeping (1):
      Documentation: don't link to example mail addresses

Junio C Hamano (5):
      fetch --tags: clarify documentation
      README: it does not matter who the current maintainer is
      t7004: do not create unneeded gpghome/gpg.conf when GPG is not used
      Documentation: Describe "git diff <blob> <blob>" separately
      Git 1.8.1-rc3

Nguyễn Thái Ngọc Duy (1):
      index-format.txt: clarify what is "invalid"

Sebastian Leske (4):
      git-svn: Document branches with at-sign(@).
      git-svn: Recommend use of structure options.
      git-svn: Expand documentation for --follow-parent
      git-svn: Note about tags.

Sitaram Chamarty (1):
      clarify -M without % symbol in diff-options

Stefano Lattarini (1):
      README: Git is released under the GPLv2, not just "the GPL"

Thomas Ackermann (3):
      Remove misleading date from api-index-skel.txt
      Remove duplicate entry in ./Documentation/Makefile
      Move ./technical/api-command.txt to ./howto/new-command.txt


Version v1.8.1-rc2; changes since v1.8.1-rc1:
---------------------------------------------

Anders Kaseorg (1):
      git-prompt: Document GIT_PS1_DESCRIBE_STYLE

Erik Faye-Lund (7):
      mingw: correct exit-code for SIGALRM's SIG_DFL
      mingw: make fgetc raise SIGINT if apropriate
      compat/terminal: factor out echo-disabling
      compat/terminal: separate input and output handles
      mingw: reuse tty-version of git_terminal_prompt
      mingw: get rid of getpass implementation
      mingw_rmdir: do not prompt for retry when non-empty

Jeff King (1):
      remote-testsvn: fix unitialized variable

Junio C Hamano (5):
      git(1): remove a defunct link to "list of authors"
      Git 1.8.0.2
      git-prompt.sh: update PROMPT_COMMAND documentation
      git(1): show link to contributor summary page
      Git 1.8.1-rc2

Manlio Perillo (1):
      git.txt: add missing info about --git-dir command-line option

Marc Khouzam (1):
      Add file completion to tcsh git completion.

Matthew Daley (1):
      Fix sizeof usage in get_permutations

Max Horn (6):
      git-remote-helpers.txt: document invocation before input format
      git-remote-helpers.txt: document missing capabilities
      git-remote-helpers.txt: minor grammar fix
      git-remote-helpers.txt: rearrange description of capabilities
      git-remote-helpers.txt: clarify command <-> capability correspondences
      git-remote-helpers.txt: clarify options & ref list attributes

Stefano Lattarini (1):
      Makefile: whitespace style fixes in macro definitions

Sébastien Loriot (1):
      Documentation/git-stash.txt: add a missing verb

Thomas Ackermann (1):
      Renumber list in api-command.txt


Version v1.8.1-rc1; changes since v1.8.1-rc0:
---------------------------------------------

Jiang Xin (1):
      l10n: Update git.pot (5 new, 1 removed messages)

Junio C Hamano (3):
      Update draft release notes to 1.8.0.2
      Documentation/diff-config: work around AsciiDoc misfortune
      Git 1.8.1-rc1

Matthieu Moy (1):
      document that statusHints affects git checkout

Peter Krefting (1):
      l10n: Update Swedish translation (1979t0f0u)

Ralf Thielow (2):
      l10n: de.po: translate 825 new messages
      l10n: de.po: translate 22 new messages

Ramkumar Ramachandra (4):
      t4041 (diff-submodule-option): don't hardcode SHA-1 in expected outputs
      t4041 (diff-submodule-option): parse digests sensibly
      t4041 (diff-submodule-option): rewrite add_file() routine
      t4041 (diff-submodule-option): modernize style

Trần Ngọc Quân (1):
      l10n: vi.po: update to git-v1.8.0.1-347-gf94c3


Version v1.8.1-rc0; changes since v1.8.0.3:
-------------------------------------------

Ben Walton (1):
      Use character class for sed expression instead of \s

Brandon Casey (1):
      usage.c: detect recursion in die routines and bail out immediately

Chris Rorvick (1):
      git-cvsimport: allow author-specific timezones

Dmitry Ivankov (1):
      vcs-svn: add fast_export_note to create notes

Enrico Scholz (1):
      emacs: make 'git-status' work with separate git dirs

Eric S. Raymond (1):
      Documentation: how to add a new command

Felipe Contreras (32):
      completion: add format-patch options to send-email
      Add new remote-hg transport helper
      remote-hg: add support for pushing
      remote-hg: add support for remote pushing
      remote-hg: add support to push URLs
      remote-hg: make sure the encoding is correct
      remote-hg: match hg merge behavior
      remote-hg: add support for hg-git compat mode
      remote-hg: add compat for hg-git author fixes
      remote-hg: fake bookmark when there's none
      remote-hg: add basic tests
      test-lib: avoid full path to store test results
      remote-hg: add bidirectional tests
      remote-hg: add tests to compare with hg-git
      remote-hg: add extra author test
      remote-hg: add option to not track branches
      remote-hg: the author email can be null
      remote-hg: fix compatibility with older versions of hg
      remote-hg: try the 'tip' if no checkout present
      remote-hg: avoid bad refs
      completion: add comment for test_completion()
      completion: standardize final space marker in tests
      completion: simplify tests using test_completion_long()
      completion: consolidate test_completion*() tests
      completion: refactor __gitcomp related tests
      completion: simplify __gitcomp() test helper
      completion: add new zsh completion
      completion: start moving to the new zsh completion
      send-email: avoid questions when user has an ident
      remote-hg: fix for files with spaces
      remote-hg: fix for older versions of python
      completion: fix warning for zsh

Florian Achleitner (15):
      Implement a remote helper for svn in C
      Add git-remote-testsvn to Makefile
      Add svndump_init_fd to allow reading dumps from arbitrary FDs
      Add argv_array_detach and argv_array_free_detached
      Connect fast-import to the remote-helper via pipe, adding 'bidi-import' capability
      Add documentation for the 'bidi-import' capability of remote-helpers
      When debug==1, start fast-import with "--stats" instead of "--quiet"
      remote-svn, vcs-svn: Enable fetching to private refs
      Allow reading svn dumps from files via file:// urls
      Create a note for every imported commit containing svn metadata
      remote-svn: Activate import/export-marks for fast-import
      remote-svn: add incremental import
      Add a svnrdump-simulator replaying a dump file for testing
      remote-svn: add marks-file regeneration
      Add a test script for remote-svn

Jeff King (30):
      pager: drop "wait for output to run less" hack
      peel_ref: use faster deref_tag_noverify
      peel_ref: do not return a null sha1
      peel_ref: check object type before loading
      upload-pack: use peel_ref for ref advertisements
      remote-curl: do not call run_slot repeatedly
      http: do not set up curl auth after a 401
      strbuf: always return a non-NULL value from strbuf_detach
      status: add --long output format option
      git-sh-setup: refactor ident-parsing functions
      filter-branch: use git-sh-setup's ident parsing functions
      t1300: style updates
      t1300: remove redundant test
      t1300: test "git config --get-all" more thoroughly
      git-config: remove memory leak of key regexp
      git-config: fix regexp memory leaks on error conditions
      git-config: collect values instead of immediately printing
      git-config: do not complain about duplicate entries
      git-config: use git_config_with_options
      remote-curl: hoist gzip buffer size to top of post_rpc
      remote-curl: retry failed requests for auth even with gzip
      cvsimport: work around perl tzset issue
      test-lib: allow negation of prerequisites
      t7502: factor out autoident prerequisite
      ident: make user_ident_explicitly_given static
      ident: keep separate "explicit" flags for author and committer
      diff: rename "set" variable
      t: add tests for "git var"
      t9001: check send-email behavior with implicit sender
      status: respect advice.statusHints for ahead/behind advice

Jeff Muizelaar (1):
      diff: diff.context configuration gives default to -U

Jens Lehmann (5):
      submodule: teach rm to remove submodules unless they contain a git directory
      Teach "git submodule add" the --name option
      submodule add: Fail when .git/modules/<name> already exists unless forced
      submodule status: remove unused orig_* variables
      Teach rm to remove submodules when given with a trailing '/'

Jiang Xin (1):
      l10n: Update git.pot (14 new, 3 removed messages)

Joachim Schmitz (1):
      fix 'make test' for HP NonStop

Johan Herland (1):
      git symbolic-ref --delete $symref

Johannes Sixt (1):
      maybe_flush_or_die: move a too-loose Windows specific error

Junio C Hamano (20):
      t4055: avoid use of sed 'a' command
      log --grep: accept --basic-regexp and --perl-regexp
      log: honor grep.* configuration
      coloured git-prompt: paint detached HEAD marker in red
      pretty: remove reencode_commit_message()
      format_note(): simplify API
      pretty: prepare notes message at a centralized place
      pretty_print_commit(): do not append notes message
      format-patch: append --signature after notes
      format-patch --notes: show notes after three-dashes
      Documentation: decribe format-patch --notes
      get_fetch_map(): tighten checks on dest refs
      format-patch: add a blank line between notes and diffstat
      Start 1.8.1 cycle
      Sixth batch for 1.8.1
      Update draft release notes for 1.8.1
      Update draft release notes to 1.8.1
      Update draft release notes to 1.8.1
      Update draft release notes to 1.8.1
      Git 1.8.1-rc0

Karsten Blees (1):
      update-index/diff-index: use core.preloadindex to improve performance

Krzysztof Mazur (10):
      git-send-email: introduce compose-encoding
      git-send-email: use compose-encoding for Subject
      git-send-email: skip RFC2047 quoting for ASCII subjects
      git-send-email: introduce quote_subject()
      git-send-email: add rfc2047 quoting for "=?"
      git-send-email: remove garbage after email address
      git-send-email: fix fallback code in extract_valid_address()
      git-send-email: remove invalid addresses earlier
      git-send-email: ask what to do with an invalid email address
      git-send-email: allow edit invalid email address

Marc Khouzam (2):
      tcsh-completion re-using git-completion.bash
      Support for git aliasing for tcsh completion

Mark Levedahl (2):
      Update cygwin.c for new mingw-64 win32 api headers
      USE CGYWIN_V15_WIN32API as macro to select api for cygwin

Matt Kraai (1):
      docs: move submodule section

Matthew Ogilvie (10):
      cvsserver t9400: add basic 'cvs log' test
      cvsserver: removed unused sha1Or-k mode from kopts_from_path
      cvsserver: add comments about database schema/usage
      cvsserver update: comment about how we shouldn't remove a user-modified file
      cvsserver: remove unused functions _headrev and gethistory
      cvsserver: clean up client request handler map comments
      cvsserver: split up long lines in req_{status,diff,log}
      cvsserver: use whole CVS rev number in-process; don't strip "1." prefix
      cvsserver: cvs add: do not expand directory arguments
      cvsserver status: provide real sticky info

Matthieu Moy (1):
      status: add advice on how to push/pull to tracking branch

Michael Haggerty (12):
      parse_dirstat_params(): use string_list to split comma-separated string
      strbuf_split_buf(): use ALLOC_GROW()
      strbuf_split_buf(): simplify iteration
      strbuf_split*(): rename "delim" parameter to "terminator"
      strbuf_split*(): document functions
      string_list: add a function string_list_remove_empty_items()
      Initialize sort_uniq_list using named constant
      combine_notes_cat_sort_uniq(): sort and dedup lines all at once
      notes: fix handling of colon-separated values
      string_list_add_refs_from_colon_sep(): use string_list_split()
      link_alt_odb_entries(): use string_list_split_in_place()
      link_alt_odb_entries(): take (char *, len) rather than two pointers

Michael J Gruber (1):
      replace: parse revision argument for -d

Nguyễn Thái Ngọc Duy (16):
      attr: avoid strlen() on every match
      attr: avoid searching for basename on every match
      exclude: stricten a length check in EXC_FLAG_ENDSWITH case
      exclude: split basename matching code into a separate function
      exclude: fix a bug in prefix compare optimization
      exclude: split pathname matching code into a separate function
      gitignore: make pattern parsing code a separate function
      attr: more matching optimizations from .gitignore
      tree-walk: use enum interesting instead of integer
      Move try_merge_command and checkout_fast_forward to libgit.a
      Move estimate_bisect_steps to libgit.a
      Move print_commit_list to libgit.a
      Move setup_diff_pager to libgit.a
      send-pack: move core code to libgit.a
      fetch-pack: remove global (static) configuration variable "args"
      fetch-pack: move core code to libgit.a

Patrick Palka (1):
      Documentation: improve the example of overriding LESS via core.pager

Pete Wyckoff (6):
      git p4: catch p4 describe errors
      git p4: handle servers without move support
      git p4: catch p4 errors when streaming file contents
      git p4 test: display unresolvable host error
      git p4: fix labelDetails typo in exception
      git p4: remove unneeded cmd initialization

Peter Krefting (1):
      l10n: Update Swedish translation (1975t0f0u)

Phil Hord (3):
      t7407: Fix recursive submodule test
      Teach --recursive to submodule sync
      Add tests for submodule sync --recursive

Phil Pennock (1):
      gitweb: make remote_heads config setting work

Philip Oakley (4):
      Doc SubmittingPatches: Mention --notes option after "cover letter"
      Doc notes: Include the format-patch --notes option
      Doc format-patch: clarify --notes use case
      Doc User-Manual: Patch cover letter, three dashes, and --notes

Ramkumar Ramachandra (4):
      remote-hg: add missing config for basic tests
      Documentation: move diff.wordRegex from config.txt to diff-config.txt
      diff: introduce diff.submodule configuration variable
      submodule: display summary header in bold

Ramsay Jones (2):
      builtin/config.c: Fix a sparse warning
      remote-curl.c: Fix a compiler warning

SZEDER Gábor (1):
      completion: remove 'help' duplicate from porcelain commands

Simon Oosthoek (3):
      Allow __git_ps1 to be used in PROMPT_COMMAND
      show color hints based on state of the git tree
      Fix up colored git-prompt

Stefan Zager (1):
      submodule add: fix handling of --reference=<repo> option

Stefano Lattarini (1):
      configure: fix some output message

Torsten Bögershausen (1):
      Fix t9200 on case insensitive file systems

Trần Ngọc Quân (2):
      l10n: vi.po: update to git-v1.7.12-437-g1084f
      l10n: vi.po: Update follow git-v1.8.0-273-g2d242


Version v1.8.0.3; changes since v1.8.0.2:
-----------------------------------------

Adam Spiers (2):
      SubmittingPatches: add convention of prefixing commit messages
      Documentation: move support for old compilers to CodingGuidelines

Anders Kaseorg (1):
      git-prompt: Document GIT_PS1_DESCRIBE_STYLE

Chris Rorvick (2):
      Documentation/git-checkout.txt: clarify usage
      Documentation/git-checkout.txt: document 70c9ac2 behavior

Gunnlaugur Þór Briem (1):
      Document git-svn fetch --log-window-size parameter

Jeff King (7):
      pickaxe: hoist empty needle check
      pickaxe: use textconv for -S counting
      .mailmap: match up some obvious names/emails
      .mailmap: fix broken entry for Martin Langhoff
      .mailmap: normalize emails for Jeff King
      .mailmap: normalize emails for Linus Torvalds
      contrib: update stats/mailmap script

John Keeping (1):
      Documentation: don't link to example mail addresses

Junio C Hamano (6):
      fetch --tags: clarify documentation
      README: it does not matter who the current maintainer is
      t7004: do not create unneeded gpghome/gpg.conf when GPG is not used
      Documentation: Describe "git diff <blob> <blob>" separately
      git(1): show link to contributor summary page
      Git 1.8.0.3

Krzysztof Mazur (1):
      doc: git-reset: make "<mode>" optional

Manlio Perillo (1):
      git.txt: add missing info about --git-dir command-line option

Matthew Daley (1):
      Fix sizeof usage in get_permutations

Max Horn (1):
      git-remote-helpers.txt: document invocation before input format

Nguyễn Thái Ngọc Duy (1):
      index-format.txt: clarify what is "invalid"

Ramkumar Ramachandra (1):
      Documentation: move diff.wordRegex from config.txt to diff-config.txt

Sebastian Leske (4):
      git-svn: Document branches with at-sign(@).
      git-svn: Recommend use of structure options.
      git-svn: Expand documentation for --follow-parent
      git-svn: Note about tags.

Sitaram Chamarty (1):
      clarify -M without % symbol in diff-options

Stefano Lattarini (1):
      README: Git is released under the GPLv2, not just "the GPL"

Thomas Ackermann (8):
      Split over-long synopsis in git-fetch-pack.txt into several lines
      Shorten two over-long lines in git-bisect-lk2009.txt by abbreviating some sha1
      Change headline of technical/send-pack-pipeline.txt to not confuse its content with content from git-send-pack.txt
      Documentation/technical: convert plain text files to asciidoc
      Documentation/howto: convert plain text files to asciidoc
      Documentation: build html for all files in technical and howto
      Remove misleading date from api-index-skel.txt
      Sort howto documents in howto-index.txt

Tom Jones (1):
      Add -S, --gpg-sign option to manpage of "git commit"


Version v1.8.0.2; changes since v1.8.0.1:
-----------------------------------------

Antoine Pelisse (1):
      Fix typo in remote set-head usage

Eric S. Raymond (1):
      doc/fast-import: clarify how content states are built

Johan Herland (2):
      t1400-update-ref: Add test verifying bug with symrefs in delete_ref()
      Fix failure to delete a packed ref through a symref

Junio C Hamano (13):
      reencode_string(): introduce and use same_encoding()
      test: add failing tests for "diff --stat" to t4049
      diff --stat: status of unmodified pair in diff-q is not zero
      diff --stat: use "file" temporary variable to refer to data->files[i]
      diff --stat: move the "total count" logic to the last loop
      diff --stat: do not count "unmerged" entries
      diff --shortstat: do not count "unmerged" entries
      Documentation/git-push.txt: clarify the "push from satellite" workflow
      Start preparing for 1.8.0.2
      t4049: refocus tests
      Update draft release notes to 1.8.0.2
      git(1): remove a defunct link to "list of authors"
      Git 1.8.0.2

Linus Torvalds (1):
      Fix "git diff --stat" for interesting - but empty - file changes

Mark Szepieniec (1):
      Documentation: improve phrasing in git-push.txt

Matthieu Moy (2):
      git-remote-mediawiki: escape ", \, and LF in file names
      git-fast-import.txt: improve documentation for quoted paths

Nguyễn Thái Ngọc Duy (1):
      compat/fnmatch: fix off-by-one character class's length check

Paul Gortmaker (1):
      Makefile: hide stderr of curl-config test

Pete Wyckoff (1):
      git p4: RCS expansion should not span newlines

Ralf Thielow (1):
      completion: add options --single-branch and --branch to "git clone"

Richard Hubbell (1):
      gitweb.perl: fix %highlight_ext mappings

Sébastien Loriot (1):
      Documentation/git-stash.txt: add a missing verb

W. Trevor King (1):
      git-submodule: wrap branch option with "<>" in usage strings.


Version v1.8.0.1; changes since v1.8.0:
---------------------------------------

Andreas Schwab (1):
      commit: fixup misplacement of --no-post-rewrite description

Ben Walton (1):
      Remove the hard coded length limit on variable names in config files

Carlos Martín Nieto (1):
      config: don't segfault when given --path with a missing value

David Aguilar (1):
      mergetools/p4merge: Handle "/dev/null"

Jan H. Schönherr (7):
      utf8: fix off-by-one wrapping of text
      format-patch: do not wrap non-rfc2047 headers too early
      format-patch: do not wrap rfc2047 encoded headers too late
      format-patch: introduce helper function last_line_length()
      format-patch: make rfc2047 encoding more strict
      format-patch: fix rfc2047 address encoding with respect to rfc822 specials
      format-patch tests: check quoting/encoding in To: and Cc: headers

Jeff King (3):
      diff_grep: use textconv buffers for add/deleted files
      gitweb: escape html in rss title
      checkout: print a message when switching unborn branches

Junio C Hamano (9):
      builtin/grep.c: make configuration callback more reusable
      grep: move the configuration parsing logic to grep.[ch]
      grep: move pattern-type bits support to top-level grep.[ch]
      revisions: initialize revs->grep_filter using grep_init()
      log --grep: use the same helper to set -E/-F options as "git grep"
      test-lib: Fix say_color () not to interpret \a\b\c in the message
      Start preparing for 1.8.0.1
      Further preparation for 1.8.0.1
      Git 1.8.0.1

Marc Khouzam (1):
      Completion must sort before using uniq

Matthieu Moy (2):
      Documentation: remote tracking branch -> remote-tracking branch
      Document 'git commit --no-edit' explicitly

Michael J Gruber (1):
      push/pull: adjust missing upstream help text to changed interface

Nguyễn Thái Ngọc Duy (1):
      grep: stop looking at random places for .gitattributes

Phil Hord (1):
      git-pull: Avoid merge-base on detached head

Philip Oakley (1):
      Doc repository-layout: Show refs/replace

René Scharfe (6):
      refs: lock symref that is to be deleted, not its target
      branch: factor out check_branch_commit()
      branch: factor out delete_branch_config()
      branch: delete symref branch, not its target
      branch: skip commit checks when deleting symref branches
      branch: show targets of deleted symrefs, not sha1s

Romain Francoise (1):
      mailmap: avoid out-of-bounds memory access

Stefan Zager (1):
      Fix potential hang in https handshake


Version v1.8.0; changes since v1.8.0-rc3:
-----------------------------------------

Andrew Wong (2):
      git-gui: Detect full path when parsing arguments
      git-gui: Don't prepend the prefix if value looks like a full path

Beat Bolli (2):
      git-gui: Fix a loose/lose mistake
      git-gui: remove .git/CHERRY_PICK_HEAD after committing

Benjamin Kerensa (1):
      git-gui: fix a typo in po/ files

Clemens Buchacher (1):
      git-gui: fix git-gui crash due to uninitialized variable

Heiko Voigt (1):
      git-gui: open console when using --trace on windows

Junio C Hamano (1):
      Git 1.8.0

Marcus Karlsson (1):
      git-gui: Use PWD if it exists on Mac OS X

Pat Thoyts (2):
      git-gui: preserve commit messages in utf-8
      git-gui 0.17

Ralf Thielow (3):
      git-gui: de.po: consistently add untranslated hook names within braces
      git-gui: de.po: translate "bare" as "bloß"
      git-gui: de.po: translate "remote" as "extern"

Vitaly "_Vi" Shukela (1):
      git-gui: Fix semi-working shortcuts for unstage and revert


Version v1.8.0-rc3; changes since v1.8.0-rc2:
---------------------------------------------

Dylan Alex Simon (1):
      gitweb.cgi: fix "comitter_tz" typo in feed

Jeff King (1):
      http: fix segfault in handle_curl_result

Jiang Xin (1):
      l10n: Update git.pot (3 new, 6 removed messages)

Junio C Hamano (3):
      Update draft release notes to 1.8.0
      Git 1.7.12.4
      Git 1.8.0-rc3

Peter Krefting (1):
      l10n: Update Swedish translation (1964t0f0u)

Richard Fearn (1):
      Fix spelling error in post-receive-email hook

Thomas Ackermann (1):
      Documentation/RelNotes: remove "updated up to this revision" markers

Trần Ngọc Quân (2):
      l10n: vi.po: update translation upto cc76011
      l10n: vi.po: update from v1.8.0-rc2-4-g42e55


Version v1.8.0-rc2; changes since v1.8.0-rc1:
---------------------------------------------

Ben Walton (1):
      tests: "cp -a" is a GNUism

Jonathan Nieder (2):
      git svn: work around SVN 1.7 mishandling of svn:special changes
      svn test: escape peg revision separator using empty peg rev

Junio C Hamano (2):
      gitcli: parse-options lets you omit tail of long options
      Git 1.8.0-rc2

Nguyễn Thái Ngọc Duy (2):
      gitignore.txt: suggestions how to get literal # or ! at the beginning
      attr: a note about the order of .gitattributes lookup

Ramkumar Ramachandra (1):
      Git url doc: mark ftp/ftps as read-only and deprecate them

Ramsay Jones (1):
      MALLOC_CHECK: Allow checking to be disabled from config.mak

Simon Ruderich (1):
      l10n: de.po: fix a few minor typos

Øyvind A. Holm (1):
      configure.ac: Add missing comma to CC_LD_DYNPATH


Version v1.8.0-rc1; changes since v1.8.0-rc0:
---------------------------------------------

Ammon Riley (1):
      Make git-svn branch patterns match complete URL

Eric Wong (1):
      git-svn: use path accessor for Git::SVN objects

Jonathan Nieder (2):
      Git::SVN: rename private path field
      git-svn: keep leading slash when canonicalizing paths (fallback case)

Junio C Hamano (7):
      log --grep-reflog: reject the option without -g
      Start preparing for 1.7.12.3
      t1450: the order the objects are checked is undefined
      Update draft release notes to 1.8.0
      paint_down_to_common(): parse commit before relying on its timestamp
      Git 1.7.12.3
      Git 1.8.0-rc1

Linus Torvalds (1):
      mailinfo: don't require "text" mime type for attachments

Michael J Gruber (1):
      RelNotes/1.8.0: various typo and style fixes

Nguyễn Thái Ngọc Duy (3):
      grep: prepare for new header field filter
      revision: add --grep-reflog to filter commits by reflog messages
      revision: make --grep search in notes too if shown

Peter Krefting (1):
      l10n: Fix to Swedish translation

Ramkumar Ramachandra (1):
      Documentation: mention `push.default` in git-push.txt

Robert Luberda (1):
      t9164: Add missing quotes in test

Steven Walter (2):
      git-svn.perl: consider all ranges for a given merge, instead of only tip-by-tip
      git-svn.perl: keep processing all commits in parents_exclude

Tobias Ulmer (1):
      silence git gc --auto --quiet output


Version v1.8.0-rc0; changes since v1.7.12.4:
--------------------------------------------

Adrian Johnson (1):
      Add userdiff patterns for Ada

Andrew Wong (3):
      rebase -i: Refactor help messages for todo file
      rebase -i: Teach "--edit-todo" action
      rebase -i: Add tests for "--edit-todo"

Aske Olsson (1):
      gitk: Fix GIT_TRACE issues

Carlos Martín Nieto (4):
      branch: introduce --set-upstream-to
      branch: add --unset-upstream option
      branch: deprecate --set-upstream and show help if we detect possible mistaken use
      completion: add --set-upstream-to and --unset-upstream

Chris Webb (1):
      cherry-pick: add --allow-empty-message option

David Aguilar (12):
      difftool: Simplify print_tool_help()
      difftool: Eliminate global variables
      difftool: Move option values into a hash
      difftool: Call the temp directory "git-difftool"
      difftool: Use symlinks when diffing against the worktree
      difftool: Handle finding mergetools/ in a path with spaces
      difftool: Check all return codes from compare()
      difftool: Wrap long lines for readability
      difftool: Handle compare() returning -1
      difftool: Disable --symlinks on cygwin
      mergetool,difftool: Document --tool-help consistently
      mergetool--lib: Allow custom commands to override built-ins

Elia Pinto (1):
      Add MALLOC_CHECK_ and MALLOC_PERTURB_ libc env to the test suite for detecting heap corruption

Erik Faye-Lund (1):
      contrib: add win32 credential-helper

J Smith (1):
      grep: add a grep.patternType configuration setting

Jeff King (4):
      remote-curl: rename is_http variable
      remote-curl: let users turn off smart http
      t9902: add a few basic completion tests
      t9902: add completion tests for "odd" filenames

Jiang Xin (11):
      Fix tests under GETTEXT_POISON on relative dates
      Fix tests under GETTEXT_POISON on git-stash
      Fix tests under GETTEXT_POISON on diffstat
      Fix tests under GETTEXT_POISON on git-apply
      Fix tests under GETTEXT_POISON on pack-object
      Fix tests under GETTEXT_POISON on git-remote
      Fix tests under GETTEXT_POISON on parseopt
      l10n: Update git.pot (2 new, 4 removed messages)
      l10n: zh_CN.po: translate 2 new messages
      l10n: Update git.pot (825 new, 24 removed messages)
      l10n: zh.CN.po: msgmerge git.pot (1142t195f630u)

Joachim Schmitz (8):
      compat: some mkdir() do not like a slash at the end
      Add a no-op setitimer() wrapper
      Document MKDIR_WO_TRAILING_SLASH in Makefile
      make poll available for other platforms lacking it
      fix some win32 specific dependencies in poll.c
      poll() exits too early with EFAULT if 1st arg is NULL
      make poll() work on platforms that can't recv() on a non-socket
      Port to HP NonStop

Johannes Sixt (3):
      t0060: split absolute path test in two to exercise some of it on Windows
      rebase -i: fix misleading error message after 'exec no-such' instruction
      rebase -i: suggest using --edit-todo to fix an unknown instruction

Junio C Hamano (42):
      daemon: --access-hook option
      Kick off cycle towards 1.8.0
      First half of the second batch for 1.8.0
      in_merge_bases(): support only one "other" commit
      receive-pack: use in_merge_bases() for fast-forward check
      http-push: use in_merge_bases() for fast-forward check
      Latter half of the second batch for 1.8.0
      merge_bases_many(): split out the logic to paint history
      in_merge_bases(): use paint_down_to_common()
      get_merge_bases_many(): walk from many tips in parallel
      merge-base: "--is-ancestor A B"
      reduce_heads(): reimplement on top of remove_redundant()
      The third batch for 1.8.0
      Update mailmap for a handful of folks
      The fourth batch for 1.8.0
      Cull items fixed in maintenance branches
      First half of the fifth batch for 1.8.0
      Second half of the fifth batch for 1.8.0
      Start merging the sixth batch for 1.8.0
      The sixth batch for 1.8.0
      Draft release notes to 1.8.0
      builtin/notes.c: mark file-scope private symbols as static
      commit.c: mark a file-scope private symbol as static
      diff.c: mark a private file-scope symbol as static
      graph.c: mark private file-scope symbols as static
      rerere.c: mark private file-scope symbols as static
      notes.c: mark a private file-scope symbol as static
      symlinks.c: mark private file-scope symbols as static
      sha1-array.c: mark a private file-scope symbol as static
      strbuf.c: mark a private file-scope symbol as static
      read-cache.c: mark a private file-scope symbol as static
      wt-status.c: mark a private file-scope symbol as static
      trace.c: mark a private file-scope symbol as static
      ident.c: mark private file-scope symbols as static
      sequencer.c: mark a private file-scope symbol as static
      The seventh batch for 1.8.0
      MALLOC_CHECK: various clean-ups
      Revert "archive-zip: support UTF-8 paths"
      Update draft release notes to 1.8.0
      Update draft release notes to 1.8.0
      Update draft release notes to 1.8.0
      Git 1.8.0-rc0

Ken Dreyer (1):
      cvsimport: strip all inappropriate tag strings

Linus Torvalds (1):
      commit/commit-tree: correct latin1 to utf-8

Martin von Zweigbergk (4):
      remove unnecessary parameter from get_patch_ids()
      cherry: don't set ignored rev_info options
      cherry: remove redundant check for merge commit
      rebase usage: subcommands can not be combined with -i

Matthieu Moy (1):
      push: start warning upcoming default change for push.default

Michael G. Schwern (20):
      Git::SVN: use accessors internally for path
      Git::SVN: use accessor for URLs internally
      Git::SVN::Ra: use accessor for URLs
      use Git::SVN->path accessor globally
      use Git::SVN{,::RA}->url accessor globally
      git-svn: move canonicalization to Git::SVN::Utils
      git-svn: use SVN 1.7 to canonicalize when possible
      git-svn: factor out _collapse_dotdot function
      git-svn: add join_paths() to safely concatenate paths
      Git::SVN::Utils: remove irrelevant comment
      git-svn: path canonicalization uses SVN API
      Git::SVN{,::Ra}: canonicalize earlier
      t9118: workaround inconsistency between SVN versions
      t9107: fix typo
      git-svn: attempt to mimic SVN 1.7 URL canonicalization
      git-svn: replace URL escapes with canonicalization
      git-svn: canonicalize earlier
      git-svn: introduce add_path_to_url function
      git-svn: canonicalize newly-minted URLs
      git-svn: remove ad-hoc canonicalizations

Michael Haggerty (29):
      t0060: move tests of real_path() from t0000 to here
      t0060: verify that absolute_path() fails if passed the empty string
      absolute_path(): reject the empty string
      t0060: verify that real_path() fails if passed the empty string
      real_path(): reject the empty string
      t0060: verify that real_path() works correctly with absolute paths
      real_path(): properly handle nonexistent top-level paths
      t0060: verify that real_path() removes extra slashes
      string_list: add function string_list_append_nodup()
      string_list: add two new functions for splitting strings
      string_list: add a new function, filter_string_list()
      string_list: add a new function, string_list_remove_duplicates()
      string_list: add a function string_list_longest_prefix()
      api-string-list.txt: initialize the string_list the easy way
      t5500: add tests of error output for missing refs
      t5500: add tests of fetch-pack --all --depth=N $URL $REF
      Rename static function fetch_pack() to http_fetch_pack()
      fetch_pack(): reindent function decl and defn
      Change fetch_pack() and friends to take string_list arguments
      filter_refs(): do not check the same sought_pos twice
      fetch_pack(): update sought->nr to reflect number of unique entries
      filter_refs(): delete matched refs from sought list
      filter_refs(): build refs list as we go
      filter_refs(): simplify logic
      cmd_fetch_pack(): return early if finish_connect() fails
      fetch-pack: report missing refs even if no existing refs were received
      cmd_fetch_pack(): simplify computation of return value
      fetch-pack: eliminate spurious error messages
      string_list API: document what "sorted" means

Michael J Gruber (1):
      completion: complete branch name for "branch --set-upstream-to="

Miklos Vajna (1):
      cherry-pick: don't forget -s on failure

Nguyễn Thái Ngọc Duy (74):
      i18n: mark "style" in OPT_COLUMN() for translation
      i18n: archive: mark parseopt strings for translation
      i18n: bisect--helper: mark parseopt strings for translation
      i18n: add: mark parseopt strings for translation
      i18n: blame: mark parseopt strings for translation
      i18n: branch: mark parseopt strings for translation
      i18n: cat-file: mark parseopt strings for translation
      i18n: check-attr: mark parseopt strings for translation
      i18n: checkout-index: mark parseopt strings for translation
      i18n: checkout: mark parseopt strings for translation
      i18n: cherry: mark parseopt strings for translation
      i18n: clean: mark parseopt strings for translation
      i18n: clone: mark parseopt strings for translation
      i18n: column: mark parseopt strings for translation
      i18n: commit: mark parseopt strings for translation
      i18n: count-objects: mark parseopt strings for translation
      i18n: config: mark parseopt strings for translation
      i18n: describe: mark parseopt strings for translation
      i18n: fast-export: mark parseopt strings for translation
      i18n: fetch: mark parseopt strings for translation
      i18n: fmt-merge-msg: mark parseopt strings for translation
      i18n: for-each-ref: mark parseopt strings for translation
      i18n: format-patch: mark parseopt strings for translation
      i18n: fsck: mark parseopt strings for translation
      i18n: gc: mark parseopt strings for translation
      i18n: grep: mark parseopt strings for translation
      i18n: hash-object: mark parseopt strings for translation
      i18n: help: mark parseopt strings for translation
      i18n: init-db: mark parseopt strings for translation
      i18n: log: mark parseopt strings for translation
      i18n: ls-files: mark parseopt strings for translation
      i18n: ls-tree: mark parseopt strings for translation
      i18n: merge-base: mark parseopt strings for translation
      i18n: merge-file: mark parseopt strings for translation
      i18n: merge: mark parseopt strings for translation
      i18n: mktree: mark parseopt strings for translation
      i18n: mv: mark parseopt strings for translation
      i18n: name-rev: mark parseopt strings for translation
      i18n: notes: mark parseopt strings for translation
      i18n: pack-objects: mark parseopt strings for translation
      i18n: pack-refs: mark parseopt strings for translation
      i18n: prune-packed: mark parseopt strings for translation
      i18n: prune: mark parseopt strings for translation
      i18n: push: mark parseopt strings for translation
      i18n: read-tree: mark parseopt strings for translation
      i18n: remote: mark parseopt strings for translation
      i18n: replace: mark parseopt strings for translation
      i18n: status: mark parseopt strings for translation
      i18n: rerere: mark parseopt strings for translation
      i18n: reset: mark parseopt strings for translation
      i18n: rev-parse: mark parseopt strings for translation
      i18n: revert, cherry-pick: mark parseopt strings for translation
      i18n: rm: mark parseopt strings for translation
      i18n: shortlog: mark parseopt strings for translation
      am: quote string for translation before passing to eval_gettextln
      i18n: show-branch: mark parseopt strings for translation
      i18n: show-ref: mark parseopt strings for translation
      i18n: symbolic-ref: mark parseopt strings for translation
      i18n: tag: mark parseopt strings for translation
      i18n: update-index: mark parseopt strings for translation
      i18n: update-ref: mark parseopt strings for translation
      i18n: update-server-info: mark parseopt strings for translation
      i18n: verify-pack: mark parseopt strings for translation
      i18n: verify-tag: mark parseopt strings for translation
      i18n: write-tree: mark parseopt strings for translation
      Reduce translations by using same terminologies
      Use imperative form in help usage to describe an action
      branch -v: align even when branch names are in UTF-8
      checkout: pass "struct checkout_opts *" as const pointer
      checkout: move more parameters to struct checkout_opts
      i18n: mark more index-pack strings for translation
      status: remove i18n legos
      checkout: reorder option handling
      fetch: align per-ref summary report in UTF-8 locales

Pete Wyckoff (17):
      git p4 test: move client_view() function to library
      git p4 test: add broken --use-client-spec --detect-branches tests
      git p4: set self.branchPrefixes in initialization
      git p4: do wildcard decoding in stripRepoPath
      git p4: make branch detection work with --use-client-spec
      git p4 test: remove bash-ism of combined export/assignment
      git p4: gracefully fail if some commits could not be applied
      git p4: remove submit failure options [a]pply and [w]rite
      git p4: move conflict prompt into run, add [q]uit input
      git p4: standardize submit cancel due to unchanged template
      git p4: test clean-up after failed submit, fix added files
      git p4: rearrange submit template construction
      git p4: revert deleted files after submit cancel
      git p4: accept -v for --verbose
      git p4: add submit --dry-run option
      git p4: add submit --prepare-p4-only option
      git-p4: add submit --conflict option and config varaiable

Peter Krefting (3):
      l10n: Update Swedish translation (1166t0f0u)
      Update Swedish translation (1967t0f0u)
      l10n: Fixes to Swedish translation

Philipp A. Hartmann (1):
      contrib: add credential helper for GnomeKeyring

Ralf Thielow (1):
      l10n: de.po: translate 2 new messages

Ramsay Jones (12):
      t3300-*.sh: Fix a TAP parse error
      t3902-*.sh: Skip all tests rather than each test
      t4016-*.sh: Skip all tests rather than each test
      test-lib.sh: Fix some shell coding style violations
      test-lib.sh: Add check for invalid use of 'skip_all' facility
      test-lib.sh: Suppress the "passed all ..." message if no tests run
      path.c: Remove the 'git_' prefix from a file scope function
      path.c: Don't discard the return value of vsnpath()
      path.c: Use vsnpath() in the implementation of git_path()
      Call git_pathdup() rather than xstrdup(git_path("..."))
      Call mkpathdup() rather than xstrdup(mkpath(...))
      test-string-list.c: Fix some sparse warnings

René Scharfe (4):
      archive-zip: support UTF-8 paths
      archive-zip: support UTF-8 paths
      archive-zip: write extended timestamp
      MALLOC_CHECK: enable it, unless disabled explicitly

Ross Lagerwall (1):
      difftool: silence warning

Sebastian Schuberth (1):
      Add Code Compare v2.80.4 as a merge / diff tool for Windows

Stefano Lattarini (2):
      build: improve GIT_CONF_SUBST signature
      build: don't duplicate substitution of make variables

Thomas Rast (2):
      gettext: do not translate empty string
      in_merge_bases(): omit unnecessary redundant common ancestor reduction

Trần Ngọc Quân (2):
      l10n: vi.po & TEAMS: review Vietnamese translation
      l10n: vi.po: update to v1.7.12-146-g16d26


Version v1.7.12.4; changes since v1.7.12.3:
-------------------------------------------

Ben Walton (1):
      tests: "cp -a" is a GNUism

Dave Borowitz (1):
      Documentation/Makefile: Allow custom XMLTO binary

Dylan Alex Simon (1):
      gitweb.cgi: fix "comitter_tz" typo in feed

Jeff King (1):
      http: fix segfault in handle_curl_result

Junio C Hamano (6):
      merge: teach -Xours/-Xtheirs to binary ll-merge driver
      attr: "binary" attribute should choose built-in "binary" merge driver
      ll-merge: warn about inability to merge binary files only when we can't
      t1450: the order the objects are checked is undefined
      gitcli: parse-options lets you omit tail of long options
      Git 1.7.12.4

Nguyễn Thái Ngọc Duy (2):
      gitignore.txt: suggestions how to get literal # or ! at the beginning
      attr: a note about the order of .gitattributes lookup

Philip Oakley (5):
      Doc: shallow clone deepens _to_ new depth
      Doc: separate gitignore pattern sources
      Doc add: link gitignore
      Doc clean: add See Also link
      Doc branch: show -vv option and alternative

Ramkumar Ramachandra (3):
      t/test-lib: make sure Git has already been built
      test-lib: use $SHELL_PATH, not $SHELL
      Git url doc: mark ftp/ftps as read-only and deprecate them

Richard Fearn (1):
      Fix spelling error in post-receive-email hook

Simon Ruderich (1):
      l10n: de.po: fix a few minor typos


Version v1.7.12.3; changes since v1.7.12.2:
-------------------------------------------

Jeff King (3):
      receive-pack: redirect unpack-objects stdout to /dev/null
      receive-pack: send pack-processing stderr over sideband
      receive-pack: drop "n/a" on unpacker errors

Junio C Hamano (3):
      git blame: document that it always follows origin across whole-file renames
      Start preparing for 1.7.12.3
      Git 1.7.12.3

Linus Torvalds (1):
      mailinfo: don't require "text" mime type for attachments

Orgad Shaneh (1):
      commit: pay attention to submodule.$name.ignore in .gitmodules

Peter Krefting (1):
      l10n: Fix to Swedish translation

Ralf Thielow (1):
      clone --single: limit the fetch refspec to fetched branch

Ramkumar Ramachandra (1):
      submodule: if $command was not matched, don't parse other args

Shawn O. Pearce (2):
      Revert "retry request without query when info/refs?query fails"
      Enable info/refs gzip decompression in HTTP client


Version v1.7.12.2; changes since v1.7.12.1:
-------------------------------------------

Dan Johnson (1):
      fetch --all: pass --tags/--no-tags through to each remote

David Gould (1):
      run-command.c: fix broken list iteration in clear_child_for_cleanup

Felipe Contreras (1):
      completion: fix shell expansion of items

Jeff King (4):
      argv-array: add pop function
      argv-array: fix bogus cast when freeing array
      fetch: use argv_array instead of hand-building arrays
      Revert "completion: fix shell expansion of items"

Jens Lehmann (1):
      submodule: use argv_array instead of hand-building arrays

Jeremy White (1):
      Documentation: describe subject more precisely

Jonathan "Duke" Leto (1):
      Improve the description of GIT_PS1_SHOWUPSTREAM

Junio C Hamano (11):
      mailinfo: strip "RE: " prefix
      blame $path: avoid getting fooled by case insensitive filesystems
      blame: allow "blame file" in the middle of a conflicted merge
      grep: teach --debug option to dump the parse tree
      log --grep/--author: honor --all-match honored for multiple --grep patterns
      log: document use of multiple commit limiting options
      grep.c: mark private file-scope symbols as static
      mailinfo: do not concatenate charset= attribute values from mime headers
      grep.c: make two symbols really file-scope static this time
      Start preparation for 1.7.12.2
      Git 1.7.12.2

Michael J Gruber (6):
      grep: show --debug output only once
      t7810-grep: bring log --grep tests in common form
      t7810-grep: test multiple --grep with and without --all-match
      t7810-grep: test multiple --author with --all-match
      t7810-grep: test interaction of multiple --grep and --author options
      t7810-grep: test --all-match with multiple --grep and --author options

Nguyễn Thái Ngọc Duy (3):
      remote: prefer subcommand name 'remove' to 'rm'
      doc: move rev-list option -<n> from git-log.txt to rev-list-options.txt
      Revert diffstat back to English

Ralf Thielow (1):
      l10n: de.po: correct translation of a 'rebase' message

Stefan Naewe (1):
      ls-remote: document the '--get-url' option

Stephen Boyd (1):
      Documentation: Document signature showing options

Thynson (2):
      l10n: Unify the translation for '(un)expected'
      l10n: Improve many translation for zh_CN


Version v1.7.12.1; changes since v1.7.12:
-----------------------------------------

Adam Butcher (1):
      Fix '\ No newline...' annotation in rewrite diffs

Adam Spiers (1):
      Add missing -z to git check-attr usage text for consistency with man page

Andreas Schwab (1):
      Documentation/git-filter-branch: Move note about effect of removing commits

Brandon Casey (2):
      t/t5400: demonstrate breakage caused by informational message from prune
      prune.c: only print informational message in show_only or verbose mode

David Aguilar (2):
      gitk: Teach "Reread references" to reload tags
      gitk: Rename 'tagcontents' to 'cached_tagcontent'

Eric S. Raymond (4):
      fast-import: document the --done option
      contrib/ciabot: Get ciabot configuration from git variables
      Improved documentation for the ciabot scripts.
      Make the ciabot scripts completely self-configuring in the normal case.

Felipe Contreras (1):
      gitk: Avoid Meta1-F5

Heiko Voigt (2):
      Let submodule command exit with error status if path does not exist
      Documentation/CodingGuidelines: spell out more shell guidelines

Jay Soffian (1):
      gitweb: URL-decode $my_url/$my_uri when stripping PATH_INFO

Jeff King (29):
      diff: do not use null sha1 as a sentinel value
      do not write null sha1s to on-disk index
      fsck: detect null sha1 in tree entries
      include agent identifier in capability string
      docs: monospace listings in docbook output
      check-docs: mention gitweb specially
      check-docs: update non-command documentation list
      command-list: add git-sh-i18n
      command-list: mention git-credential-* helpers
      check-docs: factor out command-list
      check-docs: list git-gui as a command
      check-docs: drop git-help special-case
      check-docs: get documented command list from Makefile
      send-pack: fix capability-sending logic
      do not send client agent unless server does first
      parse_feature_request: make it easier to see feature values
      fetch-pack: mention server version with verbose output
      config: warn on inaccessible files
      gitignore: report access errors of exclude files
      attr: warn on inaccessible attribute files
      t5550: put auth-required repo in auth/dumb
      t5550: factor out http auth setup
      t/lib-httpd: only route auth/dumb to dumb repos
      t/lib-httpd: recognize */smart/* repos as smart-http
      t: test basic smart-http authentication
      t: test http access to "half-auth" repositories
      http: factor out http error code handling
      http: prompt for credentials on failed POST
      log: fix --quiet synonym for -s

Joachim Schmitz (2):
      http.c: don't use curl_easy_strerror prior to curl-7.12.0
      sha1_file.c: introduce get_max_fd_limit() helper

Junio C Hamano (34):
      test: rename $satisfied to $satisfied_prereq
      test: allow prerequisite to be evaluated lazily
      config: "git config baa" should exit with status 1
      t7406: fix misleading "rev-parse --max-count=1 HEAD"
      sane_execvp(): ignore non-directory on $PATH
      Documentation: do not mention .git/refs/* directories
      receive-pack: do not leak output from auto-gc to standard output
      sh-setup: protect from exported IFS
      fetch-pack: do not ask for unadvertised capabilities
      send-email: validate & reconfirm interactive responses
      rev-list docs: clarify --topo-order description
      gitcli: describe abbreviation of long options
      Documentation: update the introductory section
      git-config doc: unconfuse an example
      precompose-utf8: do not call checks for non-ascii "utf8"
      warn_on_inaccessible(): a helper to warn on inaccessible paths
      specifying ranges: we did not mean to make ".." an empty set
      mergetool: style fixes
      Prepare for 1.7.11.6
      apply: compute patch->def_name correctly under -p0
      doc: "git checkout -b/-B/--orphan" always takes a branch name
      split_ident_line(): make best effort when parsing author/committer line
      Document file-glob for "git checkout -- '*.c'"
      gitcli: formatting fix
      gitcli: contrast wildcard given to shell and to git
      Almost 1.7.11.6
      Start preparing for 1.7.12.1
      Git 1.7.11.6
      Further merging down for 1.7.12.1
      Further merging in preparation for 1.7.12.1
      attr: failure to open a .gitattributes file is OK with ENOTDIR
      Git 1.7.11.7
      Draft release notes to 1.7.12.1
      Git 1.7.12.1

Kacper Kornet (2):
      t6300: test sort with multiple keys
      for-each-ref: Fix sort with multiple keys

Martin von Zweigbergk (4):
      add tests for 'git rebase --keep-empty'
      teach log --no-walk=unsorted, which avoids sorting
      demonstrate broken 'git cherry-pick three one two'
      cherry-pick/revert: respect order of revisions to pick

Matthieu Moy (1):
      setup: clarify error messages for file/revisions ambiguity

Michael Haggerty (1):
      git-config.txt: fix example

Michael J Gruber (6):
      test-lib: provide case insensitivity as a prerequisite
      t0050: use the CASE_INSENSITIVE_FS test prereq
      t0050: use the SYMLINKS test prereq
      test-lib: provide UTF8 behaviour as a prerequisite
      rebase -i: use full onto sha1 in reflog
      t3910: use the UTF8_NFD_TO_NFC test prereq

Michał Kiedrowicz (1):
      tests: Introduce test_seq

Miklos Vajna (1):
      man: git pull -r is a short for --rebase

Mischa POSLAWSKY (1):
      git-jump: ignore (custom) prefix in diff mode

Nguyễn Thái Ngọc Duy (1):
      read_index_from: remove bogus errno assignments

Paul Gortmaker (1):
      apply: delete unused deflate_origlen from patch struct

Phil Hord (2):
      test: git-stash conflict sets up rerere
      stash: invoke rerere in case of conflict

Philip Oakley (1):
      Doc: Improve shallow depth wording

Ramkumar Ramachandra (1):
      t/perf: add "trash directory" to .gitignore

Ramsay Jones (1):
      test-regex: Add a test to check for a bug in the regex routines

Robin Rosenberg (1):
      cleanup precompose_utf8

Stefan Zager (1):
      Make 'git submodule update --force' always check out submodules.

Stephen Boyd (1):
      send-email: initial_to and initial_reply_to are both optional

Thomas Rast (3):
      send-email: improve RFC2047 quote parsing
      diff_setup_done(): return void
      merge-recursive: eliminate flush_buffer() in favor of write_in_full()

Wesley J. Landaker (1):
      Documentation: indent-with-non-tab uses "equivalent tabs" not 8

Yacine Belkadi (1):
      completion: add --no-edit to git-commit


Version v1.7.12; changes since v1.7.12-rc3:
-------------------------------------------

Junio C Hamano (2):
      Documentation: update URL for formatted pages
      Git 1.7.12

Peter Krefting (1):
      l10n: Fixes to Swedish translation


Version v1.7.12-rc3; changes since v1.7.12-rc2:
-----------------------------------------------

Ben Walton (1):
      Enable HAVE_DEV_TTY for Solaris

Jeff King (1):
      terminal: seek when switching between reading and writing

Jiang Xin (2):
      l10n: Update one message in git.pot
      l10n: zh_CN.po: update one translation

Junio C Hamano (2):
      Git 1.7.11.5
      Git 1.7.12-rc3

Matthieu Moy (1):
      Documentation: list git-credential in plumbing commands

Peter Baumann (1):
      git svn: reset invalidates the memoized mergeinfo caches

Peter Krefting (1):
      l10n: Update Swedish translation (1168t0f0u)

Ralf Thielow (1):
      l10n: de.po: translate 77 new messages

Robert Luberda (1):
      git svn: handle errors and concurrent commits in dcommit

Trần Ngọc Quân (1):
      l10n: vi.po: update one message


Version v1.7.12-rc2; changes since v1.7.12-rc1:
-----------------------------------------------

Jiang Xin (11):
      i18n: New keywords for xgettext extraction from sh
      i18n: rebase: mark messages for translation
      i18n: Rewrite gettext messages start with dash
      rebase: remove obsolete and unused LONG_USAGE which breaks xgettext
      i18n: am: mark more strings for translation
      Remove dead code which contains bad gettext block
      i18n: merge-recursive: mark strings for translation
      l10n: Update git.pot (4 new, 3 removed messages)
      l10n: zh_CN.po: translate 4 new messages
      l10n: Update git.pot (76 new, 4 removed messages)
      l10n: zh_CN.po: translate 76 new messages

Johannes Sixt (1):
      Makefile: use overridable $(FIND) instead of hard-coded 'find'

Junio C Hamano (3):
      Prepare for 1.7.11.5
      Drop 1.7.11.x items from 1.7.12 release notes
      Git 1.7.12-rc2

Matthieu Moy (1):
      git-remote-mediawiki: replace TODO-list in comment by appropriate link

Nguyễn Thái Ngọc Duy (1):
      i18n: leave \n out of translated diffstat

Ralf Thielow (3):
      l10n: de.po: translate 4 new messages
      git-rebase.sh: fix typo in an error message
      merge-recursive: separate message for common ancestors

Trần Ngọc Quân (2):
      l10n: vi.po: translate 4 new messages
      l10n: vi.po update to follow POT in 3b613

Štěpán Němec (1):
      doc: A few minor copy edits.


Version v1.7.12-rc1; changes since v1.7.12-rc0:
-----------------------------------------------

Chris Webb (1):
      rebase -i: handle fixup of root commit correctly

Daniel Graña (2):
      git-submodule: work with GIT_DIR/GIT_WORK_TREE
      t7409: make sure submodule is initialized and updated in more detail

Florian Achleitner (1):
      Add explanatory comment for transport-helpers refs mapping.

Heiko Voigt (1):
      link_alt_odb_entry: fix read over array bounds reported by valgrind

Jeff King (16):
      advice: pass varargs to strbuf_vaddf, not strbuf_addf
      commit: check committer identity more strictly
      commit: document the temporary commit message file
      test-lib.sh: unset XDG_CONFIG_HOME
      attr: make sure we have an xdg path before using it
      t1306: check that XDG_CONFIG_HOME works
      t/lib-httpd: handle running under --valgrind
      help.c::uniq: plug a leak
      checkout: don't confuse ref and object flags
      t7502: clean up fake_editor tests
      t7502: properly quote GIT_EDITOR
      t7502: narrow checks for author/committer name in template
      t7502: drop confusing test_might_fail call
      t7502: handle systems where auto-identity is broken
      t7502: test early quit from commit with bad ident
      t: add missing executable bit to t7409

Junio C Hamano (9):
      test-lib: reorder and include GIT-BUILD-OPTIONS a lot earlier
      mergetool: support --tool-help option like difftool does
      Update draft release notes to 1.7.12
      Enumerate revision range specifiers in the documentation
      help.c::exclude_cmds(): plug a leak
      perl: detect new files in MakeMaker builds
      Update draft release notes to 1.7.12
      Git 1.7.11.4
      Git 1.7.12-rc1

Matthieu Moy (1):
      ignore: make sure we have an xdg path before using it

Max Horn (1):
      Make <refname> documentation more consistent.

Michael G. Schwern (14):
      Quiet warning if Makefile.PL is run with -w and no --localedir
      Don't lose Error.pm if $@ gets clobbered.
      The Makefile.PL will now find .pm files itself.
      Extract some utilities from git-svn to allow extracting Git::SVN.
      Prepare Git::SVN for extraction into its own file.
      Extract Git::SVN from git-svn into its own .pm file.
      Move initialization of Git::SVN variables into Git::SVN.
      Prepare Git::SVN::Log for extraction from git-svn.
      Extract Git::SVN::Log from git-svn.
      Prepare Git::SVN::Migration for extraction from git-svn.
      Extract Git::SVN::Migration from git-svn.
      Load all the modules in one place and before running code.
      Move Git::IndexInfo into its own file.
      Extract Git::SVN::GlobSpec from git-svn.

Ramsay Jones (2):
      t1100-*.sh: Fix an intermittent test failure
      t7810-*.sh: Remove redundant test


Version v1.7.12-rc0; changes since v1.7.11.7:
---------------------------------------------

Alexander Strasser (7):
      t4012: modernize style for quoting
      t4012: Unquote git command fragment in test title
      t4012: Actually quote the sed script
      t4012: Break up pipe into serial redirections
      t4012: Make --shortstat test more robust
      t4012: Re-indent test snippets
      t4012: Use test_must_fail instead of if-else

Andreas Schwab (1):
      Fix formatting in git-config(1)

Chris Webb (4):
      rebase -i: support --root without --onto
      Add tests for rebase -i --root without --onto
      Add config variable to set HTML path for git-help --web
      Allow help.htmlpath to be a URL prefix

David Barr (7):
      vcs-svn: drop no-op reset methods
      vcs-svn: avoid self-assignment in dummy initialization of pre_off
      vcs-svn: simplify cleanup in apply_one_window
      vcs-svn: use constcmp instead of prefixcmp
      vcs-svn: use strstr instead of memmem
      vcs-svn: suppress signed/unsigned comparison warnings
      vcs-svn: suppress a signed/unsigned comparison warning

Felipe Contreras (2):
      completion: remove executable mode
      completion: split __git_ps1 into a separate script

Gary Gibbons (2):
      git p4: refactor diffOpts calculation
      git p4: add support for 'p4 move' in P4Submit

Guillaume Sasdy (4):
      git-remote-mediawiki: scripts to install, delete and clear a MediaWiki
      git-remote-mediawiki: test environment of git-remote-mediawiki
      git-remote-mediawiki (t9360): test git-remote-mediawiki clone
      git-remote-mediawiki (t9361): test git-remote-mediawiki pull and push

Heiko Voigt (1):
      remove the impression of unexpectedness when access is denied

Huynh Khoi Nguyen Nguyen (4):
      config: read (but not write) from $XDG_CONFIG_HOME/git/config file
      Let core.excludesfile default to $XDG_CONFIG_HOME/git/ignore
      Let core.attributesfile default to $XDG_CONFIG_HOME/git/attributes
      config: write to $XDG_CONFIG_HOME/git/config file when appropriate

Javier Roucher Iglesias (1):
      add 'git credential' plumbing command

Jeff King (26):
      docs: drop asciidoc7compatible flag
      docs: drop antique comment from Makefile
      docs/clone: mention that --local may be ignored
      clone: allow --no-local to turn off local optimizations
      move git_version_string into version.c
      version: add git_user_agent function
      http: get default user-agent from git_user_agent
      t1304: improve setfacl prerequisite setup
      Makefile: sort LIB_H list
      Makefile: fold MISC_H into LIB_H
      Makefile: do not have git.o depend on common-cmds.h
      Makefile: apply dependencies consistently to sparse/asm targets
      Makefile: do not replace @@GIT_USER_AGENT@@ in scripts
      Makefile: split GIT_USER_AGENT from GIT-CFLAGS
      Makefile: split prefix flags from GIT-CFLAGS
      Makefile: do not replace @@GIT_VERSION@@ in shell scripts
      Makefile: update scripts when build-time parameters change
      Makefile: build instaweb similar to other scripts
      Makefile: move GIT-VERSION-FILE dependencies closer to use
      index-pack: loop while inflating objects in unpack_data
      revision: avoid work after --max-count is reached
      status: color in-progress message like other header messages
      docs/credential: minor clarity fixups
      mw-to-git: check blank credential attributes via length
      credential: convert "url" attribute into its parsed subparts
      mw-to-git: use git-credential's URL parser

Jiang Xin (2):
      l10n: Update git.pot (29 new messages)
      l10n: zh_CN.po: translate 29 new messages

Johannes Sixt (3):
      t7400: avoid path mangling issues
      perl/Makefile: Fix a missing double-quote
      t4012: use 'printf' instead of 'dd' to generate a binary file

Jon Seymour (4):
      submodule: additional regression tests for relative URLs
      submodule: document failure to handle relative superproject origin URLs
      submodule: fix sync handling of some relative superproject origin URLs
      submodule: fix handling of superproject origin URLs like foo, ./foo and ./foo/bar

Jonathan Nieder (8):
      vcs-svn: allow import of > 4GiB files
      vcs-svn: suppress -Wtype-limits warning
      perl/Makefile: move "mkdir -p" to module installation loop for maintainability
      vcs-svn: suppress a signed/unsigned comparison warning
      vcs-svn: allow 64-bit Prop-Content-Length
      Makefile: fold XDIFF_H and VCSSVN_H into LIB_H
      Makefile: be silent when only GIT_USER_AGENT changes
      Makefile: document ground rules for target-specific dependencies

Junio C Hamano (58):
      completion: warn people about duplicated function
      sha1_name.c: indentation fix
      Kick off post 1.7.11 cycle
      The first batch for 1.7.12
      Second batch for 1.7.12
      Third batch for 1.7.12
      sha1_name.c: hide get_sha1_with_context_1() ugliness
      sha1_name.c: get rid of get_sha1_with_mode_1()
      sha1_name.c: get rid of get_sha1_with_mode()
      sha1_name.c: clarify what "fake" is for in find_short_object_filename()
      sha1_name.c: rename "now" to "current"
      sha1_name.c: refactor find_short_packed_object()
      sha1_name.c: correct misnamed "canonical" and "res"
      sha1_name.c: restructure disambiguation of short names
      get_sha1(): fix error status regression
      sha1_name.c: allow get_short_sha1() to take other flags
      sha1_name.c: teach get_short_sha1() a commit-only option
      Fourth batch for 1.7.12
      Fifth batch for 1.7.12
      apply: fix an incomplete comment in check_patch()
      apply: a bit more comments on PATH_TO_BE_DELETED
      apply: clear_image() clears things a bit more
      apply: refactor read_file_or_gitlink()
      apply: factor out checkout_target() helper function
      apply: split load_preimage() helper function out
      apply: refactor "previous patch" logic
      apply: further split load_preimage()
      apply: move check_to_create_blob() closer to its sole caller
      apply: move "already exists" logic to check_to_create()
      apply: accept -3/--3way command line option
      apply: fall back on three-way merge
      apply: plug the three-way merge logic in
      apply: move verify_index_match() higher
      apply: --3way with add/add conflict
      apply: register conflicted stages to the index
      apply: allow rerere() to work on --3way results
      apply: document --3way option
      sha1_name.c: get_describe_name() by definition groks only commits
      sha1_name.c: get_sha1_1() takes lookup flags
      sha1_name.c: many short names can only be committish
      sha1_name.c: teach lookup context to get_sha1_with_context()
      sha1_name.c: introduce get_sha1_committish()
      revision.c: allow handle_revision_arg() to take other flags
      revision.c: the "log" family, except for "show", takes committish
      sha1_name.c: add support for disambiguating other types
      apply: --build-fake-ancestor expects blobs
      commit-tree: the command wants a tree and commits
      reset: the command takes committish
      rev-parse: A and B in "rev-parse A..B" refer to committish
      rev-parse --disambiguate=<prefix>
      apply: tests for the --3way option
      Reduce draft release notes to 1.7.12
      t1512: ignore whitespaces in wc -l output
      t1512: match the "other" object names
      Sixth batch for 1.7.12
      Update draft release notes for 7th batch
      Update draft release notes to 1.7.12
      Git 1.7.12-rc0

Lucien Kong (5):
      rebase -i: teach "--exec <cmd>"
      wt-status.*: better advices for git status added
      t7512-status-help.sh: better advices for git status
      status: don't suggest "git rm" or "git add" if not appropriate
      status: better advices when splitting a commit (during rebase -i)

Marcin Owsiany (1):
      git-svn: don't create master if another head exists

Martin von Zweigbergk (4):
      rebase: don't source git-sh-setup twice
      rebase --root: print usage on too many args
      am --rebasing: get patch body from commit, not from mailbox
      am: don't call mailinfo if $rebasing

Matthieu Moy (24):
      git credential fill: output the whole 'struct credential'
      git-remote-mediawiki: add credential support
      git-remote-mediawiki: don't compute the diff when getting commit message
      git-remote-mediawiki: don't "use encoding 'utf8';"
      git-remote-mediawiki: split get_mw_pages into smaller functions
      git-remote-mediawiki: improve support for non-English Wikis
      git-remote-mediawiki: support for uploading file in test environment
      git-remote-mediawiki: change return type of get_mw_pages
      git-remote-mediawiki: refactor loop over revision ids
      git-remote-mediawiki: extract revision-importing loop to a function
      git-remote-mediawiki: more efficient 'pull' in the best case
      git-remote-mediawiki: be more defensive when requests fail
      git-remote-mediawiki: update comments to reflect credential support
      config: fix several access(NULL) calls
      git-remote-mediawiki: don't split namespaces with spaces
      git-remote-mediawiki: actually send empty comment when they're empty
      git-remote-mediawiki: make mediafiles export optional
      git-remote-mediawiki: get rid of O(N^2) loop
      git-remote-mediawiki: use --force when adding notes
      git-remote-mediawiki: show progress information when listing pages
      git-remote-mediawiki: show progress information when getting last remote revision
      git-remote-mediawiki: properly deal with invalid remote revisions
      git-remote-mediawiki: fix incorrect test usage in test
      git-remote-mediawiki: allow page names with a ':'

Michael J Gruber (1):
      t3404: make test 57 work with dash and others

NGUYEN Kim Thuat (2):
      git-remote-mediawiki: send "File:" attachments to a remote wiki
      git-remote-mediawiki (t9363): test 'File:' import and export

Namhyung Kim (3):
      gitweb: Cleanup git_print_log()
      gitweb: Handle other types of tag in git_print_log
      gitweb: Add support to Link: tag

Nguyễn Thái Ngọc Duy (12):
      index-pack: hash non-delta objects while reading from stream
      index-pack: use streaming interface on large blobs (most of the time)
      index-pack: factor out unpack core from get_data_from_pack
      index-pack: use streaming interface for collision test on large blobs
      pack-objects: use streaming interface for reading large loose blobs
      Unindent excluded_from_list()
      dir.c: get rid of the wildcard symbol set in no_wildcard()
      exclude: do strcmp as much as possible before fnmatch
      Remove i18n legos in notifying new branch tracking setup
      reflog: remove i18n legos in pruning message
      notes-merge: remove i18n legos in merge result message
      rerere: remove i18n legos in result message

Pat Thoyts (1):
      Restore use of 'help.format' configuration property in 'git help'

Pavel Volek (1):
      git-remote-mediawiki: import "File:" attachments

Pete Wyckoff (13):
      git p4 test: wait longer for p4d to start and test its pid
      git p4 test: use real_path to resolve p4 client symlinks
      git p4 test: simplify quoting involving TRASH_DIRECTORY
      git p4 test: never create default test repo
      git p4 test: rename some "git-p4 command" strings
      git p4 test: check for error message in failed test
      git p4 test: copy source indeterminate
      git p4 test: cleanup_git should make a new $git
      git p4 test: split up big t9800 test
      git p4 test: fix badp4dir test
      git p4: remove unused P4Submit interactive setting
      git p4 test: refactor marshal_dump
      git p4: notice Jobs lines in git commit messages

Peter Krefting (1):
      Update Swedish translation (1095t0f0u)

Ralf Thielow (1):
      l10n: de.po: translate 29 new messages

Ramsay Jones (1):
      vcs-svn: rename check_overflow and its arguments for clarity

SZEDER Gábor (3):
      tests: move code to run tests under bash into a helper library
      tests: add tests for the bash prompt functions in the completion script
      completion: respect $GIT_DIR

Simon Cathebras (1):
      git-remote-mediawiki (t9362): test git-remote-mediawiki with UTF8 characters

Stefano Lattarini (7):
      autoconf: GIT_CONF_APPEND_LINE: change signature
      autoconf: GIT_CONF_APPEND_LINE -> GIT_CONF_SUBST
      autoconf: remove some redundant shell indirections
      autoconf: remove few redundant semicolons
      autoconf: use AC_CONFIG_COMMANDS instead of ad-hoc 'config.mak.append'
      build: "make clean" should not remove configure-generated files
      build: reconfigure automatically if configure.ac changes

Thomas Gummerer (2):
      Replace strlen() with ce_namelen()
      Strip namelen out of ce_flags into a ce_namelen field

Tim Henigan (1):
      difftool: only copy back files modified during directory diff

Torsten Bögershausen (1):
      git on Mac OS and precomposed unicode

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

Vincent van Ravesteijn (1):
      help: use HTML as the default help format on Windows

Štěpán Němec (1):
      doc: A few minor copy edits.


Version v1.7.11.7; changes since v1.7.11.6:
-------------------------------------------

David Aguilar (2):
      gitk: Teach "Reread references" to reload tags
      gitk: Rename 'tagcontents' to 'cached_tagcontent'

Felipe Contreras (1):
      gitk: Avoid Meta1-F5

Jeff King (9):
      t5550: put auth-required repo in auth/dumb
      t5550: factor out http auth setup
      t/lib-httpd: only route auth/dumb to dumb repos
      t/lib-httpd: recognize */smart/* repos as smart-http
      t: test basic smart-http authentication
      t: test http access to "half-auth" repositories
      http: factor out http error code handling
      http: prompt for credentials on failed POST
      log: fix --quiet synonym for -s

Junio C Hamano (8):
      specifying ranges: we did not mean to make ".." an empty set
      apply: compute patch->def_name correctly under -p0
      doc: "git checkout -b/-B/--orphan" always takes a branch name
      split_ident_line(): make best effort when parsing author/committer line
      Document file-glob for "git checkout -- '*.c'"
      gitcli: formatting fix
      gitcli: contrast wildcard given to shell and to git
      Git 1.7.11.7

Kacper Kornet (2):
      t6300: test sort with multiple keys
      for-each-ref: Fix sort with multiple keys

Ramsay Jones (1):
      test-regex: Add a test to check for a bug in the regex routines


Version v1.7.11.6; changes since v1.7.11.5:
-------------------------------------------

Adam Butcher (1):
      Fix '\ No newline...' annotation in rewrite diffs

Ben Walton (1):
      Enable HAVE_DEV_TTY for Solaris

Brandon Casey (1):
      t/t5400: demonstrate breakage caused by informational message from prune

Eric S. Raymond (3):
      contrib/ciabot: Get ciabot configuration from git variables
      Improved documentation for the ciabot scripts.
      Make the ciabot scripts completely self-configuring in the normal case.

Heiko Voigt (2):
      Let submodule command exit with error status if path does not exist
      Documentation/CodingGuidelines: spell out more shell guidelines

Jay Soffian (1):
      gitweb: URL-decode $my_url/$my_uri when stripping PATH_INFO

Jeff King (6):
      commit: check committer identity more strictly
      diff: do not use null sha1 as a sentinel value
      do not write null sha1s to on-disk index
      fsck: detect null sha1 in tree entries
      terminal: seek when switching between reading and writing
      docs: monospace listings in docbook output

Junio C Hamano (13):
      config: "git config baa" should exit with status 1
      t7406: fix misleading "rev-parse --max-count=1 HEAD"
      sane_execvp(): ignore non-directory on $PATH
      Documentation: do not mention .git/refs/* directories
      receive-pack: do not leak output from auto-gc to standard output
      sh-setup: protect from exported IFS
      rev-list docs: clarify --topo-order description
      gitcli: describe abbreviation of long options
      git-config doc: unconfuse an example
      mergetool: style fixes
      Prepare for 1.7.11.6
      Almost 1.7.11.6
      Git 1.7.11.6

Luka Perkov (1):
      builtin.h: remove unused cmd_<foo> declarations

Martin von Zweigbergk (1):
      add tests for 'git rebase --keep-empty'

Matthieu Moy (1):
      setup: clarify error messages for file/revisions ambiguity

Michael Haggerty (1):
      git-config.txt: fix example

Michael J Gruber (1):
      rebase -i: use full onto sha1 in reflog

Michał Kiedrowicz (1):
      tests: Introduce test_seq

Miklos Vajna (1):
      man: git pull -r is a short for --rebase

Nguyễn Thái Ngọc Duy (1):
      read_index_from: remove bogus errno assignments

Paul Gortmaker (1):
      apply: delete unused deflate_origlen from patch struct

Phil Hord (2):
      test: git-stash conflict sets up rerere
      stash: invoke rerere in case of conflict

Stefan Zager (1):
      Make 'git submodule update --force' always check out submodules.

Thomas Rast (3):
      send-email: improve RFC2047 quote parsing
      diff_setup_done(): return void
      merge-recursive: eliminate flush_buffer() in favor of write_in_full()


Version v1.7.11.5; changes since v1.7.11.4:
-------------------------------------------

Heiko Voigt (1):
      link_alt_odb_entry: fix read over array bounds reported by valgrind

Jeff King (1):
      checkout: don't confuse ref and object flags

Jonathan Nieder (4):
      block-sha1: avoid pointer conversion that violates alignment constraints
      block-sha1: put expanded macro parameters in parentheses
      Makefile: fix location of listing produced by "make subdir/foo.s"
      Makefile: BLK_SHA1 does not require fast htonl() and unaligned loads

Junio C Hamano (4):
      mergetool: support --tool-help option like difftool does
      Enumerate revision range specifiers in the documentation
      Prepare for 1.7.11.5
      Git 1.7.11.5

Lawrence Mitchell (2):
      git-blame.el: Use with-current-buffer where appropriate
      git-blame.el: Do not use bare 0 to mean (point-min)

Max Horn (1):
      Make <refname> documentation more consistent.

Michael Schubert (1):
      Documentation/git-daemon: add missing word

Ramkumar Ramachandra (1):
      commit: document a couple of options

Ramsay Jones (1):
      t7810-*.sh: Remove redundant test

René Scharfe (1):
      git: Wrong parsing of ssh urls with IPv6 literals ignores port

Rüdiger Sonderfeld (2):
      git-blame.el: use mapc instead of mapcar
      git-blame.el: Do not use goto-line in lisp code

Štěpán Němec (1):
      doc: A few minor copy edits.


Version v1.7.11.4; changes since v1.7.11.3:
-------------------------------------------

Jeff King (3):
      diff: test precedence of external diff drivers
      advice: pass varargs to strbuf_vaddf, not strbuf_addf
      commit: document the temporary commit message file

Jens Lehmann (1):
      submodules: don't stumble over symbolic links when cloning recursively

Junio C Hamano (7):
      filter-branch: do not forget the '@' prefix to force git-timestamp
      date.c: Fix off by one error in object-header date parsing
      t7003: add test to filter a branch with a commit at epoch
      commit-tree: resurrect command line parsing updates
      Revert "git-commit-tree(1): update synopsis"
      diff: correctly disable external_diff with --no-ext-diff
      Git 1.7.11.4

Paul Gortmaker (1):
      am: indicate where a failed patch is to be found


Version v1.7.11.3; changes since v1.7.11.2:
-------------------------------------------

Alex Riesen (1):
      Restore umasks influence on the permissions of work tree created by clone

Chris Webb (2):
      git-checkout: disallow --detach on unborn branch
      Allow edit of empty message with commit --amend

Jay Soffian (1):
      fast-export: quote paths with spaces

Jeff King (3):
      push: don't guess at qualifying remote refs on deletion
      add: create ADD_EDIT.patch with mode 0666
      commit: fix "--amend --only" with no pathspec

Junio C Hamano (10):
      show: fix "range implies walking"
      t/test-lib.sh: export PERL_PATH for use in scripts
      tests: enclose $PERL_PATH in double quotes
      t/README: add a bit more Don'ts
      diff-index.c: do not pretend paths are pathspecs
      diff-index.c: unify handling of command line paths
      diff-index.c: "git diff" has no need to read blob from the standard input
      rerere: make rr-cache fanout directory honor umask
      cache_name_compare(): do not truncate while comparing paths
      Git 1.7.11.3

Martin von Zweigbergk (1):
      add test case for rebase of empty commit

Thomas Rast (1):
      Demonstrate git-show is broken with ranges

Vincent van Ravesteijn (1):
      t: Replace 'perl' by $PERL_PATH


Version v1.7.11.2; changes since v1.7.11.1:
-------------------------------------------

Carlos Martín Nieto (2):
      Documentation: --no-walk is no-op if range is specified
      git-cherry-pick.txt: clarify the use of revision range notation

Heiko Voigt (1):
      update-index: allow overwriting existing submodule index entries

Jeff King (3):
      fix pager.diff with diff --no-index
      do not run pager with diff --no-index --quiet
      diff: handle relative paths in no-index

Junio C Hamano (15):
      request-pull: really favor a matching tag
      ls-files -i: pay attention to exclusion of leading paths
      ls-files -i: micro-optimize path_excluded()
      tweak "bundle verify" of a complete history
      path_excluded(): update API to less cache-entry centric
      builtin/add.c: use path_excluded()
      unpack-trees.c: use path_excluded() in check_ok_to_remove()
      dir.c: make excluded() file scope static
      revision: "simplify" options imply topo-order sort
      revision: note the lack of free() in simplify_merges()
      archive: ustar header checksum is computed unsigned
      revision: ignore side parents while running simplify-merges
      index-pack: Disable threading on cygwin
      blame: compute abbreviation width that ensures uniqueness
      Git 1.7.11.2

Leila Muhtasib (1):
      Documentation: Fix misspellings

Matthieu Moy (2):
      sha1_name: do not trigger detailed diagnosis for file arguments
      verify_filename(): ask the caller to chose the kind of diagnosis

Michał Górny (1):
      git-submodule.sh: fix filename in comment.

Nguyễn Thái Ngọc Duy (1):
      clone: fix ref selection in --single-branch --branch=xxx

Peter Krefting (1):
      Update Swedish translation (1066t0f0u)

Thomas Badie (1):
      git-add--interactive.perl: Remove two unused variables

Tim Henigan (1):
      diff-no-index: exit(1) if 'diff --quiet <repo file> <external file>' finds changes


Version v1.7.11.1; changes since v1.7.11:
-----------------------------------------

Jeff King (1):
      docs: always define git-relative-html-prefix attribute

Junio C Hamano (2):
      git-commit-tree(1): update synopsis
      Git 1.7.11.1

Miklos Vajna (1):
      Documentation: spelling fixes


Version v1.7.11; changes since v1.7.11-rc3:
-------------------------------------------

Alexander Strasser (1):
      diff: Only count lines in show_shortstats

Jonathan Nieder (2):
      perl/Makefile.PL: warn about duplicate module list in perl/Makefile
      perl/Makefile: install Git::SVN::* when NO_PERL_MAKEMAKER=yes, too

Junio C Hamano (2):
      Git 1.7.10.5
      Git 1.7.11

Marco Paolone (1):
      l10n: it.po: translate 212 new messages

Ramsay Jones (1):
      gitweb: Skip 'modification times' tests when no date parser available

SZEDER Gábor (2):
      completion: put main git and gitk completion functions back into git namespace
      completion: remove credential helpers from porcelain commands

Vincent van Ravesteijn (1):
      Do not autosquash in case of an implied interactive rebase


Version v1.7.11-rc3; changes since v1.7.11-rc2:
-----------------------------------------------

Jeff King (1):
      docs: fix cross-directory linkgit references

Jiang Xin (2):
      l10n: Update git.pot (27 new, 1 removed messages)
      l10n: zh_CN.po: translate 27 new messages

Johannes Schindelin (1):
      fast-export: report SHA-1 instead of gibberish when marks exist already

Jonathan Nieder (3):
      git-svn: make Git::SVN::Editor a separate file
      git-svn: make Git::SVN::RA a separate file
      git-svn: use YAML format for mergeinfo cache when possible

Junio C Hamano (2):
      fmt-merge-msg: make attribution into comment lines
      Git 1.7.11-rc3

Matthieu Moy (1):
      api-credential.txt: document that helpers field is filled-in automatically

Ralf Thielow (1):
      l10n: de.po: translate 27 new messages

Trần Ngọc Quân (1):
      l10n: Update  po/vi.po to v1.7.11.rc2.2.gb694fbb


Version v1.7.11-rc2; changes since v1.7.11-rc1:
-----------------------------------------------

Colby Ranger (1):
      Add persistent-https to contrib

Jiang Xin (2):
      l10n: Update git.pot (5 new, 3 removed messages)
      l10n: zh_CN.po: translate 2 new, 3 fuzzy messages

Junio C Hamano (3):
      git-svn: platform auth providers are working only on 1.6.15 or newer
      doc: fix xref link from api docs to manual pages
      Git 1.7.11-rc2

Matthieu Moy (3):
      api-credentials.txt: show the big picture first
      api-credentials.txt: mention credential.helper explicitly
      api-credentials.txt: add "see also" section

Ralf Thielow (4):
      l10n: de.po: translate 265 new messages
      l10n: de.po: translate 41 new messages
      l10n: de.po: translate 2 new, 3 fuzzy messages
      l10n: de.po: add additional newline

Ramkumar Ramachandra (1):
      t3510 (cherry-pick-sequence): add missing '&&'

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


Version v1.7.11-rc1; changes since v1.7.11-rc0:
-----------------------------------------------

Erik Faye-Lund (2):
      rebase: report invalid commit correctly
      Makefile: add missing GIT-VERSION-FILE dependency

Jeff King (30):
      ident: split setup_ident into separate functions
      http-push: do not access git_default_email directly
      fmt-merge-msg: don't use static buffer in record_person
      move identity config parsing to ident.c
      move git_default_* variables to ident.c
      ident: trim trailing newline from /etc/mailname
      format-patch: use default email for generating message ids
      fmt_ident: drop IDENT_WARN_ON_NO_NAME code
      ident: don't write fallback username into git_default_name
      drop length limitations on gecos-derived names and emails
      ident: report passwd errors with a more friendly message
      ident: use full dns names to generate email addresses
      ident: use a dynamic strbuf in fmt_ident
      ident: trim whitespace from default name/email
      format-patch: refactor get_patch_filename
      fetch-pack: sort incoming heads
      fetch-pack: avoid quadratic behavior in remove_duplicates
      add sorting infrastructure for list refs
      fetch-pack: sort the list of incoming refs
      fetch-pack: avoid quadratic loop in filter_refs
      fetch-pack: sort incoming heads list earlier
      ident: reword empty ident error message
      ident: refactor NO_DATE flag in fmt_ident
      ident: let callers omit name with fmt_indent
      format-patch: use GIT_COMMITTER_EMAIL in message ids
      ident: rename IDENT_ERROR_ON_NO_NAME to IDENT_STRICT
      ident: reject bogus email addresses with IDENT_STRICT
      format-patch: do not use bogus email addresses in message ids
      t5701: modernize style
      INSTALL: update asciidoc recommendation

Jens Lehmann (1):
      submodules: print "registered for path" message only once

Jiang Xin (5):
      l10n: Update git.pot (41 new messages)
      l10n: zh.CN.po: update by msgmerge git.pot
      l10n: zh_CN.po: translate 323 new messages
      l10n: Set nplurals of zh_CN.po from 1 to 2
      i18n: apply: split to fix a partial i18n message

Jonathan Nieder (3):
      git-svn: move Git::SVN::Prompt into its own file
      git-svn: rename SVN::Git::* packages to Git::SVN::*
      git-svn: make Git::SVN::Fetcher a separate file

Junio C Hamano (6):
      refs: do not create ref_entry when searching
      cherry-pick: regression fix for empty commits
      Start preparing for 1.7.10.4
      Update draft release notes to 1.7.11
      Git 1.7.10.4
      Git 1.7.11-rc1

Marco Paolone (1):
      l10n: New it.po file with 504 translations

Matthieu Moy (1):
      Reduce cost of deletion in levenstein distance (4 -> 3)

Michael Haggerty (5):
      free_ref_entry(): do not trigger reading of loose refs
      cmd_fetch_pack(): declare dest to be const
      cmd_fetch_pack(): handle non-option arguments outside of the loop
      cmd_fetch_pack(): combine the loop termination conditions
      cmd_fetch_pack(): respect constness of argv parameter

Nguyễn Thái Ngọc Duy (2):
      pack-objects, streaming: turn "xx >= big_file_threshold" to ".. > .."
      pack-objects: refactor write_object() into helper functions

Peter Krefting (1):
      Update Swedish translation (728t0f0u)

René Scharfe (3):
      refs: convert parameter of search_ref_dir() to length-limited string
      refs: convert parameter of create_dir_entry() to length-limited string
      refs: use strings directly in find_containing_dir()

Trần Ngọc Quân (2):
      Init translation for Vietnamese
      First release translation for Vietnamese

Vincent van Ravesteijn (1):
      Do not autosquash in case of an implied interactive rebase

Vitor Antunes (3):
      git-p4: Test changelists touching two branches
      git-p4: Verify detection of "empty" branch creation
      git-p4: Clean up branch test cases


Version v1.7.11-rc0; changes since v1.7.10.5:
---------------------------------------------

Amiel Martin (2):
      fixed order of assertion in tests
      sort assertion to make it more generic

Arlen Cuss (1):
      Fix refspecs in given example for git subtree pull.

Avery Pennarun (72):
      basic options parsing and whatnot.
      'git subtree split' now basically works.
      We now copy the other stuff about a commit (changelog, author, etc).
      Print out the newly created commitid at the end, for use in other scripts.
      Add a new --rejoin option.
      Use information about prior splits to make sure merges work right.
      Added a --onto option, but it's so complicated I can't tell if it works.
      Hmm... can't actually filter rev-list on the subdir name.
      Skip over empty commits.
      Quick test script for generating reasonably complex merge scenarios.
      Prune out some extra merge commits by comparing their parents correctly.
      Even more aggressive commit trimming.
      Okay, that was a little too aggressive.
      Pass the path using the --prefix option instead of on the command line.
      Add a new 'git subtree add' command for adding subtrees from a given rev.
      Add 'git subtree merge' and 'git subtree pull'.
      Handle it successfully if a given parent commit has no parents.
      Change test.sh to test the new add, merge, and pull commands.
      todo list
      Add --annotate option, and create recognizable file content during tests.
      Typo when searching for existing splits.
      Clarify why we can't do 'git rev-list' with a path.
      Add a 'create' helper function in test.sh.
      Add some basic assertions to test.sh.
      test.sh tweak
      Trim some extra merge commits that don't need to go into the split tree.
      Only copy a commit if it has at least one nonidentical parent.
      test.sh: make sure no commit changes more than one file at a time.
      Simplify merges even more aggressively.
      test.sh: oops, never intended to count the raw number of commits.
      debug messages are off by default; use -d to enable.
      Abort if --rejoin fails.
      More to-do items based on feedback
      typo in comment
      New --branch option to split command.
      slightly rearrange help message for split.
      FIXME help for --squash option
      merge_msg() is really more like rejoin_msg().
      Basic "subtree merge --squash" support.
      Don't squash-merge if the old and new commits are the same.
      Fix splitting after using a squash merge.
      Make --squash work with the 'add' command too.
      Add basic git-subtree manpage in asciidoc format.
      man page: add an EXAMPLES section.
      update todo
      Some todo items reported by pmccurdy
      todo
      Docs: when pushing to github, the repo path needs to end in .git
      todo
      todo^
      todo
      todo: idea for a 'git subtree grafts' command
      Improve patch to use git --exec-path: add to PATH instead.
      Fix behaviour if you have a branch named the same as your --prefix
      Add a README that says to email me instead of using github mail.
      If someone provides a --prefix that ends with slash, strip the slash.
      Fix a minor problem in identifying squashes vs. normal splits.
      cmd_pull didn't support --squash correctly.
      Add some tips for how to install.
      Oops, forgot a COPYING file.  It's GPLv2.
      Weird, I forgot to have 'make test' call test.sh.
      Jakub's changes broke the progress message slightly.
      Make tests pass with recent git (1.7.0 and up).
      Improve checking for existence of the --prefix directory.
      Oops.  Apparently I didn't run 'make test' after most recent change.
      Some recent tests accidentally depended on very new versions of git.
      (Hopefully) fix PATH setting for msysgit.
      Another fix for PATH and msysgit.
      Fix typo: an -> a
      Fix a few typos/grammar-o's in the preceding commit.
      It's also okay if an expected tree object is actually a commit.
      Skip commit objects that should be trees, rather than copying them.

Avishay Lavie (1):
      git-svn: support rebase --preserve-merges

Ben Walton (3):
      add installation support to Makefile
      make git version dynamic when building documentation
      Use SHELL_PATH from build system in run_command.c:prepare_shell_cmd

Bryan Larsen (1):
      docs: simplify example 1

Clemens Buchacher (2):
      merge overwrites unstaged changes in renamed file
      t5570: use explicit push refspec

Cole Stanfield (1):
      Fixing eval syntax error.

Dan Sabath (2):
      docs: add simple 'add' case to clarify setup.
      Docs: cleaning up example textual redundancy

David A. Greene (11):
      Move Tests Into Subdirectory
      Rename Test
      Use Test Harness
      Set TEST_DIRECTORY
      Remove unnecessary git-subtree files
      Use project config files
      Use configure settings for git-subtree
      Install git-subtree from contrib
      Add subtree test Makefile
      Use git-subtree test Makefile
      Fix git-subtree install instructions

David Aguilar (1):
      t7800: Test difftool passing arguments to diff

Felipe Contreras (8):
      tests: add initial bash completion tests
      completion: simplify __gitcomp_1
      completion: simplify by using $prev
      completion: add missing general options
      completion: simplify __git_complete_revlist_file
      completion: add new __git_complete helper
      completion: rename internal helpers _git and _gitk
      completion: add support for backwards compatibility

Heiko Voigt (3):
      Teach revision walking machinery to walk multiple times sequencially
      Refactor submodule push check to use string list instead of integer
      push: teach --recurse-submodules the on-demand option

Jakub Narębski (1):
      gitweb: Pass esc_html_hl_regions() options to esc_html()

Jakub Suder (9):
      added -p alias for --prefix
      added -m/--message option for setting merge commit message
      allow using --branch with existing branches if it makes sense
      fix for subtree split not finding proper base for new commits
      changed alias for --prefix from -p to -P
      fixed bug in commit message for split
      added tests for recent changes
      added temporary test dirs to gitignore
      improved rev_is_descendant_of_branch() function

Jared Hance (1):
      apply: do not leak patches and fragments

Jeff King (4):
      checkout: suppress tracking message with "-q"
      teach "git branch" a --quiet option
      doc/config: fix inline literals
      status: refactor colopts handling

Jesse Greenwald (2):
      Split cmd now processes commits in topo order.
      Added check to order of processed commits.

Jiang Xin (4):
      l10n: Update git.pot (33 new, 24 deleted messages)
      l10n: Update Simplified Chinese translation
      l10n: Update git.pot (275 new, 15 removed messages)
      l10n: Update git.pot (8 new, 4 removed messages)

Johannes Berg (1):
      am: support --include option

Johannes Sixt (3):
      Do not use SHELL_PATH from build system in prepare_shell_cmd on Windows
      t4006: Windows do not have /dev/zero
      Fix t3411.3 to actually rebase something

John Yani (1):
      docs: Description, synopsys, options and examples changes.

Jon Seymour (2):
      git-svn: clarify the referent of dcommit's optional argument
      rev-parse doc: --git-dir does not always show a relative path

Jonathan Nieder (15):
      test: use test_i18ncmp when checking --stat output
      test: use numstat instead of diffstat in funny-names test
      test: modernize funny-names test style
      test: test cherry-pick functionality and output separately
      test: use --numstat instead of --stat in "git stash show" tests
      test: use numstat instead of diffstat in binary-diff test
      diffstat summary line varies by locale: miscellany
      var doc: default editor and pager are configurable at build time
      var doc: advertise current DEFAULT_PAGER and DEFAULT_EDITOR settings
      test: do not rely on US English tracking-info messages
      test: use test_i18ncmp for "Patch format detection failed" message
      test: am of empty patch should not succeed
      fast-import doc: cat-blob and ls responses need to be consumed quickly
      completion: avoid trailing space for --exec-path
      i18n: mark relative dates for translation

Junio C Hamano (45):
      streaming: make streaming-write-entry to be more reusable
      fmt-merge-msg: show those involved in a merged series
      apply: rename free_patch() to free_patch_list()
      apply: free patch->{def,old,new}_name fields
      apply: release memory for fn_table
      apply: free patch->result
      am -3: list the paths that needed 3-way fallback
      apply: free unused fragments for submodule patch
      varint: make it available outside the context of pack
      cache.h: hide on-disk index details
      read-cache.c: allow unaligned mapping of the index file
      read-cache.c: make create_from_disk() report number of bytes it consumed
      read-cache.c: report the header version we do not understand
      read-cache.c: move code to copy ondisk to incore cache to a helper function
      read-cache.c: move code to copy incore to ondisk cache to a helper function
      read-cache.c: read prefix-compressed names in index on-disk version v4
      read-cache.c: write prefix-compressed names in the index
      update-index: upgrade/downgrade on-disk index version
      Kick off post 1.7.10 cycle
      apply: drop unused macro
      apply: tighten constness of line buffer
      apply: document buffer ownership rules across functions
      RelNotes: the first batch of topics graduated to 'master'
      RelNotes: the second batch of topics graduated to 'master'
      mergesort: rename it to llist_mergesort()
      RelNotes: the third batch
      RelNotes: the fourth batch of topics graduated to 'master'
      The fifth batch of topics graduated to 'master'
      push.default doc: explain simple after upstream
      Update draft release notes to 1.7.11
      The sixth batch of topics graduated to 'master'
      unpack-trees: preserve the index file version of original
      index-v4: document the entry format
      The seventh batch of topics graduated to 'master'
      git-svn: introduce SVN version comparison function
      The eighth batch of topics graduated to 'master'
      refs: fix find_containing_dir() regression
      Makefile: NO_INSTALL_HARDLINKS
      The ninth batch of topics graduated to 'master'
      The tenth batch of topics
      Update draft release notes to 1.7.11 (11th batch)
      Update draft release notes for 12th batch
      git-sh-setup: define workaround wrappers before they are used
      Update draft release notes to 1.7.11
      Git 1.7.11-rc0

Kacper Kornet (3):
      gitweb: Don't set owner if got empty value from projects.list
      gitweb: Option to omit column with time of the last change
      gitweb: Option to not display information about owner

Luke Diamand (10):
      git p4: Fixing script editor checks
      git p4: import/export of labels to/from p4
      git p4: fix-up "import/export of labels to/from p4"
      git p4: Squash P4EDITOR in test harness
      git p4: Ignore P4EDITOR if it is empty
      git p4: move verbose to base class
      git p4: fix unit tests
      git p4: add test for tag import/export enabled via config
      git p4: fix bug when verbose enabled with tag export
      git p4: fix bug when enabling tag import/export via config variables

Marco Sousa (1):
      l10n: pt_PT.po translate new messages

Matthieu Moy (5):
      Documentation: explain push.default option a bit more
      Undocument deprecated alias 'push.default=tracking'
      t5528-push-default.sh: add helper functions
      push: introduce new push.default mode "simple"
      push: document the future default change for push.default (matching -> simple)

Matthijs Kooijman (1):
      git-svn: use platform specific auth providers

Michael Haggerty (32):
      refs.c: reorder definitions more logically
      refs: manage current_ref within do_one_ref()
      do_for_each_ref_in_array(): new function
      do_for_each_ref_in_arrays(): new function
      repack_without_ref(): reimplement using do_for_each_ref_in_array()
      names_conflict(): simplify implementation
      free_ref_entry(): new function
      check_refname_component(): return 0 for zero-length components
      struct ref_entry: nest the value part in a union
      refs.c: rename ref_array -> ref_dir
      sort_ref_dir(): simplify logic
      refs: store references hierarchically
      do_for_each_ref(): only iterate over the subtree that was requested
      get_ref_dir(): return early if directory cannot be read
      get_ref_dir(): use a strbuf to hold refname
      get_ref_dir(): rename "base" parameter to "dirname"
      get_ref_dir(): require that the dirname argument ends in '/'
      refs.c: extract function search_for_subdir()
      get_ref_dir(): take the containing directory as argument
      do_for_each_reflog(): return early on error
      do_for_each_reflog(): use a strbuf to hold logfile name
      bisect: copy filename string obtained from git_path()
      find_containing_dir(): use strbuf in implementation of this function
      refs: wrap top-level ref_dirs in ref_entries
      read_loose_refs(): rename function from get_ref_dir()
      get_ref_dir(): add function for getting a ref_dir from a ref_entry
      search_for_subdir(): return (ref_dir *) instead of (ref_entry *)
      struct ref_dir: store a reference to the enclosing ref_cache
      read_loose_refs(): eliminate ref_cache argument
      refs: read loose references lazily
      t/Makefile: retain cache t/.prove across prove runs
      Avoid sorting if references are added to ref_cache in order

Michael Schubert (1):
      remote: update builtin usage

Michał Kiedrowicz (7):
      gitweb: Use descriptive names in esc_html_hl_regions()
      gitweb: esc_html_hl_regions(): Don't create empty <span> elements
      gitweb: Extract print_sidebyside_diff_lines()
      gitweb: Use print_diff_chunk() for both side-by-side and inline diffs
      gitweb: Push formatting diff lines to print_diff_chunk()
      gitweb: Highlight interesting parts of diff
      gitweb: Refinement highlightning in combined diffs

Neil Horman (5):
      git-cherry-pick: add allow-empty option
      git-cherry-pick: Add keep-redundant-commits option
      git-cherry-pick: Add test to validate new options
      git-rebase: add keep_empty flag
      git cherry-pick: do not dereference a potential NULL pointer

Nguyễn Thái Ngọc Duy (37):
      Add more large blob test cases
      cat-file: use streaming API to print blobs
      parse_object: avoid putting whole blob in core
      show: use streaming API for showing blobs
      fsck: use streaming API for writing lost-found blobs
      update-server-info: respect core.bigfilethreshold
      Makefile: feed all header files to xgettext
      strbuf: convenience format functions with \n automatically appended
      i18n: help: mark strings for translation
      i18n: make warn_dangling_symref() automatically append \n
      i18n: remote: mark strings for translation
      i18n: apply: mark strings for translation
      i18n: apply: update say_patch_name to give translators complete sentence
      i18n: index-pack: mark strings for translation
      i18n: bundle: mark strings for translation
      help: replace underlining "help -a" headers using hyphens with a blank line
      Add column layout skeleton and git-column
      Stop starting pager recursively
      column: add columnar layout
      column: add dense layout support
      help: reuse print_columns() for help -a
      branch: add --column
      status: add --column
      column: support piping stdout to external git-column process
      tag: add --column
      archive-tar: turn write_tar_entry into blob-writing only
      archive-tar: unindent write_tar_entry by one level
      archive: delegate blob reading to backend
      archive-tar: stream large blobs to tar file
      branch: remove lego in i18n tracking info strings
      Makefile: keep many variable list sorted
      index-pack: restructure pack processing into three main functions
      index-pack: support multithreaded delta resolving
      index-pack: disable threading if NO_PREAD is defined
      apply: remove lego in i18n string in gitdiff_verify_name
      i18n: parseopt: lookup help and argument translations when showing usage
      i18n: apply: mark parseopt strings for translation

Pelle Wessman (3):
      Check that the type of the tree really is a tree and not a commit as it seems to sometimes become when eg. a submodule has existed in the same position previously.
      Use 'git merge -Xsubtree' when git version >= 1.7.0.
      Fixed regression with splitting out new subtree

Pete Wyckoff (9):
      git-p4: move to toplevel
      git p4: update name in script
      git p4: use "git p4" directly in tests
      remove superfluous newlines in error messages
      remove blank filename in error message
      git p4: bring back files in deleted client directory
      git p4: test submit
      git p4: fix writable file after rename or copy
      git p4: submit files with wildcards

Ralf Thielow (2):
      l10n: Update German translation
      remote: fix typo

Ramsay Jones (5):
      compat/win32/pthread.h: Add an pthread_key_delete() implementation
      compat/mingw.h: Set S_ISUID to prevent a fast-import test failure
      git-submodule.sh: Don't use $path variable in eval_gettext string
      git-sh-setup.sh: Add an pwd() function for MinGW
      builtin/blame.c: Fix a "Using plain integer as NULL pointer" warning

René Scharfe (26):
      add mergesort() for linked lists
      commit: use mergesort() in commit_list_sort_by_date()
      revision: insert unsorted, then sort in prepare_revision_walk()
      sequencer: export commit_list_append()
      revision: append to list instead of insert and reverse
      commit: remove commit_list_reverse()
      streaming: void pointer instead of char pointer
      archive-zip: remove uncompressed_size
      archive-zip: factor out helpers for writing sizes and CRC
      archive-zip: streaming for stored files
      archive-zip: streaming for deflated files
      t5000: rationalize unzip tests
      dir: convert to strbuf
      xdiff: add hunk_func()
      blame: use hunk_func(), part 1
      blame: use hunk_func(), part 2
      blame: factor out helper for calling xdi_diff()
      xdiff: remove emit_func() and xdi_diff_hunks()
      xdiff: remove unused functions
      dir: respect string length argument of read_directory_recursive()
      dir: simplify fill_directory()
      archive: simplify refname handling
      archive-tar: keep const in checksum calculation
      xdiff: avoid compiler warnings with XDL_FAST_HASH on 32-bit machines
      xdiff: avoid more compiler warnings with XDL_FAST_HASH on 32-bit machines
      xdiff: import new 32-bit version of count_masked_bytes()

Roman Kagan (3):
      git-svn: use POSIX::sigprocmask to block signals
      git-svn: ignore SIGPIPE
      git-svn: drop redundant blocking of SIGPIPE

SZEDER Gábor (2):
      tests: add tests for the __gitcomp() completion helper function
      completion: fix completion after 'git --option <TAB>'

Sebastian Pipping (1):
      gitweb: Fix unintended "--no-merges" for regular Atom feed

Stefano Lattarini (3):
      configure: move definitions of private m4 macros before AC_INIT invocation
      configure: avoid some code repetitions thanks to m4_{push,pop}def
      configure: be more idiomatic

Thomas Rast (2):
      xdiff: load full words in the inner loop of xdl_hash_record
      xdiff: choose XDL_FAST_HASH code on sizeof(long) instead of __WORDSIZE

Tim Henigan (8):
      difftool: parse options using Getopt::Long
      difftool: add '--no-gui' option
      difftool: exit(0) when usage is printed
      difftool: remove explicit change of PATH
      difftool: stop appending '.exe' to git
      difftool: eliminate setup_environment function
      difftool: teach difftool to handle directory diffs
      difftool: print list of valid tools with '--tool-help'

W. Trevor King (3):
      gitweb: add `status` headers to git_feed() responses.
      gitweb: refactor If-Modified-Since handling
      gitweb: add If-Modified-Since handling to git_snapshot().

Wayne Walter (1):
      Added new 'push' command and 2-parameter form of 'add'.

Win Treese (2):
      git-subtree.txt: add another example.
      Make sure that <prefix> exists when splitting.

Zbigniew Jędrzejewski-Szmek (13):
      t0303: immediately bail out w/o GIT_TEST_CREDENTIAL_HELPER
      t0303: resurrect commit message as test documentation
      t1507: add tests to document @{upstream} behaviour
      Provide branch name in error message when using @{u}
      Provide better message for barnhc_wiht_tpyo@{u}
      Be more specific if upstream branch is not tracked
      i18n: mark @{upstream} error messages for translation
      t9002: work around shells that are unable to set COLUMNS to 1
      diff --stat: use less columns for change counts
      test: modernize style of t4006
      tests: check --[short]stat output after chmod
      diff --stat: report mode-only changes for binary files like text files
      diff --stat: do not run diff on indentical files

kTln2 (1):
      Add explicit path of git installation by 'git --exec-path'.

Ævar Arnfjörð Bjarmason (3):
      git-branch: remove lego in i18n messages
      git-commit: remove lego in i18n messages
      git-commit: remove lego in i18n messages


Version v1.7.10.5; changes since v1.7.10.4:
-------------------------------------------

Johannes Schindelin (1):
      fast-export: report SHA-1 instead of gibberish when marks exist already

Junio C Hamano (1):
      Git 1.7.10.5

Vincent van Ravesteijn (1):
      Do not autosquash in case of an implied interactive rebase


Version v1.7.10.4; changes since v1.7.10.3:
-------------------------------------------

Avery Pennarun (1):
      checkout: no progress messages if !isatty(2).

Erik Faye-Lund (2):
      rebase: report invalid commit correctly
      Makefile: add missing GIT-VERSION-FILE dependency

Jeff King (3):
      fix off-by-one error in split_ident_line
      pretty: avoid buffer overflow in format_person_part
      avoid segfault when reading header of malformed commits

Junio C Hamano (2):
      Start preparing for 1.7.10.4
      Git 1.7.10.4

Peter Krefting (1):
      Update Swedish translation (728t0f0u)

René Scharfe (4):
      grep: factor out create_grep_pat()
      grep: factor out do_append_grep_pat()
      grep: support newline separated pattern list
      grep: stop leaking line strings with -f


Version v1.7.10.3; changes since v1.7.10.2:
-------------------------------------------

Bobby Powers (2):
      diff --no-index: reset temporary buffer lengths on directory iteration
      diff --no-index: don't leak buffers in queue_diff

Carlos Martín Nieto (1):
      pack-protocol: fix first-want separator in the examples

Erik Faye-Lund (2):
      clone: fix progress-regression
      checkout: do not corrupt HEAD on empty repo

Heiko Voigt (2):
      link to gitmodules page at the beginning of git-submodule documentation
      teach add_submodule_odb() to look for alternates

Jan Krüger (1):
      log-tree: use custom line terminator in line termination mode

Jeff King (10):
      docs: stop using asciidoc no-inline-literal
      t1411: add more selector index/date tests
      log: respect date_mode_explicit with --format:%gd
      reflog-walk: clean up "flag" field of commit_reflog struct
      reflog-walk: always make HEAD@{0} show indexed selectors
      commit: refactor option parsing
      status: refactor null_termination option
      status: fix null termination with "-b"
      status: respect "-b" for porcelain format
      osxkeychain: pull make config from top-level directory

Jens Lehmann (1):
      Consistently use "superproject" instead of "supermodule"

Jiang Xin (4):
      l10n: Update git.pot (1 new messages)
      l10n: zh_CN.po: translate 1 new message
      l10n: Update git.pot (3 new, 2 removed messages)
      l10n: zh_CN.po: translate 3 new messages

Johannes Sixt (3):
      t2020-checkout-detach: check for the number of orphaned commits
      checkout (detached): truncate list of orphaned commits at the new HEAD
      t3404: begin "exchange commits with -p" test with correct preconditions

Jonathan Nieder (1):
      config doc: remove confusion about relative GIT_DIR from FILES section

Junio C Hamano (5):
      log-tree: the previous one is still not quite right
      reflog-walk: tell explicit --date=default from not having --date at all
      Start preparing for 1.7.10.3
      Update draft release notes to 1.7.10.3
      Git 1.7.10.3

Linus Torvalds (1):
      fmt-merge-message: add empty line between tag and signature verification

Ralf Thielow (7):
      l10n: add new members to German translation team
      l10n: de.po: translate "track" as "beobachten"
      l10n: de.po: translate "remote" as "extern"
      l10n: de.po: collection of improvements
      l10n: de.po: unify translation of "ahead" and "behind"
      l10n: de.po: translate one new message
      l10n: de.po: translate 3 new messages

Thomas Rast (4):
      l10n: de.po: translate "bare" as "bloß"
      l10n: de.po: hopefully uncontroversial fixes
      l10n: de.po: translate "bad" as "ungültig" ("invalid")
      l10n: de.po: collection of suggestions


Version v1.7.10.2; changes since v1.7.10.1:
-------------------------------------------

Angus Hammond (1):
      grep.c: remove redundant line of code

Ben Walton (1):
      Avoid bug in Solaris xpg4/sed as used in submodule

Christian Couder (1):
      revert: add missing va_end

Christopher Tiwald (2):
      push: Provide situational hints for non-fast-forward errors
      Fix httpd tests that broke when non-ff push advice changed

Clemens Buchacher (3):
      http auth fails with multiple curl handles
      properly keep track of current working directory
      cherry-pick: do not expect file arguments

Florian Achleitner (1):
      Documentation/git-config: describe and clarify "--local <file>" option

Heiko Voigt (1):
      document submdule.$name.update=none option for gitmodules

Jeff King (15):
      clean up struct ref's nonfastforward field
      http-backend: respect existing GIT_COMMITTER_* variables
      fix http auth with multiple curl handles
      gc: do not explode objects which will be immediately pruned
      http: clean up leak in init_curl_http_auth
      http: use newer curl options for setting credentials
      argv-array: refactor empty_argv initialization
      argv-array: add a new "pushl" method
      gc: use argv-array for sub-commands
      config: reject bogus section names for --rename-section
      config: expand tildes in include.path variable
      send-pack: show progress when isatty(2)
      teach send-pack about --[no-]progress
      t5541: test more combinations of --progress
      t/gitweb-lib: use $PERL_PATH to run gitweb

Jim Meyering (1):
      diff: avoid stack-buffer-read-overrun for very long name

Johannes Sixt (2):
      t9300-fast-import: avoid 'exit' in test_expect_success snippets
      t5570: fix forwarding of git-daemon messages via cat

Junio C Hamano (13):
      xdiff: remove XDL_PATCH_* macros
      xdiff: PATIENCE/HISTOGRAM are not independent option bits
      rebase -i: remind that the lines are top-to-bottom
      builtin/merge.c: remove "remoteheads" global variable
      builtin/merge.c: collect other parents early
      builtin/merge.c: reduce parents early
      fmt-merge-msg: discard needless merge parents
      t9400: fix gnuism in grep
      diff --no-index: use strbuf for temporary pathnames
      contrib/rerere-train: use installed git-sh-setup
      Start preparing for 1.7.10.2
      Update draft release notes to 1.7.10.2
      Git 1.7.10.2

Lucian Poston (5):
      Add output_prefix_length to diff_options
      Adjust stat width calculations to take --graph output into account
      t4052: Adjust --graph --stat output for prefixes
      t4052: Test diff-stat output with minimum columns
      Prevent graph_width of stat width from falling below min

Marc Branchaud (2):
      fetch: Give remote_ref to update_local_ref() as well
      fetch: describe new refs based on where it came from

Michał Kiedrowicz (1):
      merge tests: octopus with redundant parents

Pete Wyckoff (2):
      git-remote-testgit: fix race when spawning fast-import
      git p4 doc: fix formatting

Ralf Thielow (1):
      sequencer: remove additional blank line

René Scharfe (2):
      unpack-trees: don't perform any index operation if we're not merging
      unpack-trees: plug minor memory leak

Ross Lagerwall (2):
      rev-parse --show-prefix: add in trailing newline
      stash: use eval_gettextln correctly

Stefano Lattarini (1):
      tests: modernise style: more uses of test_line_count

Zbigniew Jędrzejewski-Szmek (4):
      t4052: test --stat output with --graph
      test-lib: skip test with COLUMNS=1 under mksh
      t4052: work around shells unable to set COLUMNS to 1
      Consistently use perl from /usr/bin/ for scripts


Version v1.7.10.1; changes since v1.7.10:
-----------------------------------------

Adam Monsen (1):
      git-commit.txt: clarify -t requires editing message

Byrial Jensen (2):
      l10n: New da.po file with 0 translations
      l10n: Add Danish team (da) to list of teams

Ivan Todoroski (4):
      fetch-pack: new --stdin option to read refs from stdin
      remote-curl: send the refs to fetch-pack on stdin
      fetch-pack: test cases for the new --stdin option
      remote-curl: main test case for the OS command line overflow

Jeff King (6):
      drop casts from users EMPTY_TREE_SHA1_BIN
      make is_empty_blob_sha1 available everywhere
      teach diffcore-rename to optionally ignore empty content
      merge-recursive: don't detect renames of empty files
      add--interactive: ignore unmerged entries in patch mode
      run-command: treat inaccessible directories as ENOENT

Jens Lehmann (1):
      submodules: recursive fetch also checks new tags for submodule commits

Jiang Xin (2):
      l10n: Update git.pot (2 new messages)
      l10n: Update Simplified Chinese translation

Johan Herland (3):
      t3310: illustrate failure to "notes merge --commit" inside $GIT_DIR/
      notes-merge: use opendir/readdir instead of using read_directory()
      notes-merge: Don't remove .git/NOTES_MERGE_WORKTREE; it may be the user's cwd

Johannes Sixt (1):
      t4034: diff.*.wordregex should not be "sticky" in --word-diff

John Keeping (1):
      rebase -i continue: don't skip commits that only change submodules

Jonathan Nieder (1):
      bundle: remove stray single-quote from error message

Junio C Hamano (16):
      ident.c: add split_ident_line() to parse formatted ident line
      t7503: does pre-commit-hook learn authorship?
      commit: pass author/committer info to hooks
      remove_dir_recursively(): Add flag for skipping removal of toplevel dir
      clean: preserve nested git worktree in subdirectories
      t7501: test the right kind of breakage
      commit: do not trigger bogus "has templated message edited" check
      commit: rephrase the error when user did not touch templated log message
      Documentation/git-commit: rephrase the "initial-ness" of templates
      push: error out when the "upstream" semantics does not make sense
      blame: accept --need-minimal
      Git 1.7.7.7
      Git 1.7.8.6
      Git 1.7.9.7
      Start preparing for 1.7.10.1
      Git 1.7.10.1

Lucian Poston (3):
      log --graph --stat: three-dash separator should come after graph lines
      log --graph: fix break in graph lines
      t4202: add test for "log --graph --stat -p" separator lines

Marco Sousa (1):
      l10n: Updated pt_PT language

Pete Wyckoff (1):
      fast-import: tighten parsing of datarefs

Ralf Thielow (2):
      l10n: Add the German translation team and initialize de.po
      l10n: Initial German translation

Ramsay Jones (1):
      compat/mingw.[ch]: Change return type of exec functions to int

René Scharfe (3):
      combine-diff: fix loop index underflow
      submodule: fix prototype of gitmodules_config
      test-subprocess: fix segfault without arguments

Thomas Rast (2):
      diff: refactor the word-diff setup from builtin_diff_cmd
      diff: tweak a _copy_ of diff_options with word-diff


Version v1.7.10; changes since v1.7.10-rc4:
-------------------------------------------

Felipe Contreras (1):
      spec: add missing build dependency

Junio C Hamano (1):
      Git 1.7.10


Version v1.7.10-rc4; changes since v1.7.10-rc3:
-----------------------------------------------

Heiko Voigt (1):
      string-list: document that string_list_insert() inserts unique strings

Jiang Xin (1):
      l10n: Improve zh_CN translation for Git 1.7.10-rc3

Junio C Hamano (3):
      merge: backport GIT_MERGE_AUTOEDIT support
      Git 1.7.9.6
      Git 1.7.10-rc4

Marco Sousa (1):
      l10n: Inital Portuguese Portugal language (pt_PT)

Pat Thoyts (2):
      gitk: fix tabbed preferences construction when using tcl 8.4
      gitk: fix setting font display with new tabbed dialog layout.

René Scharfe (1):
      config: remove useless assignment

Vincent van Ravesteijn (1):
      l10n: Add the Dutch translation team and initialize nl.po


Version v1.7.10-rc3; changes since v1.7.10-rc2:
-----------------------------------------------

Frédéric Brière (1):
      gitk: Skip over AUTHOR/COMMIT_DATE when searching all fields

Jiang Xin (4):
      l10n: Update git.pot (1 new message)
      l10n: Update zh_CN translation for Git 1.7.10-rc1
      l10n: Review zh_CN translation for Git 1.7.10-rc1
      Add url of Swedish l10n team in TEAMS file

Jim Meyering (3):
      gitk: Make "git describe" output clickable, too
      correct spelling: an URL -> a URL
      correct a few doubled-word nits in comments and documentation

Jonathan Nieder (1):
      gitk: Use symbolic font names "sans" and "monospace" when available

Junio C Hamano (3):
      Git 1.7.9.5
      Update draft release notes to 1.7.10
      Git 1.7.10-rc3

Marcus Karlsson (1):
      gitk: Teach gitk to respect log.showroot

Mark Lodato (1):
      grep doc: add --break / --heading / -W to synopsis

Nelson Benitez Leon (1):
      documentation: fix alphabetic ordered list for git-rebase man page

Pat Thoyts (2):
      gitk: Use a tabbed dialog to edit preferences
      gitk: Fix the display of files when filtered by path

Paul Mackerras (2):
      gitk: Speed up resolution of short SHA1 ids
      gitk: Add menu items for comparing a commit with the marked commit

Peter Krefting (1):
      Update Swedish translation (724t0f0u).

Rodrigo Silva (MestreLion) (1):
      Documentation: improve description of GIT_EDITOR and preference order

Zbigniew Jędrzejewski-Szmek (2):
      gitk: Use "gitk: repo-top-level-dir" as window title
      tests: unset COLUMNS inherited from environment


Version v1.7.10-rc2; changes since v1.7.10-rc1:
-----------------------------------------------

Alex Merry (1):
      contrib/completion: "local var=()" is misinterpreted as func-decl by zsh

D Waitzman (1):
      Documentation/gitweb: trivial English fixes

Jonathan Nieder (2):
      fast-import: leakfix for 'ls' of dirty trees
      fast-import: don't allow 'ls' of path with empty components

Junio C Hamano (4):
      fetch/receive: remove over-pessimistic connectivity check
      Update draft release notes to 1.7.10
      .mailmap: unify various old mail addresses of gitster
      Git 1.7.10-rc2

Stefano Lattarini (1):
      configure: allow user to prevent $PATH "sanitization" on Solaris

Tim Henigan (7):
      Documentation/diff-options: reword description of --submodule option
      contrib/diffall: comment actual reason for 'cdup'
      contrib/diffall: create tmp dirs without mktemp
      contrib/diffall: eliminate use of tar
      contrib/diffall: eliminate duplicate while loops
      contrib/diffall: fix cleanup trap on Windows
      Documentation/difftool: add deltawalker to list of valid diff tools

Ævar Arnfjörð Bjarmason (2):
      Git::I18N: compatibility with perl <5.8.3
      perl/Makefile: install Git::I18N under NO_PERL_MAKEMAKER


Version v1.7.10-rc1; changes since v1.7.10-rc0:
-----------------------------------------------

Alex Zepeda (1):
      verify-tag: Parse GPG configuration options.

Jakub Narębski (1):
      gitweb: Fix fixed string (non-regexp) project search

Jens Lehmann (3):
      submodules: always use a relative path to gitdir
      submodules: always use a relative path from gitdir to work tree
      submodules: refactor computation of relative gitdir path

Jiang Xin (3):
      l10n: Update zh_CN translation for 1.7.9.2
      l10n: Update git.pot (1 new message)
      l10n: Update zh_CN translation for 1.7.10-rc0

Johannes Sixt (1):
      submodules: fix ambiguous absolute paths under Windows

Junio C Hamano (7):
      Update draft release notes to 1.7.10
      t0204: clarify the "observe undefined behaviour" test
      i18n: fix auto detection of gettext scheme for shell scripts
      Git 1.7.9.4
      Update draft release notes to 1.7.10 before -rc1
      am: officially deprecate -b/--binary option
      Git 1.7.10-rc1

Karsten Blees (1):
      fix deletion of .git/objects sub-directories in git-prune/repack

Martin Stenberg (1):
      config: report errors at the EOL with correct line number

Peter Krefting (2):
      po/sv.po: add Swedish translation
      Update Swedish translation (732t0f0u).

Phil Hord (1):
      rerere: Document 'rerere remaining'

Thomas Rast (4):
      perf: load test-lib-functions from the correct directory
      perf: export some important test-lib variables
      p4000: use -3000 when promising -3000
      git-am: error out when seeing -b/--binary

Thynson (7):
      l10n: Improve zh_CN translation for lines insertion and deletion.
      l10n: Improve zh_CN translation for msg about branch deletion deny
      l10n: Improve zh_CN translation for empty cherry-pick msg.
      l10n: Improve zh_CN translation for msg that make empty commit when amend.
      l10n: Improve commit msg for zh_CN translation
      l10n: Improve zh_CN trans for msg that cannot fast-forward
      l10n: Improve zh_CN translation for msg "not something we can merge"

Vincent van Ravesteijn (3):
      Documentation/git-branch: cleanups
      Documentation/git-branch: fix a typo
      Documentation/git-branch: add default for --contains


Version v1.7.10-rc0; changes since v1.7.9.7:
--------------------------------------------

Adrian Weimann (1):
      completion: --edit and --no-edit for git-merge

Alex Riesen (1):
      add a Makefile switch to avoid gettext translation in shell scripts

Bernhard R. Link (6):
      gitweb: move hard coded .git suffix out of git_get_projects_list
      gitweb: prepare git_get_projects_list for use outside 'forks'.
      gitweb: add project_filter to limit project list to a subdirectory
      gitweb: limit links to alternate forms of project_list to active project_filter
      gitweb: show active project_filter in project_list page header
      gitweb: place links to parent directories in page header

Carlos Martín Nieto (1):
      Make git-{pull,rebase} message without tracking information friendlier

Clemens Buchacher (3):
      git-daemon: add tests
      git-daemon: produce output when ready
      git-daemon tests: wait until daemon is ready

David Barr (9):
      vcs-svn: set up channel to read fast-import cat-blob response
      vcs-svn: quote paths correctly for ls command
      vcs-svn: use mark from previous import for parent commit
      vcs-svn: pass paths through to fast-import
      vcs-svn: drop string_pool
      vcs-svn: drop treap
      vcs-svn: drop obj_pool
      vcs-svn: avoid using ls command twice
      vcs-svn: implement text-delta handling

Dmitry Ivankov (2):
      vcs-svn: do not initialize report_buffer twice
      vcs-svn: reset first_commit_done in fast_export_init

Felipe Contreras (4):
      remote: use a local variable in match_push_refs()
      remote: reorganize check_pattern_match()
      remote: refactor code into alloc_delete_ref()
      push: add '--prune' option

Frédéric Heitzmann (1):
      completion: add --interactive option to git svn dcommit

Jakub Narębski (11):
      gitweb: improve usability of projects search form
      gitweb: Make project search respect project_filter
      gitweb: Harden and improve $project_filter page title
      gitweb: Refactor checking if part of project info need filling
      gitweb: Option for filling only specified info in fill_project_list_info
      gitweb: Faster project search
      gitweb: Introduce esc_html_match_hl and esc_html_hl_regions
      gitweb: Highlight matched part of project name when searching projects
      gitweb: Highlight matched part of project description when searching projects
      gitweb: Highlight matched part of shortened project description
      gitweb: Fix passing parameters to git_project_search_form

Jan Krüger (1):
      symbolic-ref --short: abbreviate the output unambiguously

Jared Hance (1):
      Add threaded versions of functions in symlinks.c.

Jeff King (20):
      parse_object: try internal cache before reading object db
      upload-pack: avoid parsing objects during ref advertisement
      upload-pack: avoid parsing tag destinations
      t0300: use write_script helper
      docs: add a basic description of the config API
      drop odd return value semantics from userdiff_config
      diff-highlight: make perl strict and warnings fatal
      diff-highlight: don't highlight whole lines
      diff-highlight: refactor to prepare for multi-line hunks
      diff-highlight: match multi-line hunks
      diff-highlight: document some non-optimal cases
      docs/api-config: minor clarifications
      t1300: add missing &&-chaining
      config: copy the return value of prefix_filename
      config: teach git_config_set_multivar_in_file a default path
      config: teach git_config_rename_section a file argument
      config: provide a version of git_config with more options
      config: stop using config_exclusive_filename
      config: eliminate config_exclusive_filename
      config: add include directive

Jehan Bing (1):
      Add a setting to require a filter to be successful

Jens Lehmann (1):
      test-lib: add the test_pause convenience function

Jiang Xin (5):
      l10n: initial git.pot for 1.7.10 upcoming release
      l10n: po for zh_CN
      l10n: Update git.pot (12 new messages)
      l10n: update Chinese translation to the new git.po
      Update l10n guide: change the repository URL, etc

Jonathan Nieder (23):
      vcs-svn: use higher mark numbers for blobs
      vcs-svn: save marks for imported commits
      vcs-svn: add a comment before each commit
      vcs-svn: eliminate repo_tree structure
      vcs-svn: handle filenames with dq correctly
      Makefile: list one vcs-svn/xdiff object or header per line
      vcs-svn: learn to maintain a sliding view of a file
      vcs-svn: make buffer_read_binary API more convenient
      vcs-svn: skeleton of an svn delta parser
      vcs-svn: parse svndiff0 window header
      vcs-svn: read the preimage when applying deltas
      vcs-svn: read inline data from deltas
      vcs-svn: read instructions from deltas
      vcs-svn: implement copyfrom_data delta instruction
      vcs-svn: verify that deltas consume all inline data
      vcs-svn: let deltas use data from postimage
      vcs-svn: let deltas use data from preimage
      test-svn-fe: split off "test-svn-fe -d" into a separate function
      vcs-svn: cap number of bytes read from sliding view
      vcs-svn: guard against overflow when computing preimage length
      vcs-svn: avoid hangs from corrupt deltas
      vcs-svn: allow import of > 4GiB files
      vcs-svn: suppress a -Wtype-limits warning

Junio C Hamano (28):
      git-sh-i18n: restructure the logic to compute gettext.sh scheme
      i18n: Make NO_GETTEXT imply fallthrough scheme in shell l10n
      merge: use editor by default in interactive sessions
      push: do not let configured foreign-vcs permanently clobbered
      t9801: do not overuse test_must_fail
      i18n: Do not force USE_GETTEXT_SCHEME=fallthrough on NO_GETTEXT
      vcs-svn/svndiff.c: squelch false "unused" warning from gcc
      Kick off the post 1.7.9 cycle
      Update draft release notes to 1.7.10
      Update draft release notes to 1.7.10
      Update draft release notes to 1.7.10
      Update draft release notes to 1.7.10
      Update draft release notes to 1.7.10
      Update draft release notes to 1.7.10
      t9100: remove bogus " || test" after each test scriptlet
      merge: do not trust fstat(2) too much when checking interactiveness
      Update draft release notes to 1.7.10
      Update draft release notes to 1.7.10
      Update draft release notes to 1.7.10
      grep: use static trans-case table
      fsck: --no-dangling omits "dangling object" information
      pickaxe: allow -i to search in patch case-insensitively
      Update l10n guide
      diff --stat: tests for long filenames and big change counts
      Update draft release notes to 1.7.10
      Update draft release notes to 1.7.10
      fsck doc: a minor typofix
      Git 1.7.10-rc0

Linus Torvalds (1):
      "git pull" doesn't know "--edit"

Luke Diamand (6):
      git-p4: handle p4 branches and labels containing shell chars
      git-p4: cope with labels with empty descriptions
      git-p4: importing labels should cope with missing owner
      git-p4: add test for p4 labels
      git-p4: label import fails with multiple labels at the same changelist
      git-p4: add initial support for RCS keywords

Michael Haggerty (11):
      pack_refs(): remove redundant check
      ref_array: keep track of whether references are sorted
      add_packed_ref(): new function in the refs API.
      write_remote_refs(): create packed (rather than extra) refs
      t5700: document a failure of alternates to affect fetch
      clone.c: move more code into the "if (refs)" conditional
      fetch-pack.c: rename some parameters from "path" to "refname"
      fetch-pack.c: inline insert_alternate_refs()
      everything_local(): mark alternate refs as complete
      clone: do not add alternate references to extra_refs
      refs: remove the extra_refs API

Michał Kiedrowicz (2):
      pack-objects: Fix compilation with NO_PTHREDS
      grep -P: add tests for matching ^ and $

Nelson Benitez Leon (1):
      http: support proxies that require authentication

Nguyễn Thái Ngọc Duy (20):
      clone: add --single-branch to fetch only one branch
      Fix incorrect ref namespace check
      Eliminate recursion in setting/clearing marks in commit list
      index-pack: eliminate recursion in find_unresolved_deltas
      index-pack: eliminate unlimited recursion in get_base_data()
      t5601: add missing && cascade
      clone: write detached HEAD in bare repositories
      clone: factor out checkout code
      clone: factor out HEAD update code
      clone: factor out remote ref writing
      clone: delay cloning until after remote HEAD checking
      clone: --branch=<branch> always means refs/heads/<branch>
      clone: refuse to clone if --branch points to bogus ref
      clone: allow --branch to take a tag
      clone: print advice on checking out detached HEAD
      clone: fix up delay cloning conditions
      pack-objects: do not accept "--index-version=version,"
      pack-objects: remove bogus comment
      pack-objects: convert to use parse_options()
      cache-tree: update API to take abitrary flags

Pete Wyckoff (6):
      git-p4: only a single ... wildcard is supported
      git-p4: fix verbose comment typo
      git-p4: clarify comment
      git-p4: adjust test to adhere to stricter useClientSpec
      git-p4: add tests demonstrating spec overlay ambiguities
      git-p4: Change p4 command invocation

Phil Hord (1):
      cherry-pick: No advice to commit if --no-commit

Philip Jägenstedt (2):
      completion: remote set-* <name> and <branch>
      completion: normalize increment/decrement style

Ramkumar Ramachandra (2):
      revert: prepare to move replay_action to header
      sequencer: factor code out of revert builtin

Ramsay Jones (3):
      vcs-svn: rename check_overflow arguments for clarity
      builtin/tag.c: Fix a sparse warning
      ctype.c: Fix a sparse warning

René Scharfe (5):
      xdiff: print post-image for common records instead of pre-image
      test-parse-options: convert to OPT_BOOL()
      parse-options: allow positivation of options starting, with no-
      parse-options: remove PARSE_OPT_NEGHELP
      parse-options: typo check for unknown switches

Riku (1):
      l10n: update zh_CN translation for "Fetching %s"

Russell Myers (1):
      git-p4: the option to specify 'host' is -H, not -h

Stefano Lattarini (1):
      t0000: modernise style

Steven Walter (2):
      git-svn.perl: perform deletions before anything else
      git-svn.perl: fix a false-positive in the "already exists" test

Thomas Rast (6):
      am: learn passing -b to mailinfo
      mailinfo: with -b, keep space after [foo]
      Move the user-facing test library to test-lib-functions.sh
      Introduce a performance testing framework
      Add a performance test for git-grep
      perf: compare diff algorithms

Tim Henigan (2):
      contrib: add git-diffall script
      mergetools: add a plug-in to support DeltaWalker

Tom Grennan (1):
      tag: add --points-at list option

Vitor Antunes (2):
      git-p4: Search for parent commit on branch creation
      git-p4: Add test case for complex branch import

Wei-Yin Chen (陳威尹) (1):
      git-svn: Fix time zone in --localtime

Yichao Yu (1):
      l10n: fast-forward here is ff-only merge, not push

Zbigniew Jędrzejewski-Szmek (11):
      make lineno_width() from blame reusable for others
      send-email: document the --smtp-debug option
      git-p4: missing she-bang line in t9804 confuses prove
      diff --stat: use the full terminal width
      show --stat: use the full terminal width
      log --stat: use the full terminal width
      merge --stat: use the full terminal width
      diff --stat: use a maximum of 5/8 for the filename part
      diff --stat: add a test for output with COLUMNS=40
      diff --stat: enable limiting of the graph part
      diff --stat: add config option to limit graph width

ws3389 (1):
      l10n: leave leading space unchanged for zh_CN.po

Ævar Arnfjörð Bjarmason (2):
      git-svn: remove redundant porcelain option to rev-list
      git-svn: un-break "git svn rebase" when log.abbrevCommit=true


Version v1.7.9.7; changes since v1.7.9.6:
-----------------------------------------

D Waitzman (1):
      Documentation/gitweb: trivial English fixes

Jonathan Nieder (1):
      bundle: remove stray single-quote from error message

Junio C Hamano (4):
      fetch/receive: remove over-pessimistic connectivity check
      Git 1.7.7.7
      Git 1.7.8.6
      Git 1.7.9.7


Version v1.7.9.6; changes since v1.7.9.5:
-----------------------------------------

Heiko Voigt (1):
      string-list: document that string_list_insert() inserts unique strings

Junio C Hamano (2):
      merge: backport GIT_MERGE_AUTOEDIT support
      Git 1.7.9.6


Version v1.7.9.5; changes since v1.7.9.4:
-----------------------------------------

Jakub Narębski (1):
      gitweb: Fix actionless dispatch for non-existent objects

Jonathan Nieder (2):
      fast-import: leakfix for 'ls' of dirty trees
      fast-import: don't allow 'ls' of path with empty components

Junio C Hamano (2):
      i18n of multi-line advice messages
      Git 1.7.9.5

Kirill Smelkov (1):
      t/Makefile: Use $(sort ...) explicitly where needed

Mark Lodato (1):
      grep doc: add --break / --heading / -W to synopsis

Martin Stenberg (1):
      config: report errors at the EOL with correct line number

Nelson Benitez Leon (1):
      documentation: fix alphabetic ordered list for git-rebase man page

Phil Hord (1):
      rerere: Document 'rerere remaining'

Rodrigo Silva (MestreLion) (1):
      Documentation: improve description of GIT_EDITOR and preference order


Version v1.7.9.4; changes since v1.7.9.3:
-----------------------------------------

Jakub Narębski (1):
      gitweb: Fix fixed string (non-regexp) project search

Junio C Hamano (6):
      am -3: allow nonstandard -p<num> option
      test: "am -3" can accept non-standard -p<num>
      t4011: modernise style
      t4011: illustrate "diff-index -p" on stat-dirty paths
      diff -p: squelch "diff --git" header for stat-dirty paths
      Git 1.7.9.4

Thomas Rast (5):
      t5510: refactor bundle->pack conversion
      t5510: ensure we stay in the toplevel test dir
      bundle: keep around names passed to add_pending_object()
      Document the --histogram diff option
      t5704: fix nonportable sed/grep usages


Version v1.7.9.3; changes since v1.7.9.2:
-----------------------------------------

Andrew Wong (1):
      rebase -m: only call "notes copy" when rewritten exists and is non-empty

Carlos Martín Nieto (2):
      branch: don't assume the merge filter ref exists
      Documentation: use {asterisk} in rev-list-options.txt when needed

Clemens Buchacher (1):
      http.proxy: also mention https_proxy and all_proxy

Dmitry V. Levin (1):
      Makefile: add thread-utils.h to LIB_H

Jakub Narębski (2):
      gitweb: Fix "heads" view when there is no current branch
      gitweb: Handle invalid regexp in regexp search

Jeff King (4):
      disconnect from remote helpers more gently
      teach convert_to_git a "dry run" mode
      teach dry-run convert_to_git not to require a src buffer
      do not stream large files to pack when filters are in use

Jehan Bing (1):
      Ignore SIGPIPE when running a filter driver

Jim Meyering (1):
      am: don't infloop for an empty input file

John Szakmeister (1):
      configure: don't use -lintl when there is no gettext support

Jonathan Nieder (1):
      mergetools/meld: Use --help output to detect --output support

Junio C Hamano (9):
      refresh_index: do not show unmerged path that is outside pathspec
      Documentation/merge-options.txt: group "ff" related options together
      Document merge.branchdesc configuration variable
      Git 1.7.8.5
      Document accumulated fixes since 1.7.9.2
      Update draft release notes to 1.7.9.3
      Documentation: do not assume that n > 1 in <rev>~$n
      Update draft release notes to 1.7.9.3 for the last time
      Git 1.7.9.3

Libor Pechacek (1):
      Documentation fixes in git-config

Matthieu Moy (1):
      README: point to Documentation/SubmittingPatches

Michael Haggerty (2):
      post-receive-email: remove unused variable
      post-receive-email: match up $LOGBEGIN..$LOGEND pairs correctly

Michael J Gruber (1):
      t0300: work around bug in dash 0.5.6

Michał Kiedrowicz (1):
      grep -P: Fix matching ^ and $

Nguyễn Thái Ngọc Duy (2):
      rev-list: remove BISECT_SHOW_TRIED flag
      rev-list: fix --verify-objects --quiet becoming --objects

Pete Wyckoff (4):
      git-p4: set useClientSpec variable on initial clone
      git-p4: fix submit regression with clientSpec and subdir clone
      git-p4: remove bash-ism in t9809
      git-p4: remove bash-ism in t9800

Philip Jägenstedt (1):
      remote: fix set-branches usage and documentation

Stefano Lattarini (1):
      tests: fix spurious error when run directly with Solaris /usr/xpg4/bin/sh

Thomas Rast (6):
      merge: add instructions to the commit message when editing
      bundle: put strbuf_readline_fd in strbuf.c with adjustments
      bundle: use a strbuf to scan the log for boundary commits
      strbuf: improve strbuf_get*line documentation
      t5704: match tests to modern style
      fast-import: zero all of 'struct tag' to silence valgrind

Tim Henigan (2):
      CodingGuidelines: Add a note about spaces after redirection
      CodingGuidelines: do not use 'which' in shell scripts

Tom Grennan (1):
      t5512 (ls-remote): modernize style


Version v1.7.9.2; changes since v1.7.9.1:
-----------------------------------------

Christian Hammerl (1):
      completion: Allow dash as the first character for __git_ps1

Clemens Buchacher (4):
      git rev-list: fix invalid typecast
      push/fetch/clone --no-progress suppresses progress output
      t5541: check error message against the real port number used
      do not override receive-pack errors

Felipe Contreras (3):
      completion: work around zsh option propagation bug
      completion: use ls -1 instead of rolling a loop to do that ourselves
      completion: simplify __gitcomp and __gitcomp_nl implementations

Jakub Narębski (2):
      gitweb: Allow UTF-8 encoded CGI query parameters and path_info
      gitweb: Fix 'grep' search for multiple matches in file

Jeff King (12):
      grep: make locking flag global
      grep: move sha1-reading mutex into low-level code
      grep: refactor the concept of "grep source" into an object
      convert git-grep to use grep_source interface
      grep: drop grep_buffer's "name" parameter
      grep: cache userdiff_driver in grep_source
      grep: respect diff attributes for binary-ness
      grep: load file data after checking binary-ness
      grep: pre-load userdiff drivers when threaded
      standardize and improve lookup rules for external local repos
      prompt: clean up strbuf usage
      prompt: fall back to terminal if askpass fails

Jiang Xin (2):
      i18n: git-commit whence_s "merge/cherry-pick" message
      i18n: format_tracking_info "Your branch is behind" message

Johannes Sixt (1):
      Makefile: fix syntax for older make

Junio C Hamano (8):
      mailmap: always return a plain mail address from map_user()
      git checkout -b: allow switching out of an unborn branch
      commit: ignore intent-to-add entries instead of refusing
      diff --stat: show bars of same length for paths with same amount of changes
      Update draft release notes to 1.7.9.2
      Update draft release notes to 1.7.9.2
      Update draft release notes to 1.7.9.2
      Git 1.7.9.2

Matthieu Moy (1):
      fsck: give accurate error message on empty loose object files

Namhyung Kim (2):
      ctype.c only wants git-compat-util.h
      ctype: implement islower/isupper macro

Nguyễn Thái Ngọc Duy (3):
      sha1_file.c: move the core logic of find_pack_entry() into fill_pack_entry()
      find_pack_entry(): do not keep packed_git pointer locally
      Use correct grammar in diffstat summary line

Philip Jägenstedt (2):
      completion: remove stale "to submit patches" documentation
      completion: use tabs for indentation

Ralf Thielow (2):
      completion: --edit-description option for git-branch
      completion: --list option for git-branch

Theodore Ts'o (1):
      Fix build problems related to profile-directed optimization

Zbigniew Jędrzejewski-Szmek (2):
      pager: find out the terminal width before spawning the pager
      man: rearrange git synopsis to fit in 80 lines

Дилян Палаузов (1):
      Makefile: introduce CHARSET_LIB to link with -lcharset


Version v1.7.9.1; changes since v1.7.9:
---------------------------------------

Adrian Weimann (1):
      completion: --edit and --no-edit for git-merge

Albert Yale (1):
      grep: fix -l/-L interaction with decoration lines

Ben Walton (1):
      Drop system includes from inet_pton/inet_ntop compatibility wrappers

Clemens Buchacher (2):
      fix push --quiet: add 'quiet' capability to receive-pack
      dashed externals: kill children on exit

David Aguilar (1):
      mergetool: Provide an empty file when needed

Jakub Narębski (1):
      git.spec: Workaround localized messages not put in any RPM

Jeff King (4):
      run-command: optionally kill children on exit
      imap-send: remove dead code
      tag: fix output of "tag -n" when errors occur
      tag: die when listing missing or corrupt objects

Jens Lehmann (1):
      submodule add: fix breakage when re-adding a deep submodule

Johannes Schindelin (1):
      add -e: do not show difference in a submodule that is merely dirty

Junio C Hamano (15):
      server_supports(): parse feature list more carefully
      Making pathspec limited log play nicer with --first-parent
      request-pull: explicitly ask tags/$name to be pulled
      tests: add write_script helper function
      parse_date(): allow ancient git-timestamp
      parse_date(): '@' prefix forces git-timestamp
      merge: do not create a signed tag merge under --ff-only option
      branch --edit-description: protect against mistyped branch name
      Git 1.7.6.6
      Prepare for 1.7.9.1
      tag: do not show non-tag contents with "-n"
      merge: do not launch an editor on "--no-edit $tag"
      Update draft release notes to 1.7.9.1
      Update draft release notes to 1.7.9.1
      Git 1.7.9.1

Michael J Gruber (1):
      t5541: avoid TAP test miscounting

Michael Palimaka (1):
      Explicitly set X to avoid potential build breakage

Shawn O. Pearce (1):
      remote-curl: Fix push status report when all branches fail

Ævar Arnfjörð Bjarmason (3):
      Makefile: Change the default compiler from "gcc" to "cc"
      Remove Git's support for smoke testing
      t: use sane_unset instead of unset


Version v1.7.9; changes since v1.7.9-rc2:
-----------------------------------------

Felipe Contreras (1):
      git-completion: workaround zsh COMPREPLY bug

Jeff King (1):
      docs: minor grammar fixes for v1.7.9 release notes

Junio C Hamano (2):
      INSTALL: warn about recent Fedora breakage
      Git 1.7.9

Michael Haggerty (1):
      Fix typo in 1.7.9 release notes


Version v1.7.9-rc2; changes since v1.7.9-rc1:
---------------------------------------------

Jakub Narębski (2):
      gitweb: Fix file links in "grep" search
      gitweb: Harden "grep" search against filenames with ':'

Jeff King (3):
      unix-socket: handle long socket pathnames
      credential-cache: report more daemon connection errors
      credential-cache: ignore "connection refused" errors

Jonathan Nieder (1):
      unix-socket: do not let close() or chdir() clobber errno during cleanup

Junio C Hamano (4):
      pulling signed tag: add howto document
      Git 1.7.7.6
      Git 1.7.8.4
      Git 1.7.9-rc2

Michael Haggerty (2):
      git-show-ref: fix escaping in asciidoc source
      git-show-ref doc: typeset regexp in fixed width font

Nguyễn Thái Ngọc Duy (3):
      Document limited recursion pathspec matching with wildcards
      diff-index: enable recursive pathspec matching in unpack_trees
      diff-index: enable recursive pathspec matching in unpack_trees

Thomas Rast (1):
      word-diff: ignore '\ No newline at eof' marker


Version v1.7.9-rc1; changes since v1.7.9-rc0:
---------------------------------------------

Ben Walton (1):
      Use perl instead of sed for t8006-blame-textconv test

Carlos Martín Nieto (1):
      archive: re-allow HEAD:Documentation on a remote invocation

Clemens Buchacher (1):
      credentials: unable to connect to cache daemon

Jeff King (5):
      send-email: multiedit is a boolean config option
      attr: don't confuse prefixes with leading directories
      attr: drop misguided defensive coding
      attr: fix leak in free_attr_elem
      thin-pack: try harder to use preferred base objects as base

Junio C Hamano (11):
      attr.c: make bootstrap_attr_stack() leave early
      attr.c: clarify the logic to pop attr_stack
      Documentation: rerere's rr-cache auto-creation and rerere.enabled
      Prepare for 1.7.6.6
      Prepare for 1.7.7.6
      Prepare for 1.7.8.4
      request-pull: use the real fork point when preparing the message
      Update draft release notes to 1.7.6.6
      Update draft release notes to 1.7.7.6
      Update draft release notes to 1.7.8.4
      Git 1.7.9-rc1

Matthieu Moy (1):
      gitweb: accept trailing "/" in $project_list

Michael Haggerty (3):
      receive-pack: move more work into write_head_info()
      show_ref(): remove unused "flag" and "cb_data" arguments
      write_head_info(): handle "extra refs" locally

Nguyễn Thái Ngọc Duy (1):
      t2203: fix wrong commit command

Sebastian Schuberth (2):
      t9200: On MSYS, do not pass Windows-style paths to CVS
      git-cvsexportcommit: Fix calling Perl's rel2abs() on MSYS

Thomas Rast (1):
      mailinfo documentation: accurately describe non -k case


Version v1.7.9-rc0; changes since v1.7.8.6:
-------------------------------------------

Anders Kaseorg (2):
      gitk: Remove unused $cdate array
      gitk: Remember time zones from author and commit timestamps

Bert Wesarg (14):
      git-gui: fix multi selected file operation
      git-gui: handle config booleans without value
      git-gui: add smart case search mode in searchbar
      git-gui: add regexp search mode to the searchbar
      git-gui: add search history to searchbar
      git-gui: fix unintended line break in message string
      git-gui: use "untracked" for files which are not known to git
      git-gui: new config to control staging of untracked files
      git-gui: fix display of path in browser title
      git-gui: use a tristate to control the case mode in the searchbar
      git-gui: span widgets over the full file output area in the blame view
      git-gui: include the file path in guitools confirmation dialog
      git-gui: make config gui.warndetachedcommit a boolean
      git-gui: don't warn for detached head when rebasing

Dejan Ribič (1):
      git-gui: fix spelling error in sshkey.tcl

Gary Gibbons (5):
      git-p4: ensure submit clientPath exists before chdir
      git-p4: use absolute directory for PWD env var
      git-p4: fix test for unsupported P4 Client Views
      git-p4: sort client views by reverse View number
      git-p4: support single file p4 client view maps

Gustaf Hendeby (1):
      Add built-in diff patterns for MATLAB code

Jakub Narębski (6):
      gitweb: Refactor diff body line classification
      gitweb: Extract formatting of diff chunk header
      gitweb: Give side-by-side diff extra CSS styling
      t9500: Add test for handling incomplete lines in diff by gitweb
      t9500: Add basic sanity tests for side-by-side diff in gitweb
      gitweb: Use href(-replay=>1,...) for formats links in "commitdiff"

Jeff King (28):
      prune: handle --progress/no-progress
      reachable: per-object progress
      upload-archive: use start_command instead of fork
      test-lib: add test_config_global variant
      t5550: fix typo
      introduce credentials API
      credential: add function for parsing url components
      http: use credential API to get passwords
      credential: apply helper config
      credential: add credential.*.username
      credential: make relevance of http path configurable
      docs: end-user documentation for the credential subsystem
      credentials: add "cache" helper
      strbuf: add strbuf_add*_urlencode
      imap-send: avoid buffer overflow
      imap-send: don't check return value of git_getpass
      move git_getpass to its own source file
      refactor git_getpass into generic prompt function
      add generic terminal prompt function
      credentials: add "store" helper
      prompt: use git_terminal_prompt
      t: add test harness for external credential helpers
      credential: use git_prompt instead of git_getpass
      Makefile: linux has /dev/tty
      Makefile: OS X has /dev/tty
      contrib: add credential helper for OS X Keychain
      test-lib: redirect stdin of tests
      pretty: give placeholders to reflog identity

Joey Hess (1):
      write first for-merge ref to FETCH_HEAD first

Johannes Sixt (1):
      Makefile: unix sockets may not available on some platforms

Jonathan Nieder (6):
      gitk: Make vi-style keybindings more vi-like
      test: add missing "&&" after echo command
      test: remove a porcelain test that hard-codes commit names
      t7501 (commit): modernize style
      test: commit --amend should honor --no-edit
      test: errors preparing for a test are not special

Jonathon Mah (1):
      stash: Don't fail if work dir contains file named 'HEAD'

Junio C Hamano (50):
      branch: add read_branch_desc() helper function
      format-patch: use branch description in cover letter
      branch: teach --edit-description option
      request-pull: modernize style
      request-pull: state what commit to expect
      request-pull: use the branch description
      fmt-merge-msg: use branch.$name.description
      write_pack_header(): a helper function
      create_tmp_packfile(): a helper function
      finish_tmp_packfile(): a helper function
      Split GPG interface into its own helper library
      merge: notice local merging of tags and keep it unwrapped
      fetch: allow "git fetch $there v1.0" to fetch a tag
      refs DWIMmery: use the same rule for both "git fetch" and others
      fmt-merge-msg: avoid early returns
      fmt-merge-msg: package options into a structure
      fmt-merge-msg: Add contents of merged tag in the merge message
      merge: make usage of commit->util more extensible
      merge: record tag objects without peeling in MERGE_HEAD
      request-pull: use the annotated tag contents
      commit: copy merged signed tags to headers of merge commit
      merge: force edit and no-ff mode when merging a tag object
      commit: teach --amend to carry forward extra headers
      commit-tree: update the command line parsing
      commit-tree: teach -m/-F options to read logs from elsewhere
      commit: teach --gpg-sign option
      log: --show-signature
      test "commit -S" and "log --show-signature"
      pretty: %G[?GS] placeholders
      gpg-interface: allow use of a custom GPG binary
      csum-file: introduce sha1file_checkpoint
      bulk-checkin: replace fast-import based implementation
      Kick-off the 1.7.9 cycle
      commit: honour --no-edit
      Update draft release notes for 1.7.9
      Update draft release notes to 1.7.9
      request-pull: update the "pull" command generation logic
      Update draft release notes to 1.7.9
      request-pull: do not emit "tag" before the tagname
      Update draft release notes to 1.7.9
      commit: do not lose mergetag header when not amending
      Update draft release notes to 1.7.9
      Update draft release notes in preparation for 1.7.9-rc0
      Update draft release notes to 1.7.9
      verify_signed_buffer: fix stale comment
      commit --amend -S: strip existing gpgsig headers
      log-tree.c: small refactor in show_signature()
      log-tree: show mergetag in log --show-signature output
      log --show-signature: reword the common two-head merge case
      Git 1.7.9-rc0

Kato Kazuyoshi (2):
      gitweb: Add a feature to show side-by-side diff
      gitweb: Add navigation to select side-by-side diff

Kirill A. Shutemov (1):
      git-tag: introduce --cleanup option

Linus Torvalds (1):
      fetch: do not store peeled tag object names in FETCH_HEAD

Martin von Zweigbergk (10):
      gitk: Fix file highlight when run in subdirectory
      gitk: Fix "show origin of this line" with separate work tree
      gitk: Fix "blame parent commit" with separate work tree
      gitk: Fix "External diff" with separate work tree
      gitk: Put temporary directory inside .git
      gitk: Run 'git rev-parse --git-dir' only once
      gitk: Simplify calculation of gitdir
      gitk: Show modified files with separate work tree
      t3401: modernize style
      t3401: use test_commit in setup

Michael Haggerty (16):
      struct ref_entry: document name member
      refs: rename "refname" variables
      refs: rename parameters result -> sha1
      clear_ref_array(): rename from free_ref_array()
      is_refname_available(): remove the "quiet" argument
      parse_ref_line(): add docstring
      add_ref(): add docstring
      is_dup_ref(): extract function from sort_ref_array()
      refs: change signatures of get_packed_refs() and get_loose_refs()
      get_ref_dir(): change signature
      resolve_gitlink_ref(): improve docstring
      Pass a (ref_cache *) to the resolve_gitlink_*() helper functions
      resolve_gitlink_ref_recursive(): change to work with struct ref_cache
      repack_without_ref(): remove temporary
      create_ref_entry(): extract function from add_ref()
      add_ref(): take a (struct ref_entry *) parameter

Nguyễn Thái Ngọc Duy (14):
      fsck: return error code when verify_pack() goes wrong
      verify_packfile(): check as many object as possible in a pack
      fsck: avoid reading every object twice
      fsck: print progress
      prune: show progress while marking reachable objects
      Convert many resolve_ref() calls to read_ref*() and ref_exists()
      checkout,merge: disallow overwriting ignored files with --no-overwrite-ignore
      Copy resolve_ref() return value for longer use
      revert: convert resolve_ref() to read_ref_full()
      Convert resolve_ref+xstrdup to new resolve_refdup function
      Rename resolve_ref() to resolve_ref_unsafe()
      merge: abort if fails to commit
      Convert commit_tree() to take strbuf as message
      commit_tree(): refuse commit messages that contain NULs

Pat Thoyts (11):
      git-gui: include the number of untracked files to stage when asking the user
      git-gui: theme the search and line-number entry fields on blame screen
      git-gui: catch invalid or complete regular expressions and treat as no match.
      git-gui: enable the smart case sensitive search only if gui.search.smartcase is true
      git-gui: set suitable extended window manager hints.
      git-gui: support underline style when parsing diff output
      git-gui: sort the numeric ansi codes
      git-gui: set whitespace warnings appropriate to this project
      git-gui: added config gui.gcwarning to disable the gc hint message
      git-gui: handle shell script text filters when loading for blame.
      git-gui 0.16

Paul Mackerras (1):
      gitk: Update copyright

Pete Wyckoff (18):
      git-p4: introduce skipSubmitEdit
      git-p4: submit test for auto-creating clientPath
      git-p4: test for absolute PWD problem
      git-p4: fix skipSubmitEdit regression
      rename git-p4 tests
      git-p4: introduce asciidoc documentation
      git-p4: clone does not use --git-dir
      git-p4: test cloning with two dirs, clarify doc
      git-p4: document and test clone --branch
      git-p4: honor --changesfile option and test
      git-p4: document and test --import-local
      git-p4: test --max-changes
      git-p4: test --keep-path
      git-p4: test and document --use-client-spec
      git-p4: document and test submit options
      git-p4: test client view handling
      git-p4: rewrite view handling
      git-p4: view spec documentation

Ramkumar Ramachandra (11):
      t3200 (branch): fix '&&' chaining
      test: fix '&&' chaining
      t3030 (merge-recursive): use test_expect_code
      t1510 (worktree): fix '&&' chaining
      t3040 (subprojects-basic): fix '&&' chaining, modernize style
      revert: free msg in format_todo()
      revert: make commit subjects in insn sheet optional
      revert: tolerate extra spaces, tabs in insn sheet
      revert: simplify getting commit subject in format_todo()
      t3510 (cherry-pick-sequencer): use exit status
      t3502, t3510: clarify cherry-pick -m failure

Ramsay Jones (3):
      builtin/log.c: Fix an "Using plain integer as NULL pointer" warning
      environment.c: Fix an sparse "symbol not declared" warning
      fmt-merge-msg.c: Fix an "dubious one-bit signed bitfield" sparse error

Raphael Zimmerer (1):
      gitk: When a commit contains a note, mark it with a yellow box

René Scharfe (5):
      read-cache.c: allocate index entries individually
      cache.h: put single NUL at end of struct cache_entry
      use struct sha1_array in diff_tree_combined()
      pass struct commit to diff_tree_combined_merge()
      submodule: use diff_tree_combined_merge() instead of diff_tree_combined()

SZEDER Gábor (9):
      completion: document __gitcomp()
      completion: optimize refs completion
      completion: make refs completion consistent for local and remote repos
      completion: improve ls-remote output filtering in __git_refs()
      completion: support full refs from remote repositories
      completion: query only refs/heads/ in __git_refs_remotes()
      completion: improve ls-remote output filtering in __git_refs_remotes()
      completion: fast initial completion for config 'remote.*.fetch' value
      completion: remove broken dead code from __git_heads() and __git_tags()

Samuel Bronson (1):
      git-gui: Set both 16x16 and 32x32 icons on X to pacify Xming.

Steven Walter (1):
      git-svn.perl: close the edit for propedits even with no mods

Thomas Rast (5):
      grep: load funcname patterns for -W
      grep: enable threading with -p and -W using lazy attribute lookup
      grep: disable threading in non-worktree case
      test-terminal: set output terminals to raw mode
      bash completion: use read -r everywhere

Tilman Vogel (1):
      git-gui: add config value gui.diffopts for passing additional diff options

Vincent van Ravesteijn (4):
      Compile fix for MSVC: Do not include sys/resources.h
      Compile fix for MSVC: Include <io.h>
      MSVC: Remove unneeded header stubs
      Show error for 'git merge' with unset merge.defaultToUpstream

Yggy King (1):
      gitk: Make "touching paths" search support backslashes

Ævar Arnfjörð Bjarmason (5):
      pull: introduce a pull.rebase option to enable --rebase
      i18n: add infrastructure for translating Git with gettext
      Fix an enum assignment issue spotted by Sun Studio
      Fix a bitwise negation assignment issue spotted by Sun Studio
      Appease Sun Studio by renaming "tmpfile"


Version v1.7.8.6; changes since v1.7.8.5:
-----------------------------------------

Carlos Martín Nieto (1):
      Documentation: use {asterisk} in rev-list-options.txt when needed

Clemens Buchacher (1):
      t5541: check error message against the real port number used

D Waitzman (1):
      Documentation/gitweb: trivial English fixes

Jakub Narębski (1):
      gitweb: Fix actionless dispatch for non-existent objects

Johannes Sixt (1):
      t0090: be prepared that 'wc -l' writes leading blanks

Jonathan Nieder (1):
      bundle: remove stray single-quote from error message

Junio C Hamano (4):
      i18n of multi-line advice messages
      fetch/receive: remove over-pessimistic connectivity check
      Git 1.7.7.7
      Git 1.7.8.6

Kirill Smelkov (1):
      t/Makefile: Use $(sort ...) explicitly where needed

Phil Hord (1):
      rerere: Document 'rerere remaining'

Shawn O. Pearce (1):
      remote-curl: Fix push status report when all branches fail

Thomas Rast (13):
      Add test-scrap-cache-tree
      Test the current state of the cache-tree optimization
      Refactor cache_tree_update idiom from commit
      commit: write cache-tree data when writing index anyway
      reset: update cache-tree data when appropriate
      bundle: put strbuf_readline_fd in strbuf.c with adjustments
      bundle: use a strbuf to scan the log for boundary commits
      strbuf: improve strbuf_get*line documentation
      t5704: match tests to modern style
      t5510: refactor bundle->pack conversion
      t5510: ensure we stay in the toplevel test dir
      bundle: keep around names passed to add_pending_object()
      Document the --histogram diff option


Version v1.7.8.5; changes since v1.7.8.4:
-----------------------------------------

Andrew Wong (1):
      rebase -m: only call "notes copy" when rewritten exists and is non-empty

Dmitry V. Levin (1):
      Makefile: add thread-utils.h to LIB_H

Jeff King (1):
      imap-send: remove dead code

Jim Meyering (1):
      am: don't infloop for an empty input file

Junio C Hamano (2):
      Git 1.7.6.6
      Git 1.7.8.5

Michał Kiedrowicz (1):
      grep -P: Fix matching ^ and $


Version v1.7.8.4; changes since v1.7.8.3:
-----------------------------------------

Jeff King (5):
      send-email: multiedit is a boolean config option
      attr: don't confuse prefixes with leading directories
      attr: drop misguided defensive coding
      attr: fix leak in free_attr_elem
      thin-pack: try harder to use preferred base objects as base

Junio C Hamano (11):
      attr.c: make bootstrap_attr_stack() leave early
      attr.c: clarify the logic to pop attr_stack
      Documentation: rerere's rr-cache auto-creation and rerere.enabled
      Prepare for 1.7.6.6
      Prepare for 1.7.7.6
      Prepare for 1.7.8.4
      Update draft release notes to 1.7.6.6
      Update draft release notes to 1.7.7.6
      Update draft release notes to 1.7.8.4
      Git 1.7.7.6
      Git 1.7.8.4

Nguyễn Thái Ngọc Duy (2):
      t2203: fix wrong commit command
      diff-index: enable recursive pathspec matching in unpack_trees


Version v1.7.8.3; changes since v1.7.8.2:
-----------------------------------------

Brian Harring (1):
      fix hang in git fetch if pointed at a 0 length bundle

Clemens Buchacher (2):
      Documentation: read-tree --prefix works with existing subtrees
      t5550: repack everything into one file

Jack Nagel (1):
      Add MYMETA.json to perl/.gitignore

Jakub Narębski (1):
      gitweb: Fix fallback mode of to_utf8 subroutine

Jens Lehmann (1):
      docs: describe behavior of relative submodule URLs

Junio C Hamano (1):
      Git 1.7.8.3

Jürgen Kreileder (3):
      gitweb: Call to_utf8() on input string in chop_and_escape_str()
      gitweb: esc_html() site name for title in OPML
      gitweb: Output valid utf8 in git_blame_common('data')

Nguyễn Thái Ngọc Duy (1):
      Catch invalid --depth option passed to clone or fetch

Thomas Rast (1):
      Documentation: rerere.enabled is the primary way to configure rerere


Version v1.7.8.2; changes since v1.7.8.1:
-----------------------------------------

Andrew Wong (1):
      rebase -i: interrupt rebase when "commit --amend" failed during "reword"

Conrad Irwin (1):
      Update documentation for stripspace

Eric Wong (1):
      enable SO_KEEPALIVE for connected TCP sockets

Erik Faye-Lund (2):
      compat/setenv.c: update errno when erroring out
      compat/setenv.c: error if name contains '='

Jeff King (20):
      read-cache: let refresh_cache_ent pass up changed flags
      refresh_index: rename format variables
      refresh_index: make porcelain output more specific
      compat/snprintf: don't look at va_list twice
      docs: mention "-k" for both forms of "git mv"
      mv: honor --verbose flag
      mv: make non-directory destination error more clear
      mv: improve overwrite warning
      mv: be quiet about overwriting
      drop "match" parameter from get_remote_heads
      t5500: give fully-qualified refs to fetch-pack
      fetch-pack: match refs exactly
      connect.c: drop path_match function
      t5540: test DAV push with authentication
      http-push: enable "proactive auth"
      use custom rename score during --follow
      docs: brush up obsolete bits of git-fsck manpage
      make "git push -v" actually verbose
      commit, merge: initialize static strbuf
      remote-curl: don't pass back fake refs

Jelmer Vernooij (1):
      Fix an incorrect reference to --set-all.

Johan Herland (3):
      t9301: Fix testcase covering up a bug in fast-import's notes fanout handling
      t9301: Add 2nd testcase exposing bugs in fast-import's notes fanout handling
      fast-import: Fix incorrect fanout level when modifying existing notes refs

Johannes Sixt (1):
      Compatibility: declare strtoimax() under NO_STRTOUMAX

Jonathan Nieder (9):
      branch: allow a no-op "branch -M <current-branch> HEAD"
      Allow checkout -B <current-branch> to update the current branch
      revert: give --continue handling its own function
      revert: allow cherry-pick --continue to commit before resuming
      revert: pass around rev-list args in already-parsed form
      revert: allow single-pick in the middle of cherry-pick sequence
      revert: do not remove state until sequence is finished
      Revert "reset: Make reset remove the sequencer state"
      revert: stop creating and removing sequencer-old directory

Junio C Hamano (5):
      checkout -m: no need to insist on having all 3 stages
      checkout_merged(): squelch false warning from some gcc
      lf_to_crlf_filter(): resurrect CRLF->CRLF hack
      advice: Document that they all default to true
      Git 1.7.8.2

Nick Alcock (2):
      Add strtoimax() compatibility function.
      Support sizes >=2G in various config options accepting 'g' sizes.

Pete Harlan (1):
      Test 'checkout -m -- path'

Thomas Jarosch (1):
      imap-send: Remove unused 'use_namespace' variable

Thomas Rast (1):
      git-sh-setup: make require_clean_work_tree part of the interface

Ævar Arnfjörð Bjarmason (1):
      t/t2023-checkout-m.sh: fix use of test_must_fail


Version v1.7.8.1; changes since v1.7.8:
---------------------------------------

Brandon Casey (2):
      t/t4131-apply-fake-ancestor.sh: fix broken test
      builtin/apply.c: report error on failure to recognize input

Carlos Martín Nieto (2):
      convert: track state in LF-to-CRLF filter
      clone: the -o option has nothing to do with <branch>

Erik Faye-Lund (1):
      mingw: give waitpid the correct signature

Jack Nagel (1):
      Documentation: fix formatting error in merge-options.txt

Jeff King (5):
      http: drop "local" member from request struct
      archive: don't let remote clients get unreachable commits
      stripspace: fix outdated comment
      fetch: create status table using strbuf
      blame: don't overflow time buffer

Jens Lehmann (1):
      diff/status: print submodule path when looking for changes fails

Junio C Hamano (9):
      get_tree_entry(): do not call find_tree_entry() on an empty tree
      unpack_object_header_buffer(): clear the size field upon error
      receive-pack, fetch-pack: reject bogus pack that records objects twice
      pack-object: tolerate broken packs that have duplicated objects
      Git 1.7.6.5
      Git 1.7.7.5
      Update draft release notes for 1.7.8.1
      lf_to_crlf_filter(): tell the caller we added "\n" when draining
      Git 1.7.8.1

Martin von Zweigbergk (1):
      am: don't persist keepcr flag

Michael Haggerty (1):
      git symbolic-ref: documentation fix

Michael Schubert (2):
      builtin/commit: add missing '/' in help message
      builtin/log: remove redundant initialization

Mika Fischer (3):
      http.c: Use curl_multi_fdset to select on curl fds instead of just sleeping
      http.c: Use timeout suggested by curl instead of fixed 50ms timeout
      http.c: Rely on select instead of tracking whether data was received

Nguyễn Thái Ngọc Duy (5):
      tree-walk.c: do not leak internal structure in tree_entry_len()
      read_directory_recursive: reduce one indentation level
      tree_entry_interesting(): give meaningful names to return values
      tree_entry_interesting: make use of local pointer "item"
      checkout,merge: loosen overwriting untracked file check based on info/exclude

Sebastian Morr (1):
      Add MYMETA.yml to perl/.gitignore

Thomas Rast (1):
      userdiff: allow * between cpp funcname words

Ævar Arnfjörð Bjarmason (3):
      apply: get rid of useless x < 0 comparison on a size_t type
      cast variable in call to free() in builtin/diff.c and submodule.c
      builtin/init-db.c: eliminate -Wformat warning on Solaris


Version v1.7.8; changes since v1.7.8-rc4:
-----------------------------------------

Junio C Hamano (1):
      Git 1.7.8


Version v1.7.8-rc4; changes since v1.7.8-rc3:
---------------------------------------------

Johannes Sixt (1):
      Fix revert --abort on Windows

Jonathan Nieder (11):
      do not let git_path clobber errno when reporting errors
      notes merge: eliminate OUTPUT macro
      Makefile: add missing header file dependencies
      Makefile: add option to disable automatic dependency generation
      revert: rename --reset option to --quit
      revert: rearrange pick_revisions() for clarity
      revert: improve error message for cherry-pick during cherry-pick
      revert: write REVERT_HEAD pseudoref during conflicted revert
      revert: introduce --abort to cancel a failed cherry-pick
      revert: remove --reset compatibility option
      revert --abort: do not leave behind useless sequencer-old directory

Junio C Hamano (5):
      name-rev --all: do not even attempt to describe non-commit object
      Git 1.7.7.4
      Hopefully final update of release notes before 1.7.8 final
      Update 1.7.8 draft release notes in preparation for rc4
      Git 1.7.8-rc4

Marc-André Lureau (1):
      mailmap: xcalloc mailmap_info

Nguyễn Thái Ngọc Duy (1):
      revert: do not pass non-literal string as format to git_path()

Ramkumar Ramachandra (4):
      http: remove unused function hex()
      convert: don't mix enum with int
      sha1_file: don't mix enum with int
      git-compat-util: don't assume value for undefined variable

Ramsay Jones (3):
      t5501-*.sh: Fix url passed to clone in setup test
      config.c: Fix a static buffer overwrite bug by avoiding mkpath()
      convert.c: Fix return type of git_path_check_eol()

Thomas Hochstein (1):
      documentation fix: git difftool uses diff tools, not merge tools.

Vincent van Ravesteijn (2):
      builtin-branch: Fix crash on invalid use of --force
      builtin-reset: Documentation update


Version v1.7.8-rc3; changes since v1.7.8-rc2:
---------------------------------------------

Junio C Hamano (3):
      Revert "upload-archive: use start_command instead of fork"
      refs: loosen over-strict "format" check
      Git 1.7.8-rc3

Ramkumar Ramachandra (1):
      revert: prettify fatal messages


Version v1.7.8-rc2; changes since v1.7.8-rc1:
---------------------------------------------

Felipe Contreras (1):
      remote: fix remote set-url usage

Jeff King (1):
      docs: don't mention --quiet or --exit-code in git-log(1)

Junio C Hamano (5):
      remote: fix set-branches usage
      docs: Update install-doc-quick
      Git 1.7.7.3
      Update draft release notes to 1.7.8
      Git 1.7.8-rc2

Liu Yuan (1):
      mktree: fix a memory leak in write_tree()

SZEDER Gábor (1):
      completion: don't leak variable from the prompt into environment


Version v1.7.8-rc1; changes since v1.7.8-rc0:
---------------------------------------------

Dan McGee (4):
      pack-objects: mark add_to_write_order() as inline
      pack-objects: use unsigned int for counter and offset values
      pack-objects: rewrite add_descendants_to_write_order() iteratively
      pack-objects: don't traverse objects unnecessarily

Erik Faye-Lund (4):
      mingw: move poll out of sys-folder
      compat/win32/poll.c: upgrade from upstream
      upload-archive: use start_command instead of fork
      mingw: poll.h is no longer in sys/

Johannes Sixt (1):
      name-hash.c: always initialize dir_next pointer

Junio C Hamano (5):
      (squash) test for previous
      Git 1.7.7.2
      Update draft release notes to 1.7.8
      receive-pack: do not expect object 0{40} to exist
      Git 1.7.8-rc1

Nguyễn Thái Ngọc Duy (2):
      pretty.c: free get_header() return value
      pretty.c: use original commit message if reencoding fails

Pat Thoyts (1):
      t7511: avoid use of reserved filename on Windows.

Pete Wyckoff (1):
      git-p4: ignore apple filetype

Sebastian Schuberth (2):
      blame.c: Properly initialize strbuf after calling, textconv_object()
      blame.c: Properly initialize strbuf after calling textconv_object(), again

Stefan Naewe (2):
      t3200: add test case for 'branch -m'
      http: don't always prompt for password

Tay Ray Chuan (1):
      branch -m: handle no arg properly

Ted Percival (1):
      svn: Quote repository root in regex match

Ævar Arnfjörð Bjarmason (2):
      t/t6030-bisect-porcelain.sh: use test_i18ngrep
      t/t7508-status.sh: use test_i18ncmp


Version v1.7.8-rc0; changes since v1.7.7.7:
-------------------------------------------

Bert Wesarg (7):
      grep: do not use --index in the short usage output
      grep --no-index: don't use git standard exclusions
      git-gui: search and linenumber input are mutual exclusive in the blame view
      git-gui: only accept numbers in the goto-line input
      git-gui: clear the goto line input when hiding
      git-gui: incremental goto line in blame view
      grep: fix the error message that mentions --exclude

Brad King (2):
      submodule: Demonstrate known breakage during recursive merge
      submodule: Search for merges only at end of recursive merge

Brandon Casey (8):
      t/t3905: use the name 'actual' for test output, swap arguments to test_cmp
      git-stash.sh: fix typo in error message
      t/t3905: add missing '&&' linkage
      git-stash: remove untracked/ignored directories when stashed
      refs.c: ensure struct whose member may be passed to realloc is initialized
      refs.c: abort ref search if ref array is empty
      refs.c: free duplicate entries in the ref array instead of leaking them
      t/t3000-ls-files-others.sh: use $SHELL_PATH to run git-new-workdir script

Carlos Martín Nieto (1):
      Documentation: update [section.subsection] to reflect what git does

Chris Packham (1):
      git-web--browse: avoid the use of eval

Christoffer Pettersson (1):
      git-gui: Corrected a typo in the Swedish translation of 'Continue'

Clemens Buchacher (5):
      remove prefix argument from pathspec_prefix
      rename pathspec_prefix() to common_prefix() and move to dir.[ch]
      send-email: add option -h
      use -h for synopsis and --help for manpage consistently
      use test number as port number

Cord Seele (3):
      Add Git::config_path()
      use new Git::config_path() for aliasesfile
      send-email: Fix %config_path_settings handling

Dan McGee (2):
      tree-walk: drop unused parameter from match_dir_prefix
      tree-walk: micro-optimization in tree_entry_interesting

David Aguilar (1):
      Makefile: Improve compiler header dependency check

David Fries (2):
      git-gui: Enable jumping to a specific line number in blame view.
      git-gui: Add keyboard shortcuts for search and goto commands in blame view.

Dmitry Ivankov (3):
      Fix typo: existant->existent
      fast-import: don't allow to tag empty branch
      fast-import: don't allow to note on empty branch

Drew Northup (1):
      gitweb: Add gitweb.conf(5) manpage for gitweb configuration files

Erik Faye-Lund (2):
      enter_repo: do not modify input
      mingw: avoid using strbuf in syslog

Fredrik Gustafsson (2):
      rev-parse: add option --resolve-git-dir <path>
      Move git-dir for submodules

Fredrik Kuivinen (1):
      Makefile: Use computed header dependencies if the compiler supports it

Frédéric Heitzmann (1):
      git svn dcommit: new option --interactive.

Giuseppe Bilotta (1):
      am: preliminary support for hg patches

Heiko Voigt (4):
      git-gui: warn when trying to commit on a detached head
      submodule: move update configuration variable further up
      add update 'none' flag to disable update of submodule by default
      git-gui: deal with unknown files when pressing the "Stage Changed" button

Hui Wang (1):
      sha1_file: normalize alt_odb path before comparing and storing

Jakub Narębski (5):
      gitweb: Add gitweb(1) manpage for gitweb itself
      Documentation: Link to gitweb(1) and gitweb.conf(5) in other manpages
      Documentation: Add gitweb config variables to git-config(1)
      gitweb: Add gitweb manpages to 'gitweb' package in git.spec
      Add simple test for Git::config_path() in t/t9700-perl-git.sh

Jay Soffian (5):
      Teach '--cached' option to check-attr
      log --children
      revert.c: defer writing CHERRY_PICK_HEAD till it is safe to do so
      cherry-pick: do not give irrelevant advice when cherry-pick punted
      Teach merge the '[-e|--edit]' option

Jeff King (20):
      url: decode buffers that are not NUL-terminated
      improve httpd auth tests
      remote-curl: don't retry auth failures with dumb protocol
      http: retry authentication failures for all http requests
      t7004: factor out gpg setup
      t6300: add more body-parsing tests
      for-each-ref: refactor subject and body placeholder parsing
      for-each-ref: handle multiline subjects like --pretty
      t3200: clean up checks for file existence
      fix phantom untracked files when core.ignorecase is set
      t1300: put git invocations inside test function
      t1300: test mixed-case variable retrieval
      pack-objects: protect against disappearing packs
      downgrade "packfile cannot be accessed" errors to warnings
      daemon: give friendlier error messages to clients
      http_init: accept separate URL parameter
      contrib: add diff highlight script
      tests: add missing executable bits
      contrib: add git-jump script
      completion: match ctags symbol names in grep patterns

Jeremie Nikaes (1):
      Add a remote helper to interact with mediawiki (fetch & push)

Johannes Schindelin (5):
      Fix is_gitfile() for files too small or larger than PATH_MAX to be a gitfile
      t1020: disable the pwd test on MinGW
      t9001: do not fail only due to CR/LF issues
      t9300: do not run --cat-blob-fd related tests on MinGW
      git grep: be careful to use mutexes only when they are initialized

Johannes Sixt (2):
      t1402-check-ref-format: skip tests of refs beginning with slash on Windows
      t1300: attempting to remove a non-existent .git/config is not an error

Jonathan Nieder (3):
      ident: check /etc/mailname if email is unknown
      ident: do not retrieve default ident when unnecessary
      Makefile: fix permissions of mergetools/ checked out with permissive umask

Julian Phillips (2):
      Don't sort ref_list too early
      refs: Use binary search to lookup refs faster

Junio C Hamano (47):
      rev-list: fix finish_object() call
      revision.c: add show_object_with_name() helper function
      revision.c: update show_object_with_name() without using malloc()
      list-objects: pass callback data to show_objects()
      rev-list --verify-object
      fetch: verify we have everything we need before updating our ref
      fetch.fsckobjects: verify downloaded objects
      transfer.fsckobjects: unify fetch/receive.fsckobjects
      test: fetch/receive with fsckobjects
      consolidate pathspec_prefix and common_prefix
      fetch: verify we have everything we need before updating our ref
      check_everything_connected(): refactor to use an iterator
      check_everything_connected(): libify
      receive-pack: check connectivity before concluding "git push"
      builtin/revert.c: make commit_list_append() static
      refs.c: make create_cached_refs() static
      send-pack: typofix error message
      rename "match_refs()" to "match_push_refs()"
      Allow git merge ":/<pattern>"
      ls-remote: a lone "-h" is asking for help
      t0003: remove extra whitespaces
      parse-options: deprecate OPT_BOOLEAN
      archive.c: use OPT_BOOL()
      url.c: simplify is_url()
      grep: teach --untracked and --exclude-standard options
      Post 1.7.7 first wave
      Update draft release notes to 1.7.8
      refs.c: move dwim_ref()/dwim_log() from sha1_name.c
      Update draft release notes to 1.7.8
      bundle: allowing to read from an unseekable fd
      bundle: add parse_bundle_header() helper function
      Update draft release notes to 1.7.8
      t7800: avoid arithmetic expansion notation
      Update draft release notes to 1.7.8
      resolve_gitlink_packed_ref(): fix mismerge
      Update draft release notes to 1.7.8
      Makefile: ask "ls-files" to list source files if available
      libperl-git: refactor Git::config_*
      Update draft release notes to 1.7.8
      resolve_ref(): expose REF_ISBROKEN flag
      resolve_ref(): report breakage to the caller without warning
      Update draft release notes to 1.7.8
      builtin/grep: make lock/unlock into static inline functions
      builtin/grep: simplify lock_and_read_sha1_file()
      Update draft release notes to 1.7.8
      Update draft release notes to 1.7.8
      Git 1.7.8-rc0

Luke Diamand (1):
      git-p4: handle files with shell metacharacters

Lénaïc Huard (1):
      gitweb: provide a way to customize html headers

Matthieu Moy (6):
      git-remote-mediawiki: allow push to set MediaWiki metadata
      git-remote-mediawiki: trivial fixes
      git-remote-mediawiki: set 'basetimestamp' to let the wiki handle conflicts
      git-remote-mediawiki: obey advice.pushNonFastForward
      git-remote-mediawiki: allow a domain to be set for authentication
      git-remote-mediawiki: don't include HTTP login/password in author

Michael Haggerty (36):
      Extract a function clear_cached_refs()
      Access reference caches only through new function get_cached_refs()
      Change the signature of read_packed_refs()
      Allocate cached_refs objects dynamically
      Store the submodule name in struct cached_refs
      Retain caches of submodule refs
      get_sha1_hex(): do not read past a NUL character
      t1402: add some more tests
      git check-ref-format: add options --allow-onelevel and --refspec-pattern
      Change bad_ref_char() to return a boolean value
      Change check_ref_format() to take a flags argument
      Refactor check_refname_format()
      Do not allow ".lock" at the end of any refname component
      Make collapse_slashes() allocate memory for its result
      Inline function refname_format_print()
      Change check_refname_format() to reject unnormalized refnames
      resolve_ref(): explicitly fail if a symlink is not readable
      resolve_ref(): use prefixcmp()
      resolve_ref(): only follow a symlink that contains a valid, normalized refname
      resolve_ref(): turn buffer into a proper string as soon as possible
      resolve_ref(): extract a function get_packed_ref()
      resolve_ref(): do not follow incorrectly-formatted symbolic refs
      remote: use xstrdup() instead of strdup()
      remote: avoid passing NULL to read_ref()
      resolve_ref(): verify that the input refname has the right format
      resolve_ref(): emit warnings for improperly-formatted references
      resolve_ref(): also treat a too-long SHA1 as invalid
      resolve_ref(): expand documentation
      add_ref(): verify that the refname is formatted correctly
      invalidate_ref_cache(): rename function from invalidate_cached_refs()
      invalidate_ref_cache(): take the submodule as parameter
      invalidate_ref_cache(): expose this function in the refs API
      clear_ref_cache(): rename parameter
      clear_ref_cache(): extract two new functions
      write_ref_sha1(): only invalidate the loose ref cache
      clear_ref_cache(): inline function

Michael J Gruber (7):
      t6040: test branch -vv
      git-tag: introduce long forms for the options
      git-branch: introduce missing long forms for the options
      branch: introduce --list option
      branch: allow pattern arguments
      branch: -v does not automatically imply --list
      http: use hostname in credential description

Michael W. Olson (1):
      git-svn: Allow certain refs to be ignored

Michał Górny (1):
      for-each-ref: add split message parts to %(contents:*).

Nguyễn Thái Ngọc Duy (6):
      sparse checkout: show error messages when worktree shaping fails
      Add explanation why we do not allow to sparse checkout to empty working tree
      pack-protocol: document "ERR" line
      daemon: return "access denied" if a service is not allowed
      daemon: log errors if we could not use some sockets
      t5403: convert leading spaces to tabs

Pang Yan Han (1):
      receive-pack: don't pass non-existent refs to post-{receive,update} hooks

Pat Thoyts (6):
      git-gui: updated translator README for current procedures.
      Fix tooltip display with multiple monitors on windows.
      git-gui: drop the 'n' and 'Shift-n' bindings from the last patch.
      mergetools: use the correct tool for Beyond Compare 3 on Windows
      mingw: ensure sockets are initialized before calling gethostname
      t9901: fix line-ending dependency on windows

Pete Wyckoff (5):
      git-p4 tests: refactor and cleanup
      git-p4: handle utf16 filetype properly
      git-p4: recognize all p4 filetypes
      git-p4: stop ignoring apple filetype
      git-p4: keyword flattening fixes

Peter Oberndorfer (1):
      "rebase -i": support special-purpose editor to edit insn sheet

Phil Hord (3):
      Learn to handle gitfiles in enter_repo
      Teach transport about the gitfile mechanism
      Add test showing git-fetch groks gitfiles

Ramkumar Ramachandra (18):
      advice: Introduce error_resolve_conflict
      config: Introduce functions to write non-standard file
      revert: Simplify and inline add_message_to_msg
      revert: Don't check lone argument in get_encoding
      revert: Rename no_replay to record_origin
      revert: Eliminate global "commit" variable
      revert: Introduce struct to keep command-line options
      revert: Separate cmdline parsing from functional code
      revert: Don't create invalid replay_opts in parse_args
      revert: Save data for continuing after conflict resolution
      revert: Save command-line options for continuing operation
      revert: Make pick_commits functionally act on a commit list
      revert: Introduce --reset to remove sequencer state
      reset: Make reset remove the sequencer state
      revert: Remove sequencer state when no commits are pending
      revert: Don't implicitly stomp pending sequencer operation
      revert: Introduce --continue to continue the operation
      revert: Propagate errors upwards from do_pick_commit

Ramsay Jones (5):
      Makefile: Make dependency directory creation less noisy
      sparse: Fix an "Using plain integer as NULL pointer" warning
      obstack.c: Fix some sparse warnings
      Fix some "variable might be used uninitialized" warnings
      gitweb/Makefile: Remove static/gitweb.js in the clean target

René Scharfe (23):
      parseopt: add OPT_NOOP_NOARG
      revert: use OPT_NOOP_NOARG
      apply: use OPT_NOOP_NOARG
      checkout: check for "Previous HEAD" notice in t2020
      revision: factor out add_pending_sha1
      checkout: use add_pending_{object,sha1} in orphan check
      revision: add leak_pending flag
      bisect: use leak_pending flag
      bundle: use leak_pending flag
      checkout: use leak_pending flag
      commit: factor out clear_commit_marks_for_object_array
      test-ctype: macrofy
      test-ctype: add test for is_pathspec_magic
      name-rev: split usage string
      pickaxe: plug diff filespec leak with empty needle
      pickaxe: plug regex leak
      pickaxe: plug regex/kws leak
      pickaxe: factor out has_changes
      pickaxe: pass diff_options to contains and has_changes
      pickaxe: give diff_grep the same signature as has_changes
      pickaxe: factor out pickaxe
      xdiff: factor out get_func_line()
      diff: add option to show whole functions as context

SZEDER Gábor (2):
      completion: unite --reuse-message and --reedit-message for 'notes'
      completion: unite --format and --pretty for 'log' and 'show'

Sebastian Schuberth (2):
      git-svn: On MSYS, escape and quote SVN_SSH also if set by the user
      inet_ntop.c: Work around GCC 4.6's detection of uninitialized variables

Sitaram Chamarty (1):
      git-difftool: allow skipping file by typing 'n' at prompt

Stefan Naewe (1):
      completion: fix issue with process substitution not working on Git for Windows

Tay Ray Chuan (3):
      fetch: plug two leaks on error exit in store_updated_refs
      submodule: whitespace fix
      submodule::module_clone(): silence die() message from module_name()

Teemu Matilainen (3):
      completion: unite --reuse-message and --reedit-message handling
      completion: commit --fixup and --squash
      completion: push --set-upstream

Zbigniew Jędrzejewski-Szmek (1):
      send-email: auth plain/login fix


Version v1.7.7.7; changes since v1.7.7.6:
-----------------------------------------

Jeff King (1):
      imap-send: remove dead code

Jonathan Nieder (1):
      bundle: remove stray single-quote from error message

Junio C Hamano (2):
      Git 1.7.6.6
      Git 1.7.7.7

Thomas Rast (1):
      Document the --histogram diff option


Version v1.7.7.6; changes since v1.7.7.5:
-----------------------------------------

Clemens Buchacher (1):
      Documentation: read-tree --prefix works with existing subtrees

Jack Nagel (1):
      Add MYMETA.json to perl/.gitignore

Jeff King (4):
      attr: don't confuse prefixes with leading directories
      attr: drop misguided defensive coding
      attr: fix leak in free_attr_elem
      thin-pack: try harder to use preferred base objects as base

Jens Lehmann (1):
      docs: describe behavior of relative submodule URLs

Junio C Hamano (8):
      attr.c: make bootstrap_attr_stack() leave early
      attr.c: clarify the logic to pop attr_stack
      Documentation: rerere's rr-cache auto-creation and rerere.enabled
      Prepare for 1.7.6.6
      Prepare for 1.7.7.6
      Update draft release notes to 1.7.6.6
      Update draft release notes to 1.7.7.6
      Git 1.7.7.6

Nguyễn Thái Ngọc Duy (2):
      t2203: fix wrong commit command
      diff-index: enable recursive pathspec matching in unpack_trees

Thomas Rast (1):
      Documentation: rerere.enabled is the primary way to configure rerere


Version v1.7.7.5; changes since v1.7.7.4:
-----------------------------------------

Erik Faye-Lund (1):
      mingw: give waitpid the correct signature

Jeff King (3):
      stripspace: fix outdated comment
      fetch: create status table using strbuf
      blame: don't overflow time buffer

Junio C Hamano (2):
      Git 1.7.6.5
      Git 1.7.7.5

Martin von Zweigbergk (1):
      am: don't persist keepcr flag

Michael Haggerty (1):
      git symbolic-ref: documentation fix

Nguyễn Thái Ngọc Duy (1):
      checkout,merge: loosen overwriting untracked file check based on info/exclude

Sebastian Morr (1):
      Add MYMETA.yml to perl/.gitignore

Thomas Hochstein (1):
      documentation fix: git difftool uses diff tools, not merge tools.

Ævar Arnfjörð Bjarmason (2):
      apply: get rid of useless x < 0 comparison on a size_t type
      cast variable in call to free() in builtin/diff.c and submodule.c


Version v1.7.7.4; changes since v1.7.7.3:
-----------------------------------------

Jonathan Nieder (2):
      notes merge: eliminate OUTPUT macro
      Makefile: add missing header file dependencies

Junio C Hamano (2):
      name-rev --all: do not even attempt to describe non-commit object
      Git 1.7.7.4

Marc-André Lureau (1):
      mailmap: xcalloc mailmap_info


Version v1.7.7.3; changes since v1.7.7.2:
-----------------------------------------

Dan McGee (4):
      pack-objects: mark add_to_write_order() as inline
      pack-objects: use unsigned int for counter and offset values
      pack-objects: rewrite add_descendants_to_write_order() iteratively
      pack-objects: don't traverse objects unnecessarily

Jeff King (1):
      docs: don't mention --quiet or --exit-code in git-log(1)

Julien Muchembled (1):
      gitweb: fix regression when filtering out forks

Junio C Hamano (3):
      branch -m/-M: remove undocumented RENAMED-REF
      docs: Update install-doc-quick
      Git 1.7.7.3


Version v1.7.7.2; changes since v1.7.7.1:
-----------------------------------------

Brandon Casey (4):
      attr.c: avoid inappropriate access to strbuf "buf" member
      cleanup: use internal memory allocation wrapper functions everywhere
      builtin/mv.c: plug miniscule memory leak
      attr.c: respect core.ignorecase when matching attribute patterns

Carlos Martín Nieto (6):
      Remove 'working copy' from the documentation and C code
      fetch: free all the additional refspecs
      t5510: add tests for fetch --prune
      remote: separate out the remote_find_tracking logic into query_refspecs
      fetch: honor the user-provided refspecs when pruning refs
      fetch: treat --tags like refs/tags/*:refs/tags/* when pruning

Christian Couder (1):
      bisect: fix exiting when checkout failed in bisect_start()

Haitao Li (1):
      date.c: Support iso8601 timezone formats

Jakub Narębski (1):
      gitweb: Strip non-printable characters from syntax highlighter output

Jeff King (8):
      add sha1_array API docs
      quote.h: fix bogus comment
      refactor argv_array into generic code
      quote: provide sq_dequote_to_argv_array
      bisect: use argv_array API
      checkout: use argv_array API
      run_hook: use argv_array API
      pull,rebase: handle GIT_WORK_TREE better

Jim Meyering (1):
      make the sample pre-commit hook script reject names with newlines, too

Jonathan Nieder (2):
      http: remove extra newline in error message
      http: avoid empty error messages for some curl errors

Jonathon Mah (1):
      mergetool: Use args as pathspec to unmerged files

Junio C Hamano (5):
      refactor run_receive_hook()
      diff: teach --stat/--numstat to honor -U$num
      mergetool: no longer need to save standard input
      attr: read core.attributesfile from git_default_core_config
      Git 1.7.7.2

Martin von Zweigbergk (4):
      remote: write correct fetch spec when renaming remote 'remote'
      remote: "rename o foo" should not rename ref "origin/bar"
      remote rename: warn when refspec was not updated
      remote: only update remote-tracking branch if updating refspec

Matthew Daley (1):
      send-email: Honour SMTP domain when using TLS

Michael Haggerty (1):
      notes_merge_commit(): do not pass temporary buffer to other function

Michael J Gruber (3):
      unpack-trees: print "Aborting" to stderr
      git-read-tree.txt: language and typography fixes
      git-read-tree.txt: correct sparse-checkout and skip-worktree description

Nguyễn Thái Ngọc Duy (2):
      git-read-tree.txt: update sparse checkout examples
      Reindent closing bracket using tab instead of spaces

Pat Thoyts (1):
      t7511: avoid use of reserved filename on Windows.

Peter Stuge (1):
      gitweb: Fix links to lines in blobs when javascript-actions are enabled

Ramsay Jones (1):
      t9159-*.sh: skip for mergeinfo test for svn <= 1.4

René Scharfe (1):
      read-cache.c: fix index memory allocation

Richard Hartmann (1):
      clone: Quote user supplied path in a single quote pair

Shawn O. Pearce (1):
      remote-curl: Fix warning after HTTP failure

Stefan Naewe (1):
      Documentation/git-update-index: refer to 'ls-files'

Thomas Rast (1):
      Documentation: basic configuration of notes.rewriteRef


Version v1.7.7.1; changes since v1.7.7:
---------------------------------------

Brad King (1):
      rev-list: Demonstrate breakage with --ancestry-path --all

Brandon Casey (1):
      strbuf.c: remove unnecessary strbuf_grow() from strbuf_getwholeline()

Ilari Liusvaara (1):
      Support ERR in remote archive like in fetch/push

Jay Soffian (1):
      merge-one-file: fix "expr: non-numeric argument"

Jeff King (2):
      fetch: avoid quadratic loop checking for updated submodules
      filter-branch: use require_clean_work_tree

Jim Meyering (1):
      fix "git apply --index ..." not to deref NULL

Jonathan Nieder (2):
      Makefile: do not set setgid bit on directories on GNU/kFreeBSD
      RelNotes/1.7.7.1: setgid bit patch is about fixing "git init" via Makefile setting

Junio C Hamano (14):
      revision: keep track of the end-user input from the command line
      revision: do not include sibling history in --ancestry-path output
      rebase -i: notice and warn if "exec $cmd" modifies the index or the working tree
      traverse_trees(): allow pruning with pathspec
      unpack-trees: allow pruning with pathspec
      diff-index: pass pathspec down to unpack-trees machinery
      fsck: do not abort upon finding an empty blob
      Teach progress eye-candy to fetch_refs_from_bundle()
      apply --whitespace=error: correctly report new blank lines at end
      checkout $tree $path: do not clobber local changes in $path not in $tree
      diff: resurrect XDF_NEED_MINIMAL with --minimal
      Prepare for 1.7.7.1
      Almost ready for 1.7.7.1
      Git 1.7.7.1

Matthieu Moy (2):
      rebase -i: clean error message for --continue after failed exec
      config: display key_delim for config --bool --get-regexp

Michael Schubert (1):
      patch-id.c: use strbuf instead of a fixed buffer

Nguyễn Thái Ngọc Duy (4):
      merge: keep stash[] a local variable
      merge: use return value of resolve_ref() to determine if HEAD is invalid
      merge: remove global variable head[]
      Accept tags in HEAD or MERGE_HEAD

Nicolas Morey-Chaisemartin (1):
      grep: Fix race condition in delta_base_cache

René Scharfe (2):
      Revert removal of multi-match discard heuristic in 27af01
      t1304: fall back to $USER if $LOGNAME is not defined

Thomas Rast (2):
      Symlink mergetools scriptlets into valgrind wrappers
      t6019: avoid refname collision on case-insensitive systems


Version v1.7.7; changes since v1.7.7-rc3:
-----------------------------------------

Gerrit Pape (2):
      contrib/hooks: adapt comment about Debian install location for contrib hooks
      templates/hooks--*: remove sample hooks without any functionality

Junio C Hamano (2):
      Documentation/gitnamespaces.txt: cater to older asciidoc
      Git 1.7.7


Version v1.7.7-rc3; changes since v1.7.7-rc2:
---------------------------------------------

Allan Caffee (1):
      describe: Refresh the index when run with --dirty

Jay Soffian (1):
      git-mergetool: check return value from read

Jeff King (1):
      t4014: clean up format.thread config after each test

Junio C Hamano (3):
      Git 1.7.6.4
      merge-recursive: Do not look at working tree during a virtual ancestor merge
      Git 1.7.7-rc3


Version v1.7.7-rc2; changes since v1.7.7-rc1:
---------------------------------------------

Bryan Jacobs (1):
      git-svn: teach git-svn to populate svn:mergeinfo

Frédéric Heitzmann (1):
      Disambiguate duplicate t9160* tests

Junio C Hamano (2):
      branch --set-upstream: regression fix
      Git 1.7.7-rc2

Pang Yan Han (1):
      format-patch: ignore ui.color


Version v1.7.7-rc1; changes since v1.7.7-rc0:
---------------------------------------------

Ben Walton (2):
      Documentation: Grammar correction, wording fixes and cleanup
      Mark http-fetch without -a as deprecated

Brandon Casey (1):
      t6030: use $SHELL_PATH to invoke user's preferred shell instead of bare sh

Brian Gernhardt (1):
      t5540-http-test: shorten grep pattern

Bryan Jacobs (1):
      git-svn: Teach dcommit --mergeinfo to handle multiple lines

Conrad Irwin (2):
      Prevent force-updating of the current branch
      Show interpreted branch name in error messages

Dmitry Ivankov (11):
      fast-import: add input format tests
      fast-import: don't fail on omitted committer name
      fast-import: check committer name more strictly
      fsck: add a few committer name tests
      fsck: improve committer/author check
      fast-import: add a test for tree delta base corruption
      fast-import: prevent producing bad delta
      fast-import: count and report # of calls to diff_delta in stats
      fast-import: treat cat-blob as a delta base hint for next blob
      fast-import: add tests for tagging blobs
      fast-import: allow to tag newly created objects

Elijah Newren (55):
      t6042: Add a testcase where git deletes an untracked file
      t6042: Add failing testcase for rename/modify/add-source conflict
      t6042: Add a pair of cases where undetected renames cause issues
      t6042: Add a testcase where undetected rename causes silent file deletion
      t6042: Add tests for content issues with modify/rename/directory conflicts
      t6042: Ensure rename/rename conflicts leave index and workdir in sane state
      t6042: Add failing testcases for rename/rename/add-{source,dest} conflicts
      t6036: Add differently resolved modify/delete conflict in criss-cross test
      t6036: criss-cross with weird content can fool git into clean merge
      t6036: tests for criss-cross merges with various directory/file conflicts
      t6036: criss-cross w/ rename/rename(1to2)/modify+rename/rename(2to1)/modify
      t6036: criss-cross + rename/rename(1to2)/add-source + modify/modify
      t6022: Remove unnecessary untracked files to make test cleaner
      t6022: New tests checking for unnecessary updates of files
      t6022: Add testcase for merging a renamed file with a simple change
      merge-recursive: Make BUG message more legible by adding a newline
      merge-recursive: Correct a comment
      merge-recursive: Mark some diff_filespec struct arguments const
      merge-recursive: Consolidate different update_stages functions
      merge-recursive: Remember to free generated unique path names
      merge-recursive: Avoid working directory changes during recursive case
      merge-recursive: Fix recursive case with D/F conflict via add/add conflict
      merge-recursive: Fix sorting order and directory change assumptions
      merge-recursive: Fix code checking for D/F conflicts still being present
      merge-recursive: Save D/F conflict filenames instead of unlinking them
      merge-recursive: Split was_tracked() out of would_lose_untracked()
      merge-recursive: Allow make_room_for_path() to remove D/F entries
      merge-recursive: Split update_stages_and_entry; only update stages at end
      merge-recursive: Fix deletion of untracked file in rename/delete conflicts
      merge-recursive: Make dead code for rename/rename(2to1) conflicts undead
      merge-recursive: Add comments about handling rename/add-source cases
      merge-recursive: Improve handling of rename target vs. directory addition
      merge-recursive: Consolidate process_entry() and process_df_entry()
      merge-recursive: Cleanup and consolidation of rename_conflict_info
      merge-recursive: Provide more info in conflict markers with file renames
      merge-recursive: When we detect we can skip an update, actually skip it
      merge-recursive: Fix modify/delete resolution in the recursive case
      merge-recursive: Introduce a merge_file convenience function
      merge-recursive: Fix rename/rename(1to2) resolution for virtual merge base
      merge-recursive: Small cleanups for conflict_rename_rename_1to2
      merge-recursive: Defer rename/rename(2to1) handling until process_entry
      merge-recursive: Record more data needed for merging with dual renames
      merge-recursive: Create function for merging with branchname:file markers
      merge-recursive: Consider modifications in rename/rename(2to1) conflicts
      merge-recursive: Make modify/delete handling code reusable
      merge-recursive: Have conflict_rename_delete reuse modify/delete code
      merge-recursive: add handling for rename/rename/add-dest/add-dest
      merge-recursive: Fix working copy handling for rename/rename/add/add
      t6022: Add testcase for spurious "refusing to lose untracked" messages
      merge-recursive: Fix spurious 'refusing to lose untracked file...' messages
      t6022: Additional tests checking for unnecessary updates of files
      merge-recursive: Avoid unnecessary file rewrites
      t6036: criss-cross + rename/rename(1to2)/add-dest + simple modify
      merge-recursive: Fix virtual merge base for rename/rename(1to2)/add-dest
      merge-recursive: Don't re-sort a list whose order we depend upon

Eric Wong (1):
      git-svn: fix fetch with moved path when using rewriteRoot

Fredrik Gustafsson (1):
      push: Don't push a repository with unpushed submodules

Fredrik Kuivinen (6):
      Add obstack.[ch] from EGLIBC 2.10
      Add string search routines from GNU grep
      Adapt the kwset code to Git
      Use kwset in pickaxe
      Use kwset in grep
      obstack: Fix portability issues

Giuseppe Bilotta (2):
      am: format is in $patch_format, not parse_patch
      am: fix stgit patch mangling

Jeff King (12):
      t3030: fix accidental success in symlink rename
      t7006: modernize calls to unset
      test-lib: add helper functions for config
      t7006: use test_config helpers
      setup_pager: set GIT_PAGER_IN_USE
      diff: refactor COLOR_DIFF from a flag into an int
      git_config_colorbool: refactor stdout_is_tty handling
      color: delay auto-color decision until point of use
      config: refactor get_colorbool function
      diff: don't load color config in plumbing
      want_color: automatically fallback to color.ui
      support pager.* for external commands

Jens Lehmann (1):
      fetch: skip on-demand checking when no submodules are configured

Johannes Sixt (2):
      string-list: Add API to remove an item from an unsorted list
      t3005: do not assume a particular order of stdout and stderr of git-ls-files

Jon Seymour (1):
      bisect: take advantage of gettextln, eval_gettextln.

Jonathan Nieder (1):
      Documentation/remote-helpers: explain capabilities first

Junio C Hamano (14):
      combine-diff: support format_callback
      read_gitfile_gently(): rename misnamed function to read_gitfile()
      clone: allow more than one --reference
      clone: clone from a repository with relative alternates
      Update draft release notes to 1.7.7
      Documentation: clarify "git clean -e <pattern>"
      Update draft release notes to 1.7.7
      Revert "Merge branch 'cb/maint-quiet-push' into maint"
      Git 1.7.6.2
      Update draft release notes to 1.7.7
      Minor update to how-to maintain git
      Prepare for 1.7.6.3 maintenance release
      Git 1.7.6.3
      Git 1.7.7-rc1

Matthieu Moy (2):
      Documentation/git-remote-helpers: explain how import works with multiple refs
      (short) documentation for the testgit remote helper

Michael Haggerty (9):
      Add a file comment
      Document struct match_attr
      Increment num_attr in parse_attr_line(), not parse_attr()
      Change parse_attr() to take a pointer to struct attr_state
      Determine the start of the states outside of the pass loop
      Change while loop into for loop
      Unroll the loop over passes
      check-ref-format --print: Normalize refnames that start with slashes
      Forbid DEL characters in reference names

Michael J Gruber (3):
      git-notes.txt: clarify -C vs. copy and -F
      log: Do not decorate replacements with --no-replace-objects
      RelNotes/1.7.7: minor fixes

Michael Stapelberg (1):
      git-daemon.txt: specify --timeout in seconds

Namhyung Kim (1):
      branch -v: honor core.abbrev

Nguyễn Thái Ngọc Duy (6):
      decoration: do not mis-decorate refs with same prefix
      Add for_each_commit_graft() to iterate all grafts
      Move write_shallow_commits to fetch-pack.c
      log: decorate grafted commits with "grafted"
      log: decorate "replaced" on to replaced commits
      clone: allow to clone from .git file

Pete Wyckoff (1):
      git-p4: simple branch tests edits

Ray Chen (1):
      git-svn: New flag to emulate empty directories

Sverre Rabbelier (1):
      SubmittingPathces: remove Cogito reference

Tay Ray Chuan (2):
      xdiff/xprepare: improve O(n*m) performance in xdl_cleanup_records()
      xdiff/xprepare: initialise xdlclassifier_t cf in xdl_prepare_env()

Thomas Rast (8):
      Use memmove in ident_to_git
      t4014: check for empty files from git format-patch --stdout
      t4014: invoke format-patch with --stdout where intended
      t4014: "no-add-headers" is actually called "no-add-header"
      Document negated forms of format-patch --to --cc --add-headers
      strbuf_grow(): maintain nul-termination even for new buffer
      Documentation: clarify effects of -- <path> arguments
      t3903: fix misquoted rev-parse invocation

Vitor Antunes (9):
      git-p4: Allow setting rename/copy detection threshold
      git-p4: Add description of rename/copy detection options
      git-p4: Add test case for rename detection
      git-p4: Add test case for copy detection
      git-p4: Process detectCopiesHarder with --bool
      git-p4: Correct branch base depot path detection
      git-p4: Allow filtering Perforce branches by user
      git-p4: Allow branch definition with git config
      git-p4: Add simple test case for branch import


Version v1.7.7-rc0; changes since v1.7.6.6:
-------------------------------------------

Allan Caffee (1):
      describe: Refresh the index when run with --dirty

Andi Kleen (2):
      Add profile feedback build to git
      Add explanation of the profile feedback build to the README

Clemens Buchacher (1):
      commit: allow partial commits with relative paths

David Aguilar (8):
      setup: Provide GIT_PREFIX to built-ins
      git: Remove handling for GIT_PREFIX
      git-mergetool--lib: Make vimdiff retain the current directory
      t/t7503-pre-commit-hook.sh: Add GIT_PREFIX tests
      difftool--helper: Make style consistent with git
      mergetool--lib: Make style consistent with git
      mergetool--lib: Refactor tools into separate files
      mergetools/meld: Use '--output' when available

David Barr (1):
      am: ignore leading whitespace before patch

David Caldwell (1):
      stash: Add --include-untracked option to stash and remove all untracked files

Dmitry Ivankov (4):
      remote-helpers: export GIT_DIR variable to helpers
      parse-options: export opterr, optbug
      Reduce parse-options.o dependencies
      doc/fast-import: document feature import-marks-if-exists

Duncan Brown (1):
      http: pass http.cookiefile using CURLOPT_COOKIEFILE

Erik Faye-Lund (2):
      verify_path: consider dos drive prefix
      connect: only log if all attempts failed (ipv4)

Fredrik Gustafsson (2):
      git-sh-setup: add die_with_status
      submodule update: continue when a checkout fails

Jakub Narębski (14):
      gitweb.js: No need for inProgress in blame_incremental.js
      gitweb.js: No need for loop in blame_incremental's handleResponse()
      gitweb.js: use setTimeout rather than setInterval in blame_incremental.js
      gitweb: Check permissions first in git_search
      gitweb: Split body of git_search into subroutines
      gitweb: Clean up code in git_search_* subroutines
      gitweb: Make git_search_* subroutines render whole pages
      gitweb: Refactor git_header_html
      git-instaweb: Extract configuring web server into configure_httpd
      git-instaweb: Use $conf, not $fqgitdir/gitweb/httpd.conf
      git-instaweb: Move all actions at the end of script
      git-instaweb: Check that correct config file exists for (re)start
      gitweb: Introduce common system-wide settings for convenience
      gitweb: Git config keys are case insensitive, make config search too

Jeff King (28):
      t: add tests for cloning remotes with detached HEAD
      consider only branches in guess_remote_head
      make copy_ref globally available
      clone: always fetch remote HEAD
      limit "contains" traversals based on commit timestamp
      default core.clockskew variable to one day
      archive: reorder option parsing and config reading
      archive-tar: don't reload default config options
      archive: refactor list of archive formats
      archive: pass archiver struct to write_archive callback
      archive: move file extension format-guessing lower
      archive: refactor file extension format-guessing
      archive: implement configurable tar filters
      archive: provide builtin .tar.gz filter
      upload-archive: allow user to turn off filters
      parse-options: add OPT_STRING_LIST helper
      remote: use new OPT_STRING_LIST
      config: make git_config_parse_parameter a public function
      clone: accept config options on the command line
      git skew: a tool to find how big a clock skew exists in the history
      transport-helper: fix minor leak in push_refs_with_export
      t5800: factor out some ref tests
      t5800: document some non-functional parts of remote helpers
      git-remote-testgit: import non-HEAD refs
      transport-helper: don't feed bogus refs to export push
      git_remote_helpers: push all refs during a non-local export
      streaming: free git_istream upon closing
      docs: put listed example commands in backticks

Jens Lehmann (1):
      Documentation/submodule: add command references and update options

Jim Meyering (1):
      sha1_file: use the correct type (ssize_t, not size_t) for read-style function

Johannes Sixt (7):
      sh-i18n--envsubst: do not crash when no arguments are given
      mingw.c: move definition of mingw_getenv down
      Windows: teach getenv to do a case-sensitive search
      rebase: do not print lots of usage hints after an obvious error message
      Make test number unique
      Skip archive --remote tests on Windows
      t3900: do not reference numbered arguments from the test script

Jon Jensen (1):
      Add option hooks.diffopts to customize change summary in post-receive-email

Jon Seymour (16):
      bisect: move argument parsing before state modification.
      bisect: use && to connect statements that are deferred with eval.
      bisect: add tests to document expected behaviour in presence of broken trees.
      bisect: introduce support for --no-checkout option.
      bisect: introduce --no-checkout support into porcelain.
      bisect: add tests for the --no-checkout option.
      bisect: add documentation for --no-checkout option.
      bisect: cleanup whitespace errors in git-bisect.sh.
      bisect: replace "; then" with "\n<tab>*then"
      misc-sh: fix up whitespace in some other .sh files.
      gettext: add gettextln, eval_gettextln to encode common idiom
      git-am: take advantage of gettextln and eval_gettextln.
      pull: take advantage of eval_gettextln
      stash: take advantage of eval_gettextln
      submodule: take advantage of gettextln and eval_gettextln.
      bisect: add support for bisecting bare repositories

Jonathan Nieder (4):
      test: simplify return value of test_run_
      test: cope better with use of return for errors
      revert: plug memory leak in "cherry-pick root commit" codepath
      merge-recursive: take advantage of hardcoded empty tree

Josh Triplett (5):
      Fix prefix handling in ref iteration functions
      ref namespaces: infrastructure
      ref namespaces: Support remote repositories via upload-pack and receive-pack
      ref namespaces: documentation
      ref namespaces: tests

Junio C Hamano (52):
      index-pack: group the delta-base array entries also by type
      write_idx_file: introduce a struct to hold idx customization options
      index-pack: --verify
      write_idx_file: need_large_offset() helper function
      index-pack --verify: read anomalous offsets from v2 idx file
      packed_object_info_detail(): do not return a string
      sha1_object_info_extended(): expose a bit more info
      sha1_object_info_extended(): hint about objects in delta-base cache
      unpack_object_header(): make it public
      write_entry(): separate two helper functions out
      streaming: a new API to read from the object store
      streaming_write_entry(): use streaming API in write_entry()
      convert: CRLF_INPUT is a no-op in the output codepath
      streaming_write_entry(): support files with holes
      streaming: read non-delta incrementally from a pack
      sha1_file.c: expose helpers to read loose objects
      streaming: read loose objects incrementally
      checkout: make advice when reattaching the HEAD less loud
      merge: reword the final message
      convert.h: move declarations for conversion from cache.h
      Add streaming filter API
      stream filter: add "no more input" to the filters
      Add LF-to-CRLF streaming conversion
      streaming filter: ident filter
      streaming: filter cascading
      t0021: test application of both crlf and ident
      diff --stat-count: finishing touches
      index-pack: a miniscule refactor
      index-pack: start learning to emulate "verify-pack -v"
      index-pack: show histogram when emulating "verify-pack -v"
      verify-pack: use index-pack --verify
      verify_path(): simplify check at the directory boundary
      git-submodule.sh: clarify the "should we die now" logic
      Add option to disable NORETURN
      Start 1.7.7 cycle
      core: log offset pack data accesses happened
      pack-objects: optimize "recency order"
      diff-lib: simplify do_diff_cache()
      diff-lib: refactor run_diff_index() and do_diff_cache()
      Revert clock-skew based attempt to optimize tag --contains traversal
      Update draft release notes to 1.7.7
      Update draft release notes to 1.7.7
      bisect: further style nitpicks
      filter-branch.sh: de-dent usage string
      Update draft release notes to 1.7.7
      test: consolidate definition of $LF
      Sync with "maint"
      Update draft release notes to 1.7.7
      Update draft release notes to 1.7.7
      commit: reduce use of redundant global variables
      Update draft release notes to 1.7.7
      Git 1.7.7-rc0

Ludwig Nussel (1):
      gitweb: allow space as delimiter in mime.types

Markus Duft (1):
      Update the Interix default build configuration.

Michael Haggerty (29):
      doc: Add a link from gitattributes(5) to git-check-attr(1)
      doc: Correct git_attr() calls in example code
      Remove anachronism from comment
      Disallow the empty string as an attribute name
      git-check-attr: Add missing "&&"
      git-check-attr: Add tests of command-line parsing
      Provide access to the name attribute of git_attr
      git-check-attr: Use git_attr_name()
      Teach prepare_attr_stack() to figure out dirlen itself
      Extract a function collect_all_attrs()
      Remove redundant call to bootstrap_attr_stack()
      Remove redundant check
      Allow querying all attributes on a file
      git-check-attr: Extract a function output_attr()
      git-check-attr: Introduce a new variable
      git-check-attr: Extract a function error_with_usage()
      git-check-attr: Handle each error separately
      git-check-attr: Process command-line args more systematically
      git-check-attr: Error out if no pathnames are specified
      git-check-attr: Add an --all option to show all attributes
      git-check-attr: Drive two tests using the same raw data
      git-check-attr: Fix command-line handling to match docs
      Rename git_checkattr() to git_check_attr()
      git-check-attr: test that no output is written to stderr
      git-check-attr: Demonstrate problems with unnormalized paths
      git-check-attr: Demonstrate problems with relative paths
      git-check-attr: Normalize paths
      test-path-utils: Add subcommand "absolute_path"
      test-path-utils: Add subcommand "prefix_path"

Michael J Gruber (3):
      diff.c: omit hidden entries from namelen calculation with --stat
      diff: introduce --stat-lines to limit the stat lines
      diff-options.txt: describe --stat-{width,name-width,count}

Pete Wyckoff (4):
      git-p4: use test_when_finished in tests
      git-p4: add missing && in test
      git-p4: one test missing config git-p4.skipSubmitEditCheck
      git-p4: commit time should be most recent p4 change time

Ramsay Jones (3):
      help.c: Fix detection of custom merge strategy on cygwin
      t1301-*.sh: Fix the 'forced modes' test on cygwin
      config.c: Make git_config() work correctly when called recursively

René Scharfe (6):
      t0021-conversion.sh: fix NoTerminatingSymbolAtEOF test
      grep: fix coloring of hunk marks between files
      grep: add --break
      grep: add --heading
      grep: add option to show whole function as context
      grep: long context options

Roberto Tyley (1):
      Tolerate zlib deflation with window size < 32Kb

Sverre Rabbelier (14):
      t5800: use skip_all instead of prereq
      remote-curl: accept empty line as terminator
      git-remote-testgit: only push for non-local repositories
      git-remote-testgit: fix error handling
      fast-import: introduce 'done' command
      fast-export: support done feature
      transport-helper: factor out push_update_refs_status
      transport-helper: check status code of finish_command
      transport-helper: use the new done feature where possible
      transport-helper: update ref status after push with export
      transport-helper: change import semantics
      transport-helper: Use capname for refspec capability too
      transport-helper: implement marks location as capability
      transport-helper: die early on encountering deleted refs

Tay Ray Chuan (13):
      xdiff/xprepare: use memset()
      xdiff/xprepare: refactor abort cleanups
      xdiff/xpatience: factor out fall-back-diff function
      t4033-diff-patience: factor out tests
      teach --histogram to diff
      xdiff/xprepare: skip classification
      xdiff/xprepare: use a smaller sample size for histogram diff
      xdiff: do away with xdl_mmfile_next()
      http.c: fix an invalid free()
      Makefile: some changes for http-related flag documentation
      xdiff/xhistogram: rework handling of recursed results
      xdiff/xhistogram: rely on xdl_trim_ends()
      xdiff/xhistogram: drop need for additional variable

Theo Niessink (3):
      A Windows path starting with a backslash is absolute
      real_path: do not assume '/' is the path seperator
      verify_dotfile(): do not assume '/' is the path seperator

Thomas Cort (1):
      Makefile: add Minix configuration options.

maximilian attems (2):
      am: pass exclude down to apply
      am: Document new --exclude=<path> option

Ævar Arnfjörð Bjarmason (48):
      i18n: git-am add git-sh-i18n
      i18n: git-am one-line gettext $msg; echo
      i18n: git-am multi-line getttext $msg; echo
      i18n: git-am eval_gettext messages
      i18n: git-am gettext + gettext to stderr message
      i18n: git-am die messages
      i18n: git-am cannot_fallback messages
      i18n: git-am clean_abort messages
      i18n: git-am "Apply?" message
      i18n: git-am "Falling back" say message
      i18n: git-am core say messages
      i18n: git-am printf(1) message to eval_gettext
      i18n: git-pull add git-sh-i18n
      i18n: git-pull die messages
      i18n: git-pull eval_gettext + die message
      i18n: git-pull eval_gettext + warning message
      i18n: git-submodule add git-sh-i18n
      i18n: git-submodule echo + eval_gettext messages
      i18n: git-submodule say + eval_gettext messages
      i18n: git-submodule die + eval_gettext messages
      i18n: git-submodule $update_module say + die messages
      i18n: git-submodule "cached cannot be used" message
      i18n: git-submodule "Submodule change[...]" messages
      i18n: git-submodule $errmsg messages
      i18n: git-submodule "Entering [...]" message
      i18n: git-submodule "[...] path is ignored" message
      i18n: git-submodule "path not initialized" message
      i18n: git-submodule "blob" and "submodule" messages
      i18n: git-stash add git-sh-i18n
      i18n: git-stash echo + gettext message
      i18n: git-stash say + gettext messages
      i18n: git-stash die + gettext messages
      i18n: git-stash die + eval_gettext messages
      i18n: git-stash die + eval_gettext $* messages
      i18n: git-stash die + eval_gettext $1 messages
      i18n: git-stash "unknown option" message
      i18n: git-stash drop_stash say/die messages
      i18n: git-bisect add git-sh-i18n
      i18n: git-bisect gettext + echo message
      i18n: git-bisect echo + gettext messages
      i18n: git-bisect echo + eval_gettext message
      i18n: git-bisect die + gettext messages
      i18n: git-bisect die + eval_gettext messages
      i18n: git-bisect bisect_run + $@ messages
      i18n: git-bisect bisect_reset + $1 messages
      i18n: git-bisect bisect_replay + $1 messages
      i18n: git-bisect [Y/n] messages
      i18n: git-bisect bisect_next_check "You need to" message

张忠山 (1):
      gitweb: pass string after encoding in utf-8 to syntax highlighter


Version v1.7.6.6; changes since v1.7.6.5:
-----------------------------------------

Clemens Buchacher (1):
      Documentation: read-tree --prefix works with existing subtrees

Jack Nagel (1):
      Add MYMETA.json to perl/.gitignore

Jeff King (5):
      attr: don't confuse prefixes with leading directories
      attr: drop misguided defensive coding
      attr: fix leak in free_attr_elem
      thin-pack: try harder to use preferred base objects as base
      imap-send: remove dead code

Junio C Hamano (6):
      attr.c: make bootstrap_attr_stack() leave early
      attr.c: clarify the logic to pop attr_stack
      Documentation: rerere's rr-cache auto-creation and rerere.enabled
      Prepare for 1.7.6.6
      Update draft release notes to 1.7.6.6
      Git 1.7.6.6

Nguyễn Thái Ngọc Duy (1):
      t2203: fix wrong commit command

Thomas Rast (1):
      Documentation: rerere.enabled is the primary way to configure rerere


Version v1.7.6.5; changes since v1.7.6.4:
-----------------------------------------

Haitao Li (1):
      date.c: Support iso8601 timezone formats

Jeff King (3):
      stripspace: fix outdated comment
      fetch: create status table using strbuf
      blame: don't overflow time buffer

Jim Meyering (1):
      make the sample pre-commit hook script reject names with newlines, too

Jonathon Mah (1):
      mergetool: Use args as pathspec to unmerged files

Junio C Hamano (3):
      mergetool: no longer need to save standard input
      name-rev --all: do not even attempt to describe non-commit object
      Git 1.7.6.5

Marc-André Lureau (1):
      mailmap: xcalloc mailmap_info

Martin von Zweigbergk (4):
      remote: write correct fetch spec when renaming remote 'remote'
      remote: "rename o foo" should not rename ref "origin/bar"
      remote rename: warn when refspec was not updated
      remote: only update remote-tracking branch if updating refspec

Michael Haggerty (1):
      notes_merge_commit(): do not pass temporary buffer to other function

Michael J Gruber (3):
      unpack-trees: print "Aborting" to stderr
      git-read-tree.txt: language and typography fixes
      git-read-tree.txt: correct sparse-checkout and skip-worktree description

Nguyễn Thái Ngọc Duy (2):
      git-read-tree.txt: update sparse checkout examples
      Reindent closing bracket using tab instead of spaces

Peter Stuge (1):
      gitweb: Fix links to lines in blobs when javascript-actions are enabled

Ramsay Jones (1):
      t9159-*.sh: skip for mergeinfo test for svn <= 1.4

Sebastian Morr (1):
      Add MYMETA.yml to perl/.gitignore

Stefan Naewe (1):
      Documentation/git-update-index: refer to 'ls-files'

Thomas Rast (1):
      Documentation: basic configuration of notes.rewriteRef


Version v1.7.6.4; changes since v1.7.6.3:
-----------------------------------------

Allan Caffee (1):
      describe: Refresh the index when run with --dirty

Clemens Buchacher (1):
      ls-files: fix pathspec display on error

Giuseppe Bilotta (1):
      am: format is in $patch_format, not parse_patch

Jay Soffian (1):
      git-mergetool: check return value from read

Johannes Sixt (1):
      t3005: do not assume a particular order of stdout and stderr of git-ls-files

Junio C Hamano (4):
      read_gitfile_gently(): rename misnamed function to read_gitfile()
      clone: allow more than one --reference
      clone: clone from a repository with relative alternates
      Git 1.7.6.4

Michael Haggerty (2):
      check-ref-format --print: Normalize refnames that start with slashes
      Forbid DEL characters in reference names

Michael J Gruber (1):
      branch.c: use the parsed branch name

Nguyễn Thái Ngọc Duy (1):
      clone: allow to clone from .git file


Version v1.7.6.3; changes since v1.7.6.2:
-----------------------------------------

Dave Zarzycki (1):
      Do not log unless all connect() attempts fail

Jeff King (9):
      status: fix bug with missing --ignore files
      tag: speed up --contains calculation
      strbuf_split: add a max parameter
      fix "git -c" parsing of values with equals signs
      config: die on error in command-line config
      config: avoid segfault when parsing command-line config
      strbuf: allow strbuf_split to work on non-strbufs
      config: use strbuf_split_str instead of a temporary strbuf
      reset: give better reflog messages

Jens Lehmann (1):
      fetch: skip on-demand checking when no submodules are configured

Jonathan Nieder (2):
      Documentation: quote double-dash for AsciiDoc
      Documentation/i18n: quote double-dash for AsciiDoc

Junio C Hamano (4):
      git status --ignored: tests and docs
      mergetool: check return value from read
      Prepare for 1.7.6.3 maintenance release
      Git 1.7.6.3

Michael Schubert (1):
      reflog: actually default to subcommand 'show'

Sverre Rabbelier (1):
      SubmittingPathces: remove Cogito reference

Vitaliy Ivanov (1):
      tests: cleanup binary test vector files


Version v1.7.6.2; changes since v1.7.6.1:
-----------------------------------------

Junio C Hamano (3):
      whitespace: have SP on both sides of an assignment "="
      Revert "Merge branch 'cb/maint-quiet-push' into maint"
      Git 1.7.6.2

Pang Yan Han (1):
      update-ref: whitespace fix

Thomas Rast (1):
      Documentation: clarify effects of -- <path> arguments


Version v1.7.6.1; changes since v1.7.6:
---------------------------------------

Alex Neronskiy (2):
      Fix documentation of fetch-pack that implies that the client can disconnect after sending wants.
      Document the underlying protocol used by shallow repositories and --depth commands.

Andrew Wong (1):
      rebase -i -p: include non-first-parent commits in todo list

Bert Wesarg (1):
      Documentation: clearly specify what refs are honored by core.logAllRefUpdates

Brandon Casey (2):
      t/t7407: demonstrate that the command called by 'submodule foreach' loses stdin
      git-submodule.sh: preserve stdin for the command spawned by foreach

Brian Harring (1):
      get_indexed_object can return NULL if nothing is in that slot; check for it

Carlos Martín Nieto (1):
      Documentation: clarify the invalidated tree entry format

Clemens Buchacher (3):
      error_routine: use parent's stderr if exec fails
      propagate --quiet to send-pack/receive-pack
      notice error exit from pager

Dmitry Ivankov (1):
      doc/fast-import: clarify notemodify command

Emilio G. Cota (2):
      Documentation: ignore *.pdf files
      Documentation/Makefile: add *.pdf to `clean' target

Erik Faye-Lund (1):
      connect: correctly number ipv6 network adapter

Fredrik Kuivinen (1):
      Makefile: Track changes to LDFLAGS and relink when necessary

Heiko Voigt (2):
      add gitignore entry to description about how to write a builtin
      add technical documentation about ref iteration

Jack Nagel (1):
      Documentation: minor grammatical fix in rev-list-options.txt

Jakub Narębski (2):
      gitweb: Serve text/* 'blob_plain' as text/plain with $prevent_xss
      gitweb: Serve */*+xml 'blob_plain' as text/plain with $prevent_xss

Jeff King (10):
      combine-diff: split header printing into its own function
      combine-diff: calculate mode_differs earlier
      combine-diff: handle binary files as binary
      refactor get_textconv to not require diff_filespec
      combine-diff: respect textconv attributes
      tag: accept multiple patterns for --list
      docs: document --textconv diff option
      t7400: fix bogus test failure with symlinked trash
      fast-export: quote paths in output
      am: refresh the index at start and --resolved

Jens Lehmann (7):
      submodule add: test failure when url is not configured in superproject
      submodule add: allow relative repository path even when no url is set
      submodule add: clean up duplicated code
      fetch: Also fetch submodules in subdirectories in on-demand mode
      submodule add: always initialize .git/config entry
      tests: print failed test numbers at the end of the test run
      submodule: update and add must honor --quiet flag

Johannes Schindelin (1):
      get_pwd_cwd(): Do not trust st_dev/st_ino blindly

Jon Seymour (2):
      Add a test to check that git ls-tree sets non-zero exit code on error.
      Ensure git ls-tree exits with a non-zero exit code if read_tree_recursive fails.

Julian Phillips (1):
      remote-curl: Add a format check to parsing of info/refs

Junio C Hamano (29):
      diff-index --quiet: learn the "stop feeding the backend early" logic
      checkout -b <name>: correctly detect existing branch
      sha1_file.c: "legacy" is really the current format
      zlib wrapper: refactor error message formatter
      zlib: wrap remaining calls to direct inflate/inflateEnd
      zlib: wrap inflateInit2 used to accept only for gzip format
      zlib: wrap deflate side of the API
      zlib: wrap deflateBound() too
      zlib: zlib can only process 4GB at a time
      zlib: allow feeding more than 4GB in one go
      t/gitweb-lib.sh: skip gitweb tests when perl dependencies are not met
      cygwin: trust executable bit by default
      git-remote.txt: avoid sounding as if loose refs are the only ones in the world
      check-ref-format doc: de-emphasize the implementation detail of a ref
      git.txt: de-emphasize the implementation detail of a ref
      glossary: update description of "tag"
      glossary: update description of head and ref
      glossary: clarify description of HEAD
      submodule sync: do not auto-vivify uninteresting submodule
      "branch -d" can remove more than one branches
      test: skip clean-up when running under --immediate mode
      checkout: do not write bogus reflog entry out
      reset [<commit>] paths...: do not mishandle unmerged paths
      diff -c/--cc: do not mistake "resolved as deletion" as "use working tree"
      receive-pack: do not overstep command line argument array
      helping smart-http/stateless-rpc fetch race
      Prepare for 1.7.6.1
      Update draft release notes for 1.7.6.1
      Git 1.7.6.1

Martin von Zweigbergk (2):
      Documentation: use [verse] for SYNOPSIS sections
      rebase: clarify "restore the original branch"

Michael Haggerty (6):
      git-svn: Demonstrate a bug with root commits in mergeinfo ranges
      git-svn: Disambiguate rev-list arguments to improve error message
      git-svn: Correctly handle root commits in mergeinfo ranges
      gitattributes: Clarify discussion of attribute macros
      gitattributes: Reword "attribute macro" to "macro attribute"
      Do not use C++-style comments

Michael Schubert (1):
      help_unknown_cmd: do not propose an "unknown" cmd

Michael Witten (1):
      filter-branch: Export variable `workdir' for --commit-filter

Namhyung Kim (1):
      git-remote.txt: fix wrong remote refspec

Nguyễn Thái Ngọc Duy (3):
      Break down no-lstat() condition checks in verify_uptodate()
      checkout-index: remove obsolete comment
      fetch-pack: check for valid commit from server

Ori Avtalion (1):
      pull: remove extra space from reflog message

Pavan Kumar Sunkara (1):
      git-config: Remove extra whitespaces

Peter Collingbourne (1):
      Documentation: git-filter-branch honors replacement refs


Version v1.7.6; changes since v1.7.6-rc3:
-----------------------------------------

Junio C Hamano (1):
      Git 1.7.6

Namhyung Kim (1):
      completion: replace core.abbrevguard to core.abbrev


Version v1.7.6-rc3; changes since v1.7.6-rc2:
---------------------------------------------

Andreas Schwab (1):
      builtin/gc.c: add missing newline in message

Brandon Casey (1):
      sh-i18n--envsubst.c: do not #include getopt.h

Christof Krüger (1):
      Documentation: git diff --check respects core.whitespace

Dmitry Ivankov (1):
      Fix typo: existant->existent

Jakub Narębski (1):
      gitweb: 'pickaxe' and 'grep' features requires 'search' to be enabled

Jeff King (2):
      t/Makefile: pass test opts to valgrind target properly
      tests: link shell libraries into valgrind directory

Jim Meyering (1):
      plug a few coverity-spotted leaks

Junio C Hamano (2):
      t7810: avoid unportable use of "echo"
      Git 1.7.6-rc3


Version v1.7.6-rc2; changes since v1.7.6-rc1:
---------------------------------------------

Jonathan Nieder (1):
      gitweb: do not misparse nonnumeric content tag files that contain a digit

Junio C Hamano (1):
      Git 1.7.6-rc2


Version v1.7.6-rc1; changes since v1.7.6-rc0:
---------------------------------------------

Alex Riesen (1):
      t3703: skip more tests using colons in file names on Windows

Brandon Casey (2):
      t7508: demonstrate status's failure to use --porcelain format with -z
      builtin/commit.c: set status_format _after_ option parsing

Jakub Narębski (4):
      gitweb: Move information about installation from README to INSTALL
      gitweb: Describe CSSMIN and JSMIN in gitweb/INSTALL
      gitweb: Move "Requirements" up in gitweb/INSTALL
      gitweb: Fix usability of $prevent_xss

Jeff King (1):
      diff_tree: disable QUICK optimization with diff filter

Jim Meyering (1):
      fetch: do not leak a refspec

Junio C Hamano (2):
      diff: futureproof "stop feeding the backend early" logic
      Git 1.7.6-rc1


Version v1.7.6-rc0; changes since v1.7.5.4:
-------------------------------------------

Boris Faure (1):
      Do not strip empty lines / trailing spaces from a commit message template

Carlos Martín Nieto (1):
      log: convert to parse-options

Conrad Irwin (5):
      Use a temporary index for git commit --interactive
      Allow git commit --interactive with paths
      Add support for -p/--patch to git-commit
      Add commit to list of config.singlekey commands
      Test atomic git-commit --interactive

Csaba Henk (1):
      rebase: create HEAD reflog entry when aborting

Dan McGee (4):
      Share color list between graph and show-branch
      http: make curl callbacks match contracts from curl header
      http-push: use const for strings in signatures
      http-push: refactor curl_easy_setup madness

Elijah Newren (3):
      t6022: New test checking for unnecessary updates of renamed+modified files
      t6022: New test checking for unnecessary updates of files in D/F conflicts
      merge-recursive: When we detect we can skip an update, actually skip it

Erik Faye-Lund (2):
      strbuf: make sure buffer is zero-terminated
      config: support values longer than 1023 bytes

Heiko Voigt (1):
      test that git status works with merge conflict in, .gitmodules

Ingo Molnar (1):
      hashcmp(): inline memcmp() by hand to optimize

Jakub Narębski (13):
      gitweb: Restructure projects list generation
      gitweb: Change the way "content tags" ('ctags') are handled
      gitweb: Mark matched 'ctag' / contents tag (?by_tag=foo)
      gitweb: Split JavaScript for maintability, combining on build
      gitweb.js: Update and improve comments in JavaScript files
      gitweb.js: Provide default values for padding in padLeftStr and padLeft
      gitweb.js: Extract and improve datetime handling
      gitweb.js: Introduce code to handle cookies from JavaScript
      gitweb.js: Provide getElementsByClassName method (if it not exists)
      gitweb: Refactor generating of long dates into format_timestamp_html
      gitweb: Unify the way long timestamp is displayed
      gitweb: Make JavaScript ability to adjust timezones configurable
      gitweb: Refactor reading and parsing config file into read_config_file

Jay Soffian (2):
      "git log -h": typofix misspelled 'suppress'
      Add log.abbrevCommit config variable

Jeff King (26):
      notes: make expand_notes_ref globally accessible
      revision.c: refactor notes ref expansion
      notes: refactor display notes extra refs field
      notes: refactor display notes default handling
      revision.c: support --notes command-line option
      revision.c: make --no-notes reset --notes list
      format-patch: wrap email addresses after long names
      add tests for various blame formats
      blame: refactor porcelain output
      blame: add --line-porcelain output format
      t7501.8: feed a meaningful command
      fetch: avoid repeated commits in mark_complete
      Makefile: sort TEST_PROGRAMS list
      refactor refs_from_alternate_cb to allow passing extra data
      bisect: refactor sha1_array into a generic sha1 list
      receive-pack: eliminate duplicate .have refs
      doc: discuss textconv versus external diff drivers
      remote: allow "-t" with fetch mirrors
      read_in_full: always report errors
      t: test subject handling in format-patch / am pipeline
      mailinfo: always clean up rfc822 header folding
      pretty: add pp_commit_easy function for simple callers
      clean up calling conventions for pretty.c functions
      format-patch: preserve subject newlines with -k
      rebase: write a reflog entry when finishing
      format-patch: make zero-length subject prefixes prettier

Jens Lehmann (3):
      Submodules: Don't parse .gitmodules when it contains, merge conflicts
      unpack-trees: add the dry_run flag to unpack_trees_options
      Teach read-tree the -n|--dry-run option

Jim Meyering (2):
      diffcore-rename.c: avoid set-but-not-used warning
      plug a DIR buffer leak in rerere.c

Johan Herland (10):
      log/pretty-options: Document --[no-]notes and deprecate old notes options
      Make "git notes add" more user-friendly when there are existing notes
      Add several testcases for --dirstat and friends
      Make --dirstat=0 output directories that contribute < 0.1% of changes
      Refactor --dirstat parsing; deprecate --cumulative and --dirstat-by-file
      Add config variable for specifying default --dirstat behavior
      Allow specifying --dirstat cut-off percentage as a floating point number
      New --dirstat=lines mode, doing dirstat analysis based on diffstat
      Improve error handling when parsing dirstat parameters
      Mark dirstat error messages for translation

Johannes Sixt (3):
      t3703: Skip tests using directory name ":" on Windows
      Tweak t3102-ls-tree-wildcards to run on Windows
      Windows: add a wrapper for the shutdown() system call

John 'Warthog9' Hawley (2):
      gitweb: JavaScript ability to adjust time based on timezone
      gitweb.js: Add UI for selecting common timezone to display dates

Jon Seymour (1):
      git: add --info-path and --man-path options

Jonathan Nieder (15):
      revisions: split out handle_revision_pseudo_opt function
      revisions: allow --glob and friends in parse_options-enabled commands
      Documentation: clarify meaning of --html-path, --man-path, and --info-path
      tests: eliminate unnecessary setup test assertions
      tests: teach verify_parents to check for extra parents
      tests: check git does not barf on merge.ff values for future versions of git
      completion: move private shopt shim for zsh to __git_ namespace
      t4018 (funcname patterns): make .gitattributes state easier to track
      t4018 (funcname patterns): make configuration easier to track
      t4018 (funcname patterns): minor cleanups
      userdiff/perl: anchor "sub" and "package" patterns on the left
      userdiff/perl: match full line of POD headers
      userdiff/perl: catch sub with brace on second line
      tests: make test_expect_code quieter on success
      userdiff/perl: tighten BEGIN/END block pattern to reject here-doc delimiters

Junio C Hamano (53):
      merge-recursive: tweak magic band-aid
      git diff -D: omit the preimage of deletes
      pathspec: rename per-item field has_wildcard to use_wildcard
      magic pathspec: add tentative ":/path/from/top/level" pathspec support
      merge: allow "-" as a short-hand for "previous branch"
      magic pathspec: futureproof shorthand form
      magic pathspec: add ":(icase)path" to match case insensitively
      Start 1.7.6 cycle
      Update draft release notes to 1.7.6
      Update draft release notes to 1.7.6
      Update draft release notes to 1.7.6
      Update draft release notes to 1.7.6
      merge: introduce merge.ff configuration variable
      rerere: libify rerere_clear() and rerere_gc()
      index_fd(): turn write_object and format_check arguments into one flag
      index_fd(): split into two helper functions
      convert: rename the "eol" global variable to "core_eol"
      convert: give saner names to crlf/eol variables, types and functions
      convert: make it safer to add conversion attributes
      convert: make it harder to screw up adding a conversion attribute
      git-grep: do not die upon -F/-P when grep.extendedRegexp is set.
      Revert "magic pathspec: add ":(icase)path" to match case insensitively"
      pathspec: drop "lone : means no pathspec" from get_pathspec()
      grep: use get_pathspec() correctly
      fix overstrict :<path> diagnosis
      fix overslow :/no-such-string-ever-existed diagnostics
      rev/path disambiguation: further restrict "misspelled index entry" diag
      Revert "completion: don't declare 'local words' to make zsh happy"
      Update draft release notes to 1.7.6
      revision.c: leave a note for "a lone :" enhancement
      Update draft release notes to 1.7.6
      Bigfile: teach "git add" to send a large file straight to a pack
      Declare lookup_replace_object() in cache.h, not in commit.h
      t6050: make sure we test not just commit replacement
      read_sha1_file(): get rid of read_sha1_file_repl() madness
      inline lookup_replace_object() calls
      read_sha1_file(): allow selective bypassing of replacement mechanism
      Sync release notes for 1.7.6 to exclude what are in maintenance track
      git-grep: update tests now regexp type is "last one wins"
      Makefile: Pass USE_LIBPCRE down in GIT-BUILD-OPTIONS
      Update release notes to 1.7.6
      notes remove: allow removing more than one
      notes remove: --ignore-missing
      notes remove: --stdin reads from the standard input
      show: --ignore-missing
      Revert "Merge branch 'en/merge-recursive'"
      Update draft release notes to 1.7.6
      Update 1.7.6 draft release notes
      require-work-tree wants more than what its name says
      compat/fnmatch/fnmatch.c: give a fall-back definition for NULL
      Update 1.7.6 draft release notes
      log: --quiet should serve as synonym to -s
      Update draft release notes to 1.7.6

Luke Diamand (3):
      git-p4: add option to preserve user names
      git-p4: small improvements to user-preservation
      git-p4: warn if git authorship won't be retained

Marius Storm-Olsen (1):
      Automatically autoload bashcompinit for ZSH, when needed

Martin von Zweigbergk (34):
      rebase: clearer names for directory variables
      rebase: refactor reading of state
      rebase: read state outside loop
      rebase: remove unused rebase state 'prev_head'
      rebase: improve detection of rebase in progress
      rebase: act on command line outside parsing loop
      rebase: stricter check of standalone sub command
      rebase: align variable names
      rebase: align variable content
      rebase: factor out command line option processing
      rebase -i: remove now unnecessary directory checks
      rebase: reorder validation steps
      rebase: factor out reference parsing
      rebase: factor out clean work tree check
      rebase: factor out call to pre-rebase hook
      rebase -i: support --stat
      rebase: remove $branch as synonym for $orig_head
      rebase: extract merge code to new source file
      rebase: extract am code to new source file
      rebase: show consistent conflict resolution hint
      rebase -i: align variable names
      rebase: make -v a tiny bit more verbose
      rebase: factor out sub command handling
      rebase: extract code for writing basic state
      rebase: remember verbose option
      rebase: remember strategy and strategy options
      rebase -m: remember allow_rerere_autoupdate option
      rebase -m: don't print exit code 2 when merge fails
      git-rebase--am: remove unnecessary --3way option
      rebase -i: don't read unused variable preserve_merges
      rebase -i: remove unnecessary state rebase-root
      rebase: use @{upstream} if no upstream specified
      Makefile: do not install sourced rebase scripts
      rebase: define options in OPTIONS_SPEC

Mathias Lafeldt (1):
      t/test-lib.sh: minor readability improvements

Michael Haggerty (1):
      git-svn: add an option to skip the creation of empty directories

Michael J Gruber (7):
      contrib/completion: --notes, --no-notes
      rev-list --count: separate count for --cherry-mark
      t1020: test !alias in subdirectory
      handle_alias: provide GIT_PREFIX to !alias
      config: define and document exit codes
      config: Give error message when not changing a multivar
      sh-18n: quell "unused variable" warning

Michael Schubert (2):
      tag: disallow '-' as tag name
      ls-remote: the --exit-code option reports "no matching refs"

Michał Kiedrowicz (11):
      Documentation: Add --line-number to git-grep synopsis
      contrib/completion: --line-number to git grep
      grep: Put calls to fixmatch() and regmatch() into patmatch()
      grep: Fix a typo in a comment
      grep: Extract compile_regexp_failed() from compile_regexp()
      git-grep: Learn PCRE
      configure: Check for libpcre
      grep: Add basic tests
      git-grep: Bail out when -P is used with -F or -E
      git-grep: Update tests (mainly for -P)
      git-grep: Fix problems with recently added tests

Namhyung Kim (1):
      blame: add --abbrev command line option and make it honor core.abbrev

Nguyễn Thái Ngọc Duy (8):
      Reimplement read_tree_recursive() using tree_entry_interesting()
      Convert read_tree{,_recursive} to support struct pathspec
      Improve tree_entry_interesting() handling code
      setup: return correct prefix if worktree is '/'
      Kill off get_relative_cwd()
      t1011: fix sparse-checkout initialization and add new file
      sparse checkout: do not eagerly decide the fate for whole directory
      t3703, t4208: add test cases for magic pathspec

Nicolas Morey-Chaisemartin (1):
      submodule: Add --force option for git submodule update

Rafael Gieschke (1):
      ident: add NO_GECOS_IN_PWENT for systems without pw_gecos in struct passwd

Ramsay Jones (9):
      Makefile: Use cgcc rather than sparse in the check target
      sparse: Fix an "symbol 'cmd_index_pack' not declared" warning
      sparse: Fix some "Using plain integer as NULL pointer" warnings
      sparse: Fix an "symbol 'format_subject' not declared" warning
      sparse: Fix an "symbol 'merge_file' not decared" warning
      sparse: Fix errors due to missing target-specific variables
      sparse: Fix some "symbol not declared" warnings
      setup.c: Fix some "symbol not declared" sparse warnings
      config.c: Remove unused git_config_global() function

René Scharfe (1):
      strbuf: clarify assertion in strbuf_setlen()

SZEDER Gábor (3):
      completion: don't modify the $cur variable in completion functions
      completion: remove unnecessary _get_comp_words_by_ref() invocations
      completion: don't declare 'local words' to make zsh happy

Sebastien Cevey (3):
      gitweb: Split git_project_list_body in two functions
      gitweb: Modularized git_get_project_description to be more generic
      gitweb: Optional grouping of projects by category

Tay Ray Chuan (1):
      t5541-http-push: add test for chunked

Ævar Arnfjörð Bjarmason (5):
      git-sh-i18n--envsubst: our own envsubst(1) for eval_gettext()
      git-sh-i18n.sh: add no-op gettext() and eval_gettext() wrappers
      git-sh-i18n.sh: add GIT_GETTEXT_POISON support
      Makefile: add xgettext target for *.sh files
      git-sh-i18n--envsubst: add SYNOPSIS section to the documentation


Version v1.7.5.4; changes since v1.7.5.3:
-----------------------------------------

Brandon Casey (2):
      Documentation/technical/api-diff.txt: correct name of diff_unmerge()
      git-submodule.sh: separate parens by a space to avoid confusing some shells

Jeff King (8):
      config: make environment parsing routines static
      git_config: don't peek at global config_parameters
      config: always parse GIT_CONFIG_PARAMETERS during git_config
      read_gitfile_gently: use ssize_t to hold read result
      docs: minor grammar fixes to git-status
      docs: update status --porcelain format
      docs: make sure literal "->" isn't converted to arrow
      docs: fix some antique example output

Jim Meyering (3):
      rerere.c: diagnose a corrupt MERGE_RR when hitting EOF between TAB and '\0'
      remove tests of always-false condition
      diffcore-rename.c: avoid set-but-not-used warning

Jonathan Nieder (3):
      tests: check error message from run_command
      run-command: handle short writes and EINTR in die_child
      Documentation: do not misinterpret refspecs as bold text

Junio C Hamano (26):
      builtin/diff.c: remove duplicated call to diff_result_code()
      diffcore-rename: refactor "too many candidates" logic
      diffcore-rename: record filepair for rename src
      diffcore-rename: fall back to -C when -C -C busts the rename limit
      i18n: do not overuse C_LOCALE_OUTPUT
      i18n: .git file is not a human readable message (t5601)
      i18n: use test_i18ncmp in t1200 and t2200
      i18n: do not overuse C_LOCALE_OUTPUT (grep)
      i18n: use test_i18ngrep in lib-httpd and t2019
      i18n: use test_i18ngrep in t2020, t2204, t3030, and t3200
      i18n: use test_i18ncmp and test_i18ngrep in t3203, t3501 and t3507
      i18n: use test_i18ncmp and test_i18ngrep in t3700, t4001 and t4014
      i18n: use test_i18ncmp and test_i18ngrep in t5541, t6040, t6120, t7004, t7012 and t7060
      i18n: use test_i18ncmp and test_i18ngrep in t7102 and t7110
      i18n: use test_i18ngrep in t7201
      i18n: use test_i18ncmp in t7500
      i18n: use test_i18ngrep in t7501
      i18n: use test_i18ngrep and test_i18ncmp in t7502
      i18n: use test_i18ngrep in t7506
      i18n: use test_i18n{grep,cmp} in t7508
      i18n: use test_i18n{cmp,grep} in t7600, t7607, t7611 and t7811
      handle_options(): do not miscount how many arguments were used
      userformat_find_requirements(): find requirement for the correct format
      config.mak.in: allow "configure --sysconfdir=/else/where"
      Start 1.7.5.4 draft release notes
      Git 1.7.5.4

Mathias Lafeldt (1):
      t/README: unify documentation of test function args

Ramkumar Ramachandra (4):
      Documentation: Add filter.<driver>.* to config
      Documentation: Move diff.<driver>.* from config.txt to diff-config.txt
      Documentation: Add diff.<driver>.* to config
      Documentation: Allow custom diff tools to be specified in 'diff.tool'

Thomas Rast (1):
      add -i: ignore terminal escape sequences

Valentin Haenel (5):
      config.txt: 'interactive.singlekey; is used by...
      git-add.txt: document 'interactive.singlekey'
      git-stash.txt: better docs for '--patch'
      git-checkout.txt: better docs for '--patch'
      git-reset.txt: better docs for '--patch'

Ævar Arnfjörð Bjarmason (7):
      i18n: mark merge "Could not read from" message for translation
      i18n: mark merge "upstream" messages for translation
      i18n: mark merge CHERRY_PICK_HEAD messages for translation
      i18n: mark clone nonexistent repository message for translation
      i18n: mark checkout --detach messages for translation
      i18n: mark checkout plural warning for translation
      i18n: mark init-db messages for translation


Version v1.7.5.3; changes since v1.7.5.2:
-----------------------------------------

Felipe Contreras (1):
      git-completion: fix regression in zsh support

Fraser Tweedale (1):
      gitweb: supply '-n' to gzip for identical output

Jeff King (8):
      send-pack: unbreak push over stateless rpc
      cherry-pick: handle root commits with external strategies
      revert: allow reverting a root commit
      t3503: test cherry picking and reverting root commits
      connect: treat generic proxy processes like ssh processes
      connect: let callers know if connection is a socket
      send-pack: avoid deadlock on git:// push with failed pack-objects
      test core.gitproxy configuration

Jim Meyering (1):
      do not read beyond end of malloc'd buffer

Johannes Sixt (3):
      Documentation/format-patch: suggest Toggle Word Wrap add-on for Thunderbird
      send-pack: avoid deadlock when pack-object dies early
      Honor $(prefix) set in config.mak* when defining ETC_GIT*

Jonathan Nieder (5):
      Revert "t0081 (line-buffer): add buffering tests"
      Documentation: explain how to check for patch corruption
      Documentation: hints for sending patches inline with Thunderbird
      Documentation: publicize KMail hints for sending patches inline
      Documentation: publicize hints for sending patches with GMail

Junio C Hamano (4):
      Revert "Honor $(prefix) set in config.mak* when defining ETC_GIT* and sysconfdir"
      setup_revisions(): take pathspec from command line and --stdin correctly
      sideband_demux(): fix decl-after-stmt
      Git 1.7.5.3

Kacper Kornet (1):
      Honor $(prefix) set in config.mak* when defining ETC_GIT* and sysconfdir

Michael J Gruber (2):
      config.txt,diff-options.txt: porcelain vs. plumbing for color.diff
      git-svn: Fix git svn log --show-commit

Nguyễn Thái Ngọc Duy (1):
      init/clone: remove short option -L and document --separate-git-dir

Rafael Gieschke (1):
      copy_gecos: fix not adding nlen to len when processing "&"

Stefan Sperling (1):
      remove noise and inaccuracies from git-svn docs


Version v1.7.5.2; changes since v1.7.5.1:
-----------------------------------------

Andrew Wong (1):
      git-rebase--interactive.sh: preserve-merges fails on merges created with no-ff

Brian Gernhardt (1):
      t/annotate-tests: Use echo & cat instead of sed

Carlos Martín Nieto (2):
      format-patch: don't pass on the --quiet flag
      format-patch: document --quiet option

Ciaran Jessup (1):
      Pass empty file to p4merge where no base is suitable.

Dima Sharov (1):
      shell: add missing initialization of argv0_path

Guy Rouillier (1):
      Look for password in both CVS and CVSNT password files.

Jakub Narębski (2):
      git-instaweb: Simplify build dependency on gitweb
      Remove gitweb/gitweb.cgi and other legacy targets from main Makefile

Jeff King (3):
      pretty: quote rfc822 specials in email addresses
      add tests for merge-index / merge-one-file
      merge-one-file: fix broken merges with alternate work trees

Jim Meyering (1):
      Documentation/git-fsck.txt: fix typo: unreadable -> unreachable

Johan Herland (1):
      t5400: Fix a couple of typos

Jonathan Nieder (4):
      Restructure documentation for git-merge-base.
      Documentation: describe the format of messages with inline patches
      add, merge, diff: do not use strcasecmp to compare config variable names
      provide a copy of the LGPLv2.1

Jonathon Mah (1):
      mergetool: Teach about submodules

Josh Stone (1):
      blame: tolerate bogus e-mail addresses a bit better

João Britto (1):
      Remove duplicated "is a"

Junio C Hamano (19):
      test: use $_z40 from test-lib
      diff.c: return filepair from diff_unmerge()
      diff: remove often unused parameters from diff_unmerge()
      diff-files: show unmerged entries correctly
      Fix "add -u" that sometimes fails to resolve unmerged paths
      add -p: 'q' should really quit
      t3701: Editing a split hunk in an "add -p" session
      add--interactive.perl: factor out repeated --recount option
      "add -p": work-around an old laziness that does not coalesce hunks
      t3701: fix here document
      merge: make branch.<name>.mergeoptions correctly override merge.<option>
      t3701: add-p-fix makes the last test to pass
      t1507: avoid "${parameter<op>'word'}" inside double-quotes
      Prepare for 1.7.5.2
      sha1_file: typofix
      git_open_noatime(): drop unused parameter
      Update draft release notes to 1.7.5.2
      Update draft release notes to 1.7.5.2
      Git 1.7.5.2

Martin von Zweigbergk (1):
      diffcore-rename: don't consider unmerged path as source

Michael J Gruber (1):
      git-fast-import.txt: --relative-marks takes no parameter

Sebastian Schuberth (1):
      doc: Clarify that "cherry-pick -x" does not use "git notes"

Sverre Rabbelier (1):
      fast-import: fix option parser for no-arg options

Valentin Haenel (3):
      git-svn.txt: fix usage of --add-author-from
      git-svn.txt: move option descriptions
      git-svn.txt: small typeface improvements

Vincent van Ravesteijn (1):
      Documentation: update to git-merge-base --octopus


Version v1.7.5.1; changes since v1.7.5:
---------------------------------------

Alex Riesen (1):
      clean: unreadable directory may still be rmdir-able if it is empty

Dan McGee (2):
      stash: add two more tests for --no-keep-index
      stash: ensure --no-keep-index and --patch can be used in any order

Jeff King (3):
      stash: fix accidental apply of non-existent stashes
      stash: drop dirty worktree check on apply
      upload-pack: start pack-objects before async rev-list

Johan Herland (4):
      --dirstat: Describe non-obvious differences relative to --stat or regular diff
      --dirstat-by-file: Make it faster and more correct
      Teach --dirstat not to completely ignore rearranged lines within a file
      --dirstat: In case of renames, use target filename instead of source filename

Jon Seymour (1):
      stash: fix false positive in the invalid ref test.

Junio C Hamano (4):
      Teach core.bigfilethreashold to pack-objects
      http: clear POSTFIELDS when initializing a slot
      Start 1.7.5.1 maintenance track
      Git 1.7.5.1

Michael J Gruber (6):
      builtin/log.c: separate default and setup of cmd_log_init()
      t/t1411: test reflog with formats
      reflog: fix overriding of command line options
      t1506: factor out test for "Did you mean..."
      sha1_name: Suggest commit:./file for path in subdir
      date: avoid "X years, 12 months" in relative dates

Sylvain Rabot (1):
      git-send-email: fix missing space in error message

Valentin Haenel (1):
      git-add.txt: document 'add.ignoreErrors'


Version v1.7.5; changes since v1.7.5-rc3:
-----------------------------------------

Junio C Hamano (1):
      Git 1.7.5


Version v1.7.5-rc3; changes since v1.7.5-rc2:
---------------------------------------------

Junio C Hamano (3):
      Revert "run-command: prettify -D_FORTIFY_SOURCE workaround"
      Git 1.7.4.5
      Git 1.7.5-rc3

Michael J Gruber (3):
      git.txt: fix list continuation
      t3306,t5304: avoid clock skew issues
      git-svn.txt: Document --mergeinfo

René Scharfe (1):
      archive: document limitation of tar.umask config setting


Version v1.7.5-rc2; changes since v1.7.5-rc1:
---------------------------------------------

Alejandro R. Sedeño (1):
      git-svn: Add a svn-remote.<name>.pushurl config key

Anders Kaseorg (2):
      gitk: Take only numeric version components when computing $git_version
      gitk: Update cherry-pick error message parsing

Andrew Garber (1):
      git-p4: replace each tab with 8 spaces for consistency

James Y Knight (1):
      git-svn: Cache results of running the executable "git config"

Jim Meyering (1):
      remove doubled words, e.g., s/to to/to/, and fix related typos

Johannes Sixt (2):
      t0001: guard a new test with SYMLINKS prerequisite
      t2021: mark a test as fixed

Junio C Hamano (1):
      Git 1.7.5-rc2

Pat Thoyts (1):
      gitk: Quote tag names in event bindings to avoid problems with % chars

Paul Mackerras (1):
      gitk: Allow user to control how much of the SHA1 ID gets auto-selected

Ramkumar Ramachandra (1):
      revert: Hide '-r' option in default usage

Ramsay Jones (1):
      i18n: avoid parenthesized string as array initializer

Skip (1):
      gitk: spelling fixes in Russian translation

Ævar Arnfjörð Bjarmason (1):
      Makefile: extract Q_() source strings as ngettext()


Version v1.7.5-rc1; changes since v1.7.5-rc0:
---------------------------------------------

Dan McGee (2):
      Remove old binaries from .gitignore
      Fix two unused variable warnings in gcc 4.6

Jakub Narębski (1):
      gitweb: Fix parsing of negative fractional timezones in JavaScript

Jared Hance (1):
      merge: match the help text with the documentation

Jeff King (7):
      merge: merge unborn index before setting ref
      pull: do not clobber untracked files on initial pull
      remote: disallow some nonsensical option combinations
      remote: separate the concept of push and fetch mirrors
      remote: deprecate --mirror
      docs: fix filter-branch subdir example for exotic repo names
      pull: do not clobber untracked files on initial pull

Jens Lehmann (7):
      fetch/pull: recurse into submodules when necessary
      fetch/pull: Add the 'on-demand' value to the --recurse-submodules option
      config: teach the fetch.recurseSubmodules option the 'on-demand' value
      Submodules: Add 'on-demand' value for the 'fetchRecurseSubmodule' option
      fetch/pull: Don't recurse into a submodule when commits are already present
      submodule update: Don't fetch when the submodule commit is already present
      fetch/pull: Describe --recurse-submodule restrictions in the BUGS section

Joe Ratterman (1):
      grep: allow -E and -n to be turned on by default via configuration

Jonathan Nieder (1):
      compat: add missing #include <sys/resource.h>

Junio C Hamano (8):
      merge: merge with the default upstream branch without argument
      "log --cherry-pick" documentation regression fix
      Doc: mention --delta-base-offset is the default for Porcelain commands
      Git 1.7.4.3
      Update release notes
      Start preparing for 1.7.4.4
      Git 1.7.4.4
      Git 1.7.5-rc1

Lawrence Mitchell (1):
      git.el: Don't use font-lock-compile-keywords

Michael J Gruber (3):
      revisions.txt: consistent use of quotes
      revisions.txt: structure with a labelled list
      revisions.txt: language improvements

Nguyễn Thái Ngọc Duy (2):
      git-init.txt: move description section up
      init, clone: support --separate-git-dir for .git file

Nicolas Morey-Chaisemartin (1):
      submodule: process conflicting submodules only once

SZEDER Gábor (1):
      Documentation: trivial grammar fix in core.worktree description

Stephen Boyd (2):
      Makefile: Cover more files with make check
      sparse: Fix errors and silence warnings

Ævar Arnfjörð Bjarmason (70):
      i18n: git-init basic messages
      i18n: git-init "Initialized [...] repository" message
      i18n: git-clone basic messages
      i18n: git-clone "Cloning into" message
      i18n: git-clone "Cloning into" message
      i18n: git-add basic messages
      i18n: git-add "The following paths are ignored" message
      i18n: git-add "did not match any files" message
      i18n: git-add "remove '%s'" message
      i18n: git-add "Unstaged changes" message
      i18n: git-branch basic messages
      i18n: git-branch "remote branch '%s' not found" message
      i18n: git-branch "Deleted branch [...]" message
      i18n: git-branch "git branch -v" messages
      i18n: git-branch "(no branch)" message
      i18n: git-checkout basic messages
      i18n: git-checkout: our/their version message
      i18n: git-checkout describe_detached_head messages
      i18n: git-checkout "HEAD is now at" message
      i18n: git-checkout "Switched to a .. branch" message
      i18n: git-commit basic messages
      i18n: git-commit "middle of a merge" message
      i18n: git-commit formatting messages
      i18n: git-commit print_summary messages
      i18n: git-commit "enter the commit message" message
      i18n: git-commit advice messages
      i18n: git-diff basic messages
      i18n: git-fetch basic messages
      i18n: git-fetch formatting messages
      i18n: git-fetch update_local_ref messages
      i18n: git-fetch split up "(non-fast-forward)" message
      i18n: git-grep basic messages
      i18n: git-grep "--open-files-in-pager" message
      i18n: git-log basic messages
      i18n: git-log "--OPT does not make sense" messages
      i18n: git-merge basic messages
      i18n: git-merge "Updating %s..%s" message
      i18n: git-merge "You have not concluded your merge" messages
      i18n: git-merge "Wonderful" message
      i18n: git-mv basic messages
      i18n: git-mv "bad" messages
      i18n: git-rm basic messages
      i18n: git-reset basic messages
      i18n: git-reset reset_type_names messages
      i18n: git-reset "Unstaged changes after reset" message
      i18n: git-tag basic messages
      i18n: git-tag tag_template message
      i18n: git-push basic messages
      i18n: git-push "prevent you from losing" message
      i18n: git-status basic messages
      i18n: git-status "nothing to commit" messages
      i18n: git-status shortstatus messages
      i18n: git-status "Changes to be committed" message
      i18n: git-status "Initial commit" message
      i18n: git-status "renamed: " message
      i18n: git-archive basic messages
      i18n: git-bundle basic messages
      i18n: git-clean basic messages
      i18n: git-clean clean.requireForce messages
      i18n: git-describe basic messages
      i18n: git-gc basic messages
      i18n: git-gc "Auto packing the repository" message
      i18n: git-notes basic commands
      i18n: git-notes GIT_NOTES_REWRITE_MODE error message
      i18n: git-revert basic messages
      i18n: git-revert "Your local changes" message
      i18n: git-revert literal "me" messages
      i18n: git-revert split up "could not revert/apply" message
      i18n: git-shortlog basic messages
      t2019-checkout-ambiguous-ref.sh: depend on C_LOCALE_OUTPUT


Version v1.7.5-rc0; changes since v1.7.4.5:
-------------------------------------------

Alex Riesen (2):
      git-gui: update russian translation
      git-gui: update russian translation

Alexandre Erwin Ittner (1):
      git-gui: add Brazilian Portuguese (pt-BR) translation

Bert Wesarg (16):
      git-gui: fix ANSI-color parsing
      git-gui: respect conflict marker size
      git-gui: fix browsers [Up To Parent] in sub-sub-directories.
      git-gui: Fix use of renamed tag.
      git-gui: Fix use of hunk tag for non-hunk content.
      git-gui: fix typo in image data
      git-gui: remove 'no such variable' for s error when encounter unknown file states
      git-gui: learn more type change states
      git-gui: rework handling of diff header
      git-gui: handle index lines only in the diff header
      git-gui: name also new symlinks so
      git-gui: there is no "mode *" diff header line
      git-gui: move 3way diff autodetect up
      git-gui: always reset the current tag
      git-gui: handle special content lines only in the diff header section
      git-gui: handle meta diff header lines only in the header section

Carlo Marcelo Arenas Belon (1):
      setup: translate symlinks in filename when using absolute paths

Carlos Martín Nieto (1):
      Name make_*_path functions more accurately

David Barr (8):
      vcs-svn: Allow simple v3 dumps (no deltas yet)
      vcs-svn: Implement Prop-delta handling
      fast-import: add 'ls' command
      vcs-svn: use strbuf for revision log
      vcs-svn: use strbuf for author, UUID, and URL
      vcs-svn: implement perfect hash for node-prop keys
      vcs-svn: implement perfect hash for top-level keys
      vcs-svn: use strchr to find RFC822 delimiter

Drew Northup (1):
      Documentation: "rebase <onto> <that>" stays on <that> branch upon exit

Elijah Newren (2):
      Make rev-list --objects work together with pathspecs
      Add testcases showing how pathspecs are handled with rev-list --objects

Erik Faye-Lund (1):
      alias: use run_command api to execute aliases

Giuseppe Bilotta (1):
      Improve test for pthreads flag

Heiko Voigt (13):
      git gui: keep selected branch when remote is changed in push dialog
      git-gui: scroll down to default selection for push dialog
      git-gui: instead of defaulting to home directory use working directory
      mingw: move unlink wrapper to mingw.c
      mingw: work around irregular failures of unlink on windows
      mingw: make failures to unlink or move raise a question
      mingw: add fallback for rmdir in case directory is in use
      git-gui: fix deleting item from all_remotes variable
      git-gui: always default to the last merged branch in remote delete
      git-gui: refactor remote submenu creation into subroutine
      git-gui: teach fetch/prune menu to do it for all remotes
      git-gui: fetch/prune all entry only for more than one entry
      git-gui: fetch/prune all entry appears last

Ian Wienand (1):
      Obey p4 views when using client spec

Jakob Pfender (2):
      object.h: Remove obsolete struct object_refs
      git-completion: Add git help completion for aliases

Jakub Narębski (1):
      gitweb: Make i18n (encoding) tests in t9500 leave clean state

Jay Soffian (4):
      git-checkout.txt: improve detached HEAD documentation
      Introduce CHERRY_PICK_HEAD
      bash: teach __git_ps1 about CHERRY_PICK_HEAD
      Teach commit about CHERRY_PICK_HEAD

Jeff King (23):
      merge: improve inexact rename limit warning
      bump rename limit defaults (again)
      commit: stop setting rename limit
      add inexact rename detection progress infrastructure
      merge: enable progress reporting for rename detection
      pull: propagate --progress to merge
      compat: provide a fallback va_copy definition
      strbuf: add strbuf_vaddf
      trace: add trace_vprintf
      trace: refactor to support multiple env variables
      trace: factor out "do we want to trace" logic
      trace: add trace_strbuf
      add packet tracing debug code
      trace: give repo_setup trace its own key
      doc: drop author/documentation sections from most pages
      doc: add missing git footers
      docs: point git.txt author credits to git-scm.com
      checkout: add basic tests for detached-orphan warning
      checkout: clear commit marks after detached-orphan check
      checkout: tweak detached-orphan warning format
      t7607: mark known breakage in test 11 as fixed
      t7607: clean up stray untracked file
      tests: kill backgrounded processes more robustly

Jens Lehmann (1):
      tests: fix overeager scrubbing of environment variables

Johannes Schindelin (2):
      mingw_rmdir: set errno=ENOTEMPTY when appropriate
      Remove unused variables

Johannes Sixt (1):
      rerere forget: deprecate invocation without pathspec

Jonathan Nieder (75):
      vcs-svn: Check for errors from open()
      vcs-svn: Eliminate node_ctx.srcRev global
      vcs-svn: Eliminate node_ctx.mark global
      vcs-svn: Unclutter handle_node by introducing have_props var
      vcs-svn: Use mark to indicate nodes with included text
      vcs-svn: handle_node: Handle deletion case early
      vcs-svn: Replace = Delete + Add
      vcs-svn: Combine repo_replace and repo_modify functions
      vcs-svn: Delay read of per-path properties
      vcs-svn: Reject path nodes without Node-action
      vcs-svn: More dump format sanity checks
      vcs-svn: Make source easier to read on small screens
      vcs-svn: Split off function for handling of individual properties
      vcs-svn: Sharpen parsing of property lines
      vcs-svn: Allow change nodes for root of tree (/)
      cherry-pick/revert: add support for -X/--strategy-option
      unpack-trees: handle lstat failure for existing directory
      unpack-trees: handle lstat failure for existing file
      userdiff: simplify word-diff safeguard
      t4034 (diff --word-diff): style suggestions
      glossary: define pathspec
      checkout: split off a function to peel away branchname arg
      checkout: rearrange update_refs_for_switch for clarity
      t3507: introduce pristine-detach helper
      checkout: add missing const to describe_detached_head
      update-index --refresh --porcelain: add missing const
      vcs-svn: eliminate global byte_buffer
      vcs-svn: replace buffer_read_string memory pool with a strbuf
      vcs-svn: collect line_buffer data in a struct
      vcs-svn: teach line_buffer to handle multiple input files
      vcs-svn: make test-line-buffer input format more flexible
      tests: give vcs-svn/line_buffer its own test script
      vcs-svn: tweak test-line-buffer to not assume line-oriented input
      t0081 (line-buffer): add buffering tests
      vcs-svn: add binary-safe read function
      vcs-svn: allow character-oriented input
      vcs-svn: allow input from file descriptor
      vcs-svn: teach line_buffer about temporary files
      fast-import: make code "-Wpointer-arith" clean
      vcs-svn: introduce repo_read_path to check the content at a path
      vcs-svn: handle_node: use repo_read_path
      vcs-svn: simplify repo_modify_path and repo_copy
      vcs-svn: allow input errors to be detected promptly
      compat: fall back on __va_copy if available
      wt-status: add helpers for printing wt-status lines
      commit: refer to commit template as s->fp
      commit, status: use status_printf{,_ln,_more} helpers
      i18n: do not poison translations unless GIT_GETTEXT_POISON envvar is set
      wt-status: add helpers for printing wt-status lines
      commit: refer to commit template as s->fp
      commit, status: use status_printf{,_ln,_more} helpers
      i18n: add stub Q_() wrapper for ngettext
      i18n: "make distclean" should clean up after "make pot"
      tests: stop worrying about obsolete environment variables
      tests: suppress system gitattributes
      gitattributes: drop support for GIT_ATTR_NOGLOBAL
      config: drop support for GIT_CONFIG_NOGLOBAL
      tests: scrub environment of GIT_* variables
      declare 1-bit bitfields to be unsigned
      vcs-svn: remove spurious semicolons
      mktag: avoid %td in format string
      unbreak and eliminate NO_C99_FORMAT
      run-command: prettify -D_FORTIFY_SOURCE workaround
      vcs-svn: improve support for reading large files
      vcs-svn: make buffer_skip_bytes return length read
      vcs-svn: make buffer_copy_bytes return length read
      vcs-svn: improve reporting of input errors
      tests: avoid nonportable {foo,bar} glob
      vcs-svn: make reading of properties binary-safe
      vcs-svn: remove buffer_read_string
      vcs-svn: avoid unnecessary copying of log message and author
      vcs-svn: handle log message with embedded NUL
      vcs-svn: add missing cast to printf argument
      vcs-svn: add missing cast to printf argument
      tests: make sure input to sed is newline terminated

Junio C Hamano (29):
      unpack-trees.c: cosmetic fix
      unpack_trees(): skip trees that are the same in all input
      t4034 (diff --word-diff): add a minimum Perl drier test vector
      t6004: add pathspec globbing test for log family
      checkout: introduce --detach synonym for "git checkout foo^{commit}"
      Rename t2019 with typo "amiguous" that meant "ambiguous"
      Revert "unpack_trees(): skip trees that are the same in all input"
      grep --no-index: honor pathspecs correctly
      rev-list: --left/right-only are mutually exclusive
      commit: give final warning when reattaching HEAD to leave commits behind
      Start preparing release notes to 1.7.5
      Update Release Notes to 1.7.5
      Update draft release notes to 1.7.5
      refs_from_alternate: helper to use refs from alternates
      fetch-pack: objects in our alternates are available to us
      fetch-pack: factor out hardcoded handshake window size
      fetch-pack: progressively use larger handshake windows
      fetch-pack: use smaller handshake window for initial request
      Update drart release notes to 1.7.5
      Update draft release notes to 1.7.5
      rerere: make sure it works even in a workdir attached to a young repository
      Update draft release note to 1.7.5
      Revert "upload-pack: Implement no-done capability"
      Revert "fetch-pack: Implement no-done capability"
      enable "no-done" extension only when fetching over smart-http
      Fix potential local deadlock during fetch-pack
      enable "no-done" extension only when serving over smart-http
      Revert two "no-done" reverts
      Git 1.7.5-rc0

Kevin Cernekee (1):
      gitweb: fix #patchNN anchors when path_info is enabled

Martin von Zweigbergk (2):
      rerere "remaining"
      mergetool: don't skip modify/remove conflicts

Matthieu Moy (2):
      push: better error messages when push.default = tracking
      push: better error message when no remote configured

Michael Horowitz (1):
      git-p4 submit: prevent 'Jobs' section from being removed from p4 change log

Michael J Gruber (14):
      revlist.c: introduce --left/right-only for unsymmetric picking
      t6007: Make sure we test --cherry-pick
      rev-list: documentation and test for --left/right-only
      git-add: make -A description clearer vs. -u
      rev-list/log: factor out revision mark generation
      revision.c: introduce --cherry-mark
      rev-list: documentation and test for --cherry-mark
      log --cherry: a synonym
      t6007: test rev-list --cherry
      git-log: put space after commit mark
      RelNotes/1.7.5.txt: typo and language fixes
      t6009: use test_commit() from test-lib.sh
      revision.c: introduce --min-parents and --max-parents options
      rev-list --min-parents,--max-parents: doc, test and completion

Michael Witten (1):
      vcs-svn: a void function shouldn't try to return something

Nguyễn Thái Ngọc Duy (22):
      Add struct pathspec
      diff-no-index: use diff_tree_setup_paths()
      Convert struct diff_options to use struct pathspec
      tree_entry_interesting(): remove dependency on struct diff_options
      Move tree_entry_interesting() to tree-walk.c and export it
      diff-tree: convert base+baselen to writable strbuf
      tree_entry_interesting(): refactor into separate smaller functions
      tree_entry_interesting(): support depth limit
      tree_entry_interesting(): fix depth limit with overlapping pathspecs
      tree_entry_interesting(): support wildcard matching
      tree_entry_interesting(): optimize wildcard matching when base is matched
      pathspec: add match_pathspec_depth()
      struct rev_info: convert prune_data to struct pathspec
      Convert ce_path_match() to use struct pathspec
      Convert ce_path_match() to use match_pathspec_depth()
      grep: convert to use struct pathspec
      grep: use match_pathspec_depth() for cache/worktree grepping
      grep: use writable strbuf from caller for grep_tree()
      grep: drop pathspec_matches() in favor of tree_entry_interesting()
      t7810: overlapping pathspecs and depth limit
      Make hash-object more robust against malformed objects
      git.c: reorder builtin command list

Nicolas Kaiser (1):
      transport-helper.c: fix check for (size_t < 0)

Pat Thoyts (2):
      git-gui: Include version check and test for tearoff menu entry
      git-gui: detect the use of MUI langauge packs on Windows

Pete Wyckoff (12):
      git-p4: test script
      git-p4: fix key error for p4 problem
      git-p4: add missing newline in initial import message
      git-p4: accommodate new move/delete type in p4
      git-p4: reinterpret confusing p4 message
      git-p4: better message for "git-p4 sync" when not cloned
      git-p4: decode p4 wildcard characters
      git-p4: support clone --bare
      git-p4: fix clone @all regression
      git-p4: test clone @all
      git-p4: fix sync new branch regression
      git-p4: test sync new branch

Piotr Krukowiecki (1):
      Documentation: running test with --debug keeps "trash" directory

Ramkumar Ramachandra (1):
      fast-import: Introduce --import-marks-if-exists

René Scharfe (2):
      repo-config: add deprecation warning
      grep: read patterns from stdin with -f -

SZEDER Gábor (2):
      bash: fix misindented esac statement in __git_complete_file()
      bash: complete 'git diff ...branc<TAB>'

Sebastian Schuberth (4):
      mergetool--lib: Sort tools alphabetically for easier lookup
      mergetool--lib: Add Beyond Compare 3 as a tool
      mergetool--lib: Sort tools alphabetically for easier lookup
      mergetool--lib: Add Beyond Compare 3 as a tool

Serge Ziryukin (1):
      git-gui: fix russian translation typos

Shawn O. Pearce (6):
      smart-http: Don't use Expect: 100-Continue
      smart-http: Really never use Expect: 100-continue
      fetch-pack: Finish negotation if remote replies "ACK %s ready"
      upload-pack: More aggressively send 'ACK %s ready'
      fetch-pack: Implement no-done capability
      upload-pack: Implement no-done capability

Skip (1):
      git-gui: spelling fixes in russian translation

Stefan Naewe (1):
      git-gui: use --exclude-standard to check for untracked files

Stephen Boyd (1):
      Fix sparse warnings

Thomas Rast (2):
      Exhibit merge bug that clobbers index&WT
      t4034: bulk verify builtin word regex sanity

Tor Arvid Lund (3):
      git-p4: Teach gitConfig method about arguments.
      Teach git-p4 to ignore case in perforce filenames if configured.
      git-p4: Fix error message crash in P4Sync.commit.

Uwe Kleine-König (2):
      get_remote_url(): use the same data source as ls-remote to get remote urls
      git-request-pull: open-code the only invocation of get_remote_url

Vitor Antunes (2):
      git-p4: Improve rename detection support
      git-p4: Add copy detection support

Ævar Arnfjörð Bjarmason (4):
      gitignore: add test-mktemp to ignore list
      i18n: add no-op _() and N_() wrappers
      i18n: add GETTEXT_POISON to simulate unfriendly translator
      i18n: Makefile: "pot" target to extract messages marked for translation


Version v1.7.4.5; changes since v1.7.4.4:
-----------------------------------------

Johannes Sixt (1):
      t2021: mark a test as fixed

Junio C Hamano (2):
      "log --cherry-pick" documentation regression fix
      Git 1.7.4.5

Michael J Gruber (3):
      git.txt: fix list continuation
      t3306,t5304: avoid clock skew issues
      git-svn.txt: Document --mergeinfo

René Scharfe (1):
      archive: document limitation of tar.umask config setting


Version v1.7.4.4; changes since v1.7.4.3:
-----------------------------------------

Jakub Narębski (2):
      git-instaweb: Change how gitweb.psgi is made runnable as standalone app
      gitweb: Fix parsing of negative fractional timezones in JavaScript

Jeff King (4):
      strbuf: add fixed-length version of add_wrapped_text
      format-patch: wrap long header lines
      format-patch: rfc2047-encode newlines in headers
      pull: do not clobber untracked files on initial pull

Jonathan Nieder (1):
      compat: add missing #include <sys/resource.h>

Junio C Hamano (6):
      list-objects.c: don't add an unparsed NULL as a pending tree
      Rename core.abbrevlength back to core.abbrev
      diff/status: refactor opportunistic index update
      update $GIT_INDEX_FILE when there are racily clean entries
      Start preparing for 1.7.4.4
      Git 1.7.4.4

Libor Pechacek (2):
      Sanity-check config variable names
      Disallow empty section and variable names

Linus Torvalds (1):
      Make the default abbrev length configurable

Matthieu Moy (1):
      log: fix --max-count when used together with -S or -G

Michael J Gruber (2):
      git-log.txt,rev-list-options.txt: -n/--max-count is commit limiting
      git-log.txt,rev-list-options.txt: put option blocks in proper order

Nicolas Morey-Chaisemartin (1):
      submodule: process conflicting submodules only once

SZEDER Gábor (1):
      Documentation: trivial grammar fix in core.worktree description


Version v1.7.4.3; changes since v1.7.4.2:
-----------------------------------------

Alex Riesen (1):
      HOME must be set before calling git-init when creating test repositories

Carlos Martín Nieto (1):
      Documentation/config.txt: make truth value of numbers more explicit

Clemens Buchacher (1):
      do not overwrite untracked symlinks

Fabian Keil (1):
      git-cvsimport.perl: Bail out right away when reading from the server fails

Jeff King (1):
      docs: fix filter-branch subdir example for exotic repo names

Joe Ratterman (1):
      grep: Add the option '--line-number'

Johan Herland (1):
      branch/checkout --track: Ensure that upstream branch is indeed a branch

Johannes Sixt (3):
      Demonstrate breakage: checkout overwrites untracked symlink with directory
      stash: fix incorrect quoting in cleanup of temporary files
      stash: copy the index using --index-output instead of cp -p

Junio C Hamano (9):
      checkout: fix bug with ambiguous refs
      apply: do not patch lines that were already patched
      apply -v: show offset count when patch did not apply exactly
      diff --quiet: disable optimization when --diff-filter=X is used
      doc: technical details about the index file format
      t8001: check the exit status of the command being tested
      parse-remote: typofix
      Doc: mention --delta-base-offset is the default for Porcelain commands
      Git 1.7.4.3

Maxin john (1):
      contrib/thunderbird-patch-inline: do not require bash to run the script

Michael J Gruber (2):
      git-bisect.txt: streamline run presentation
      git-bisect.txt: example for bisecting with hot-fix

Michael Witten (3):
      git tag documentation grammar fixes and readability updates
      Typos: t/README
      strbuf.h: remove a tad stale docs-in-comment and reference api-doc instead

Nguyễn Thái Ngọc Duy (1):
      doc: technical details about the index file format

Piotr Krukowiecki (2):
      git stash: show status relative to current directory
      Add test: git stash shows status relative to current dir

Stephen Boyd (2):
      parse-remote: replace unnecessary sed invocation
      git-pack-objects.txt: fix grammatical errors


Version v1.7.4.2; changes since v1.7.4.1:
-----------------------------------------

Adam Monsen (1):
      diff format documentation: clarify --cc and -c

Alexei Sholik (3):
      Documentation: remove redundant colons in git-for-each-ref.txt
      Add Author and Documentation sections to git-for-each-ref.txt
      docs: fix grammar in gitattributes.txt

Arnout Engelen (1):
      Improve error messages when temporary file creation fails

Ben Walton (1):
      Work around broken ln on solaris as used in t8006

Carlos Martín Nieto (3):
      valgrind: ignore SSE-based strlen invalid reads
      make_absolute_path: return the input path if it points to our buffer
      t/README: Add a note about running commands under valgrind

Clemens Buchacher (1):
      Documentation: clarify -u<mode> option defaults

Eric Hanchrow (1):
      branch_merged: fix grammar in warning

Erik Faye-Lund (1):
      mingw: add minimum getrlimit() compatibility stub

Jakub Narębski (2):
      gitweb: Always call parse_date with timezone parameter
      gitweb: Fix handling of fractional timezones in parse_date

Jay Soffian (1):
      merge: honor prepare-commit-msg hook

Jeff King (5):
      string_list_append: always set util pointer to NULL
      clone: die when trying to clone missing local path
      diff: handle diffstat of rewritten binary files
      diff: don't retrieve binary blobs for diffstat
      bisect: visualize with git-log if gitk is unavailable

Johan Herland (1):
      push.default: Rename 'tracking' to 'upstream'

Jonathan Nieder (9):
      correct type of EMPTY_TREE_SHA1_BIN
      tests: skip terminal output tests on OS X
      commit: error out for missing commit message template
      enums: omit trailing comma for portability
      compat: make gcc bswap an inline function
      standardize brace placement in struct definitions
      branch: split off function that writes tracking info and commit subject
      cherry: split off function to print output lines
      diff --submodule: split into bite-sized pieces

Junio C Hamano (8):
      CodingGuidelines: downcase placeholders in usage messages
      verify-pack: add --stat-only to the synopsis section
      SubmittingPatches: clarify the expected commit log description
      Revert "core.abbrevguard: Ensure short object names stay unique a bit longer"
      Prepare draft release notes to 1.7.4.2
      bisect: explain the rationale behind 125
      Update draft release notes to 1.7.4.2
      Git 1.7.4.2

Kevin Cernekee (1):
      gitweb: highlight: replace tabs with spaces

Linus Torvalds (3):
      for_each_hash: allow passing a 'void *data' pointer to callback
      diffcore-rename: properly honor the difference between -M and -C
      diffcore-rename: improve estimate_similarity() heuristics

Masatake Osanai (1):
      perl: command_bidi_pipe() method should set-up git environmens

Mathias Lafeldt (1):
      Fix typo in t/README

Michael J Gruber (16):
      commit,tag: use same wording for -F
      commit,status: describe --porcelain just like push
      clone,init: describe --template using the same wording
      commit,merge,tag: describe -m likewise
      add: describe --patch like checkout, reset
      commit,status: describe -u likewise
      git-tag.txt: list all modes in the description
      pull: do not display fetch usage on --help-all
      Make <identifier> lowercase as per CodingGuidelines
      Make <identifier> lowercase as per CodingGuidelines
      Make <identifier> lowercase as per CodingGuidelines
      Make <identifier> lowercase in Documentation
      git-patch-id: test for "no newline" markers
      git-patch-id: do not trip over "no newline" markers
      mergetool-lib: call vim in readonly mode for diffs
      rev-list-options.txt: typo fix

Michal Rokos (2):
      Makefile: add NO_FNMATCH_CASEFOLD to HP-UX section
      git-compat-util.h: Honor HP C's noreturn attribute

Michał Kiedrowicz (1):
      Documentation: fix a typo in git-apply.txt

Nguyễn Thái Ngọc Duy (2):
      parse_tag_buffer(): do not prefixcmp() out of range
      init: remove unnecessary check

Piotr Krukowiecki (1):
      ls-remote documentation: <refs> argument is optional

Ralf Wildenhues (1):
      configure: use AC_LANG_PROGRAM consistently

SZEDER Gábor (1):
      git-am.txt: advertise 'git am --abort' instead of 'rm .git/rebase-apply'

Shawn O. Pearce (2):
      Limit file descriptors used by packs
      sha1_file.c: Don't retain open fds on small packs

Spencer E. Olson (2):
      submodule: no [--merge|--rebase] when newly cloned
      t7406: "git submodule update {--merge|--rebase]" with new submodules

Ævar Arnfjörð Bjarmason (4):
      gitweb/gitweb.perl: remove use of qw(...) as parentheses
      gitweb/gitweb.perl: don't call S_ISREG() with undef
      t/gitweb-lib.sh: Ensure that errors are shown for --debug --immediate
      t/t7500-commit.sh: use test_cmp instead of test


Version v1.7.4.1; changes since v1.7.4:
---------------------------------------

Chris Packham (1):
      clone: fixup recurse_submodules option

Jakub Narębski (1):
      gitweb: Mention optional Perl modules in INSTALL

Jens Lehmann (2):
      t5526: Fix wrong argument order in "git config"
      pull: Document the "--[no-]recurse-submodules" options

Johannes Sixt (2):
      start_command: flush buffers in the WIN32 code path as well
      t4120-apply-popt: help systems with core.filemode=false

Jonathan Nieder (5):
      quote.h: simplify the inclusion
      fast-import: clarify documentation of "feature" command
      fast-import: introduce "feature notes" command
      compat: helper for detecting unsigned overflow
      svn-fe: warn about experimental status

Junio C Hamano (3):
      fsck: drop unused parameter from traverse_one_object()
      fsck: do not give up too early in fsck_dir()
      Git 1.7.4.1

Nguyễn Thái Ngọc Duy (4):
      diff: support --cached on unborn branches
      Add const to parse_{commit,tag}_buffer()
      sha1_file.c: move find_cached_object up so sha1_object_info can use it
      sha1_object_info: examine cached_object store too

Pat Thoyts (2):
      t3509: use unconstrained initial test to setup repository.
      t7407: fix line endings for mingw build

Shawn O. Pearce (1):
      bundle: Use OFS_DELTA in bundle files

Sitaram Chamarty (1):
      post-receive-email: suppress error if description file missing

Uwe Kleine-König (1):
      Documentation/merge subtree How-To: fix typo


Version v1.7.4; changes since v1.7.4-rc3:
-----------------------------------------

Adam Tkac (1):
      Don't pass "--xhtml" to hightlight in gitweb.perl script.

Jeff King (3):
      rebase: use explicit "--" with checkout
      rebase: give a better error message for bogus branch
      tests: sanitize more git environment variables

Jonathan Nieder (2):
      fast-import: treat filemodify with empty tree as delete
      rebase -i: clarify in-editor documentation of "exec"

Junio C Hamano (1):
      Git 1.7.4


Version v1.7.4-rc3; changes since v1.7.4-rc2:
---------------------------------------------

Alexey Shumkin (1):
      userdiff: match Pascal class methods

Björn Steinbrink (1):
      Correctly report corrupted objects

Erik Faye-Lund (1):
      exec_cmd: remove unused extern

Johannes Sixt (2):
      Fix expected values of setup tests on Windows
      t/README: hint about using $(pwd) rather than $PWD in tests

Jonathan Nieder (9):
      ll-merge: simplify opts == NULL case
      Documentation/fast-import: capitalize beginning of sentence
      remote-ext: do not segfault for blank lines
      Documentation/fast-import: put explanation of M 040000 <dataref> "" in context
      tests: cosmetic improvements to the repo-setup test
      tests: compress the setup tests
      Documentation: do not treat reset --keep as a special case
      Subject: setup: officially support --work-tree without --git-dir
      t1510: fix typo in the comment of a test

Junio C Hamano (2):
      Documentation updates for 'GIT_WORK_TREE without GIT_DIR' historical usecase
      Git 1.7.4-rc3

Ramsay Jones (1):
      svndump.c: Fix a printf format compiler warning


Version v1.7.4-rc2; changes since v1.7.4-rc1:
---------------------------------------------

Anders Kaseorg (1):
      Mark gitk script executable

Brandon Casey (3):
      trace.c: ensure NULL is not passed to printf
      t0001,t1510,t3301: use sane_unset which always returns with status 0
      t3032: limit sed branch labels to 8 characters

Jeff King (1):
      docs: explain diff.*.binary option

Jonathan Nieder (3):
      diff: funcname and word patterns for perl
      gitweb: make logo optional
      t9010: svnadmin can fail even if available

Junio C Hamano (2):
      userdiff/perl: catch BEGIN/END/... and POD as headers
      Git 1.7.4-rc2

Matthieu Moy (1):
      commit: suggest --amend --reset-author to fix commiter identity

Michael J Gruber (1):
      RelNotes/1.7.4: minor fixes

Ramsay Jones (7):
      lib-git-svn.sh: Move web-server handling code into separate function
      t9157-*.sh: Add an svn version check
      t6038-*.sh: Pass the -b (--binary) option to sed on cygwin
      t3032-*.sh: Pass the -b (--binary) option to sed on cygwin
      t3032-*.sh: Do not strip CR from line-endings while grepping on MinGW
      t4135-*.sh: Skip the "backslash" tests on cygwin
      t9157-*.sh: Make the svn version check more precise

StephenB (1):
      git svn: fix the final example in man page

Sylvain Rabot (2):
      gitweb: add extensions to highlight feature map
      gitweb: remove unnecessary test when closing file descriptor

Thomas Rast (4):
      Documentation/git-archive: spell --worktree-attributes correctly
      Documentation/githooks: post-rewrite-copy-notes never existed
      submodule: fix relative url parsing for scp-style origin
      t0000: quote TAP snippets in test code


Version v1.7.4-rc1; changes since v1.7.4-rc0:
---------------------------------------------

Antonio Ospite (1):
      t/t9001-send-email.sh: fix '&&' chain in some tests

Jonathan Nieder (3):
      vcs-svn: Error out for v3 dumps
      gitweb: skip logo in atom feed when there is none
      daemon: support <directory> arguments again

Junio C Hamano (3):
      t0021: avoid getting filter killed with SIGPIPE
      Git 1.7.3.5
      Git 1.7.4-rc1

Michael J Gruber (2):
      cvsimport: partial whitespace cleanup
      cvsimport: handle the parsing of uppercase config options

Pete Wyckoff (1):
      convert filter: supply path to external driver

Ralf Wildenhues (1):
      Fix typos in the documentation

Robin H. Johnson (1):
      t9001: Fix test prerequisites


Version v1.7.4-rc0; changes since v1.7.3.5:
-------------------------------------------

Aleksi Aalto (1):
      status: show branchname with a configurable color

Alexander Sulfrian (2):
      daemon: add helper function named_sock_setup
      daemon: allow more than one host address given via --listen

Alexandre Erwin Ittner (1):
      gitk: Add Brazilian Portuguese (pt-BR) translation

Anders Kaseorg (4):
      describe: Use for_each_rawref
      describe: Do not use a flex array in struct commit_name
      describe: Store commit_names in a hash table by commit SHA1
      describe: Delay looking up commits until searching for an inexact match

Antonio Ospite (1):
      git-send-email.perl: make initial In-Reply-To apply only to first email

Brandon Casey (3):
      diffcore-pickaxe.c: a void function shouldn't try to return something
      Makefile: add NO_FNMATCH_CASEFOLD to IRIX sections
      t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-'

Brian Gernhardt (1):
      t6022: Use -eq not = to test output of wc -l

Christopher Wilson (1):
      Enable highlight executable path as a configuration option

Clemens Buchacher (6):
      t7607: use test-lib functions and check MERGE_HEAD
      t7607: add leading-path tests
      add function check_ok_to_remove()
      lstat_cache: optionally return match_len
      do not overwrite files in leading path
      use persistent memory for rejected paths

Dan McGee (3):
      mergetool-lib: combine vimdiff and gvimdiff run blocks
      mergetool-lib: add a three-way diff view for vim/gvim
      mergetool-lib: make the three-way diff the default for vim/gvim

David Barr (3):
      fast-import: Allow filemodify to set the root
      fast-import: insert new object entries at start of hash bucket
      fast-import: let importers retrieve blobs

Elijah Newren (53):
      Document pre-condition for tree_entry_interesting
      tree-walk: Correct bitrotted comment about tree_entry()
      tree_entry_interesting(): Make return value more specific
      diff_tree(): Skip skip_uninteresting() when all remaining paths interesting
      t3509: Add rename + D/F conflict testcase that recursive strategy fails
      merge-recursive: D/F conflicts where was_a_dir/file -> was_a_dir
      t6032: Add a test checking for excessive output from merge
      t6022: Add test combinations of {content conflict?, D/F conflict remains?}
      t6022: Add tests for reversing order of merges when D/F conflicts present
      t6022: Add tests with both rename source & dest involved in D/F conflicts
      t6022: Add paired rename+D/F conflict: (two/file, one/file) -> (one, two)
      t6022: Add tests for rename/rename combined with D/F conflicts
      t6020: Modernize style a bit
      t6020: Add a testcase for modify/delete + directory/file conflict
      t6036: Test index and worktree state, not just that merge fails
      t6036: Add a second testcase similar to the first but with content changes
      t6036: Add testcase for undetected conflict
      merge-recursive: Small code clarification -- variable name and comments
      merge-recursive: Rename conflict_rename_rename*() for clarity
      merge-recursive: Nuke rename/directory conflict detection
      merge-recursive: Move rename/delete handling into dedicated function
      merge-recursive: Move delete/modify handling into dedicated function
      merge-recursive: Move process_entry's content merging into a function
      merge-recursive: New data structures for deferring of D/F conflicts
      merge-recursive: New function to assist resolving renames in-core only
      merge-recursive: Have process_entry() skip D/F or rename entries
      merge-recursive: Structure process_df_entry() to handle more cases
      merge-recursive: Update conflict_rename_rename_1to2() call signature
      merge-recursive: Update merge_content() call signature
      merge-recursive: Avoid doubly merging rename/add conflict contents
      merge-recursive: Move handling of double rename of one file to two
      merge-recursive: Move handling of double rename of one file to other file
      merge-recursive: Delay handling of rename/delete conflicts
      merge-recursive: Delay content merging for renames
      merge-recursive: Delay modify/delete conflicts if D/F conflict present
      conflict_rename_delete(): Check whether D/F conflicts are still present
      conflict_rename_rename_1to2(): Fix checks for presence of D/F conflicts
      merge_content(): Check whether D/F conflicts are still present
      handle_delete_modify(): Check whether D/F conflicts are still present
      merge-recursive: Make room for directories in D/F conflicts
      merge-recursive: Remove redundant path clearing for D/F conflicts
      t4017 (diff-retval): replace manual exit code check with test_expect_code
      t100[12] (read-tree-m-2way, read_tree_m_u_2way): add missing &&
      t4002 (diff-basic): use test_might_fail for commands that might fail
      t4202 (log): Replace '<git-command> || :' with test_might_fail
      t4019 (diff-wserror): add lots of missing &&
      t4026 (color): remove unneeded and unchained command
      t5602 (clone-remote-exec): add missing &&
      t6016 (rev-list-graph-simplify-history): add missing &&
      t7001 (mv): add missing &&
      t7601 (merge-pull-config): add missing &&
      t7800 (difftool): add missing &&
      Introduce sane_unset and use it to ensure proper && chaining

Eric Sunshine (5):
      Side-step sed line-ending "corruption" leading to t6038 failure.
      Side-step MSYS-specific path "corruption" leading to t5560 failure.
      Fix 'clone' failure at DOS root directory.
      Fix Windows-specific macro redefinition warning.
      Add MinGW-specific execv() override.

Erik Faye-Lund (20):
      mingw: do not crash on open(NULL, ...)
      inet_ntop: fix a couple of old-style decls
      mingw: use real pid
      mingw: support waitpid with pid > 0 and WNOHANG
      mingw: add kill emulation
      daemon: use run-command api for async serving
      daemon: use full buffered mode for stderr
      daemon: get remote host address from root-process
      mingw: import poll-emulation from gnulib
      mingw: use poll-emulation from gnulib
      daemon: use socklen_t
      daemon: make --inetd and --detach incompatible
      daemon: opt-out on features that require posix
      msvc: opendir: fix malloc-failure
      msvc: opendir: allocate enough memory
      msvc: opendir: do not start the search
      win32: dirent: handle errors
      msvc: opendir: handle paths ending with a slash
      win32: use our own dirent.h
      help: always suggest common-cmds if prefix of cmd

Giuseppe Bilotta (15):
      gitweb: use fullname as hash_base in heads link
      gitweb: introduce remote_heads feature
      gitweb: git_get_heads_list accepts an optional list of refs
      gitweb: separate heads and remotes lists
      gitweb: nagivation menu for tags, heads and remotes
      gitweb: allow action specialization in page header
      gitweb: remotes view for a single remote
      gitweb: refactor repository URL printing
      gitweb: provide a routine to display (sub)sections
      gitweb: group remote heads by remote
      git instaweb: enable remote_heads
      web--browse: coding style
      web--browse: split valid_tool list
      web--browse: support opera, seamonkey and elinks
      web--browse: better support for chromium

Greg Brockman (4):
      Allow creation of arbitrary git-shell commands
      Add interactive mode to git-shell for user-friendliness
      Add sample commands for git-shell
      shell: Display errors from improperly-formatted command lines

Ilari Liusvaara (4):
      Add bidirectional_transfer_loop()
      git-remote-fd
      git-remote-ext
      remote-fd/ext: finishing touches after code review

Jakub Narębski (12):
      t/gitweb-lib.sh: Use GIT_BUILD_DIR
      t/gitweb-lib.sh: Use tabs for indent consistently
      gitweb: Move call to evaluate_git_version after evaluate_gitweb_config
      t/gitweb-lib.sh: Add support for GITWEB_TEST_INSTALLED
      gitweb/Makefile: Add 'test' and 'test-installed' targets
      gitweb/Makefile: Include gitweb/config.mak
      gitweb: Fix test of highlighting support in t9500
      gitweb: Fix bug in evaluate_path_info
      gitweb: Improve behavior for actionless path_info gitweb URLs
      gitweb: Time::HiRes is in core for Perl 5.8
      gitweb: selectable configurations that change with each request
      gitweb: Fix handling of whitespace in generated links

Jan Krüger (1):
      read-tree: deprecate syntax without tree-ish args

Jeff King (13):
      tests: factor out terminal handling from t7006
      tests: test terminal output to both stdout and stderr
      push: pass --progress down to git-pack-objects
      config: treat non-existent config files as empty
      diff: report bogus input to -C/-M/-B
      docs: clarify git diff modes of operation
      allow command-specific pagers in pager.<cmd>
      docs: default to more modern toolset
      default color.status.branch to "same as header"
      tests: add some script lint checks
      tests: flip executable bit on t9158
      handle arbitrary ints in git_config_maybe_bool
      t2107: mark passing test as success

Jens Lehmann (5):
      clone: Add the --recurse-submodules option as alias for --recursive
      fetch/pull: Add the --recurse-submodules option
      Add the 'fetch.recurseSubmodules' config setting
      Submodules: Add the "fetchRecurseSubmodules" config option
      git submodule: Remove now obsolete tests before cloning a repo

Joe Perches (1):
      git-send-email.perl: Add --to-cmd

Johan Herland (23):
      notes.c: Hexify SHA1 in die() message from init_notes()
      (trivial) notes.h: Minor documentation fixes to copy_notes()
      notes.h: Make default_notes_ref() available in notes API
      notes.c: Reorder functions in preparation for next commit
      notes.h/c: Allow combine_notes functions to remove notes
      notes.h/c: Propagate combine_notes_fn return value to add_note() and beyond
      (trivial) t3303: Indent with tabs instead of spaces for consistency
      notes.c: Use two newlines (instead of one) when concatenating notes
      builtin/notes.c: Split notes ref DWIMmery into a separate function
      git notes merge: Initial implementation handling trivial merges only
      builtin/notes.c: Refactor creation of notes commits.
      git notes merge: Handle real, non-conflicting notes merges
      git notes merge: Add automatic conflict resolvers (ours, theirs, union)
      Documentation: Preliminary docs on 'git notes merge'
      git notes merge: Manual conflict resolution, part 1/2
      git notes merge: Manual conflict resolution, part 2/2
      git notes merge: List conflicting notes in notes merge commit message
      git notes merge: --commit should fail if underlying notes ref has moved
      git notes merge: Add another auto-resolving strategy: "cat_sort_uniq"
      git notes merge: Add testcases for merging notes trees at different fanouts
      Provide 'git notes get-ref' to easily retrieve current notes ref
      cmd_merge(): Parse options before checking MERGE_HEAD
      Provide 'git merge --abort' as a synonym to 'git reset --merge'

Johannes Schindelin (1):
      merge-octopus: Work around environment issue on Windows

Johannes Sixt (4):
      t7300: add a missing SYMLINKS prerequisite
      apply --whitespace=fix: fix tab-in-indent
      Make the tab width used for whitespace checks configurable
      Avoid duplicate test number t7609

Jonathan Nieder (52):
      merge-recursive: expose merge options for builtin merge
      ll-merge: replace flag argument with options struct
      commit-tree: free commit message before exiting
      test-lib: allow test code to check the list of declared prerequisites
      test_terminal: catch use without TTY prerequisite
      test_terminal: ensure redirections work reliably
      fast-import: filemodify after M 040000 <tree> "" crashes
      fast-import: tighten M 040000 syntax
      t9300 (fast-import): another test for the "replace root" feature
      fast-import: do not clear notes in do_change_note_fanout()
      user-manual: remote-tracking can be checked out, with detached HEAD
      tests: add missing &&
      tests: add missing &&, batch 2
      test-lib: introduce test_line_count to measure files
      t6022 (renaming merge): chain test commands with &&
      t1502 (rev-parse --parseopt): test exit code from "-h"
      t1400 (update-ref): use test_must_fail
      t3301 (notes): use test_expect_code for clarity
      t3404 (rebase -i): unroll test_commit loops
      t3404 (rebase -i): move comment to description
      t3404 (rebase -i): introduce helper to check position of HEAD
      t4124 (apply --whitespace): use test_might_fail
      wrapper: move xmmap() to sha1_file.c
      wrapper: move odb_* to environment.c
      path helpers: move git_mkstemp* to wrapper.c
      strbuf: move strbuf_branchname to sha1_name.c
      wrapper: give zlib wrappers their own translation unit
      pack-objects: mark file-local variable static
      Remove pack file handling dependency from wrapper.o
      Describe various forms of "be quiet" using OPT__QUIET
      fast-import: treat SIGUSR1 as a request to access objects early
      git-rev-parse.txt: clarify --git-dir
      gitweb: document $per_request_config better
      fast-import: stricter parsing of integer options
      fast-import: clarify documentation of "feature" command
      fast-import: Allow cat-blob requests at arbitrary points in stream
      git submodule -b ... of current HEAD fails
      Makefile: dependencies for vcs-svn tests
      parse-options: clearer reporting of API misuse
      parse-options: move NODASH sanity checks to parse_options_check
      parse-options: sanity check PARSE_OPT_NOARG flag
      parse-options: never suppress arghelp if LITERAL_ARGHELP is set
      parse-options: allow git commands to invent new option types
      parse-options: make resuming easier after PARSE_OPT_STOP_AT_NON_OPTION
      update-index: migrate to parse-options API
      treap: make treap_insert return inserted node
      vcs-svn: fix intermittent repo_tree corruption
      Makefile: transport-helper uses thread-utils.h
      t9300: avoid short reads from dd
      bash: simple reimplementation of _get_comp_words_by_ref
      t9300: use perl "head -c" clone in place of "dd bs=1 count=16000" kluge
      t0001: test git init when run via an alias

Joshua Jensen (6):
      Add string comparison functions that respect the ignore_case variable.
      Case insensitivity support for .gitignore via core.ignorecase
      Add case insensitivity support for directories when using git status
      Add case insensitivity support when using git ls-files
      Support case folding for git add when core.ignorecase=true
      Support case folding in git fast-import when core.ignorecase=true

Junio C Hamano (31):
      gitdiffcore doc: update pickaxe description
      diff: pass the entire diff-options to diffcore_pickaxe()
      git log/diff: add -G<regexp> that greps in the patch text
      diff/log -G<pattern>: tests
      grep: move logic to compile header pattern into a separate helper
      log --author: take union of multiple "author" requests
      disallow branch names that start with a hyphen
      Start 1.7.4 cycle
      merge-recursive: Restructure showing how to chain more process_* functions
      Martin Langhoff has a new e-mail address
      Make test script t9157 executable
      merge-recursive:make_room_for_directories - work around dumb compilers
      core.abbrevguard: Ensure short object names stay unique a bit longer
      read_sha1_file(): report correct name of packfile with a corrupt object
      A loose object is not corrupt if it cannot be read due to EMFILE
      t9001: send-email interation with --in-reply-to and --chain-reply-to
      t3404: do not use 'describe' to implement test_cmp_rev
      Update draft release notes to 1.7.4
      Update draft release notes to 1.7.4
      t9300: remove unnecessary use of /dev/stdin
      t9119: do not compare "Text Last Updated" line from "svn info"
      t9010 fails when no svn is available
      get_sha1: teach ":$n:<path>" the same relative path logic
      Documentation/git.txt: update list of maintenance releases
      fetch_populated_submodules(): document dynamic allocation
      thread-utils.h: simplify the inclusion
      Relnotes: remove items fixed on 'maint'
      get_sha1_oneline: fix lifespan rule of temp_commit_buffer variable
      Update draft release notes to 1.7.4
      set_try_to_free_routine(NULL) means "do nothing special"
      Git 1.7.4-rc0

Justin Frankel (2):
      merge-recursive --patience
      merge-recursive: options to ignore whitespace changes

Kevin Ballard (9):
      merge-recursive: option to specify rename threshold
      diff: add synonyms for -M, -C, -B
      completion: Support the DWIM mode for git checkout
      blame: Add option to show author email instead of name
      submodule: preserve all arguments exactly when recursing
      submodule: only preserve flags across recursive status/update invocations
      rebase: better rearranging of fixup!/squash! lines with --autosquash
      rebase: teach --autosquash to match on sha1 in addition to message
      diff: add --detect-copies-harder as a synonym for --find-copies-harder

Kirill Smelkov (1):
      gitk: Show notes by default (like git log does)

Mark Lodato (2):
      completion: make compatible with zsh
      completion: fix zsh check under bash with 'set -u'

Markus Duft (2):
      add support for the SUA layer (interix; windows)
      Interix: add configure checks

Martin Storsjö (1):
      Improve the mingw getaddrinfo stub to handle more use cases

Martin von Zweigbergk (3):
      rebase: support --verify
      Use reflog in 'pull --rebase . foo'
      completion: add missing configuration variables

Matthieu Moy (9):
      Better "Changed but not updated" message in git-status
      Replace "remote tracking" with "remote-tracking"
      Change remote tracking to remote-tracking in non-trivial places
      everyday.txt: change "tracking branch" to "remote-tracking branch"
      Change "tracking branch" to "remote-tracking branch"
      Change incorrect uses of "remote branch" meaning "remote-tracking"
      Change incorrect "remote branch" to "remote tracking branch" in C code
      user-manual.txt: explain better the remote(-tracking) branch terms
      git-branch.txt: mention --set-upstream as a way to change upstream configuration

Michael J Gruber (4):
      t5503: fix typo
      test: allow running the tests under "prove"
      t800?-blame.sh: retitle uniquely
      t1020-subdirectory: test alias expansion in a subdirectory

Mike Pape (3):
      mingw: add network-wrappers for daemon
      mingw: implement syslog
      compat: add inet_pton and inet_ntop prototypes

Nguyễn Thái Ngọc Duy (64):
      branch -h: show usage even in an invalid repository
      checkout-index -h: show usage even in an invalid repository
      commit/status -h: show usage even with broken configuration
      gc -h: show usage even with broken configuration
      ls-files -h: show usage even with corrupt index
      merge -h: show usage even with corrupt index
      update-index -h: show usage even with corrupt index
      add: do not rely on dtype being NULL behavior
      get_cwd_relative(): do not misinterpret root path
      builtins: print setup info if repo is found
      Add t1510 and basic rules that run repo setup
      t1510: setup case #0
      t1510: setup case #1
      t1510: setup case #2
      t1510: setup case #3
      t1510: setup case #4
      t1510: setup case #5
      t1510: setup case #6
      t1510: setup case #7
      t1510: setup case #8
      t1510: setup case #9
      t1510: setup case #10
      t1510: setup case #11
      t1510: setup case #12
      t1510: setup case #13
      t1510: setup case #14
      t1510: setup case #15
      t1510: setup case #16
      t1510: setup case #17
      t1510: setup case #18
      t1510: setup case #19
      t1510: setup case #20
      t1510: setup case #21
      t1510: setup case #22
      t1510: setup case #23
      t1510: setup case #24
      t1510: setup case #25
      t1510: setup case #26
      t1510: setup case #27
      t1510: setup case #28
      t1510: setup case #29
      t1510: setup case #30
      t1510: setup case #31
      cache.h: realign and use (1 << x) form for CE_* constants
      dir.c: add free_excludes()
      unpack-trees: move all skip-worktree checks back to unpack_trees()
      unpack-trees: fix sparse checkout's "unable to match directories"
      Revert "excluded_1(): support exclude files in index"
      setup: save prefix (original cwd relative to toplevel) in startup_info
      Make prefix_path() return char* without const
      get_sha1: support relative path ":path" syntax
      get_sha1_oneline: make callers prepare the commit list to traverse
      get_sha1: support $commit^{/regex} syntax
      get_sha1: handle special case $commit^{/}
      Add git_config_early()
      Use git_config_early() instead of git_config() during repo setup
      setup: limit get_git_work_tree()'s to explicit setup case only
      setup: clean up setup_bare_git_dir()
      setup: clean up setup_discovered_git_dir()
      setup: rework setup_explicit_git_dir()
      Remove all logic from get_git_work_tree()
      Revert "Documentation: always respect core.worktree if set"
      git.txt: correct where --work-tree path is relative to
      setup_work_tree: adjust relative $GIT_WORK_TREE after moving cwd

Pascal Obry (3):
      Minor indentation fix.
      Remove @smtp_host_parts variable as not used.
      New send-email option smtpserveroption.

Pat Notz (6):
      commit: helper methods to reduce redundant blocks of code
      pretty.c: teach format_commit_message() to reencode the output
      commit: --fixup option for use with rebase --autosquash
      add tests of commit --fixup
      commit: --squash option for use with rebase --autosquash
      add tests of commit --squash

Pat Thoyts (13):
      MinGW: fix stat() and lstat() implementations for handling symlinks
      MinGW: Report errors when failing to launch the html browser.
      Skip t1300.70 and 71 on msysGit.
      Do not strip CR when grepping HTTP headers.
      Skip 'git archive --remote' test on msysGit
      git-am: fix detection of absolute paths for windows
      git-gui: show command-line errors in a messagebox on Windows
      git-gui: enable the Tk console when tracing/debugging on Windows
      git-gui: generic version trimming
      git-gui: use full dialog width for old name when renaming branch
      git-gui: correct assignment of work-tree
      git-gui: use wordprocessor tab style to ensure tabs work as expected
      git-gui: apply color information from git diff output

Peter Krefting (1):
      gitk: Update Swedish translation (290t)

Peter van der Does (1):
      bash: get --pretty=m<tab> completion to work with bash v4

Petr Onderka (1):
      Add global and system-wide gitattributes

Ralf Thielow (1):
      commit.c: Remove backward goto in read_craft_line()

Ramkumar Ramachandra (10):
      shell: Rewrite documentation and improve error message
      t4014-format-patch: Call test_tick before committing
      format-patch: Don't go over merge commits
      fmt_merge_msg: Change fmt_merge_msg API to accept shortlog_len
      merge: Make '--log' an integer option for number of shortlog entries
      merge: Make 'merge.log' an integer or boolean option
      t6200-fmt-merge-msg: Exercise 'merge.log' to configure shortlog length
      t6200-fmt-merge-msg: Exercise '--log' to configure shortlog length
      Porcelain scripts: Rewrite cryptic "needs update" error message
      t9010 (svn-fe): Eliminate dependency on svn perl bindings

Ramsay Jones (10):
      msvc: Fix compilation errors in compat/win32/sys/poll.c
      msvc: git-daemon.exe: Fix linker "unresolved externals" error
      msvc: Fix build by adding missing INTMAX_MAX define
      msvc: Fix macro redefinition warnings
      t3600-rm.sh: Don't pass a non-existent prereq to test #15
      t9142: Move call to start_httpd into the setup test
      lib-git-svn.sh: Avoid setting web server variables unnecessarily
      lib-git-svn.sh: Add check for mis-configured web server variables
      t9501-*.sh: Fix a test failure on Cygwin
      difftool: Fix failure on Cygwin

René Scharfe (7):
      add description parameter to OPT__VERBOSE
      add description parameter to OPT__DRY_RUN
      add description parameter to OPT__QUIET
      add OPT__FORCE
      archive: improve --verbose description
      branch: improve --verbose description
      verify-tag: document --verbose

SZEDER Gábor (7):
      bisect: improve error message of 'bisect log' while not bisecting
      bisect: improve error msg of 'bisect reset' when original HEAD is deleted
      bisect: check for mandatory argument of 'bisect replay'
      bash: offer refs for 'git bisect start'
      bash: not all 'git bisect' subcommands make sense when not bisecting
      bash: support more 'git notes' subcommands and their options
      bash: support pretty format aliases

Santi Béjar (1):
      parse-remote: handle detached HEAD

Schalk, Ken (1):
      t3030: Add a testcase for resolvable rename/add conflict with symlinks

Sebastian Schuberth (3):
      MinGW: Use pid_t more consequently, introduce uid_t for greater compatibility
      MinGW: Add missing file mode bit defines
      On Windows, avoid git-gui to call Cygwin's nice utility

Shawn O. Pearce (2):
      Use git_open_noatime when accessing pack data
      Work around EMFILE when there are too many pack files

Stefan Haller (2):
      gitk: Prevent the text pane from becoming editable
      gitk: Make text selectable on Mac

Stephen Boyd (4):
      send-email: Use To: headers in patch files
      send-email: Don't leak To: headers between patches
      parse-options: Don't call parse_options_check() so much
      parse-options: do not infer PARSE_OPT_NOARG from option type

Steven Walter (1):
      git-svn: allow the mergeinfo property to be set

Sven Eckelmann (1):
      contrib/ciabot: git-describe commit instead of HEAD

Tay Ray Chuan (4):
      t5523-push-upstream: add function to ensure fresh upstream repo
      t5523-push-upstream: test progress messages
      format-patch: page output with --stdout
      bash completion: add basic support for git-reflog

Thiago Farina (3):
      commit: Add commit_list prefix in two function names.
      builtin/branch.c: Use ALLOC_GROW instead of alloc_nr and xrealloc.
      builtin/rm.c: Use ALLOC_GROW instead of alloc_nr and xrealloc.

Thomas Rast (3):
      {cvs,svn}import: use the new 'git read-tree --empty'
      t0003: properly quote $HOME
      gitk: Add the equivalent of diff --color-words

Torsten Bögershausen (1):
      t9143: do not fail when unhandled.log.gz is not created

Yann Dirson (1):
      diff: use "find" instead of "detect" as prefix for long forms of -M and -C

Ævar Arnfjörð Bjarmason (22):
      send-email: use catfile() to concatenate files
      send-email: use lexical filehandle for opendir
      send-email: use lexical filehandles for $compose
      send-email: use lexical filehandles during sending
      send-email: get_patch_subject doesn't need a prototype
      send-email: file_declares_8bit_cte doesn't need a prototype
      send-email: unique_email_list doesn't need a prototype
      send-email: cleanup_compose_files doesn't need a prototype
      send-email: use \E***\Q instead of \*\*\*
      send-email: sanitize_address use $foo, not "$foo"
      send-email: sanitize_address use qq["foo"], not "\"foo\""
      send-email: use (?:) instead of () if no match variables are needed
      send-email: send_message die on $!, not $?
      send-email: make_message_id use "require" instead of "use"
      send-email: use Perl idioms in while loop
      send-email: is_rfc2047_quoted use qr// regexes
      send-email: extract_valid_address use qr// regexes
      Makefile & configure: add a NO_FNMATCH flag
      Makefile & configure: add a NO_FNMATCH_CASEFOLD flag
      test-lib: make test_expect_code a test command
      t7004-tag.sh: re-arrange git tag comment for clarity
      tests: use test_cmp instead of piping to diff(1)

Štěpán Němec (2):
      CodingGuidelines: Add a section on writing documentation
      diff,difftool: Don't use the {0,2} notation in usage strings


Version v1.7.3.5; changes since v1.7.3.4:
-----------------------------------------

Brandon Casey (1):
      test-lib.sh/test_decode_color(): use octal not hex in awk script

Jakub Narębski (1):
      gitweb: Include links to feeds in HTML header only for '200 OK' response

Jeff King (1):
      ident: die on bogus date format

Jiang Xin (1):
      Fix typo in git-gc document.

Jonathan Nieder (2):
      t0050: fix printf format strings for portability
      gitweb: skip logo in atom feed when there is none

Junio C Hamano (5):
      commit: die before asking to edit the log message
      am --abort: keep unrelated commits since the last failure and warn
      rebase --skip: correctly wrap-up when skipping the last patch
      Prepare for 1.7.3.5
      Git 1.7.3.5

Kevin Ballard (1):
      status: Quote paths with spaces in short format

Kirill Smelkov (2):
      t/t8006: Demonstrate blame is broken when cachetextconv is on
      fill_textconv(): Don't get/put cache if sha1 is not valid

Mark Lodato (1):
      fsck docs: remove outdated and useless diagnostic

Michael J Gruber (2):
      git-difftool.txt: correct the description of $BASE and describe $MERGED
      difftool: provide basename to external tools

Ramsay Jones (1):
      t3419-*.sh: Fix arithmetic expansion syntax error

René Scharfe (1):
      close file on error in read_mmfile()

Robin H. Johnson (2):
      Fix false positives in t3404 due to SHELL=/bin/false
      t9001: Fix test prerequisites

Thomas Rast (1):
      userdiff: fix typo in ruby and python word regexes

Vasyl' Vavrychuk (1):
      trace.c: mark file-local function static


Version v1.7.3.4; changes since v1.7.3.3:
-----------------------------------------

Alan Raison (1):
      contrib/hooks/post-receive-email: fix return values from prep_for_email

Alejandro R. Sedeño (1):
      Add --force to git-send-email documentation

Anders Kaseorg (1):
      apply: Recognize epoch timestamps with : in the timezone

Christoph Mallon (1):
      diff --check: correct line numbers of new blank lines at EOF

Clemens Buchacher (6):
      t7607: use test-lib functions and check MERGE_HEAD
      t7607: add leading-path tests
      add function check_ok_to_remove()
      lstat_cache: optionally return match_len
      do not overwrite files in leading path
      use persistent memory for rejected paths

Federico Cuello (1):
      Fix git-apply with -p greater than 1

Gabriel Corona (2):
      t5550: test HTTP authentication and userinfo decoding
      Fix username and password extraction from HTTP URLs

Jakub Narębski (1):
      gitweb: Introduce esc_attr to escape attributes of HTML elements

Jari Aalto (1):
      git-pull.txt: Mention branch.autosetuprebase

Jeff King (2):
      log.decorate: accept 0/1 bool values
      reflogs: clear flags properly in corner case

Jonathan "Duke" Leto (1):
      Correct help blurb in checkout -p and friends

Jonathan Nieder (4):
      apply: handle patches with funny filename and colon in timezone
      cherry-pick/revert: transparently refresh index
      Documentation: split gitignore page into sections
      Documentation: point to related commands from gitignore

Junio C Hamano (5):
      test: git-apply -p2 rename/chmod only
      Do not link with -lcrypto under NO_OPENSSL
      Prepare for 1.7.3.4
      Prepare for 1.7.3.4
      Git 1.6.4.5

Kirill Smelkov (1):
      setup: make sure git_dir path is in a permanent buffer, getenv(3) case

Martin von Zweigbergk (2):
      rebase --abort: do not update branch ref
      rebase: only show stat if configured to true

Michael J Gruber (6):
      t/t7004-tag: test handling of rfc1991 signatures
      verify-tag: factor out signature detection
      tag: factor out sig detection for body edits
      tag: factor out sig detection for tag display
      tag: recognize rfc1991 signatures
      git-rm.txt: Fix quoting

Nguyễn Thái Ngọc Duy (1):
      entry.c: remove "checkout-index" from error messages

Nicolas Pitre (2):
      diff: don't presume empty file when corresponding object is missing
      make pack-objects a bit more resilient to repo corruption

Tay Ray Chuan (10):
      smart-http: Don't change POST to GET when following redirect
      t5550-http-fetch: add missing '&&'
      t5550-http-fetch: add test for http-fetch
      shift end_url_with_slash() from http.[ch] to url.[ch]
      url: add str wrapper for end_url_with_slash()
      http-backend: use end_url_with_slash()
      http-push: Normalise directory names when pushing to some WebDAV servers
      http-push: check path length before using it
      http-push: add trailing slash at arg-parse time, instead of later on
      http-fetch: rework url handling

Ævar Arnfjörð Bjarmason (2):
      perl: bump the required Perl version to 5.8 from 5.6.[21]
      perl: use "use warnings" instead of -w


Version v1.7.3.3; changes since v1.7.3.2:
-----------------------------------------

Andreas Köhler (1):
      submodule sync: Update "submodule.<name>.url" for empty directories

Andrew Waters (1):
      Fix handling of git-p4 on deleted files

Brandon Casey (2):
      userdiff.c: add builtin fortran regex patterns
      builtin/revert.c: don't dereference a NULL pointer

Brian Gernhardt (1):
      t/gitweb-lib: Don't pass constant to decode_utf8

Clemens Buchacher (3):
      add rebase patch id tests
      do not search functions for patch ID
      do not overwrite untracked during merge from unborn branch

Daniel Knittl-Frank (1):
      bash: Match lightweight tags in prompt

David Kågedal (1):
      git-blame.el: Add (require 'format-spec)

Diego Elio Pettenò (1):
      imap-send: link against libcrypto for HMAC and others

Erik Faye-Lund (1):
      mingw: do not set errno to 0 on success

Giuseppe Bilotta (1):
      CodingGuidelines: mention whitespace preferences for shell scripts

Jan Krüger (2):
      repack: add -F flag to let user choose between --no-reuse-delta/object
      Documentation: pack.compression: explain how to recompress

Jari Aalto (1):
      git-commit.txt: (synopsis): move -i and -o before "--"

Jeff King (6):
      diff: don't use pathname-based diff drivers for symlinks
      rev-list: handle %x00 NUL in user format
      docs: give more hints about how "add -e" works
      apply: don't segfault on binary files with missing data
      docs: give more hints about how "add -e" works
      document sigchain api

Jens Lehmann (1):
      pull: Remove --tags option from manpage

Jim Meyering (1):
      mailmap: fix use of freed memory

Joe Perches (1):
      git-send-email.perl: Deduplicate "to:" and "cc:" entries with names

Jonathan Nieder (5):
      t4203 (mailmap): stop hardcoding commit ids and dates
      send-pack: avoid redundant "pack-objects died with strange error"
      Documentation: document show -s
      add: introduce add.ignoreerrors synonym for add.ignore-errors
      Documentation: do not misinterpret pull refspec as bold text

Junio C Hamano (5):
      t4203: do not let "git shortlog" DWIM based on tty
      t3402: test "rebase -s<strategy> -X<opt>"
      Documentation: Fix mark-up of lines with more than one tilde
      Git 1.7.0.8
      Git 1.7.3.3

Kevin Ballard (2):
      test-lib: extend test_decode_color to handle more color codes
      diff: handle lines containing only whitespace and tabs better

Kevin P. Fleming (1):
      post-receive-email: ensure sent messages are not empty

Kirill Smelkov (3):
      blame,cat-file: Prepare --textconv tests for correctly-failing conversion program
      blame,cat-file: Demonstrate --textconv is wrongly running converter on symlinks
      blame,cat-file --textconv: Don't assume mode is ``S_IFREF | 0664''

Martin von Zweigbergk (2):
      rebase -X: do not clobber strategy
      Documentation/git-pull: clarify configuration

Michael J Gruber (6):
      git-reset.txt: clarify branch vs. branch head
      git-reset.txt: reset does not change files in target
      git-reset.txt: reset --soft is not a no-op
      git-reset.txt: use "working tree" consistently
      git-reset.txt: point to git-checkout
      git-reset.txt: make modes description more consistent

Nathan W. Panike (1):
      Fix a formatting error in git-merge.txt

Nguyễn Thái Ngọc Duy (3):
      dir.c: fix EXC_FLAG_MUSTBEDIR match in sparse checkout
      clean: avoid quoting twice
      clean: remove redundant variable baselen

René Scharfe (1):
      diff: avoid repeated scanning while looking for funcname

Thomas Rast (4):
      send-email: Refuse to send cover-letter template subject
      prefix_filename(): safely handle the case where pfx_len=0
      merge-file: correctly find files when called in subdir
      repack: place temporary packs under .git/objects/pack/

Uwe Kleine-König (1):
      get_author_ident_from_commit(): remove useless quoting

Yann Dirson (3):
      Fix copy-pasted comments related to tree diff handling.
      Keep together options controlling the behaviour of diffcore-rename.
      Document that rev-list --graph triggers parent rewriting.

Ævar Arnfjörð Bjarmason (1):
      Makefile: add CC to TRACK_CFLAGS


Version v1.7.3.2; changes since v1.7.3.1:
-----------------------------------------

Andreas Gruenbacher (1):
      Clarify and extend the "git diff" format documentation

Antonio Ospite (1):
      t/t9001-send-email.sh: fix stderr redirection in 'Invalid In-Reply-To'

Bert Wesarg (1):
      Documentation: update-index: -z applies also to --index-info

Brandon Casey (1):
      diffcore-pickaxe.c: remove unnecessary curly braces

Cliff Frey (1):
      documentation: git-config minor cleanups

Elijah Newren (1):
      t3020 (ls-files-error-unmatch): remove stray '1' from end of file

Eric Wong (1):
      Documentation/git-svn: discourage "noMetadata"

Erik Faye-Lund (1):
      do not depend on signed integer overflow

Johannes Schindelin (2):
      Make sure that git_getpass() never returns NULL
      Fix typo in pack-objects' usage

Jon Seymour (1):
      stash: simplify parsing fixes

Jonathan Nieder (10):
      t0004 (unwritable files): simplify error handling
      environment.c: remove unused variable
      setup: make sure git dir path is in a permanent buffer
      init: plug tiny one-time memory leak
      xdiff: cast arguments for ctype functions to unsigned char
      Documentation: No argument of ALLOC_GROW should have side-effects
      Documentation: gitrevisions is in section 7
      Documentation: diff can compare blobs
      Documentation: expand 'git diff' SEE ALSO section
      Documentation: update implicit "--no-index" behavior in "git diff"

Junio C Hamano (4):
      MinGW: avoid collisions between "tags" and "TAGS"
      CodingGuidelines: reword parameter expansion section
      shell portability: no "export VAR=VAL"
      Git 1.7.3.2

Kevin Ballard (1):
      Update test script annotate-tests.sh to handle missing/extra authors

Kirill Smelkov (1):
      user-manual: be consistent in illustrations to 'git rebase'

Mathias Lafeldt (1):
      git-svn: fix processing of decorated commit hashes

Matthieu Moy (1):
      diff: trivial fix for --output file error message

Michael J Gruber (4):
      remote-helpers: build in platform independent directory
      user-manual: fix anchor name Finding-comments-With-given-Content
      rev-list-options: clarify --parents and --children
      git-show-ref.txt: clarify the pattern matching

Ramkumar Ramachandra (1):
      SubmittingPatches: Document some extra tags used in commit messages

René Scharfe (1):
      work around buggy S_ISxxx(m) implementations

Steven Walter (1):
      git-svn: check_cherry_pick should exclude commits already in our history

Tony Luck (1):
      Better advice on using topic branches for kernel development

Uwe Kleine-König (1):
      Documentation/git-clone: describe --mirror more verbosely

Yann Dirson (1):
      t/t3415: use && where applicable.

Štěpán Němec (6):
      Use angles for placeholders consistently
      Fix odd markup in --diff-filter documentation
      Use parentheses and `...' where appropriate
      Remove stray quotes in --pretty and --format documentation
      Put a space between `<' and argument in pack-objects usage string
      Fix {update,checkout}-index usage strings


Version v1.7.3.1; changes since v1.7.3:
---------------------------------------

Brandon Casey (3):
      t/t3903-stash: improve testing of git-stash show
      wt-status.c: don't leak directory entries when processing untracked,ignored
      git-send-email.perl: ensure $domain is defined before using it

Brian Gernhardt (1):
      git-stash: fix flag parsing

Christian Couder (1):
      t6050 (replace): fix bogus "fetch branch with replacement" test

Daniel Knittl-Frank (1):
      Improvements to `git checkout -h`

Jeff King (1):
      prefer test -h over test -L in shell scripts

Jon Seymour (1):
      stash: fix git stash branch regression when branch creation fails

Junio C Hamano (2):
      CodingGuidelines: spell Arithmetic Expansion with $(($var))
      Git 1.7.3.1

Linus Torvalds (1):
      Fix missing 'does' in man-page for 'git checkout'

Matthieu Moy (1):
      update comment and documentation for :/foo syntax

Michael J Gruber (1):
      contrib/completion: --no-index option to git diff

Pat Notz (2):
      strbuf.h: fix comment typo
      dir.c: squelch false uninitialized memory warning

Ramsay Jones (1):
      t1503: Fix arithmetic expansion syntax error when using dash

Tomas Carnecky (1):
      stash drops the stash even if creating the branch fails because it already exists

Wesley J. Landaker (1):
      Documentation: Refer to git-commit-tree in git-filter-branch help


Version v1.7.3; changes since v1.7.3-rc2:
-----------------------------------------

Brandon Casey (1):
      t/t7300: workaround ancient touch by rearranging arguments

Brian Gernhardt (1):
      t7003: Use test_commit instead of custom function

Chris Johnsen (1):
      git-rebase--interactive.sh: replace cut with ${v%% *}

Jay Soffian (1):
      git-ls-files.txt: clarify -x/--exclude option

Junio C Hamano (2):
      ls-files documentation: reword for consistency
      Git 1.7.3


Version v1.7.3-rc2; changes since v1.7.3-rc1:
---------------------------------------------

Csaba Henk (2):
      bundle: detect if bundle file cannot be created
      filter-branch: retire --remap-to-ancestor

Jens Lehmann (2):
      Several tests: cd inside subshell instead of around
      t1020: Get rid of 'cd "$HERE"' at the start of each test

Jonathan Nieder (5):
      tests: subshell indentation stylefix
      t1450 (fsck): remove dangling objects
      t2105 (gitfile): add missing &&
      t1302 (core.repositoryversion): style tweaks
      t2016 (checkout -p): add missing &&

Junio C Hamano (3):
      t3101: modernise style
      ls-tree $di $dir: do not mistakenly recurse into directories
      Git 1.7.3 rc2

Matthieu Moy (1):
      git-gui: use shell to launch textconv filter in "blame"

Oded Shimon (1):
      Add --src/dst-prefix to git-formt-patch in git-rebase.sh

Pat Thoyts (6):
      git-gui: Make usage statement visible on Windows.
      git-gui: display error launching blame as a message box.
      git-gui: handle textconv filter on Windows and in development
      git-gui: ensure correct application termination in git-gui--askpass
      git-gui: avoid mis-encoding the copyright message on Windows.
      git-gui 0.13

Peter Krefting (1):
      git-gui: Update Swedish translation (521t).

Ramsay Jones (1):
      vcs-svn: Fix some printf format compiler warnings

René Scharfe (1):
      compat/nedmalloc: don't force NDEBUG on the rest of git

Schalk, Ken (1):
      RE: [PATCH] Avoid rename/add conflict when contents are identical


Version v1.7.3-rc1; changes since v1.7.3-rc0:
---------------------------------------------

Anselm Kruis (1):
      Add a new option 'core.askpass'.

Brandon Casey (10):
      t/t5510: demonstrate failure to fetch when current branch has merge ref
      builtin/fetch.c: ignore merge config when not fetching from branch's remote
      t/t7008: workaround broken handling of \000 by printf on IRIX
      Makefile: use compat regex on IRIX 6.5
      builtin/fetch.c: comment that branch->remote_name is usable when has_merge
      t/t5510-fetch.sh: improve testing with explicit URL and merge spec
      diff.c: call regfree to free memory allocated by regcomp when necessary
      xdiff-interface.c: always trim trailing space from xfuncname matches
      t/t4018: test whether the word_regex patterns compile
      t/t4018: avoid two unnecessary sub-shell invocations

Elijah Newren (2):
      cache_tree_free: Fix small memory leak
      revert: Fix trivial comment style issue

Jeff King (3):
      pass "git -c foo=bar" params through environment
      tests: make test_must_fail more verbose
      tests: make test_must_fail fail on missing commands

Jens Lehmann (1):
      t3404 & t7508: cd inside subshell instead of around

Johan Herland (1):
      notes: Don't create (empty) commit when removing non-existing notes

Johannes Sixt (1):
      fast-export: ensure that a renamed file is printed after all references

Jonathan Nieder (3):
      do not pass "git -c foo=bar" params to transport helpers
      tests: make test_might_fail more verbose
      tests: make test_might_fail fail on missing commands

Junio C Hamano (3):
      install-webdoc: keep installed RelNotes-*.txt
      Prepare for 1.7.3 rc1
      Git 1.7.3 rc1

Knut Franke (2):
      Allow core.askpass to override SSH_ASKPASS.
      Extend documentation of core.askpass and GIT_ASKPASS.

Mark Lodato (1):
      config.txt: fix placement of diff.noprefix

Nicolas Pitre (1):
      Documentation: move RelNotes into a directory of their own

Thiago Farina (2):
      builtin.h: Move two functions definitions to help.h.
      builtin/clean.c: Use STRING_LIST_INIT_NODUP.


Version v1.7.3-rc0; changes since v1.7.2.5:
-------------------------------------------

Alejandro R. Sedeño (1):
      gitweb: move highlight config out of guess_file_syntax()

Alex Riesen (2):
      Add a for_each_string_list_item macro
      Convert the users of for_each_string_list to for_each_string_list_item macro

Alexander Gladysh (1):
      Add a rename + D/F conflict testcase

Anders Kaseorg (1):
      gitweb: Don't die_error in git_tag after already printing headers

Brandon Casey (2):
      git-rebase--interactive.sh: rework skip_unnecessary_picks
      git-rebase--interactive.sh: use printf instead of echo to print commit message

Brian Gernhardt (2):
      t7610: cd inside subshell instead of around
      t7606: Avoid using head as a file name

Charles Bailey (1):
      mergetool: Remove explicit references to /dev/tty

Christian Couder (11):
      revert: report success when using option --strategy
      revert: refactor commit code into a new run_git_commit() function
      revert: don't print "Finished one cherry-pick." if commit failed
      revert: improve success message by adding abbreviated commit sha1
      t3508: add check_head_differs_from() helper function and use it
      revert: fix off by one read when searching the end of a commit subject
      revert: refactor code to find commit subject in find_commit_subject()
      revert: rename variables related to subject in get_message()
      bisect: use find_commit_subject() instead of custom code
      merge-recursive: use find_commit_subject() instead of custom code
      blame: use find_commit_subject() instead of custom code

Clemens Buchacher (1):
      hash binary sha1 into patch id

David Aguilar (1):
      mergetool: Skip autoresolved paths

David Barr (5):
      Add memory pool library
      Add string-specific memory pool
      Add stream helper library
      Infrastructure to write revisions in fast-export format
      SVN dump parser

David D. Kilzer (3):
      git svn: fix dcommit to work with touched files
      git-svn: fix regex to remove "tail" from svn tags
      git-svn: fix fetch with deleted tag

Diane Gasselin (2):
      merge-recursive: porcelain messages for checkout
      t7609: test merge and checkout error messages

Dmitry Statyvka (1):
      git svn: add an option to recode pathnames

Elijah Newren (13):
      Add additional testcases for D/F conflicts
      merge-recursive: Fix D/F conflicts
      merge_recursive: Fix renames across paths below D/F conflicts
      fast-export: Fix output order of D/F changes
      fast-import: Improve robustness when D->F changes provided in wrong order
      fast-export: Fix dropping of files with --import-marks and path limiting
      fast-export: Add a --full-tree option
      upload-pack: Improve error message when bad ref requested
      Mark tests that use symlinks as needing SYMLINKS prerequisite
      merge-recursive: Fix typo
      t6031: Add a testcase covering multiple renames across a D/F conflict
      merge-recursive: Fix multiple file rename across D/F conflict
      merge-recursive: Avoid excessive output for and reprocessing of renames

Eric Wong (4):
      instaweb: fix WEBrick server support
      instaweb: minimize moving parts for WEBrick
      instaweb: add access+error logging for WEBrick
      t9155: fix compatibility with older SVN

Eyvind Bernhardsen (3):
      Avoid conflicts when merging branches with mixed normalization
      Try normalizing files to avoid delete/modify conflicts when merging
      Don't expand CRLFs when normalizing text during merge

Frank Li (1):
      Change regerror() declaration from K&R style to ANSI C (C89)

Greg Brockman (1):
      split_cmdline: Allow caller to access error string

Heiko Voigt (4):
      Teach ref iteration module about submodules
      setup_revisions(): Allow walking history in a submodule
      Implement automatic fast-forward merge for submodules
      add configuration variable for --autosquash option of interactive rebase

Jakub Narębski (1):
      gitweb: Fix typo in run() subroutine

Jared Hance (5):
      Convert "! git" to "test_must_fail git"
      Add -e/--exclude to git-clean.
      Add test for git clean -e.
      builtin/push.c: remove useless temporary variable
      Document git-instaweb start/stop/restart

Jason Evans (1):
      Add treap implementation

Jeff King (1):
      docs: fix Makefile dependency for user manual

Jens Lehmann (7):
      Submodules: Add the new "ignore" config option for diff and status
      Submodules: Use "ignore" settings from .gitmodules too for diff and status
      Add tests for the diff.ignoreSubmodules config option
      checkout: Add test for diff.ignoreSubmodules
      checkout: Use submodule.*.ignore settings from .git/config and .gitmodules
      t7405: cd inside subshell instead of around
      t7406 & t7407: add missing && at end of lines

Johan Herland (2):
      Make graph_next_line() available in the graph.h API
      Enable custom schemes for column colors in the graph API

Johannes Schindelin (2):
      Add the 'diff.ignoreSubmodules' config setting
      checkout: respect diff.ignoreSubmodules setting

Johannes Sixt (1):
      Fix compat/regex ANSIfication on MinGW

Jon Seymour (14):
      detached-stash: introduce parse_flags_and_revs function
      detached-stash: work around git rev-parse failure to detect bad log refs
      detached-stash: simplify stash_apply
      detached-stash: simplify stash_drop
      detached-stash: refactor git stash pop implementation
      detached-stash: simplify git stash branch
      detached-stash: simplify git stash show
      detached-stash: tests of git stash with stash-like arguments
      detached-stash: update Documentation
      rev-parse: exit with non-zero status if ref@{n} is not valid.
      sha1_name.c: use warning in preference to fprintf(stderr
      rev-parse: tests git rev-parse --verify master@{n}, for various n
      t1503: fix broken test_must_fail calls
      t3903: fix broken test_must_fail calls

Jonathan Nieder (89):
      Teach fast-import to import subtrees named by tree id
      Export parse_date_basic() to convert a date string to timestamp
      t1501 (rev-parse): clarify
      tests: try git apply from subdir of toplevel
      setup: split off $GIT_DIR-set case from setup_git_directory_gently
      setup: split off a function to checks working dir for .git file
      setup: split off code to handle stumbling upon a repository
      setup: split off a function to handle hitting ceiling in repo search
      setup: split off get_device_or_die helper
      t1011 (sparse checkout): style nitpicks
      gitweb: allow configurations that change with each request
      t4111 (apply): refresh index before applying patches to it
      diff: split off a function for --stat-* option parsing
      t6038 (merge.renormalize): style nitpicks
      t6038 (merge.renormalize): try checkout -m and cherry-pick
      t6038 (merge.renormalize): check that it can be turned off
      merge-trees: push choice to renormalize away from low level
      merge-trees: let caller decide whether to renormalize
      Documentation/technical: document ll_merge
      ll-merge: make flag easier to populate
      ll-merge: let caller decide whether to renormalize
      t4200 (rerere): modernize style
      rerere: migrate to parse-options API
      rerere: never renormalize
      merge-recursive --renormalize
      Introduce vcs-svn lib
      Update svn-fe manual
      svn-fe manual: Clarify warning about deltas in dump files
      vcs-svn: remove build artifacts on "make clean"
      treap: style fix
      compat: add strtok_r()
      vcs-svn: Rename dirent pool to build on Windows
      vcs-svn: Avoid %z in format string
      t9010 (svn-fe): use Unix-style path in URI
      t9010 (svn-fe): avoid symlinks in test
      Eliminate “Finished cherry-pick/revert” message
      Introduce advise() to print hints
      cherry-pick/revert: Use error() for failure message
      cherry-pick/revert: Use advise() for hints
      t7606 (merge-theirs): modernize style
      merge: let custom strategies intervene in trivial merges
      t7006 (pager): add missing TTY prerequisites
      merge: do not mistake (ancestor of) tag for branch
      t7600 (merge): modernize style
      t7600 (merge): do not launch gitk for --debug
      t7600 (merge): check reflog entry
      t7600 (merge): test merge from branch yet to be born
      t6010 (merge-base): modernize style
      t6200 (fmt-merge-msg): style nitpicks
      Documentation: add a SEE ALSO section for merge-base
      merge-base --octopus to mimic show-branch --merge-base
      merge-base --independent to print reduced parent list in a merge
      fmt-merge-msg -m to override merge title
      merge script: --squash, --ff from unborn branch are errors
      merge script: tweak unmerged files message to match builtin
      merge script: refuse to merge during merge
      merge script: improve log message subject
      merge script: merge -X<option>
      merge script: allow custom strategies
      merge script: forbid merge -s index
      merge script: handle -m --log correctly
      merge script: handle many-way octopus
      merge script: --ff-only to disallow true merge
      merge script: handle --no-ff --no-commit correctly
      merge script: notice @{-1} shorthand
      merge script: learn --[no-]rerere-autoupdate
      autoconf: don't use platform regex if it lacks REG_STARTEND
      Documentation: set a !DOCTYPE for user manual
      Documentation: tweak description of log.date
      Documentation: quoting trouble in "git rm" discussion
      Documentation: unbreak regex in show-ref manual
      Documentation: clarify quoting in "git add" example
      Documentation: add missing quotes to "git grep" examples
      Documentation: clarify quoting in "git rm" example
      Documentation: clarify quoting in gitignore docs
      Documentation: remove backslashes in manpage synopses
      Documentation/technical: avoid stray backslash in parse-options API docs
      Documentation: remove stray backslash from "git bundle" manual
      Documentation: remove backslash before ~ in fast-import manual
      Documentation: remove stray backslashes in rev-parse manual
      Documentation: avoid stray backslashes in core tutorial
      Documentation: avoid stray backslash in user manual
      Documentation: do not convert ... operator to ellipses
      Documentation: remove stray backslashes from "Fighting regressions" article
      Documentation: remove stray backslash in show-branch discussion
      apply: split quoted filename handling into new function
      tests: exercise "git apply" with weird filenames
      apply: handle traditional patches with space in filename
      tests: simplify "missing PREREQ" message

Junio C Hamano (6):
      cvs tests: do not touch test CVS repositories shipped with source
      compat/regex: get rid of old-style definition
      autoconf: regex library detection typofix
      Work around em-dash handling in newer AsciiDoc
      install-webdoc: filter timestamp-only changes correctly
      Prepare for 1.7.3

Kevin P. Fleming (1):
      post-receive-email: optional message line count limit

Matthieu Moy (14):
      diff: parse separate options like -S foo
      diff: parse separate options --stat-width n, --stat-name-width n
      log: parse separate options like git log --grep foo
      log: parse separate option for --glob
      rebase -i: add exec command to launch a shell command
      test-lib: user-friendly alternatives to test [-d|-f|-e]
      Turn unpack_trees_options.msgs into an array + enum
      merge-recursive: distinguish "removed" and "overwritten" messages
      unpack_trees: group error messages by type
      tests: factor HOME=$(pwd) in test-lib.sh
      Move set_porcelain_error_msgs to unpack-trees.c and rename it
      setup_unpack_trees_porcelain: take the whole options struct as parameter
      Move "show_all_errors = 1" to setup_unpack_trees_porcelain()
      t7609-merge-co-error-msgs: test non-fast forward case too.

Michael J Gruber (3):
      git-bundle.txt: Cleanup
      git-bundle.txt: whitespace cleanup
      git-bundle.txt: Clarify rev-list-args restrictions

Mike Lundy (1):
      rebase: support -X to pass through strategy options

Nguyễn Thái Ngọc Duy (22):
      upload-pack: remove unused "create_full_pack" code in do_rev_list
      setup: do not forget working dir from subdir of gitdir
      Revert "rehabilitate 'git index-pack' inside the object store"
      setup: split off a function to handle ordinary .git directories
      unpack-trees: only clear CE_UPDATE|CE_REMOVE when skip-worktree is always set
      unpack-trees: let read-tree -u remove index entries outside sparse area
      unpack-trees: do not check for conflict entries too early
      unpack-trees: mark new entries skip-worktree appropriately
      git wrapper: introduce startup_info struct
      setup: remember whether repository was found
      git wrapper: allow setup_git_directory_gently() be called earlier
      shortlog: run setup_git_directory_gently() sooner
      grep: run setup_git_directory_gently() sooner
      apply: run setup_git_directory_gently() sooner
      bundle: run setup_git_directory_gently() sooner
      config: run setup_git_directory_gently() sooner
      index-pack: run setup_git_directory_gently() sooner
      ls-remote: run setup_git_directory_gently() sooner
      var: run setup_git_directory_gently() sooner
      merge-file: run setup_git_directory_gently() sooner
      clone: warn users --depth is ignored in local clones
      parse_object: pass on the original sha1, not the replaced one

Petr Onderka (1):
      Userdiff patterns for C#

Ralf Wildenhues (1):
      Typos in code comments, an error message, documentation

Ramkumar Ramachandra (1):
      builtin/checkout: Fix message when switching to an existing branch

Spencer E. Olson (1):
      Allow HTTP user agent string to be modified.

Steven Walter (1):
      git svn: URL-decode left-hand side of svn refspec

Sverre Rabbelier (1):
      config: add --local option

Tay Ray Chuan (4):
      add tests for checkout -b
      builtin/checkout: reword hint for -b
      builtin/checkout: learn -B
      builtin/checkout: handle -B from detached HEAD correctly

Thiago Farina (2):
      string_list: Add STRING_LIST_INIT macro and make use of it.
      object.h: Add OBJECT_ARRAY_INIT macro and make use of it.

Thomas Rast (4):
      Do not unquote + into ' ' in URLs
      ls-files: learn a debugging dump format
      Makefile: make gcov invocation configurable
      test: Introduce $GIT_BUILD_DIR

Ævar Arnfjörð Bjarmason (59):
      sha1_file: Show the the type and path to corrupt objects
      tests: Ignore the Test::Harness .prove file
      t/t6035-merge-dir-to-symlink.sh: Remove TODO on passing test
      SubmittingPatches: Clarify the Signed-off-by rules
      SubmittingPatches: Cite the 50 char subject limit
      perl/Makefile: Unset INSTALL_BASE when making perl.mak
      test-lib: Don't write test-results when HARNESS_ACTIVE
      test-lib: Add support for multiple test prerequisites
      test-lib: Print missing prerequisites in test output
      t/README: Document the predefined test prerequisites
      tests: A SANITY test prereq for testing if we're root
      test-lib: Multi-prereq support only checked the last prereq
      tests: Infrastructure for Git smoke testing
      t/README: Document the Smoke testing
      t/Makefile: Can't include GIT-BUILD-OPTIONS, it's a .sh
      t/README: Add SMOKE_{COMMENT,TAGS}= to smoke_report target
      gitignore: Ignore files generated by "make coverage"
      Makefile: Include subdirectories in "make cover" reports
      Makefile: Split out the untested functions target
      Makefile: Add cover_db target
      Makefile: Add cover_db_html target
      t/README: A new section about test coverage
      t/README: Add a note about the dangers of coverage chasing
      tests: implicitly skip SYMLINKS tests using <prereq>
      t/t4004-diff-rename-symlink.sh: use three-arg <prereq>
      t/t5800-remote-helpers.sh: Skip with prereq on python <2.4
      t/t7800-difftool.sh: Skip with prereq on no PERL
      t/README: Update "Skipping tests" to align with best practices
      t/t1304-default-acl: change from skip_all=* to prereq skip
      t/t5705-clone-2gb: change from skip_all=* to prereq skip
      t/t7005-editor: change from skip_all=* to prereq skip
      t/t5503-tagfollow: change from skip_all=* to prereq skip
      t/t4016-diff-quote: change from skip_all=* to prereq skip
      t/t3902-quoted: change from skip_all=* to prereq skip
      t/t3300-funny-names: change from skip_all=* to prereq skip
      git-notes: Run partial expensive test everywhere
      t/Makefile: Create test-results dir for smoke target
      tests: Move FILEMODE prerequisite to lib-prereq-FILEMODE.sh
      t/t3701-add-interactive.sh: change from skip_all=* to prereq skip
      lib-patch-mode tests: change from skip_all=* to prereq skip
      t/t9600-cvsimport.sh: change from skip_all=* to prereq skip
      t/t9001-send-email.sh: Remove needless PROG=* assignment
      t/t9001-send-email.sh: change from skip_all=* to prereq skip
      t/t9001-send-email.sh: convert setup code to tests
      t/t7105-reset-patch.sh: Add a PERL prerequisite
      t/t9601-cvsimport-vendor-branch.sh: Add a PERL prerequisite
      t/t9602-cvsimport-branches-tags.sh: Add a PERL prerequisite
      tests: fix syntax error in "Use advise() for hints" test
      compat/regex: use the regex engine from gawk for compat
      compat/regex: get the gawk regex engine to compile within git
      compat/regex: define out variables only used under RE_ENABLE_I18N
      t/t9010-svn-fe.sh: add an +x bit to this test
      t/t7008-grep-binary.sh: un-TODO a test that needs REG_STARTEND
      reset: suggest what to do upon "git reset --mixed <paths>"
      test-lib: Use $TEST_DIRECTORY or $GIT_BUILD_DIR instead of $(pwd) and ../
      test-lib: Use "$GIT_BUILD_DIR" instead of "$TEST_DIRECTORY"/../
      test-lib: Allow overriding of TEST_DIRECTORY
      t/t0000-basic.sh: Run the passing TODO test inside its own test-lib
      test-lib: use subshell instead of cd $new && .. && cd $old


Version v1.7.2.5; changes since v1.7.2.4:
-----------------------------------------

Jakub Narębski (1):
      gitweb: Introduce esc_attr to escape attributes of HTML elements

Junio C Hamano (1):
      Git 1.6.4.5


Version v1.7.2.4; changes since v1.7.2.3:
-----------------------------------------

Brandon Casey (2):
      diff.c: call regfree to free memory allocated by regcomp when necessary
      xdiff-interface.c: always trim trailing space from xfuncname matches

Daniel Knittl-Frank (1):
      bash: Match lightweight tags in prompt

Elijah Newren (2):
      cache_tree_free: Fix small memory leak
      revert: Fix trivial comment style issue

Jared Hance (1):
      Fix whitespace issue in object.c

Jari Aalto (1):
      git-commit.txt: (synopsis): move -i and -o before "--"

Jens Lehmann (1):
      t5505: add missing &&

Jonathan Nieder (1):
      add: introduce add.ignoreerrors synonym for add.ignore-errors

Junio C Hamano (3):
      tag.c: whitespace breakages fix
      t3101: modernise style
      Git 1.7.0.8

Mark Lodato (1):
      config.txt: fix placement of diff.noprefix

René Scharfe (1):
      compat/nedmalloc: don't force NDEBUG on the rest of git


Version v1.7.2.3; changes since v1.7.2.2:
-----------------------------------------

Brandon Casey (2):
      Makefile: link builtins residing in bin directory to main git binary too
      Makefile: make hard/symbolic links for non-builtins too

Dan Johnson (1):
      fetch: allow command line --tags to override config

David Aguilar (1):
      submodule sync: Update "submodule.<name>.url"

Elijah Newren (3):
      t5520-pull: Add testcases showing spurious conflicts from git pull --rebase
      pull --rebase: Avoid spurious conflicts and reapplying unnecessary patches
      tree-walk: Correct bitrotted comment about tree_entry()

Greg Price (1):
      pack-refs: remove newly empty directories

Jay Soffian (1):
      for-each-ref: fix objectname:short bug

Jens Lehmann (1):
      t7403: add missing &&'s

Jonathan Nieder (12):
      t4150 (am): style fix
      t4150 (am): futureproof against failing tests
      t3400 (rebase): whitespace cleanup
      archive: abbreviate substituted commit ids again
      checkout, commit: remove confusing assignments to rev.abbrev
      examples/commit: use --abbrev for commit summary
      Documentation: flesh out “git pull” description
      core: Stop leaking ondisk_cache_entrys
      read-tree: stop leaking tree objects
      write-tree: Avoid leak when index refers to an invalid object
      t3302 (notes): Port to Solaris
      parse-options: clarify PARSE_OPT_NOARG description

Junio C Hamano (6):
      Teach "apply --index-info" to handle rename patches
      rebase: protect against diff.renames configuration
      diff --follow: do not waste cycles while recursing
      diff --follow: do call diffcore_std() as necessary
      Prepare for 1.7.2.3
      Git 1.7.2.3

Linus Torvalds (1):
      Fix 'git log' early pager startup error case

Mark Rada (1):
      Tell ignore file about generate files in /gitweb/static

Matthieu Moy (2):
      xmalloc: include size in the failure message
      t0003: add missing && at end of lines

Nicolas Pitre (1):
      fix >4GiB source delta assertion failure

Ralf Wildenhues (1):
      Typos in code comments, an error message, documentation

SZEDER Gábor (2):
      mingw_utime(): handle NULL times parameter
      rerere: fix overeager gc

Thiago Farina (1):
      builtin/merge_recursive.c: Add an usage string and make use of it.

Thomas Rast (5):
      Documentation/git-reset: reorder modes for soft-mixed-hard progression
      Documentation/reset: separate options by mode
      Documentation/reset: promote 'examples' one section up
      Documentation/reset: reorder examples to match description
      Documentation/reset: move "undo permanently" example behind "make topic"

Ville Skyttä (1):
      Documentation: spelling fixes

Ævar Arnfjörð Bjarmason (1):
      log: test for regression introduced in v1.7.2-rc0~103^2~2


Version v1.7.2.2; changes since v1.7.2.1:
-----------------------------------------

Brad King (1):
      Documentation: cite git-am from git-apply

Brandon Casey (1):
      t/t7003: replace \t with literal tab in sed expression

Clément Poulain (1):
      git-gui: use textconv filter for diff and blame

David D. Kilzer (1):
      Fix git rebase --continue to work with touched files

Heiko Voigt (5):
      git-gui: check whether systems nice command works or disable it
      git-gui: fix usage of themed widgets variable
      git-gui: fix usage of _gitworktree when creating shortcut for windows
      git-gui: fix PATH environment for mingw development environment
      git-gui: fix shortcut creation on cygwin

Jakub Narębski (1):
      diff: strip extra "/" when stripping prefix

Jonathan Nieder (7):
      check-ref-format: handle subcommands in separate functions
      Allow "check-ref-format --branch" from subdirectory
      Makefile: add missing dependencies on url.h
      Makefile: add missing dependency on http.h
      Documentation: add a FILES section for show-ref
      gitweb: clarify search results page when no matching commit found
      Standardize do { ... } while (0) style

Junio C Hamano (4):
      Fix DIFF_QUEUE_CLEAR refactoring
      Documentation: reporting bugs
      sha1_name.c: fix parsing of ":/token" syntax
      Git 1.7.2.2

Markus Heidelberg (1):
      git-gui: fix "Explore Working Copy" for Windows again

Matthieu Moy (5):
      Document ls-files -t as semi-obsolete.
      pretty-options.txt: match --format's documentation with implementation.
      Document -B<n>[/<m>], -M<n> and -C<n> variants of -B, -M and -C
      post-receive-email: remove spurious commas in email subject
      push: mention "git pull" in error message for non-fast forwards

Michael J Gruber (1):
      Documentation/git-log: Clarify --full-diff

Nelson Elhage (1):
      index-pack: Don't follow replace refs.

Pat Thoyts (4):
      git-gui: Handle failure of core.worktree to identify the working directory.
      git-gui: Avoid using the <<Copy>> binding as a menu accelerator on win32
      git-gui: mc cannot be used before msgcat has been loaded
      git-gui: fix size and position of window panes on startup

Raja R Harinath (1):
      fast-import: export correctly marks larger than 2^20-1

Ramkumar Ramachandra (2):
      contrib/svn-fe: Fix IncludePath
      contrib/svn-fe: Add the svn-fe target to .gitignore

René Scharfe (2):
      notes: allow --dry-run for -n and --verbose for -v
      prune: allow --dry-run for -n and --verbose for -v

Shawn O. Pearce (1):
      smart-http: Don't deadlock on server failure

Thomas Rast (3):
      xsize_t: check whether we lose bits
      Documentation/rev-parse: quoting is required with --parseopt
      t7003: fix subdirectory-filter test

Willy Tarreau (1):
      git-rebase: fix typo when parsing --force-rebase

Ævar Arnfjörð Bjarmason (4):
      test-lib: Ignore --quiet under a TAP harness
      test-lib: Remove 3 year old no-op --no-python option
      imap-send: Fix sprintf usage
      t/lib-git-svn.sh: use $PERL_PATH for perl, not perl from $PATH


Version v1.7.2.1; changes since v1.7.2:
---------------------------------------

Brandon Casey (1):
      git-rebase--interactive.sh: use printf instead of echo to print commit message

Dan McGee (3):
      git-instaweb: Fix custom apache log placement
      git-instaweb: Fix Apache environment variable passing
      git-instaweb: Don't assume Apache executable is named apache2

Greg Brockman (1):
      Check size of path buffer before writing into it

Johannes Sixt (1):
      t3700-add: fix dependence on stdout and stderr buffering

Jon Seymour (1):
      INSTALL: configure /etc/xml/catalog to build docs on Cygwin

Jonathan Nieder (1):
      config --get --path: check for unset $HOME

Junio C Hamano (3):
      Git 1.7.0.7
      Git 1.7.1.2
      Git 1.7.2.1

Matthieu Moy (1):
      Clarify help message when no remote is specified in fetch/pull.

Nathan W. Panike (1):
      Add a google-chrome option for web--browse

Nguyễn Thái Ngọc Duy (1):
      git-read-tree.txt: acknowledge the directory matching bug in sparse checkout

Stephen Boyd (2):
      request-pull.txt: Document -p option
      commit: remove full stop from usage help for -u

Thomas Rast (5):
      Cast execl*() NULL sentinels to (char *)
      Document receive.denyDeleteCurrent
      Documentation/git-push: Explain status output in more detail
      Fix 'git' wrapper usage string
      Makefile: add check-docs exception for gitrevisions


Version v1.7.2; changes since v1.7.2-rc3:
-----------------------------------------

Brandon Casey (6):
      Makefile: remove some unnecessary curly braces
      Makefile: work around ksh's failure to handle missing list argument to for loop
      t/README: clarify test_must_fail description
      t/t3700: convert two uses of negation operator '!' to use test_must_fail
      t/{t5541,lib-httpd}: replace problematic '!()' notation with test_must_fail
      t/: work around one-shot variable assignment with test_must_fail

David Aguilar (1):
      Documentation: Explain git-mergetool's use of temporary files

Eli Barzilay (1):
      Reorganize `git-log' man page to clarify common diff options.

Greg Brockman (1):
      Check size of path buffer before writing into it

Jay Soffian (1):
      MERGE_RR is in .git, not .git/rr-cache

Jens Lehmann (2):
      git add: Add the "--ignore-missing" option for the dry run
      git submodule add: Require the new --force option to add ignored paths

Jonathan Nieder (9):
      t7006 (pager): introduce helper for parameterized tests
      t7006: test pager configuration for several git commands
      tests: local config file should be honored from subdirs of toplevel
      t3000 (ls-files -o): modernize style
      git --paginate: paginate external commands again
      gitmodules.5: url can be a relative path
      Documentation: add submodule.* to the big configuration variable list
      Add a sample user for the svndump library
      t/README: correct an exception when breaking a && chain in tests

Junio C Hamano (7):
      rebase-i: style fix
      rebase-i: do not get fooled by a log message ending with backslash
      do not write out index when status does not have to
      diff A...B: give one possible diff when there are more than one merge-base
      diff A...B: do not limit the syntax too narrowly
      tests: correct "does reflog exist?" tests
      Git 1.7.2

Michael J Gruber (3):
      Documentation: split off rev doc into include file
      Documentation: gitrevisions
      Documentation: link to gitrevisions rather than git-rev-parse

Nazri Ramliy (1):
      grep -O: Do not pass color sequences as filenames to pager

Nguyễn Thái Ngọc Duy (1):
      git --paginate: do not commit pager choice too early

Nicolas Sebrecht (1):
      merge-recursive: use "up-to-date" instead of "uptodate" in error message for consistency

Pavan Kumar Sunkara (1):
      gitweb: fix esc_url

Ralf Thielow (1):
      update-server-info: Shorten read_pack_info_file()

Sergey Vlasov (1):
      git-svn: write memoized data explicitly to avoid Storable bug

Thomas Rast (1):
      Only run aggregate-results over actual counts

Will Palmer (2):
      add basic tests for merge-tree
      merge-tree: fix where two branches share no changes

Ævar Arnfjörð Bjarmason (3):
      git submodule: add submodules with git add -f <path>
      git submodule add: Remove old docs about implicit -f
      git add: Add --ignore-missing to SYNOPSIS


Version v1.7.2-rc3; changes since v1.7.2-rc2:
---------------------------------------------

Bo Yang (1):
      diff.c: fix a graph output bug

Fredrik Skolmli (1):
      Documentation: Spelling fix in protocol-capabilities.txt

Johannes Sixt (1):
      t0005: work around strange $? in ksh when program terminated by a signal

Jonathan Nieder (1):
      t9118 (git-svn): prevent early failure from taking down later tests

Junio C Hamano (2):
      Fix "read-tree -m A B" priming the cache-tree
      Git 1.7.2-rc3

Michael J Gruber (3):
      t9118: avoid PEG revision identifier in tests
      test-lib: simplify GIT_SKIP_TESTS loop
      test-lib: TAP compliance for skipping tests on request

Miklos Vajna (1):
      format-patch: document the format.to configuration setting

Nicolas Sebrecht (1):
      checkout: accord documentation to what git does

Oren Held (1):
      git fetch documentation: describe short '-p' synonym to '--prune' option

Raja R Harinath (1):
      Use dev_t for device id (st_dev) from stat in setup_git_directory_gently()

Ævar Arnfjörð Bjarmason (1):
      tests: Use skip_all=* to skip tests


Version v1.7.2-rc2; changes since v1.7.2-rc1:
---------------------------------------------

Brandon Casey (2):
      t/t9700/test.pl: don't access private object members, use public access methods
      t/t0006: specify timezone as EST5 not EST to comply with POSIX

Chris Packham (1):
      Documentation/git-gc.txt: add reference to githooks

Dylan Reid (1):
      xdiff: optimise for no whitespace difference when ignoring whitespace.

Heiko Voigt (1):
      add missing && to submodule-merge testcase

Jakub Narębski (1):
      gitweb: Move evaluate_gitweb_config out of run_request

Jeff King (3):
      t0006: test timezone parsing
      parse_date: fix signedness in timezone calculation
      test-date: fix sscanf type conversion

Jonathan Nieder (1):
      t/README: document more test helpers

Junio C Hamano (4):
      Updates from the list to 1.7.2 Release Notes
      t/README: proposed rewording...
      backmerge a few more fixes to 1.7.1.X series
      Git 1.7.2-rc2

Michael J Gruber (1):
      rerere.txt: Document forget subcommand

Pierre Habouzit (1):
      fix git branch -m in presence of cross devices

Uwe Kleine-König (1):
      rev-parse: fix --parse-opt --keep-dashdash --stop-at-non-option

Ævar Arnfjörð Bjarmason (13):
      test-lib: Adjust output to be valid TAP format
      test-lib: Make the test_external_* functions TAP-aware
      test-lib: output a newline before "ok" under a TAP harness
      tests: Skip tests in a way that makes sense under TAP
      tests: Say "pass" rather than "ok" on empty lines for TAP
      t9700: Use Test::More->builder, not $Test::Builder::Test
      t/README: The trash is in 't/trash directory.$name'
      t/README: Typo: paralell -> parallel
      t/README: Document the prereq functions, and 3-arg test_*
      t/README: Document test_external*
      t/README: Document test_expect_code
      t/README: Add a section about skipping tests
      t/README: Document the do's and don'ts of tests


Version v1.7.2-rc1; changes since v1.7.2-rc0:
---------------------------------------------

Andrew Sayers (2):
      bash-completion: Fix __git_ps1 to work with "set -u"
      bash completion: Support "divergence from upstream" messages in __git_ps1

Brandon Casey (4):
      t/lib-pager.sh: remove unnecessary '^' from 'expr' regular expression
      t/t7811-grep-open.sh: ensure fake "less" is made executable
      t/t7811-grep-open.sh: remove broken/redundant creation of fake "less" script
      t/t9001: use egrep when regular expressions are involved

Brian Gernhardt (1):
      t4027,4041: Use test -s to test for an empty file

Christian Couder (1):
      revert: accept arbitrary rev-list options

Jeff King (1):
      notes: check number of parameters to "git notes copy"

Jens Lehmann (4):
      git diff: rename test that had a conflicting name
      Add optional parameters to the diff option "--ignore-submodules"
      git submodule: ignore dirty submodules for summary and status
      Add the option "--ignore-submodules" to "git status"

Johannes Schindelin (3):
      Unify code paths of threaded greps
      grep: Add the option '--open-files-in-pager'
      grep -O: allow optional argument specifying the pager (or editor)

Jonathan Nieder (3):
      grep: refactor grep_objects loop into its own function
      t3508 (cherry-pick): futureproof against unmerged files
      revert: do not rebuild argv on heap

Julian Phillips (6):
      string_list: Fix argument order for print_string_list
      string_list: Fix argument order for for_each_string_list
      string_list: Fix argument order for string_list_insert
      string_list: Fix argument order for string_list_insert_at_index
      string_list: Fix argument order for string_list_lookup
      string_list: Fix argument order for string_list_append

Junio C Hamano (5):
      url_decode: URL scheme ends with a colon and does not require a slash
      Update draft release notes to 1.7.1.1
      Git 1.7.1.1
      git.spec.in: Add gitweb subpackage
      Git 1.7.2-rc1

Michael J Gruber (4):
      t6018: add tests for rev-list's --branches and --tags
      t6018: make sure all tested symbolic names are different revs
      git-rev-parse.txt: Document ":path" specifier
      git-rev-parse.txt: Add more examples for caret and colon

Nazri Ramliy (5):
      commit.h: add 'type' to struct name_decoration
      log-tree.c: Use struct name_decoration's type for classifying decoration
      log --decorate: Colorize commit decorations
      Allow customizable commit decorations colors
      Add test for correct coloring of git log --decoration

Ramsay Jones (2):
      msvc: Select the "fast" definition of the {get,put}_be32() macros
      notes: Initialise variable to appease gcc

Thomas Rast (1):
      rev-list: introduce --count option


Version v1.7.2-rc0; changes since v1.7.1.4:
-------------------------------------------

Alex Riesen (2):
      Allow passing of configuration parameters in the command line
      Use strbufs instead of open-coded string manipulation

Axel Bonnet (3):
      textconv: make the API public
      textconv: support for blame
      t/t8006: test textconv support for blame

Bo Yang (9):
      Add a macro DIFF_QUEUE_CLEAR.
      Make diffcore_std only can run once before a diff_flush
      Make git log --follow find copies among unmodified files.
      Add a prefix output callback to diff output
      Output the graph columns at the end of the commit message
      diff.c: Output the text graph padding before each diff line
      Emit a whole line in one go
      graph.c: register a callback for graph output
      Make --color-words work well with --graph

Brandon Casey (7):
      t/t5800: skip if python version is older than 2.5
      git-request-pull.sh: remove -e switch to shell interpreter which breaks ksh
      t/t5150: remove space from sed script
      t/t7006: ignore return status of shell's unset builtin
      t/aggregate-results: accomodate systems with small max argument list length
      Makefile: add PYTHON_PATH to GIT-BUILD-OPTIONS
      Remove python 2.5'isms

Brian Gernhardt (1):
      Makefile: Simplify handling of python scripts

Chris Webb (5):
      whitespace: add tab-in-indent error class
      whitespace: tests for git-diff --check with tab-in-indent error class
      whitespace: replumb ws_fix_copy to take a strbuf *dst instead of char *dst
      whitespace: add tab-in-indent support for --whitespace=fix
      whitespace: tests for git-apply --whitespace=fix with tab-in-indent

Christian Couder (13):
      revert: use strbuf to refactor the code that writes the merge message
      revert: refactor merge recursive code into its own function
      merge: refactor code that calls "git merge-STRATEGY"
      merge: make function try_merge_command non static
      revert: add "--strategy" option to choose merge strategy
      revert: cleanup code for -x option
      revert: use run_command_v_opt() instead of execv_git_cmd()
      revert: refactor code into a do_pick_commit() function
      revert: change help_msg() to take no argument
      revert: allow cherry-picking more than one commit
      revert: add tests to check cherry-picking many commits
      Documentation/cherry-pick: describe passing more than one commit
      Documentation/revert: describe passing more than one commit

Clément Poulain (3):
      sha1_name: add get_sha1_with_context()
      textconv: support for cat_file
      t/t8007: test textconv support for cat-file

Daniel Knittl-Frank (1):
      Show branch information in short output of git status

Eli Barzilay (1):
      Add `%B' in format strings for raw commit body in `git log' and friends

Eli Collins (1):
      diff: add configuration option for disabling diff prefixes.

Eric Wong (1):
      git svn: avoid unnecessary '/' in paths for SVN

Erick Mattos (6):
      git checkout: create unparented branch by --orphan
      Documentation: alter checkout --orphan description
      refs: split log_ref_write logic into log_ref_setup
      checkout --orphan: respect -l option always
      t3200: test -l with core.logAllRefUpdates options
      bash completion: add --orphan to 'git checkout'

Erik Faye-Lund (1):
      mingw: use _commit to implement fsync

Eyvind Bernhardsen (4):
      Add tests for per-repository eol normalization
      Add per-repository eol normalization
      Rename the "crlf" attribute "text"
      Add "core.eol" config variable

Finn Arne Gangstad (1):
      autocrlf: Make it work also for un-normalized repositories

Gary V. Vaughan (17):
      Makefile: pass CPPFLAGS through to fllow customization
      Rewrite dynamic structure initializations to runtime assignment
      Makefile: -lpthread may still be necessary when libc has only pthread stubs
      enums: omit trailing comma for portability
      Do not use "diff" found on PATH while building and installing
      tests: use "test_cmp", not "diff", when verifying the result
      test_cmp: do not use "diff -u" on platforms that lack one
      git-compat-util.h: some platforms with mmap() lack MAP_FAILED definition
      Makefile: some platforms do not have hstrerror anywhere
      Make NO_{INET_NTOP,INET_PTON} configured independently
      Some platforms lack socklen_t type
      Allow disabling "inline"
      inline declaration does not work on AIX
      Makefile: SunOS 5.6 portability fix
      Makefile: HPUX11 portability fixes
      Makefile: HP-UX 10.20 portability fixes
      Makefile: Tru64 portability fix

Giuseppe Scrivano (1):
      print the usage string on stdout instead of stderr

Henrik Grubbström (2):
      convert: Safer handling of $Id$ contraction.
      convert: Keep foreign $Id$ on checkout.

Jakub Narębski (16):
      Export more test-related variables when running external tests
      gitweb: href(..., -path_info => 0|1)
      gitweb: Use nonlocal jump instead of 'exit' in die_error
      gitweb: Add custom error handler using die_error
      gitweb: Move generating page title to separate subroutine
      gitweb: Silence 'Variable VAR may be unavailable' warnings
      gitweb: Improve installation instructions in gitweb/INSTALL
      gitweb: Create install target for gitweb in Makefile
      gitweb: Refactor syntax highlighting support
      gitweb: Put all per-connection code in run() subroutine
      git-instaweb: Remove pidfile after stopping web server
      git-instaweb: Wait for server to start before running web browser
      git-instaweb: Add support for running gitweb via 'plackup'
      gitweb: Run in FastCGI mode if gitweb script has .fcgi extension
      gitweb: Fix typo in hash key name in %opts in git_header_html
      gitweb: Return or exit after done serving request

Jan Krüger (1):
      git-am: suggest what to do with superfluous patches

Jay Soffian (1):
      t5516-fetch-push.sh: style cleanup

Jeff King (11):
      make commit_tree a library function
      introduce notes-cache interface
      textconv: refactor calls to run_textconv
      diff: cache textconv output
      diff: avoid useless filespec population
      script with rev-list instead of log
      tests: rename duplicate t4205
      tests: chmod +x t5150
      make url-related functions reusable
      decode file:// and ssh:// URLs
      Makefile: default pager on AIX to "more"

Johan Herland (5):
      diff.c: Ensure "index $from..$to" line contains unambiguous SHA1s
      Documentation/rev-list-options.txt: Fix missing line in example history graph
      Documentation/rev-list-options.txt: Explain --ancestry-path
      revision: Fix typo in --ancestry-path error message
      revision: Turn off history simplification in --ancestry-path mode

Johannes Schindelin (1):
      gitweb: Syntax highlighting support

Johannes Sixt (11):
      Modernize t5530-upload-pack-error.
      Make report() from usage.c public as vreportf() and use it.
      Fix signature of fcntl() compatibility dummy
      Windows: more pthreads functions
      Reimplement async procedures using pthreads
      Dying in an async procedure should only exit the thread, not the process.
      Enable threaded async procedures whenever pthreads is available
      Have set_try_to_free_routine return the previous routine
      Do not call release_pack_memory in malloc wrappers when GIT_TRACE is used
      Recent MinGW has a C99 implementation of snprintf functions
      merge-recursive: demonstrate an incorrect conflict with submodule

Jonathan Nieder (17):
      t7400: split setup into multiple tests
      t7400: clarify 'submodule add' tests
      t7400: clarify submodule update tests
      t5800: testgit helper requires Python support
      tests for request-pull
      request-pull: protect against OPTIONS_KEEPDASHDASH from environment
      fsck: check ident lines in commit objects
      adapt request-pull tests for new pull request format
      pretty: initialize new cmt_fmt_map to 0
      Makefile: fix header dependency checker to allow NO_CURL builds
      Makefile: let header dependency checker override COMPUTE_HEADER_DEPENDENCIES
      git svn: avoid uninitialized var in 'reset'
      Add git remote set-branches
      fsck: fix bogus commit header check
      rebase: improve error message when upstream argument is missing
      DWIM 'git show -5' to 'git show --do-walk -5'
      git-svn: strip off leading slashes on --trunk argument

Junio C Hamano (31):
      git_config_maybe_bool()
      log.decorate: usability fixes
      whitespace: we cannot "catch all errors known to git" anymore
      GIT_ONE_FILESYSTEM: flip the default to stop at filesystem boundaries
      Rename ONE_FILESYSTEM to DISCOVERY_ACROSS_FILESYSTEM
      log --pretty/--oneline: ignore log.decorate
      war on "sleep" in tests
      reflog --expire-unreachable: avoid merge-base computation
      log.decorate: only ignore it under "log --pretty=raw"
      wt-status: remove unused workdir_untracked member
      wt-status: plug memory leak while collecting untracked files
      wt-status: collect ignored files
      wt-status: rename and restructure status-print-untracked
      status: --ignored option shows ignored files
      Document gc.<pattern>.reflogexpire variables
      more war on "sleep" in tests
      reflog --expire-unreachable: special case entries in "HEAD" reflog
      revision: --ancestry-path
      wt-status: fix 'fprintf' compilation warning
      t5150: protect backslash with backslash in shell
      Start 1.7.2 cycle
      fixup: do not unconditionally disable "diff -u"
      build: propagate $DIFF to scripts
      test-lib: use DIFF definition from GIT-BUILD-OPTIONS
      Update draft release notes to 1.7.2
      Update draft release notes to 1.7.2
      Update draft release notes to 1.7.2
      Drop items that are 1.7.1.1 fixes from the 1.7.1 release notes
      Update draft release notes to 1.7.2
      url.c: "<scheme>://" part at the beginning should not be URL decoded
      Git 1.7.2-rc0

Lars R. Damerow (3):
      config.c: remove static keyword from git_env_bool()
      truncate cwd string before printing error message
      Add support for GIT_ONE_FILESYSTEM

Linus Torvalds (1):
      Make :/ accept a regex rather than a fixed pattern

Michael J Gruber (5):
      for-each-ref: Field with abbreviated objectname
      notes: dry-run and verbose options for prune
      Documentation+t5708: document and test status -s -b
      pretty: Introduce ' ' modifier to add space if non-empty
      git-cat-file.txt: Document --textconv

Michael J. Kiwala (1):
      git svn: fix empty directory creation

Paolo Bonzini (2):
      patch-id: extract parsing one diff out of generate_id_list
      patch-id: Add support for mbox format

Pavan Kumar Sunkara (6):
      gitweb: Use @diff_opts while using format-patch
      gitweb: Move static files into seperate subdirectory
      gitweb: Set default destination directory for installing gitweb in Makefile
      git-instaweb: Put httpd logs in a "$httpd_only" subdirectory
      git-instaweb: Configure it to work with new gitweb structure
      git-web--browse: Add support for google chrome and chromium

Ramkumar Ramachandra (4):
      git am: Set cmdline globally
      git am: Display some help text when patch is empty
      git am: Remove stray error message from sed
      Refactor parse_date for approxidate functions

René Scharfe (8):
      grep: add test script for binary file handling
      grep: grep: refactor handling of binary mode options
      grep: --count over binary
      grep: --name-only over binary
      grep: use memmem() for fixed string search
      grep: continue case insensitive fixed string search after NUL chars
      grep: use REG_STARTEND for all matching if available
      grep: support NUL chars in search strings for -F

Sam Vilain (2):
      gitweb: Add support for FastCGI, using CGI::Fast
      git-cvsserver: use a password file cvsserver pserver

Samuel Tardieu (2):
      Honor "tagopt = --tags" configuration option
      remote add: add a --[no-]tags option

Simo Melenius (2):
      branch: exit status now reflects if branch listing finds an error
      branch: don't fail listing branches if one of the commits wasn't found

Stephen Boyd (2):
      format-patch: Add a signature option (--signature)
      completion: Add --signature and format.signature

Steven Drake (1):
      Add `log.decorate' configuration variable.

Sverre Rabbelier (7):
      clone: pass the remote name to remote_get
      clone: also configure url for bare clones
      fast-import: always create marks_file directories
      remote-helpers: allow requesing the path to the .git directory
      remote-helpers: add support for an export command
      remote-helpers: add testgit helper
      remote-helpers: add tests for testgit helper

Tay Ray Chuan (2):
      ls-remote: fall-back to default remotes when no remote specified
      ls-remote: print URL when no repo is specified

Thomas Rast (5):
      diff: add --word-diff option that generalizes --color-words
      Complete prototype of git_config_from_parameters()
      fast-import: die_nicely() back to vsnprintf (reverts part of ebaa79f)
      log_ref_setup: don't return stack-allocated array
      parseopt: wrap rev-parse --parseopt usage for eval consumption

Torsten Schmutzler (1):
      git-svn: mangle refnames forbidden in git

Will Palmer (4):
      pretty: make it easier to add new formats
      pretty: add infrastructure for commit format aliases
      pretty: add aliases for pretty formats
      diff-options: make --patch a synonym for -p

Ævar Arnfjörð Bjarmason (12):
      Add option to git-commit to allow empty log messages
      git-svn documentation: minor grammar fix
      git-svn: Remove unused use of File::Temp
      git-cvsserver: authentication support for pserver
      git-cvsserver: indent & clean up authdb code
      git-cvsserver: Improved error handling for pserver
      git-cvsserver: document making a password without htpasswd
      git-cvsserver: test for pserver authentication support
      git-submodule foreach: Add $toplevel variable
      Makefile: remove redundant munging of @@INSTLIBDIR@@
      git-cvsserver: typo in a comment: bas -> has
      git-cvsserver: fix error for invalid password formats


Version v1.7.1.4; changes since v1.7.1.3:
-----------------------------------------

Jakub Narębski (1):
      gitweb: Introduce esc_attr to escape attributes of HTML elements

Junio C Hamano (1):
      Git 1.6.4.5


Version v1.7.1.3; changes since v1.7.1.2:
-----------------------------------------

Jonathan Nieder (1):
      add: introduce add.ignoreerrors synonym for add.ignore-errors

Junio C Hamano (1):
      Git 1.7.0.8

Matthieu Moy (1):
      t0003: add missing && at end of lines


Version v1.7.1.2; changes since v1.7.1.1:
-----------------------------------------

Brandon Casey (1):
      t/README: clarify test_must_fail description

Chris Packham (1):
      Documentation/git-gc.txt: add reference to githooks

David Aguilar (1):
      Documentation: Explain git-mergetool's use of temporary files

Dylan Reid (1):
      xdiff: optimise for no whitespace difference when ignoring whitespace.

Fredrik Skolmli (1):
      Documentation: Spelling fix in protocol-capabilities.txt

Greg Brockman (2):
      Check size of path buffer before writing into it
      Check size of path buffer before writing into it

Heiko Voigt (1):
      add missing && to submodule-merge testcase

Jay Soffian (2):
      receive-pack: switch global variable 'commands' to a parameter
      receive-pack: detect aliased updates which can occur with symrefs

Jeff King (2):
      t0006: test timezone parsing
      test-date: fix sscanf type conversion

Johannes Sixt (1):
      t0005: work around strange $? in ksh when program terminated by a signal

Jonathan Nieder (3):
      gitmodules.5: url can be a relative path
      Documentation: add submodule.* to the big configuration variable list
      config --get --path: check for unset $HOME

Junio C Hamano (3):
      backmerge a few more fixes to 1.7.1.X series
      Git 1.7.0.7
      Git 1.7.1.2

Michael J Gruber (3):
      git-rev-parse.txt: Document ":path" specifier
      git-rev-parse.txt: Add more examples for caret and colon
      rerere.txt: Document forget subcommand

Miklos Vajna (1):
      format-patch: document the format.to configuration setting

Nicolas Sebrecht (1):
      checkout: accord documentation to what git does

Oren Held (1):
      git fetch documentation: describe short '-p' synonym to '--prune' option

Pavan Kumar Sunkara (1):
      gitweb: fix esc_url

Pierre Habouzit (1):
      fix git branch -m in presence of cross devices

Ralf Thielow (1):
      update-server-info: Shorten read_pack_info_file()

Stephen Boyd (1):
      request-pull.txt: Document -p option

Thomas Rast (1):
      check_aliased_update: strcpy() instead of strcat() to copy

Uwe Kleine-König (1):
      rev-parse: fix --parse-opt --keep-dashdash --stop-at-non-option


Version v1.7.1.1; changes since v1.7.1:
---------------------------------------

Alexey Mahotkin (1):
      xdiff/xmerge.c: use memset() instead of explicit for-loop

Bert Wesarg (1):
      diff: fix coloring of extended diff headers

Björn Gustavsson (1):
      apply: Allow blank *trailing* context lines to match beyond EOF

Björn Steinbrink (1):
      diff: Support visibility modifiers in the PHP hunk header regexp

Bo Yang (1):
      blame-options.txt: Add default value for `-M/-C` options.

Brandon Casey (1):
      t/t9001: use egrep when regular expressions are involved

Brian Downing (1):
      unpack-trees: Make index lookahead less pessimal

Brian Gernhardt (4):
      send-email: Cleanup { style
      send-email: Don't use FQDNs without a '.'
      Document send-email --smtp-domain
      send-email: Cleanup smtp-domain and add config

Charles Bailey (2):
      stash: Don't overwrite files that have gone from the index
      stash tests: stash can lose data in a file removed from the index

Chris Webb (1):
      exec_cmd.c: replace hard-coded path list with one from <paths.h>

Christian Couder (3):
      diff: fix "git show -C -C" output when renaming a binary file
      commit: use value of GIT_REFLOG_ACTION env variable as reflog message
      Documentation: grep: fix asciidoc problem with --

Clemens Buchacher (7):
      do not overwrite files marked "assume unchanged"
      Documentation: git-add does not update files marked "assume unchanged"
      test get_git_work_tree() return value for NULL
      get_cwd_relative(): do not misinterpret suffix as subdirectory
      setup: document prefix
      quote.c: separate quoting and relative path generation
      ls-files: allow relative pathspec

Dmitry Potapov (1):
      hash_object: correction for zero length file

Gary V. Vaughan (1):
      git-compat-util.h: use apparently more common __sgi macro to detect SGI IRIX

Gerrit Pape (1):
      git-submodule.sh: properly initialize shell variables

Henrik Grubbström (3):
      attr: Fixed debug output for macro expansion.
      attr: Allow multiple changes to an attribute on the same line.
      attr: Expand macros immediately when encountered.

Ian McLean (1):
      Fix "Out of memory? mmap failed" for files larger than 4GB on Windows

Ian Ward Comfort (1):
      rebase -i: Abort cleanly if new base cannot be checked out

Jakub Narębski (1):
      autoconf: Check if <paths.h> exists and set HAVE_PATHS_H

Jay Soffian (3):
      commit.txt: clarify how --author argument is used
      am: use get_author_ident_from_commit instead of mailinfo when rebasing
      gitweb/Makefile: fix typo in gitweb.min.css rule

Jeff King (7):
      handle "git --bare init <dir>" properly
      docs: clarify meaning of -M for git-log
      remove over-eager caching in sha1_file_name
      pull: do nothing on --dry-run
      commit: give advice on empty amend
      Makefile: default pager on AIX to "more"
      notes: check number of parameters to "git notes copy"

Johannes Sixt (1):
      Thread-safe xmalloc and xrealloc needs a recursive mutex

Jonathan Nieder (25):
      t7006: guard cleanup with test_expect_success
      t5704 (bundle): add tests for bundle --stdin
      fix "bundle --stdin" segfault
      test-lib: Let tests specify commands to be run at end of test
      commit --amend: cope with missing display name
      Documentation/shortlog: scripted users should not rely on implicit HEAD
      t4201 (shortlog): guard setup with test_expect_success
      t4201 (shortlog): Test output format with multiple authors
      shortlog: Document and test --format option
      test-lib: some shells do not let $? propagate into an eval
      cherry-pick: do not dump core when iconv fails
      Documentation/notes: document format of notes trees
      Documentation/notes: describe content of notes blobs
      Documentation/notes: add configuration section
      Documentation/notes: simplify treatment of default notes ref
      Documentation/log: add a CONFIGURATION section
      Documentation/notes: simplify treatment of default display refs
      Documentation/notes: clean up description of rewriting configuration
      Documentation/notes: nitpicks
      post-receive-email: document command-line mode
      Documentation/checkout: clarify description
      gitignore.5: Clarify matching rules
      rebase -i -p: document shortcomings
      Documentation/checkout: clarify description
      add-interactive: Clarify “remaining hunks in the file”

Junio C Hamano (10):
      am -3: recover the diagnostic messages for corrupt patches
      clone: quell the progress report from init and report on clone
      t9129: fix UTF-8 locale detection
      common_prefix: simplify and fix scanning for prefixes
      Prepare draft release notes to 1.7.1.1
      Update draft release notes to 1.7.1.1
      tests: remove unnecessary '^' from 'expr' regular expression
      Update draft release notes to 1.7.1.1
      Update draft release notes to 1.7.1.1
      Git 1.7.1.1

Leif Arne Storset (1):
      Documentation/config.txt: GIT_NOTES_REWRITE_REF overrides notes.rewriteRef

Marcus Comstedt (1):
      Add "Z" as an alias for the timezone "UTC"

Markus Heidelberg (4):
      t7508: add test for "git status" refreshing the index
      git status: refresh the index if possible
      t7508: add a test for "git status" in a read-only repository
      Documentation: rebase -i ignores options passed to "git am"

Michael J Gruber (10):
      index-pack: fix trivial typo in usage string
      t7508: test advice.statusHints
      wt-status: take advice.statusHints seriously
      Documentation: fix minor inconsistency
      Documentation/gitdiffcore: fix order in pickaxe description
      Documentation/SubmittingPatches: clarify GMail section and SMTP
      completion: --set-upstream option for git-branch
      Makefile: reenable install with NO_CURL
      Documentation/config: describe status.submodulesummary
      Documentation: A...B shortcut for checkout and rebase

Michal Sojka (1):
      test-lib.sh: Add explicit license detail, with change from GPLv2 to GPLv2+.

Nazri Ramliy (1):
      Documentation/pretty-{formats,options}: better reference for "format:<string>"

Nicolas Pitre (4):
      Make xmalloc and xrealloc thread-safe
      index-pack: smarter memory usage when resolving deltas
      index-pack: rationalize unpack_entry_data()
      index-pack: smarter memory usage when appending objects

Pete Harlan (1):
      clone: reword messages to match the end-user perception

Peter Collingbourne (4):
      Generalise the unlink_or_warn function
      Implement the rmdir_or_warn function
      Introduce remove_or_warn function
      Remove a redundant errno test in a usage of remove_path

Philippe Bruhat (1):
      Git.pm: better error message

Ping Yin (1):
      Documentation/git-send-email: Add "Use gmail as the smtp server"

Ramkumar Ramachandra (1):
      SubmittingPatches: Add new section about what to base work on

Ramsay Jones (4):
      Makefile: Fix 'clean' target to remove all gitweb build files
      msvc: Fix some "expr evaluates to function" compiler warnings
      msvc: Fix some compiler warnings
      notes: Initialise variable to appease gcc

René Scharfe (3):
      git diff too slow for a file
      remove ecb parameter from xdi_diff_outf()
      Fix checkout of large files to network shares on Windows XP

Scott Chacon (1):
      Prompt for a username when an HTTP request 401s

Shawn O. Pearce (16):
      tag.c: Correct indentation
      tag.h: Remove unused signature field
      tag.c: Refactor parse_tag_buffer to be saner to program
      tag.c: Parse tagger date (if present)
      describe: Break annotated tag ties by tagger date
      http.c: Remove bad free of static block
      t5550-http-fetch: Use subshell for repository operations
      http.c: Tiny refactoring of finish_http_pack_request
      http.c: Drop useless != NULL test in finish_http_pack_request
      http.c: Don't store destination name in request structures
      http.c: Remove unnecessary strdup of sha1_to_hex result
      Introduce close_pack_index to permit replacement
      Extract verify_pack_index for reuse from verify_pack
      Allow parse_pack_index on temporary files
      http-fetch: Use index-pack rather than verify-pack to check packs
      http-fetch: Use temporary files for pack-*.idx until verified

Sverre Rabbelier (1):
      Gitweb: ignore built file

Tay Ray Chuan (18):
      t5541-http-push: add test for URLs with trailing slash
      http: make end_url_with_slash() public
      remote-curl: ensure that URLs have a trailing slash
      http.c::new_http_pack_request: do away with the temp variable filename
      t7604-merge-custom-message: shift expected output creation
      t7604-merge-custom-message: show that --log doesn't append to -m
      merge: update comment
      merge: rename variable
      fmt-merge-msg: minor refactor of fmt_merge_msg()
      fmt-merge-msg: refactor merge title formatting
      fmt-merge-msg: add function to append shortlog only
      merge: --log appends shortlog to message if specified
      GIT-VERSION-GEN: restrict tags used
      t7502-commit: fix spelling
      show-branch: use DEFAULT_ABBREV instead of 7
      t7502-commit: add tests for summary output
      t7502-commit: add summary output tests for empty and merge commits
      commit::print_summary(): don't use format_commit_message()

Thomas Rast (2):
      t/README: document --root option
      send-email: ask about and declare 8bit mails

Tim Henigan (1):
      Documentation/SubmittingPatches: Fix typo in GMail section

Tor Arntsen (1):
      Change C99 comments to old-style C comments

Will Palmer (1):
      pretty: Respect --abbrev option

Zhang Le (1):
      git-mailinfo documentation: clarify -u/--encoding

bert Dvornik (1):
      start_command: close cmd->err descriptor when fork/spawn fails

Ævar Arnfjörð Bjarmason (3):
      Move t6000lib.sh to lib-*
      Turn setup code in t2007-checkout-symlink.sh into a test
      notes: Initialize variable to appease Sun Studio


Version v1.7.1; changes since v1.7.1-rc2:
-----------------------------------------

Eric Raymond (1):
      Documentation improvements for the description of short format.

Johannes Sixt (1):
      MSVC: Fix build by adding missing termios.h dummy

Jonathan Nieder (1):
      Documentation/Makefile: fix interrupted builds of user-manual.xml

Junio C Hamano (2):
      Git 1.7.0.6
      Git 1.7.1

Michael J Gruber (1):
      t7012: Mark missing tests as TODO

SZEDER Gábor (1):
      reflog: remove 'show' from 'expire's usage string


Version v1.7.1-rc2; changes since v1.7.1-rc1:
---------------------------------------------

Charles Bailey (1):
      Documentation: Describe other situations where -z affects git diff

Chris Webb (1):
      git-instaweb: pass through invoking user's path to gitweb CGI scripts

Jay Soffian (1):
      Documentation/config.txt: default gc.aggressiveWindow is 250, not 10

Jeff King (2):
      diff: use large integers for diffstat calculations
      rebase-interactive: silence warning when no commits rewritten

Jens Lehmann (2):
      gitk: Add Ctrl-W shortcut for closing the active window
      gitk: Display dirty submodules correctly

Johannes Gilger (1):
      pretty: Initialize notes if %N is used

Johannes Sixt (1):
      Windows: start_command: Support non-NULL dir in struct child_process

Jonathan Nieder (5):
      gitk: Add comments to explain encode_view_opts and decode_view_opts
      gitk: Don't clobber "Remember this view" setting
      Add .depend directories to .gitignore
      Document new "already-merged" rule for branch -d
      tag -v: use RUN_GIT_CMD to run verify-tag

Junio C Hamano (6):
      SubmittingPatches: update GMail section
      blame documentation: -M/-C notice copied lines as well as moved ones
      Git 1.7.0.5
      gitweb: simplify gitweb.min.* generation and clean-up rules
      t3301: add tests to use --format="%N"
      Git 1.7.1-rc2

Marc Branchaud (1):
      Docs: Add -X option to git-merge's synopsis.

Mark Hills (4):
      gitk: Remove forced use of sans-serif font
      gitk: Set the font for all spinbox widgets
      gitk: Set the font for all listbox widgets
      gitk: Use consistent font for all text input fields

Matthew Ogilvie (1):
      t6006: do not write to /tmp

Michael J Gruber (1):
      t1010-mktree: Adjust expected result to code and documentation

Pat Thoyts (3):
      gitk: Avoid calling tk_setPalette on Windows
      gitk: Add emacs editor variable block
      gitk: Fix display of copyright symbol

Ramkumar Ramachandra (5):
      Documentation/remote-helpers: Rewrite description
      Documentation/urls: Rewrite to accomodate <transport>::<address>
      Documentation/remote-helpers: Add invocation section
      Fixup: Second argument may be any arbitrary string
      Documentation/remote-helpers: Fix typos and improve language

Stephen Boyd (1):
      t3507: Make test executable

Thomas Rast (1):
      combined diff: correctly handle truncated file

Will Palmer (1):
      documentation: clarify direction of core.autocrlf


Version v1.7.1-rc1; changes since v1.7.1-rc0:
---------------------------------------------

Brandon Casey (1):
      notes.h: declare bit field as unsigned to silence compiler complaints

Jeff King (4):
      fix const-correctness of write_sha1_file
      fix textconv leak in emit_rewrite_diff
      fix typos and grammar in 1.7.1 draft release notes
      docs: clarify "branch -l"

Jens Lehmann (2):
      Let check_preimage() use memset() to initialize "struct checkout"
      Teach diff --submodule and status to handle .git files in submodules

Jonathan Nieder (1):
      Teach mailinfo %< as an alternative scissors mark

Junio C Hamano (2):
      diff.c: work around pointer constness warnings
      Git 1.7.1-rc1

Mark Rada (6):
      Gitweb: add ignore and clean rules for minified files
      Gitweb: add support for minifying gitweb.css
      Gitweb: add autoconfigure support for minifiers
      instaweb: add minification awareness
      gitweb: add documentation to INSTALL regarding gitweb.js
      gitweb: update INSTALL to use shorter make target

Michael J Gruber (2):
      t3301-notes: Test the creation of reflog entries
      refs.c: Write reflogs for notes just like for branch heads

Tay Ray Chuan (2):
      branch: say "Reset to" in reflog entries for 'git branch -f' operations
      fetch/push: fix usage strings


Version v1.7.1-rc0; changes since v1.7.0.9:
-------------------------------------------

Aaron Crane (1):
      cvsimport: new -R option: generate .git/cvs-revisions mapping

Anders Kaseorg (1):
      everyday: fsck and gc are not everyday operations

Ben Walton (2):
      Make templates honour SHELL_PATH and PERL_PATH
      Modernize git calling conventions in hook templates

Benjamin C Meyer (1):
      Fix a spelling mistake in a git-p4 console message

Bert Wesarg (4):
      make union merge an xdl merge favor
      refactor merge flags into xmparam_t
      merge-file: add option to specify the marker size
      merge-file: add option to select union merge favor

Brandon Casey (9):
      t/t1304: avoid -d option to setfacl
      t/t1304: set the Default ACL base entries
      t/t1304: use 'test -r' to test readability rather than looking at mode bits
      t/t1304: set the ACL effective rights mask
      t/t1304: make a second colon optional in the mask ACL check
      notes.c: remove inappropriate call to return
      t5505: remove unnecessary subshell invocations
      t5505: add missing &&
      t/t5505-remote.sh: escape * to prevent interpretation by shell as glob

Brian Gernhardt (1):
      Use test_expect_success for test setups

Chris Webb (1):
      imap-send: suppress warning about cleartext password with CRAM-MD5

Christian Couder (8):
      reset: add option "--keep" to "git reset"
      reset: add test cases for "--keep" option
      Documentation: reset: describe new "--keep" option
      reset: disallow "reset --keep" outside a work tree
      reset: disallow using --keep when there are unmerged entries
      cherry-pick: add tests for new --ff option
      Documentation: describe new cherry-pick --ff option
      rebase -i: use new --ff cherry-pick option

Dave Olszewski (1):
      rebase--interactive: don't require what's rebased to be a branch

Eric Blake (1):
      Makefile: update defaults for modern Cygwin

Eric S. Raymond (1):
      Integrate version 3 ciabot scripts into contrib/.

Erik Faye-Lund (5):
      hash-object: support --stdin-paths with --no-filters
      git-svn: support fetch with autocrlf on
      Revert "git-svn: always initialize with core.autocrlf=false"
      cherry: support --abbrev option
      ls: remove redundant logic

Frank Li (3):
      fallback SSH_ASKPASS when GIT_ASKPASS not set
      git-svn: Support retrieving passwords with GIT_ASKPASS
      git-core: Support retrieving passwords with GIT_ASKPASS

Hitoshi Mitake (1):
      imap-send: support CRAM-MD5 authentication

Ian Ward Comfort (1):
      RPM spec: include bash completion support

Ilari Liusvaara (1):
      Allow '+', '-' and '.' in remote helper names

Jakub Narębski (2):
      gitweb: esc_html (short) error message in die_error
      gitweb: Protect escaping functions against calling on undef

Jari Aalto (3):
      git-send-email.perl: improve error message in send_message()
      git-send-email.perl: add option --smtp-debug
      git-send-email.perl - try to give real name of the calling host to HELO/EHLO

Jeff King (1):
      submodule summary: do not shift a non-existent positional variable

Jens Lehmann (6):
      git diff --submodule: Show detailed dirty status of submodules
      git status: Show detailed dirty status of submodules in long format
      git submodule summary: Handle HEAD as argument when on an unborn branch
      Refactor dirty submodule detection in diff-lib.c
      git status: Fix false positive "new commits" output for dirty submodules
      git status: ignoring untracked files must apply to submodules too

Johan Herland (32):
      Minor cosmetic fixes to notes.c
      Notes API: get_commit_notes() -> format_note() + remove the commit restriction
      Add tests for checking correct handling of $GIT_NOTES_REF and core.notesRef
      Notes API: init_notes(): Initialize the notes tree from the given notes ref
      Notes API: add_note(): Add note objects to the internal notes tree structure
      Notes API: remove_note(): Remove note objects from the notes tree structure
      Notes API: get_note(): Return the note annotating the given object
      Notes API: for_each_note(): Traverse the entire notes tree with a callback
      Notes API: write_notes_tree(): Store the notes tree in the database
      Notes API: Allow multiple concurrent notes trees with new struct notes_tree
      Refactor notes concatenation into a flexible interface for combining notes
      Builtin-ify git-notes
      t3301: Verify successful annotation of non-commits
      t3305: Verify that adding many notes with git-notes triggers increased fanout
      Teach notes code to properly preserve non-notes in the notes tree
      Teach builtin-notes to remove empty notes
      builtin-notes: Add "remove" subcommand for removing existing notes
      t3305: Verify that removing notes triggers automatic fanout consolidation
      Notes API: prune_notes(): Prune notes that belong to non-existing objects
      builtin-notes: Add "prune" subcommand for removing notes for missing objects
      Documentation: Generalize git-notes docs to 'objects' instead of 'commits'
      builtin-notes: Add "list" subcommand for listing note objects
      builtin-notes: Add --message/--file aliases for -m/-F options
      builtin-notes: Add "add" subcommand for adding notes to objects
      builtin-notes: Add "append" subcommand for appending to note objects
      builtin-notes: Deprecate the -m/-F options for "git notes edit"
      builtin-notes: Refactor handling of -F option to allow combining -m and -F
      builtin-notes: Add -c/-C options for reusing notes
      builtin-notes: Misc. refactoring of argc and exit value handling
      builtin-notes: Add "copy" subcommand for copying notes between objects
      submodule summary: Don't barf when invoked in an empty repo
      builtin-notes: Minor (mostly parse_options-related) fixes

Johannes Sixt (2):
      Print RUNTIME_PREFIX warning only when GIT_TRACE is set
      Windows: redirect f[re]open("/dev/null") to f[re]open("nul")

Jonathan Nieder (33):
      Makefile: add missing header file dependencies
      Makefile: make sure test helpers are rebuilt when headers change
      Makefile: remove wt-status.h from LIB_H
      Makefile: clean up http-walker.o dependency rules
      Makefile: drop dependency on $(wildcard */*.h)
      Makefile: transport.o depends on branch.h now
      Makefile: rearrange dependency rules
      Makefile: disable default implicit rules
      Makefile: list generated object files in OBJECTS
      Makefile: lazily compute header dependencies
      Makefile: list standalone program object files in PROGRAM_OBJS
      Teach Makefile to check header dependencies
      Do not install shell libraries executable
      Makefile: tuck away generated makefile fragments in .depend
      Makefile: always remove .depend directories on 'make clean'
      Makefile: clarify definition of TEST_OBJS
      Makefile: Fix occasional GIT-CFLAGS breakage
      revert: fix tiny memory leak in cherry-pick --ff
      tests: document format of conflicts from checkout -m
      tests: document cherry-pick behavior in face of conflicts
      xdl_merge(): add optional ancestor label to diff3-style output
      xdl_merge(): move file1 and file2 labels to xmparam structure
      merge-file --diff3: add a label for ancestor
      ll_merge(): add ancestor label parameter for diff3-style output
      checkout --conflict=diff3: add a label for ancestor
      merge_file(): add comment explaining behavior wrt conflict style
      merge_trees(): add ancestor label parameter for diff3-style output
      checkout -m --conflict=diff3: add a label for ancestor
      compat: add mempcpy()
      revert: clarify label on conflict hunks
      cherry-pick, revert: add a label for ancestor
      merge-recursive: add a label for ancestor
      Makefile: future-proof Cygwin version check

Junio C Hamano (25):
      builtin-for-each-ref.c: comment fixes
      builtin-for-each-ref.c: check if we need to peel onion while parsing the format
      for-each-ref --format='%(symref) %(symref:short)'
      for-each-ref --format='%(flag)'
      Start 1.7.1 cycle
      Resurrect "git grep --no-index"
      Update draft release notes to 1.7.1
      notes: fix malformed tree entry
      wrap-for-bin: do not export an empty GIT_TEMPLATE_DIR
      submodule summary: do not fail before the first commit
      parse-options: add parse_options_concat() to concat options
      builtin/merge: make checkout_fast_forward() non static
      revert: add --ff option to allow fast forward when cherry-picking
      Update draft release notes to 1.7.1
      Documentation: improve description of "git reset --keep"
      t4013: add tests for log -p -m --first-parent
      revision: introduce setup_revision_opt
      show -c: show patch text
      show --first-parent/-m: do not default to --cc
      Makefile: update check-docs target
      t5516: Use test_cmp when appropriate
      Update draft release notes to 1.7.1
      Update draft release notes to 1.7.1
      Revert "Link against libiconv on IRIX"
      Git 1.7.1-rc0

Larry D'Anna (4):
      git-push: fix an advice message so it goes to stderr
      git-push: send "To <remoteurl>" messages to the standard output in --porcelain mode
      git-push: make git push --porcelain print "Done"
      git-push: add tests for git push --porcelain

Linus Torvalds (1):
      Move 'builtin-*' into a 'builtin/' subdirectory

Marc Branchaud (1):
      Teach rebase the --no-ff option.

Mark Lodato (4):
      Add an optional argument for --color options
      Add GIT_COLOR_BOLD_* and GIT_COLOR_BG_*
      grep: Colorize filename, line number, and separator
      grep: Colorize selected, context, and function lines

Markus Heidelberg (2):
      builtin/commit: fix duplicated sentence in a comment
      builtin/commit: remove unnecessary variable definition

Michael J Gruber (4):
      git-svn: req_svn when needed
      t9119-git-svn-info.sh: test with svn 1.6.* as well
      Documentation: fix a few typos in git-notes.txt
      git-svn: make git svn --version work again

Michael Lukashov (4):
      connect.c: move duplicated code to a new function 'get_host_and_port'
      refactor duplicated code in builtin-send-pack.c and transport.c
      refactor duplicated fill_mm() in checkout and merge-recursive
      refactor duplicated encode_header in pack-objects and fast-import

Michele Ballabio (1):
      shortlog: warn the user when there is no input

Miklos Vajna (1):
      request-pull: avoid mentioning that the start point is a single commit

Nguyễn Thái Ngọc Duy (5):
      make_absolute_path(): Do not append redundant slash
      init-db, rev-parse --git-dir: do not append redundant slash
      Move offset_1st_component() to path.c
      Support working directory located at root
      Add test for using Git at root of file system

Nicolas Pitre (1):
      move encode_in_pack_object_header() to a better place

Petr Baudis (1):
      git log -p -m: document -m and honor --first-parent

René Scharfe (2):
      setenv(GIT_DIR) clean-up
      grep: enable threading for context line printing

SZEDER Gábor (4):
      bash: improve aliased command recognition
      bash: support user-supplied completion scripts for user's git commands
      bash: support user-supplied completion scripts for aliases
      bash: completion for gitk aliases

Stefan-W. Hahn (4):
      documentation: 'git-mailsplit --keep-cr' is not hidden anymore
      git-am: Add command line parameter `--keep-cr` passing it to git-mailsplit
      git-am: Add am.keepcr and --no-keep-cr to override it
      git-am: Add tests for `--keep-cr`, `--no-keep-cr` and `am.keepcr`

Stephen Boyd (11):
      format-patch: use a string_list for headers
      format-patch: add --no-cc, --no-to, and --no-add-headers
      send-email: add --no-cc, --no-to, and --no-bcc
      notes: rework subcommands and parse options
      fmt-merge-msg: be quiet if nothing to merge
      t6200: modernize with test_tick
      t6200: test fmt-merge-msg more
      fmt-merge-msg: use pretty.c routines
      string-list: add unsorted_string_list_lookup()
      fmt-merge-msg: remove custom string_list implementation
      fmt-merge-msg: hide summary option

Steven Drake (5):
      Add `init.templatedir` configuration variable.
      Add a "TEMPLATE DIRECTORY" section to git-init[1].
      init: having keywords without value is not a global error.
      t/t0001-init.sh: add test for 'init with init.templatedir set'
      Add 'git format-patch --to=' option and 'format.to' configuration variable.

Tay Ray Chuan (17):
      Documentation/git-clone: mention progress in -v
      Documentation/git-pull: put verbosity options before merge/fetch ones
      Documentation/git-push: put --quiet before --verbose
      fetch: refactor verbosity option handling into transport.[ch]
      push: support multiple levels of verbosity
      clone: support multiple levels of verbosity
      transport->progress: use flag authoritatively
      push: learn --progress
      fetch and pull: learn --progress
      transport: update flags to be in running order
      t5541-http-push: check that ref is unchanged for non-ff test
      t554[01]-http-push: refactor, add non-ff tests
      http-push: remove "|| 1" to enable verbose check
      http-walker: cleanup more thoroughly
      http: init and cleanup separately from http-walker
      remote-curl: use http_fetch_ref() instead of walker wrapper
      remote-curl: init walker only when needed

Thomas Rast (14):
      test-lib: unset GIT_NOTES_REF to stop it from influencing tests
      Support showing notes from more than one notes tree
      Documentation: document post-rewrite hook
      commit --amend: invoke post-rewrite hook
      rebase: invoke post-rewrite hook
      rebase -i: invoke post-rewrite hook
      notes: implement 'git notes copy --stdin'
      notes: implement helpers needed for note copying during rewrite
      rebase: support automatic notes copying
      commit --amend: copy notes to the new commit
      notes: add shorthand --ref to override GIT_NOTES_REF
      notes: track whether notes_trees were changed at all
      git-notes(1): add a section about the meaning of history
      rebase -i: make post-rewrite work for 'edit'

Tuomas Suutari (5):
      t9151: Fix a few commits in the SVN dump
      t9151: Add two new svn:mergeinfo test cases
      git-svn: Fix discarding of extra parents from svn:mergeinfo
      git-svn: Fix merge detecting with rewrite-root
      t9150,t9151: Add rewrite-root option to init

YONETANI Tomokazu (1):
      Fix _XOPEN_SOURCE problem on DragonFly

josh robb (1):
      git svn: delay importing SVN::Base until it is needed


Version v1.7.0.9; changes since v1.7.0.8:
-----------------------------------------

Jakub Narębski (1):
      gitweb: Introduce esc_attr to escape attributes of HTML elements

Junio C Hamano (1):
      Git 1.6.4.5


Version v1.7.0.8; changes since v1.7.0.7:
-----------------------------------------

Jonathan Nieder (1):
      add: introduce add.ignoreerrors synonym for add.ignore-errors

Junio C Hamano (1):
      Git 1.7.0.8


Version v1.7.0.7; changes since v1.7.0.6:
-----------------------------------------

Eric Raymond (1):
      Documentation improvements for the description of short format.

Gerrit Pape (1):
      git-submodule.sh: properly initialize shell variables

Greg Brockman (1):
      Check size of path buffer before writing into it

Jonathan Nieder (1):
      config --get --path: check for unset $HOME

Junio C Hamano (1):
      Git 1.7.0.7

Michael J Gruber (3):
      index-pack: fix trivial typo in usage string
      Makefile: reenable install with NO_CURL
      Documentation/config: describe status.submodulesummary

René Scharfe (1):
      remove ecb parameter from xdi_diff_outf()

Stephen Boyd (1):
      request-pull.txt: Document -p option

Uwe Kleine-König (1):
      rev-parse: fix --parse-opt --keep-dashdash --stop-at-non-option


Version v1.7.0.6; changes since v1.7.0.5:
-----------------------------------------

Charles Bailey (1):
      Documentation: Describe other situations where -z affects git diff

David Aguilar (1):
      Makefile: Remove usage of deprecated Python "has_key" method

Jay Soffian (1):
      Documentation/config.txt: default gc.aggressiveWindow is 250, not 10

Jeff King (1):
      diff: use large integers for diffstat calculations

Johannes Sixt (1):
      MSVC: Fix build by adding missing termios.h dummy

Jonathan Nieder (2):
      Document new "already-merged" rule for branch -d
      Documentation/Makefile: fix interrupted builds of user-manual.xml

Junio C Hamano (1):
      Git 1.7.0.6

Marc Branchaud (1):
      Docs: Add -X option to git-merge's synopsis.

Michael J Gruber (3):
      rev-list: use default abbrev length when abbrev-commit is in effect
      t1010-mktree: Adjust expected result to code and documentation
      t7012: Mark missing tests as TODO

SZEDER Gábor (1):
      reflog: remove 'show' from 'expire's usage string

Thomas Rast (1):
      combined diff: correctly handle truncated file

Will Palmer (1):
      documentation: clarify direction of core.autocrlf


Version v1.7.0.5; changes since v1.7.0.4:
-----------------------------------------

Brandon Casey (1):
      daemon.c: avoid accessing ss_family member of struct sockaddr_storage

Erik Faye-Lund (1):
      rev-list: fix --pretty=oneline with empty message

Gustaf Hendeby (1):
      Improve error messages from 'git stash show'

Jeff King (1):
      docs: clarify "branch -l"

Jens Lehmann (1):
      Let check_preimage() use memset() to initialize "struct checkout"

Junio C Hamano (3):
      diff --check: honor conflict-marker-size attribute
      blame documentation: -M/-C notice copied lines as well as moved ones
      Git 1.7.0.5

Michael J Gruber (2):
      .mailmap: Entries for Alex Bennée, Deskin Miller, Vitaly "_Vi" Shukela
      send-email: lazily assign editor variable

R. Tyler Ballance (1):
      Correct references to /usr/bin/python which does not exist on FreeBSD

Ramkumar Ramachandra (1):
      imap-send: Remove limitation on message body

Shawn O. Pearce (1):
      http-backend: Don't infinite loop during die()

Tay Ray Chuan (4):
      pack-protocol.txt: fix spelling
      pack-protocol.txt: fix pkt-line lengths
      branch: say "Reset to" in reflog entries for 'git branch -f' operations
      fetch/push: fix usage strings


Version v1.7.0.4; changes since v1.7.0.3:
-----------------------------------------

Björn Gustavsson (5):
      apply: Don't unnecessarily update line lengths in the preimage
      apply: Remove the quick rejection test
      apply: Allow blank context lines to match beyond EOF
      t4124: Add additional tests of --whitespace=fix
      t3417: Add test cases for "rebase --whitespace=fix"

Chris Packham (1):
      test for add with non-existent pathspec

David Aguilar (1):
      difftool: Fix '--gui' when diff.guitool is unconfigured

Greg Bacon (1):
      Documentation: Clarify support for smart HTTP backend

Holger Weiß (3):
      Don't redefine htonl and ntohl on big-endian
      Link against libiconv on IRIX
      Documentation: show-ref <pattern>s are optional

Jakub Narębski (1):
      gitweb: git_get_project_config requires only $git_dir, not also $project

Jan Stępień (1):
      Updated the usage string of git reset

Jeff King (1):
      dir: fix COLLECT_IGNORED on excluded prefixes

Johannes Sixt (2):
      diff: fix textconv error zombies
      Windows: fix utime() for read-only files

Junio C Hamano (8):
      git add -u: die on unmatched pathspec
      color: allow multiple attributes
      t0050: mark non-working test as such
      tests for "git add ignored-dir/file" without -f
      refs: ref entry with NULL sha1 is can be a dangling symref
      t9350: fix careless use of "cd"
      Prepare for 1.7.0.4
      Git 1.7.0.4

Kevin Ballard (1):
      format-patch: Squelch 'fatal: Not a range." error

Markus Heidelberg (1):
      Documentation: explain the meaning of "-g" in git-describe output

Sverre Rabbelier (1):
      fast-export: don't segfault when marks file cannot be opened


Version v1.7.0.3; changes since v1.7.0.2:
-----------------------------------------

Adam Simpkins (2):
      prune: honor --expire=never
      reflog: honor gc.reflogexpire=never

Andreas Gruenbacher (3):
      fetch: Check for a "^{}" suffix with suffixcmp()
      fetch: Future-proof initialization of a refspec on stack
      fetch: Fix minor memory leak

Dave Olszewski (1):
      don't use default revision if a rev was specified

Filippo Negroni (1):
      Fix gitmkdtemp: correct test for mktemp() return value

Giuseppe Bilotta (5):
      Refactor list of of repo-local env vars
      rev-parse: --local-env-vars option
      shell setup: clear_local_git_env() function
      submodules: ensure clean environment when operating in a submodule
      is_submodule_modified(): clear environment properly

Ian Ward Comfort (1):
      bash: complete *_HEAD refs if present

Imre Deak (1):
      daemon: parse_host_and_port SIGSEGV if port is specified

Jeff King (2):
      add-interactive: fix bogus diff header line ordering
      push: fix segfault for odd config

Jonathan Nieder (1):
      Makefile: Fix CDPATH problem

Junio C Hamano (12):
      "log --author=me --grep=it" should find intersection, not union
      Reword "detached HEAD" notification
      mailinfo: do not strip leading spaces even for a header line
      t5521: fix and modernize
      builtin-fetch --all/--multi: propagate options correctly
      fetch --all/--multiple: keep all the fetched branch information
      pack-objects documentation: reword "objects that appear in the standard input"
      Merge accumulated fixes to prepare for 1.7.0.3
      t9400: Use test_cmp when appropriate
      t/Makefile: remove test artifacts upon "make clean"
      Update draft release notes to 1.7.0.3
      Git 1.7.0.3

Mark Lodato (4):
      grep docs: pluralize "Example" section
      grep docs: use AsciiDoc literals consistently
      grep docs: --cached and <tree>... are incompatible
      grep docs: document --no-index option

Matthieu Moy (6):
      Add a testcase for ACL with restrictive umask.
      Move gitmkstemps to path.c
      git_mkstemp_mode, xmkstemp_mode: variants of gitmkstemps with mode argument.
      Use git_mkstemp_mode and xmkstemp_mode in odb_mkstemp, not chmod later.
      git_mkstemps_mode: don't set errno to EINVAL on exit.
      Use git_mkstemp_mode instead of plain mkstemp to create object files

Michael J Gruber (7):
      Documentation/git-read-tree: fix table layout
      Documentation/git-read-tree: clarify 2-tree merge
      Documentation/git-reflog: Fix formatting of command lists
      Documentation/gitdiffcore: Remove misleading date in heading
      Documentation/urls: Remove spurious example markers
      Documentation/git-clone: Transform description list into item list
      .mailmap: Map the the first submissions of MJG by e-mail

Michael Wookey (1):
      run-command.c: fix build warnings on Ubuntu

Nelson Elhage (2):
      Documentation: pack-objects: Clarify --local's semantics.
      pack-objects documentation: Fix --honor-pack-keep as well.

René Scharfe (2):
      blame: fix indent of line numbers
      for_each_recent_reflog_ent(): use strbuf, fix offset handling

Stephen Boyd (1):
      pull: replace unnecessary sed invocation

Thomas Rast (1):
      Documentation: receive.denyCurrentBranch defaults to 'refuse'


Version v1.7.0.2; changes since v1.7.0.1:
-----------------------------------------

Bert Wesarg (1):
      unset GREP_OPTIONS in test-lib.sh

Christian Couder (1):
      bisect: error out when passing bad path parameters

Dmitry Potapov (1):
      hash-object: don't use mmap() for small files

Erik Faye-Lund (1):
      run-command: support custom fd-set in async

Gabriel Filion (1):
      require_work_tree broken with NONGIT_OK

Hitoshi Mitake (1):
      git-imap-send: Convert LF to CRLF before storing patch to draft box

Jakub Narębski (2):
      gitweb: Die if there are parsing errors in config file
      gitweb: Fix project-specific feature override behavior

Jonathan Nieder (8):
      Fix 'git var' usage synopsis
      Make 'git var GIT_PAGER' always print the configured pager
      git.1: Clarify the behavior of the --paginate option
      git svn: Fix launching of pager
      am: Fix launching of pager
      tests: Add tests for automatic use of pager
      t7006-pager: if stdout is not a terminal, make a new one
      tests: Fix race condition in t7006-pager

Junio C Hamano (6):
      t6000lib: Fix permission
      lib-patch-mode.sh: Fix permission
      status: preload index to optimize lstat(2) calls
      Start preparing for 1.7.0.2
      Update draft release notes to 1.7.0.2
      Git 1.7.0.2

Larry D'Anna (2):
      git diff --quiet -w: check and report the status
      git-diff: add a test for git diff --quiet -w

Matthieu Moy (1):
      stash: suggest the correct command line for unknown options.

Michal Sojka (1):
      Remove extra '-' from git-am(1)

Nicolas Pitre (8):
      fast-import: start using struct pack_idx_entry
      fast-import: use sha1write() for pack data
      fast-import: use write_idx_file() instead of custom code
      fast-import: make default pack size unlimited
      fast-import: honor pack.indexversion and pack.packsizelimit config vars
      fast-import: use the diff_delta() max_delta_size argument
      sha1_file: don't malloc the whole compressed result when writing out objects
      sha1_file: be paranoid when creating loose objects

René Scharfe (4):
      utf8.c: remove print_wrapped_text()
      utf8.c: remove print_spaces()
      utf8.c: remove strbuf_write()
      utf8.c: speculatively assume utf-8 in strbuf_add_wrapped_text()

Shawn O. Pearce (7):
      run-command: Allow stderr to be a caller supplied pipe
      send-pack: demultiplex a sideband stream with status data
      receive-pack: Refactor how capabilities are shown to the client
      receive-pack: Wrap status reports inside side-band-64k
      receive-pack: Send hook output over side band #2
      t5401: Use a bare repository for the remote peer
      receive-pack: Send internal errors over side-band #2

Stephen Boyd (1):
      t7406: Fix submodule init config tests

Sylvain Rabot (1):
      gitweb multiple project roots documentation

Tay Ray Chuan (1):
      transport: add got_remote_refs flag

Thomas Rast (1):
      cherry_pick_list: quit early if one side is empty


Version v1.7.0.1; changes since v1.7.0:
---------------------------------------

Bert Wesarg (2):
      Documentation: mention conflict marker size argument (%L) for merge driver
      rerere: fix memory leak if rerere images can't be read

Evan Powers (1):
      git-p4: fix bug in symlink handling

Jacob Helwig (1):
      Documentation: Fix indentation problem in git-commit(1)

Jeff King (9):
      accept "git grep -- pattern"
      cherry-pick: rewrap advice message
      cherry-pick: refactor commit parsing code
      cherry-pick: format help message as strbuf
      cherry-pick: show commit name instead of sha1
      cherry-pick: prettify the advice message
      dwim_ref: fix dangling symref warning
      docs: don't talk about $GIT_DIR/refs/ everywhere
      rm: fix bug in recursive subdirectory removal

Johannes Sixt (1):
      t3301-notes: insert a shbang line in ./fake_editor.sh

Jonathan Nieder (1):
      am: remove rebase-apply directory before gc

Junio C Hamano (6):
      Typofixes outside documentation area
      Start 1.7.0 maintenance track
      Fix use of mutex in threaded grep
      Prepare 1.7.0.1 release notes
      Update 1.7.0.1 release notes
      Git 1.7.0.1

Larry D'Anna (1):
      diff: make sure --output=/bad/path is caught

Mark Lodato (2):
      grep documentation: clarify what files match
      Remove reference to GREP_COLORS from documentation

Markus Heidelberg (1):
      sha1_name: fix segfault caused by invalid index access

Matt Kraai (1):
      commit: quote the user name in the example

Pete Harlan (1):
      Remove hyphen from "git-command" in two error messages

René Scharfe (1):
      fix minor memory leak in get_tree_entry()

Stephen Boyd (1):
      Documentation: describe --thin more accurately

Thomas Rast (2):
      stash pop: remove 'apply' options during 'drop' invocation
      t1450: fix testcases that were wrongly expecting failure


Version v1.7.0; changes since v1.7.0-rc2:
-----------------------------------------

Brian Gernhardt (1):
      t3902: Protect against OS X normalization

Jacob Helwig (1):
      filter-branch: Fix error message for --prune-empty --commit-filter

Jay Soffian (1):
      blame: prevent a segv when -L given start > EOF

Jeff King (1):
      am: switch --resolved to --continue

Junio C Hamano (11):
      git-add documentation: Fix shell quoting example
      Fix parsing of imap.preformattedHTML and imap.sslverify
      git-push: document all the status flags used in the output
      check-ref-format documentation: fix enumeration mark-up
      t8003: check exit code of command and error message separately
      Git 1.6.6.2
      Update draft release notes to 1.7.0 one more time
      archive documentation: attributes are taken from the tree by default
      Re-fix check-ref-format documentation mark-up
      Fix typo in 1.6.6.2 release notes
      Git 1.7.0

Michael J Gruber (1):
      Documentation: minor fixes to RelNotes-1.7.0

Nicolas Pitre (1):
      Revert "pack-objects: fix pack generation when using pack_size_limit"

SZEDER Gábor (1):
      bash: support 'git am's new '--continue' option

Thomas Rast (1):
      Documentation: quote braces in {upstream} notation


Version v1.7.0-rc2; changes since v1.7.0-rc1:
---------------------------------------------

Andrew Myrick (1):
      git-svn: persistent memoization

Ben Walton (2):
      configure: Allow GIT_ARG_SET_PATH to handle --without-PROGRAM
      configure: Allow --without-python

Björn Gustavsson (1):
      bash: support the --autosquash option for rebase

Brian Gernhardt (2):
      t9501: Skip testing load if we can't detect it
      t9501: Re-fix max load test

Christian Stimming (1):
      git-gui: Update German translation (12 new or changed strings).

Dan McGee (1):
      Make NO_PTHREADS the sole thread configuration variable

Emmanuel Trillaud (1):
      git-gui: update french translation

Giuseppe Bilotta (4):
      git-gui: handle non-standard worktree locations
      git-gui: handle bare repos correctly
      git-gui: update shortcut tools to use _gitworktree
      git-gui: set GIT_DIR and GIT_WORK_TREE after setup

Heiko Voigt (1):
      git-gui: fix shortcut for menu "Commit/Revert Changes"

Jakub Narębski (1):
      gitweb: Make running t9501 test with '--debug' reliable and usable

Jeff Epler (1):
      git-gui: Support applying a range of changes at once

Jeff King (3):
      mention new shell execution behavior in release notes
      docs: fix filter-branch example for quoted paths
      Fix invalid read in quote_c_style_counted

Jens Lehmann (5):
      git-gui: Use git diff --submodule when available
      git-gui: Add a special diff popup menu for submodules
      git-gui: Quote git path when starting another gui in a submodule
      Fix memory leak in submodule.c
      Updates for dirty submodules in release notes and user manual

John 'Warthog9' Hawley (7):
      gitweb: Load checking
      gitweb: Makefile improvements
      gitweb: Check that $site_header etc. are defined before using them
      gitweb: add a "string" variant of print_local_time
      gitweb: add a "string" variant of print_sort_th
      gitweb: Add optional extra parameter to die_error, for extended explanation
      gitweb: Simplify (and fix) chop_str

Junio C Hamano (7):
      RPM packaging: use %global inside %{!?...}
      Update draft release notes to 1.7.0
      build: make code "-Wpointer-arith" clean
      fast-import.c: Fix big-file-threshold parsing bug
      fast-import: count --max-pack-size in bytes
      Revert 30816237 and 7e62265
      Update draft release notes to 1.7.0

Michael J Gruber (1):
      git-clean: fix the description of the default behavior

Michal Sojka (2):
      filter-branch: Fix to allow replacing submodules with another content
      filter-branch: Add tests for submodules in tree-filter

Michele Ballabio (1):
      git-gui: update Italian translation

Nanako Shiraishi (1):
      git-gui: update Japanese translation

Nicolas Pitre (4):
      fix multiple issues with t5300
      pack-objects: fix pack generation when using pack_size_limit
      make --max-pack-size argument to 'git pack-object' count in bytes
      update git-repack documentation wrt repack.UseDeltaBaseOffset

Pal-Kristian Engstad (1):
      git-p4: Fix sync errors due to new server version

Pat Thoyts (1):
      git-gui: use themed tk widgets with Tk 8.5

Paul Mackerras (1):
      gitk: Fix copyright symbol in About box message

Peter Krefting (1):
      git-gui: Update Swedish translation (520t0f0u)

Peter Oberndorfer (1):
      git-gui: use different icon for new and modified files in the index

Ralf Wildenhues (1):
      Fix typos in technical documentation.

René Scharfe (2):
      grep: simplify assignment of ->fixed
      archive: simplify archive format guessing

Shawn O. Pearce (4):
      git-gui: Remove unused icon file_parttick
      git-gui: Update translation template
      fast-import: Stream very large blobs directly to pack
      Correct spelling of 'REUC' extension

Wesley J. Landaker (1):
      Update git fsck --full short description to mention packs


Version v1.7.0-rc1; changes since v1.7.0-rc0:
---------------------------------------------

Alejandro Riveira Fernández (1):
      Add test-run-command to .gitignore

Benjamin Kramer (1):
      grep: use REG_STARTEND (if available) to speed up regexec

Christian Couder (1):
      gitk: Add "--no-replace-objects" option

Christian Stimming (1):
      gitk: Update German translation

Dan McGee (1):
      grep: Fix two memory leaks

Dave Dulson (2):
      gitk: Enable gitk to create tags with messages
      gitk: Fix display of newly-created tags

Emmanuel Trillaud (1):
      gitk: Add French translation

Fredrik Kuivinen (1):
      Threaded grep

Gerrit Pape (1):
      git-cvsserver: allow regex metacharacters in CVSROOT

Ilari Liusvaara (7):
      Support addresses with ':' in git-daemon
      Allow use of []-wrapped addresses in git://
      Add xmallocz()
      Fix integer overflow in patch_delta()
      Fix integer overflow in unpack_sha1_rest()
      Fix integer overflow in unpack_compressed_entry()
      Fix remote.<remote>.vcs

Jeff King (8):
      t0101: use absolute date
      rerere: fix too-short initialization
      test combinations of @{} syntax
      fix parsing of @{-1}@{u} combination
      reject @{-1} not at beginning of object name
      fix memcpy of overlapping area
      fix off-by-one allocation error
      add shebang line to git-mergetool--lib.sh

Jens Lehmann (2):
      git diff: Don't test submodule dirtiness with --ignore-submodules
      Teach diff --submodule that modified submodule directory is dirty

Johan Herland (1):
      builtin-config: Fix crash when using "-f <relative path>" from non-root dir

Johannes Sixt (2):
      git_connect: use use_shell instead of explicit "sh", "-c"
      Implement pthread_cond_broadcast on Windows

Junio C Hamano (13):
      Make ce_uptodate() trustworthy again
      grep: expose "status-only" feature via -q
      Fix log -g this@{upstream}
      approxidate_careful() reports errorneous date string
      work around an obnoxious bash "safety feature" on OpenBSD
      Update @{bogus.timestamp} fix not to die()
      t0101: use a fixed timestamp when searching in the reflog
      transport_get(): drop unnecessary check for !remote
      tests: update tests that used to fail
      grep --quiet: finishing touches
      Update draft release notes to 1.7.0
      RPM packaging: don't include foreign-scm-helper bits yet
      is_submodule_modified(): fix breakage with external GIT_INDEX_FILE

Kirill Smelkov (1):
      gitk: Display submodule diffs with appropriate encoding

Laszlo Papp (1):
      gitk: Add Hungarian translation

Markus Heidelberg (2):
      gitk: Adjust two equal strings which differed in whitespace
      rebase: don't invoke the pager for each commit summary

Michele Ballabio (1):
      gitk: update Italian translation

Miklos Vajna (1):
      gitk: Update Hungarian translation

Peter Krefting (1):
      gitk: Update Swedish translation

SZEDER Gábor (2):
      bash: don't offer remote transport helpers as subcommands
      bash: support 'git notes' and its subcommands

Sebastian Schuberth (1):
      If deriving SVN_SSH from GIT_SSH on msys, also add quotes

Stephen Boyd (6):
      rebase: replace antiquated sed invocation
      commit-tree: remove unused #define
      tests: consolidate CR removal/addition functions
      t0022: replace non-portable literal CR
      am: fix patch format detection for Thunderbird "Save As" emails
      fix portability issues with $ in double quotes

Tay Ray Chuan (1):
      t5541-http-push: make grep expression check for one line only


Version v1.7.0-rc0; changes since v1.6.6.3:
-------------------------------------------

Andreas Gruenbacher (2):
      builtin-apply.c: Skip filenames without enough components
      builtin-apply.c: fix the --- and +++ header filename consistency check

Andrew Myrick (3):
      git-svn: ignore changeless commits when checking for a cherry-pick
      git-svn: handle merge-base failures
      git-svn: update svn mergeinfo test suite

Andrzej K. Haczewski (1):
      MSVC: Windows-native implementation for subset of Pthreads API

Avery Pennarun (3):
      git merge -X<option>
      Teach git-pull to pass -X<option> to git-merge
      Extend merge-subtree tests to test -Xsubtree=dir.

Bart Trojanowski (1):
      hg-to-git: fix COMMITTER type-o

Ben Walton (3):
      cvsimport: modernize callouts to git subcommands
      cvsimport: standarize open() calls to external git tools
      cvsimport: standarize system() calls to external git tools

Brad King (2):
      Test update-index for a gitlink to a .git file
      Handle relative paths in submodule .git files

Christian Couder (8):
      reset: improve mixed reset error message when in a bare repo
      Documentation: reset: add some tables to describe the different options
      reset: add a few tests for "git reset --merge"
      Documentation: reset: add some missing tables
      t7111: check that reset options work as described in the tables
      help: fix configured help format taking over command line one
      t7111: fix bad HEAD in tests with unmerged entries
      Documentation: rev-list: fix synopsys for --tags and and --remotes

Daniel Barkalow (9):
      Fix memory leak in helper method for disconnect
      Allow programs to not depend on remotes having urls
      Use a function to determine whether a remote is valid
      Allow fetch to modify refs
      Add a config option for remotes to specify a foreign vcs
      Add support for "import" helper command
      Allow helper to map private ref names into normal names
      Allow helpers to report in "list" command that the ref is unchanged
      Replace parse_blob() with an explanatory comment

David Aguilar (11):
      t7800-difftool: Set a bogus tool for use by tests
      git-difftool: Add '--gui' for selecting a GUI tool
      difftool--helper: Update copyright and remove distracting comments
      difftool--helper: Remove use of the GIT_MERGE_TOOL variable
      difftool: Allow specifying unconfigured commands with --extcmd
      git-diff.txt: Link to git-difftool
      t7800-difftool.sh: Simplify the --extcmd test
      difftool: Add '-x' and as an alias for '--extcmd'
      difftool: Use eval to expand '--extcmd' expressions
      difftool: Update copyright notices to list each year separately
      t7800-difftool.sh: Test mergetool.prompt fallback

Erik Faye-Lund (2):
      daemon: consider only address in kill_some_child()
      Windows: disable Python

Felipe Contreras (1):
      General --quiet improvements

Greg Bacon (1):
      No diff -b/-w output for all-whitespace changes

Horst H. von Brand (1):
      git-rebase.txt: Fix spelling

Igor Mironov (4):
      git-svn: fix mismatched src/dst errors for branch/tag
      git-svn: respect commiturl option for branch/tag
      git-svn: add --username/commit-url options for branch/tag
      git-svn: document --username/commit-url for branch/tag

Ilari Liusvaara (15):
      Add remote helper debug mode
      Support mandatory capabilities
      Pass unknown protocols to external protocol handlers
      Refactor git transport options parsing
      Support taking over transports
      Support remote helpers implementing smart transports
      Support remote archive from all smart transports
      Remove special casing of http, https and ftp
      Reset possible helper before reusing remote structure
      Improve error message when a transport helper was not found
      Add push --set-upstream
      Add git remote set-url
      Add branch --set-upstream
      rev-parse --glob
      rev-parse --branches/--tags/--remotes=pattern

Jakub Narębski (1):
      gitweb.js: Workaround for IE8 bug

James P. Howard, II (1):
      commit: support commit.status, --status, and --no-status

Jan Krüger (1):
      builtin-push: add --delete as syntactic sugar for :foo

Jay Soffian (2):
      git-svn: allow UUID to be manually remapped via rewriteUUID
      git-svn: allow subset of branches/tags to be specified in glob spec

Jeff King (20):
      status: typo fix in usage
      status: refactor short-mode printing to its own function
      status: refactor format option parsing
      status: add --porcelain output format
      commit: support alternate status formats
      docs: note that status configuration affects only long format
      tests: rename duplicate t1009
      status: disable color for porcelain format
      status: reduce duplicated setup code
      tests: handle NO_PYTHON setting
      run-command: add "use shell" option
      run-command: convert simple callsites to use_shell
      run-command: optimize out useless shell calls
      editor: use run_command's shell feature
      textconv: use shell to run helper
      diff: run external diff helper with shell
      strbuf_expand: convert "%%" to "%"
      strbuf: add strbuf_addbuf_percentquote
      commit: show interesting ident information in summary
      commit: allow suppression of implicit identity advice

Jens Lehmann (3):
      Show submodules as modified when they contain a dirty work tree
      git status: Show uncommitted submodule changes too when enabled
      Performance optimization for detection of modified submodules

Jim Meyering (1):
      diff.c: fix typoes in comments

Johan Herland (4):
      Basic build infrastructure for Python scripts
      fast-import: Proper notes tree manipulation
      Rename t9301 to t9350, to make room for more fast-import tests
      Add more testcases to test fast-import of notes

Johannes Schindelin (2):
      Allow specifying the remote helper in the url
      Introduce <branch>@{upstream} notation

Johannes Sixt (16):
      Make test case number unique
      filter-branch: remove an unnecessary use of 'git read-tree'
      t0021: use $SHELL_PATH for the filter script
      t4030, t4031: work around bogus MSYS bash path conversion
      start_command: report child process setup errors to the parent's stderr
      run-command: move wait_or_whine earlier
      start_command: detect execvp failures early
      Windows: boost startup by avoiding a static dependency on shell32.dll
      Windows: simplify the pipe(2) implementation
      Windows: avoid the "dup dance" when spawning a child process
      Do not use date.c:tm_to_time_t() from compat/mingw.c
      Makefile: honor NO_CURL when setting REMOTE_CURL_* variables
      Make test case numbers unique
      Make 'rerere forget' work from a subdirectory.
      merge-tree: remove unnecessary call of git_extract_argv0_path
      Make test numbers unique

Jonathan Nieder (15):
      Makefile: make ppc/sha1ppc.o depend on GIT-CFLAGS
      Makefile: regenerate assembler listings when asked
      Makefile: use target-specific variable to pass flags to cc
      Makefile: learn to generate listings for targets requiring special flags
      Makefile: consolidate .FORCE-* targets
      Documentation: git gc packs refs by default now
      Documentation: tiny git config manual tweaks
      Documentation: merge: move configuration section to end
      Documentation: suggest `reset --merge` in How Merge Works section
      Documentation: merge: move merge strategy list to end
      Documentation: merge: add an overview
      Documentation: emphasize when git merge terminates early
      Documentation: merge: add a section about fast-forward
      Documentation: simplify How Merge Works
      Documentation: merge: use MERGE_HEAD to refer to the remote branch

Junio C Hamano (96):
      Refuse updating the current branch in a non-bare repository via push
      Refuse deleting the current branch via push
      diff: change semantics of "ignore whitespace" options
      diff: Rename QUIET internal option to QUICK
      git stat: the beginning of "status that is not a dry-run of commit"
      git stat -s: short status output
      git status: not "commit --dry-run" anymore
      send-email: make --no-chain-reply-to the default
      "checkout A...B" switches to the merge base between A and B
      "rebase --onto A...B" replays history on the merge base between A and B
      git-merge-file --ours, --theirs
      Teach --[no-]rerere-autoupdate option to merge, revert and friends
      commit/status: check $GIT_DIR/MERGE_HEAD only once
      commit/status: "git add <path>" is not necessarily how to resolve
      status/commit: do not suggest "reset HEAD <path>" while merging
      builtin-merge.c: use standard active_cache macros
      resolve-undo: record resolved conflicts in a new index extension section
      resolve-undo: basic tests
      resolve-undo: allow plumbing to clear the information
      resolve-undo: "checkout -m path" uses resolve-undo information
      resolve-undo: teach "update-index --unresolve" to use resolve-undo info
      rerere: remove silly 1024-byte line limit
      Kick off 1.7.0 cycle
      Remove http.authAny
      branch -d: base the "already-merged" safety on the branch it merges with
      "reset --merge": fix unmerged case
      tests: move convenience regexp to match object names to test-lib.sh
      more D/F conflict tests
      traverse_trees(): handle D/F conflict case sanely
      Aggressive three-way merge: fix D/F case
      Fix bit assignment for CE_CONFLICTED
      .gitattributes: detect 8-space indent in shell scripts
      unpack-trees.c: prepare for looking ahead in the index
      unpack-trees.c: look ahead in the index
      read-tree --debug-unpack
      Describe second batch for 1.7.0 in draft release notes
      ident.c: remove unused variables
      t3001: test ls-files -o ignored/dir
      read_directory_recursive(): refactor handling of a single path into a separate function
      read_directory(): further split treat_path()
      ls-files: fix overeager pathspec optimization
      ident.c: check explicit identity for name and email separately
      ident.c: treat $EMAIL as giving user.email identity explicitly
      rerere: refactor rerere logic to make it independent from I/O
      rerere forget path: forget recorded resolution
      bisect.c: mark file-local function static
      builtin-rev-list.c: mark file-local function static
      pretty.c: mark file-local function static
      grep: optimize built-in grep by skipping lines that do not hit
      http.c: mark file-local functions static
      entry.c: mark file-local function static
      parse-options.c: mark file-local function static
      read-cache.c: mark file-local functions static
      remote-curl.c: mark file-local function static
      quote.c: mark file-local function static
      submodule.c: mark file-local function static
      utf8.c: mark file-local function static
      mailmap.c: remove unused function
      sha1_file.c: remove unused function
      strbuf.c: remove unused function
      grep: rip out support for external grep
      grep: rip out pessimization to use fixmatch()
      t7502: test commit.status, --status and --no-status
      strbuf_addbuf(): allow passing the same buf to dst and src
      grep: prepare to run outside of a work tree
      grep --no-index: allow use of "git grep" outside a git repository
      Teach diff that modified submodule directory is dirty
      git_attr(): fix function signature
      xdl_merge(): introduce xmparam_t for merge specific parameters
      xdl_merge(): allow passing down marker_size in xmparam_t
      merge-tree: use ll_merge() not xdl_merge()
      rerere: use ll_merge() instead of using xdl_merge()
      conflict-marker-size: new attribute
      commit.c::print_summary: do not release the format string too early
      rerere: prepare for customizable conflict marker length
      rerere: honor conflict-marker-size attribute
      user_ident_sufficiently_given(): refactor the logic to be usable from elsewhere
      user_ident_sufficiently_given(): refactor the logic to be usable from elsewhere
      Update COPYING with GPLv2 with new FSF address
      Update draft release notes to 1.7.0
      pull: Fix parsing of -X<option>
      Make "subtree" part more orthogonal to the rest of merge-recursive.
      Document that merge strategies can now take their own options
      object.c: remove unused functions
      symlinks.c: remove unused functions
      Update draft release notes to 1.7.0
      Fix "checkout A..." synonym for "checkout A...HEAD" on Windows
      t1506: more test for @{upstream} syntax
      Teach @{upstream} syntax to strbuf_branchanme()
      date.c: mark file-local function static
      Update draft release notes to 1.7.0
      conflict-marker-size: add test and docs
      git-mv: fix moving more than one source to a single destination
      Update draft release notes to 1.7.0
      rebase -i: Export GIT_AUTHOR_* variables explicitly
      pull: re-fix command line generation

Linus Torvalds (11):
      Remove diff machinery dependency from read-cache
      slim down "git show-index"
      make "git merge-tree" a built-in
      make "git hash-object" a built-in
      make "git var" a built-in
      make "git patch-id" a built-in
      make "merge-index" a built-in
      make "mktag" a built-in
      make "git unpack-file" a built-in
      make "git pack-redundant" a built-in
      make "index-pack" a built-in

Martin Storsjö (2):
      Add an option for using any HTTP authentication scheme, not only basic
      Allow curl to rewind the RPC read buffer

Matthew Ogilvie (3):
      build dashless "bin-wrappers" directory similar to installed bindir
      run test suite without dashed git-commands in PATH
      INSTALL: document a simpler way to run uninstalled builds

Matthieu Moy (6):
      Detailed diagnosis when parsing an object name fails.
      builtin-config: add --path option doing ~ and ~user expansion.
      push: spell 'Note about fast-forwards' section name correctly in error message.
      Be more user-friendly when refusing to do something because of conflict.
      lockfile: show absolute filename in unable_to_lock_message
      branch: warn and refuse to set a branch as a tracking branch of itself.

Michael Haggerty (25):
      t3404: Use test_commit to set up test repository
      Add a command "fixup" to rebase --interactive
      lib-rebase: Provide clearer debugging info about what the editor did
      lib-rebase: Allow comments and blank lines to be added to the rebase script
      rebase-i: Ignore comments and blank lines in peek_next_command
      rebase -i: Make the condition for an "if" more transparent
      rebase -i: Remove dead code
      rebase -i: Inline expression
      rebase -i: Use "test -n" instead of "test ! -z"
      rebase -i: Use symbolic constant $MSG consistently
      rebase -i: Document how temporary files are used
      rebase -i: Introduce a constant AUTHOR_SCRIPT
      rebase -i: Introduce a constant AMEND
      t3404: Test the commit count in commit messages generated by "rebase -i"
      rebase -i: Improve consistency of commit count in generated commit messages
      rebase -i: Simplify commit counting for generated commit messages
      rebase -i: Extract a function "commit_message"
      rebase -i: Handle the author script all in one place in do_next
      rebase -i: Extract function do_with_author
      rebase -i: Change function make_squash_message into update_squash_message
      rebase -i: For fixup commands without squashes, do not start editor
      t3404: Set up more of the test repo in the "setup" step
      rebase -i: Retain user-edited commit messages after squash/fixup conflicts
      rebase -i: Avoid non-portable "test X -a Y"
      rebase -i: Enclose sed command substitution in quotes

Michael J Gruber (7):
      status -s: respect the status.relativePaths option
      t7508-status.sh: Add tests for status -s
      builtin-commit: refactor short-status code into wt-status.c
      status -s: obey color.status
      t7508-status: status --porcelain ignores relative paths setting
      t7508-status: test all modes with color
      tag -d: print sha1 of deleted tag

Michael Lukashov (1):
      Windows: Remove dependency on pthreadGC2.dll

Miklos Vajna (2):
      builtin-commit: add --date option
      Document date formats accepted by parse_date()

Nanako Shiraishi (3):
      rebase -i --autosquash: auto-squash commits
      rebase: fix --onto A...B parsing and add tests
      rebase -i: teach --onto A...B syntax

Nguyễn Thái Ngọc Duy (27):
      update-index: refactor mark_valid() in preparation for new options
      Add test-index-version
      Introduce "skip-worktree" bit in index, teach Git to get/set this bit
      Teach Git to respect skip-worktree bit (reading part)
      Teach Git to respect skip-worktree bit (writing part)
      Avoid writing to buffer in add_excludes_from_file_1()
      Read .gitignore from index if it is skip-worktree
      unpack-trees(): carry skip-worktree bit over in merged_entry()
      excluded_1(): support exclude files in index
      dir.c: export excluded_1() and add_excludes_from_file_1()
      Introduce "sparse checkout"
      unpack-trees(): add CE_WT_REMOVE to remove on worktree alone
      unpack-trees.c: generalize verify_* functions
      unpack-trees(): "enable" sparse checkout and load $GIT_DIR/info/sparse-checkout
      unpack_trees(): apply $GIT_DIR/info/sparse-checkout to the final index
      unpack-trees(): ignore worktree check outside checkout area
      read-tree: add --no-sparse-checkout to disable sparse checkout support
      Add tests for sparse checkout
      sparse checkout: inhibit empty worktree
      ie_match_stat(): do not ignore skip-worktree bit with CE_MATCH_IGNORE_VALID
      commit: correctly respect skip-worktree bit
      grep: do not do external grep on skip-worktree entries
      t7002: set test prerequisite "external-grep" if supported
      t7002: test for not using external grep on skip-worktree paths
      status: only touch path we may need to check
      rm: only refresh entries that we may touch
      Fix memory corruption when .gitignore does not end by \n

Nicolas Pitre (1):
      fix git-p4 editor invocation

Peter Collingbourne (1):
      Remove empty directories when checking out a commit with fewer submodules

Phil Miller (1):
      CVS Server: Support reading base and roots from environment

Ramkumar Ramachandra (1):
      Documentation: Update git core tutorial clarifying reference to scripts

Ramsay Jones (5):
      MSVC: Fix an "incompatible pointer types" compiler warning
      engine.pl: Fix a recent breakage of the buildsystem generator
      msvc: Fix an "unrecognized option" linker warning
      msvc: Fix a compiler warning due to an incorrect pointer cast
      msvc: Add a definition of NORETURN compatible with msvc compiler

Robert Zeh (1):
      Add completion for git-svn mkdirs,reset,and gc

Sebastian Schuberth (1):
      Make difftool.prompt fall back to mergetool.prompt

Sergei Organov (1):
      cvsserver: make the output of 'update' more compatible with cvs.

Shawn O. Pearce (1):
      bash completion: add space between branch name and status flags

Stephan Beyer (1):
      reset: use "unpack_trees()" directly instead of "git read-tree"

Steven Drake (2):
      Add 'git rev-parse --show-toplevel' option.
      Use $(git rev-parse --show-toplevel) in cd_to_toplevel().

Sverre Rabbelier (9):
      Fix various memory leaks in transport-helper.c
      Add Python support library for remote helpers
      fast-import: put option parsing code in separate functions
      fast-import: put marks reading in its own function
      fast-import: add feature command
      fast-import: add option command
      fast-import: test the new option command
      fast-import: allow for multiple --import-marks= arguments
      fast-import: add (non-)relative-marks feature

Tarmigan Casebolt (7):
      t/lib-http.sh: Restructure finding of default httpd location
      Smart-http: check if repository is OK to export before serving it
      Smart-http tests: Improve coverage in test t5560
      Smart-http tests: Break test t5560-http-backend into pieces
      Smart-http tests: Test http-backend without curl or a webserver
      Test t5560: Fix test when run with dash
      ident.c: replace fprintf with fputs to suppress compiler warning

Tay Ray Chuan (12):
      http: maintain curl sessions
      builtin-push: don't access freed transport->url
      check stderr with isatty() instead of stdout when deciding to show progress
      git-clone.txt: reword description of progress behaviour
      clone: set transport->verbose when -v/--verbose is used
      clone: use --progress to force progress reporting
      t5541-http-push.sh: add tests for non-fast-forward pushes
      t5541-http-push.sh: add test for unmatched, non-fast-forwarded refs
      refactor ref status logic for pushing
      transport.c::transport_push(): make ref status affect return value
      transport-helper.c::push_refs(): ignore helper-reported status if ref is not to be pushed
      transport-helper.c::push_refs(): emit "no refs" error message

Thiago Farina (2):
      Use warning function instead of fprintf(stderr, "Warning: ...").
      string-list: rename the include guard to STRING_LIST_H

Thomas Rast (9):
      Documentation/git-merge: reword references to "remote" and "pull"
      Documentation: warn prominently against merging with dirty trees
      Documentation: format full commands in typewriter font
      Documentation: spell 'git cmd' without dash throughout
      Documentation: show-files is now called git-ls-files
      Documentation: emphasise 'git shortlog' in its synopsis
      Documentation: improve description of --glob=pattern and friends
      Documentation: add missing :: in config.txt
      Documentation: move away misplaced 'push --upstream' description


Version v1.6.6.3; changes since v1.6.6.2:
-----------------------------------------

Christian Couder (1):
      bisect: error out when passing bad path parameters

Erik Faye-Lund (1):
      run-command: support custom fd-set in async

Gabriel Filion (1):
      require_work_tree broken with NONGIT_OK

Greg Brockman (1):
      Check size of path buffer before writing into it

Hitoshi Mitake (1):
      git-imap-send: Convert LF to CRLF before storing patch to draft box

Jacob Helwig (1):
      filter-branch: Fix error message for --prune-empty --commit-filter

Jakub Narębski (1):
      gitweb: Introduce esc_attr to escape attributes of HTML elements

Jeff King (2):
      dwim_ref: fix dangling symref warning
      rm: fix bug in recursive subdirectory removal

Johannes Sixt (2):
      t3301-notes: insert a shbang line in ./fake_editor.sh
      MSVC: Fix build by adding missing termios.h dummy

Junio C Hamano (5):
      t6000lib: Fix permission
      lib-patch-mode.sh: Fix permission
      Re-fix check-ref-format documentation mark-up
      Fix typo in 1.6.6.2 release notes
      Git 1.6.4.5

Larry D'Anna (1):
      diff: make sure --output=/bad/path is caught

Michael J Gruber (4):
      Documentation/git-reflog: Fix formatting of command lists
      Documentation/gitdiffcore: Remove misleading date in heading
      Documentation/urls: Remove spurious example markers
      Documentation/git-clone: Transform description list into item list

Michal Sojka (1):
      Remove extra '-' from git-am(1)

Pete Harlan (1):
      Remove hyphen from "git-command" in two error messages

René Scharfe (5):
      fix minor memory leak in get_tree_entry()
      utf8.c: remove print_wrapped_text()
      utf8.c: remove print_spaces()
      utf8.c: remove strbuf_write()
      utf8.c: speculatively assume utf-8 in strbuf_add_wrapped_text()

Shawn O. Pearce (7):
      run-command: Allow stderr to be a caller supplied pipe
      send-pack: demultiplex a sideband stream with status data
      receive-pack: Refactor how capabilities are shown to the client
      receive-pack: Wrap status reports inside side-band-64k
      receive-pack: Send hook output over side band #2
      t5401: Use a bare repository for the remote peer
      receive-pack: Send internal errors over side-band #2

Stephen Boyd (1):
      request-pull.txt: Document -p option

Thomas Rast (2):
      stash pop: remove 'apply' options during 'drop' invocation
      cherry_pick_list: quit early if one side is empty

Uwe Kleine-König (1):
      rev-parse: fix --parse-opt --keep-dashdash --stop-at-non-option


Version v1.6.6.2; changes since v1.6.6.1:
-----------------------------------------

Christopher Beelby (1):
      git-gui: Keep repo_config(gui.recentrepos) and .gitconfig in sync

Gerrit Pape (1):
      git-cvsserver: allow regex metacharacters in CVSROOT

Giuseppe Bilotta (1):
      git-gui: work from the .git dir

Ilari Liusvaara (4):
      Add xmallocz()
      Fix integer overflow in patch_delta()
      Fix integer overflow in unpack_sha1_rest()
      Fix integer overflow in unpack_compressed_entry()

Jay Soffian (1):
      blame: prevent a segv when -L given start > EOF

Jeff Epler (1):
      git-gui: Fix applying a line when all following lines are deletions

Jeff King (1):
      fix memcpy of overlapping area

Jens Lehmann (1):
      git-gui: Correct file_states when unstaging partly staged entry

Johan Herland (1):
      builtin-config: Fix crash when using "-f <relative path>" from non-root dir

Jonathan Nieder (1):
      git-gui: Makefile: consolidate .FORCE-* targets

Junio C Hamano (15):
      checkout -m path: fix recreating conflicts
      status: don't require the repository to be writable
      Fix "log" family not to be too agressive about showing notes
      Fix "log --oneline" not to show notes
      merge-recursive: do not return NULL only to cause segfault
      ignore duplicated slashes in make_relative_path()
      approxidate_careful() reports errorneous date string
      Update @{bogus.timestamp} fix not to die()
      t0101: use a fixed timestamp when searching in the reflog
      git-add documentation: Fix shell quoting example
      Fix parsing of imap.preformattedHTML and imap.sslverify
      git-push: document all the status flags used in the output
      check-ref-format documentation: fix enumeration mark-up
      t8003: check exit code of command and error message separately
      Git 1.6.6.2

Nguyễn Thái Ngọc Duy (1):
      Add missing #include to support TIOCGWINSZ on Solaris

Pat Thoyts (1):
      git-gui: handle really long error messages in updateindex.

Peter Krefting (1):
      git-gui: Fix gitk for branch whose name matches local file

René Scharfe (2):
      archive: complain about path specs that don't match anything
      archive: simplify archive format guessing

SZEDER Gábor (1):
      bash: don't offer remote transport helpers as subcommands

Shawn O. Pearce (1):
      fast-import: Stream very large blobs directly to pack

Tay Ray Chuan (1):
      retry request without query when info/refs?query fails

Vitaly "_Vi" Shukela (1):
      git-gui: Add hotkeys for "Unstage from commit" and "Revert changes"

Wesley J. Landaker (1):
      Update git fsck --full short description to mention packs


Version v1.6.6.1; changes since v1.6.6:
---------------------------------------

Andreas Gruenbacher (3):
      base85 debug code: Fix length byte calculation
      base85: encode_85() does not use the decode table
      base85: Make the code more obvious instead of explaining the non-obvious

Andreas Schwab (1):
      git count-objects: handle packs bigger than 4G

Björn Gustavsson (4):
      Documentation: 'git add -A' can remove files
      git-add/rm doc: Consistently back-quote
      Fix "git remote update" with remotes.defalt set
      git-rm doc: Describe how to sync index & work tree

David Ripton (1):
      bisect: fix singular/plural grammar nit

Dmitry Potapov (1):
      fast-import: tag may point to any object type

Greg Price (1):
      commit: --cleanup is a message option

Jeff King (2):
      reset: unbreak hard resets with GIT_WORK_TREE
      textconv: stop leaking file descriptors

Jim Meyering (1):
      grep: NUL terminate input from a file

Jonathan Nieder (2):
      Documentation: git gc packs refs by default now
      Documentation: tiny git config manual tweaks

Junio C Hamano (10):
      t1200: work around a bug in some implementations of "find"
      t4019 "grep" portability fix
      Start 1.6.6.X maintenance track
      Makefile: FreeBSD (both 7 and 8) needs OLD_ICONV
      checkout -m: do not try to fall back to --merge from an unborn branch
      grep: -L should show empty files
      Update draft release notes to 1.6.6.1
      Fix mis-backport of t7002
      Git 1.6.5.8
      Git 1.6.6.1

Matthieu Moy (3):
      SubmittingPatches: hints to know the status of a submitted patch.
      branch: die explicitly why when calling "git branch [-a|-r] branchname".
      stash: mention --patch in usage string.

Michael Haggerty (1):
      rebase--interactive: Ignore comments and blank lines in peek_next_command

Nathaniel W Filardo (1):
      read_index(): fix reading extension size on BE 64-bit archs

Nguyễn Thái Ngọc Duy (2):
      Documentation: always respect core.worktree if set
      t7102: make the test fail if one of its check fails

Ramkumar Ramachandra (1):
      Document git-blame triple -C option

Richard Weinberger (1):
      Fix uninitialized variable in get_refs_via_rsync().

Shawn O. Pearce (2):
      fast-import: Document author/committer/tagger name is optional
      remote-curl: Fix Accept header for smart HTTP connections

Stephen Boyd (3):
      octopus: make merge process simpler to follow
      octopus: reenable fast-forward merges
      octopus: remove dead code

Tarmigan Casebolt (1):
      Add git-http-backend to command-list.

Thomas Rast (1):
      bash completion: factor submodules into dirty state


Version v1.6.6; changes since v1.6.6-rc4:
-----------------------------------------

Andrew Myrick (1):
      git-svn: Remove obsolete MAXPARENT check

David Reiss (1):
      Prevent git blame from segfaulting on a missing author name

Eric Wong (4):
      git svn: fix --revision when fetching deleted paths
      update release notes for git svn in 1.6.6
      git svn: lookup new parents correctly from svn:mergeinfo
      git svn: branch/tag commands detect username in URLs

Junio C Hamano (1):
      Git 1.6.6

Robert Zeh (1):
      git svn: add test for a git svn gc followed by a git svn mkdirs

Sam Vilain (5):
      git-svn: expand the svn mergeinfo test suite, highlighting some failures
      git-svn: memoize conversion of SVN merge ticket info to git commit ranges
      git-svn: fix some mistakes with interpreting SVN mergeinfo commit ranges
      git-svn: exclude already merged tips using one rev-list call
      git-svn: detect cherry-picks correctly.


Version v1.6.6-rc4; changes since v1.6.6-rc3:
---------------------------------------------

Björn Gustavsson (1):
      rebase -i: abort cleanly if the editor fails to launch

Eric Wong (2):
      git svn: make empty directory creation gc-aware
      t9146: use 'svn_cmd' wrapper

Junio C Hamano (1):
      Git 1.6.6-rc4

Stephen Boyd (2):
      api-strbuf.txt: fix typos and document launch_editor()
      technical-docs: document hash API


Version v1.6.6-rc3; changes since v1.6.6-rc2:
---------------------------------------------

Björn Gustavsson (1):
      bash: Support new 'git fetch' options

Jeff King (1):
      ignore unknown color configuration

Johannes Sixt (1):
      help.autocorrect: do not run a command if the command given is junk

Junio C Hamano (7):
      Remove post-upload-hook
      Fix archive format with -- on the command line
      Git 1.6.5.6
      Update Release Notes for 1.6.6 to remove old bugfixes
      worktree: don't segfault with an absolute pathspec without a work tree
      Git 1.6.5.7
      Git 1.6.6-rc3

Nanako Shiraishi (1):
      Illustrate "filter" attribute with an example


Version v1.6.6-rc2; changes since v1.6.6-rc1:
---------------------------------------------

Alex Vandiver (3):
      git-svn: sort svk merge tickets to account for minimal parents
      git-svn: Set svn.authorsfile to an absolute path when cloning
      git-svn: set svn.authorsfile earlier when cloning

Alexander Gavrilov (1):
      git-gui: Increase blame viewer usability on MacOS.

Bernt Hansen (1):
      gitk: Skip translation of "wrong Tcl version" message

Brandon Casey (2):
      t4201: use ISO8859-1 rather than ISO-8859-1
      t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-'

Clemens Buchacher (1):
      git-gui: search 4 directories to improve statistic of gc hint

Eric Wong (1):
      git svn: log removals of empty directories

Greg Price (1):
      git svn: Don't create empty directories whose parents were deleted

Guillermo S. Romero (1):
      gitk: Add configuration for UI colour scheme

Heiko Voigt (1):
      git gui: make current branch default in "remote delete branch" merge check

Jakub Narębski (1):
      gitweb: Describe (possible) gitweb.js minification in gitweb/README

Jan Krüger (1):
      pull: clarify advice for the unconfigured error case

Jeff King (3):
      rerere: don't segfault on failure to open rr-cache
      reset: improve worktree safety valves
      add-interactive: fix deletion of non-empty files

Jens Lehmann (2):
      gitk: Fix diffing committed -> staged (typo in diffcmd)
      gitk: Use the --submodule option for displaying diffs when available

Jindrich Makovicka (1):
      git-gui: suppress RenderBadPicture X error caused by Tk bug

Johan Herland (1):
      Fix crasher on encountering SHA1-like non-note in notes tree

Junio C Hamano (9):
      Documentation/Makefile: allow man.base.url.for.relative.link to be set from Make
      Unconditionally set man.base.url.for.relative.links
      Git 1.6.5.4
      Documentation: xmlto 0.0.18 does not know --stringparam
      Prepare for 1.6.5.5
      Git 1.6.5.5
      Revert recent "git merge <msg> HEAD <commit>..." deprecation
      Update draft release notes to 1.6.6 before -rc2
      Git 1.6.6-rc2

Linus Torvalds (1):
      Fix diff -B/--dirstat miscounting of newly added contents

Markus Heidelberg (1):
      gitk: Fix "git gui blame" invocation when called from top-level directory

Mizar (2):
      gitk: Add Japanese translation
      gitk: Update Japanese translation

Pat Thoyts (4):
      gitk: Use themed tk widgets
      gitk: Fix errors in the theme patch
      gitk: Default to the system colours on Windows
      gitk: Fix selection of tags

Paul Mackerras (5):
      gitk: Restore scrolling position of diff pane on back/forward in history
      gitk: Add a user preference to enable/disable use of themed widgets
      gitk: Show diff of commits at end of compare-commits output
      gitk: Don't compare fake children when comparing commits
      gitk: Improve appearance of radiobuttons and checkbuttons

René Scharfe (1):
      archive: clarify description of path parameter

SZEDER Gábor (1):
      bash: update 'git commit' completion

Sitaram Chamarty (1):
      gitk: Disable checkout of remote branches

Todd Zullinger (1):
      Documentation: Avoid use of xmlto --stringparam


Version v1.6.6-rc1; changes since v1.6.6-rc0:
---------------------------------------------

Avery Pennarun (1):
      builtin-merge.c: call exclude_cmds() correctly.

Benjamin Kramer (1):
      Explicitly truncate bswap operand to uint32_t

Bert Wesarg (2):
      Give the hunk comment its own color
      get_ref_states: strdup entries and free util in stale list

Björn Gustavsson (11):
      Teach the --all option to 'git fetch'
      Teach the --multiple option to 'git fetch'
      Add the configuration option skipFetchAll
      Add missing test for 'git remote update --prune'
      Re-implement 'git remote update' using 'git fetch'
      Clarify and correct -z
      apply: apply works outside a repository
      apply: Format all options using back-quotes
      apply: Use the term "working tree" consistently
      Fix over-simplified documentation for 'git log -z'
      gitworkflows: Consistently back-quote git commands

Brian Gernhardt (1):
      t/gitweb-lib: Split HTTP response with non-GNU sed

Christian Couder (6):
      Documentation: add "Fighting regressions with git bisect" article
      replace: use a GIT_NO_REPLACE_OBJECTS env variable
      Documentation: fix typos and spelling in replace documentation
      Documentation: talk a little bit about GIT_NO_REPLACE_OBJECTS
      bisect: simplify calling visualizer using '--bisect' option
      Documentation: update descriptions of revision options related to '--bisect'

David Aguilar (1):
      help: Do not unnecessarily look for a repository

David Soria Parra (1):
      Documentation: Document --branch option in git clone synopsis

Erick Mattos (1):
      commit -c/-C/--amend: reset timestamp and authorship to committer with --reset-author

Felipe Contreras (3):
      format-patch: fix parsing of "--" on the command line
      format-patch: add test for parsing of "--"
      send-email: automatic envelope sender

Horst H. von Brand (1):
      git-pull.sh: Fix call to git-merge for new command format

Jakub Narębski (10):
      gitweb: Add optional "time to generate page" info in footer
      gitweb: Incremental blame (using JavaScript)
      gitweb: Colorize 'blame_incremental' view during processing
      gitweb: Create links leading to 'blame_incremental' using JavaScript
      gitweb: Minify gitweb.js if JSMIN is defined
      t/gitweb-lib.sh: Split gitweb output into headers and body
      gitweb: Document current snapshot rules via new tests
      gitweb.js: Harden setting blamed commit info in incremental blame
      gitweb: Make linking to actions requiring JavaScript a feature
      gitweb: Add link to other blame implementation in blame views

Jay Soffian (4):
      remote: refactor some logic into get_stale_heads()
      teach warn_dangling_symref to take a FILE argument
      builtin-fetch: add --prune option
      builtin-fetch: add --dry-run option

Jeff King (1):
      prune-packed: only show progress when stderr is a tty

Johannes Sixt (2):
      t4014-format-patch: do not assume 'test' is available as non-builtin
      Add a notice that only certain functions can print color escape codes

Jonathan Nieder (1):
      Makefile: do not clean arm directory

Junio C Hamano (19):
      mailinfo: -b option keeps [bracketed] strings that is not a [PATCH] marker
      Pretty-format: %[+-]x to tweak inter-item newlines
      read_revision_from_stdin(): use strbuf
      Teach --stdin option to "log" family
      setup_revisions(): do not call get_pathspec() too early
      Make --stdin option to "log" family read also pathspecs
      t9001: test --envelope-sender option of send-email
      Add trivial tests for --stdin option to log family
      Protect scripted Porcelains from GREP_OPTIONS insanity
      builtin-apply.c: pay attention to -p<n> when determining the name
      Remove dead code from "git am"
      emit_line(): don't emit an empty <SET><RESET> followed by a newline
      Update draft release notes to 1.6.6 before merging topics for -rc1
      git-merge: a deprecation notice of the ancient command line syntax
      Update draft release notes to 1.6.6 before -rc1
      Do not misidentify "git merge foo HEAD" as an old-style invocation
      merge: do not add standard message when message is given with -m option
      Prepare for 1.6.5.4
      Git 1.6.6-rc1

Mark Rada (2):
      gitweb: check given hash before trying to create snapshot
      gitweb: Smarter snapshot names

Martin Storsjö (3):
      Disable CURLOPT_NOBODY before enabling CURLOPT_PUT and CURLOPT_POST
      Refactor winsock initialization into a separate function
      Enable support for IPv6 on MinGW

Matthew Ogilvie (5):
      cvsserver doc: database generally can not be reproduced consistently
      config documentation: some configs are auto-set by git-init
      t2300: use documented technique to invoke git-sh-setup
      t3409 t4107 t7406 t9150: use dashless commands
      t/README: Document GIT_TEST_INSTALLED and GIT_TEST_EXEC_PATH

Matthieu Moy (4):
      merge-recursive: point the user to commit when file would be overwritten.
      user-manual: Document that "git merge" doesn't like uncommited changes.
      merge-recursive: make the error-message generation an extern function
      builtin-merge: show user-friendly error messages for fast-forward too.

Michael J Gruber (1):
      Documentation: Fix a few i.e./e.g. mix-ups

Nanako Shiraishi (2):
      t1200: fix a timing dependent error
      prepare send-email for smoother change of --chain-reply-to default

Nicolas Pitre (1):
      pack-objects: split implications of --all-progress from progress activation

Ramsay Jones (1):
      git-count-objects: Fix a disk-space under-estimate on Cygwin

René Scharfe (2):
      strbuf_add_wrapped_text(): skip over colour codes
      mergetool--lib: simplify guess_merge_tool()

Stephen Boyd (3):
      gitweb.js: fix null object exception in initials calculation
      instaweb: restart server if already running
      gitweb.js: fix padLeftStr() and its usage

Tay Ray Chuan (1):
      remote-curl.c: fix rpc_out()

Uwe Kleine-König (1):
      shortlog: respect commit encoding


Version v1.6.6-rc0; changes since v1.6.5.9:
-------------------------------------------

Alex Riesen (1):
      git-gui: Update russian translation

Alexey Borzenkov (1):
      git-gui: store wm state and fix wm geometry

Anders Kaseorg (1):
      bisect reset: Allow resetting to any commit, not just a branch

Ben Walton (2):
      configure: add macro to set arbitrary make variables
      configure: add settings for gitconfig, editor and pager

Björn Gustavsson (10):
      Teach 'rebase -i' the command "reword"
      bash: complete more options for 'git rebase'
      Teach 'git merge' and 'git pull' the option --ff-only
      format-patch: Always generate a patch
      format-patch documentation: Remove diff options that are not useful
      format-patch documentation: Fix formatting
      format-patch: Add "--no-stat" as a synonym for "-p"
      bash: add the merge option --ff-only
      Fix truncated usage messages
      User Manual: Write "Git" instead of "GIT"

Christian Couder (1):
      git: add --no-replace-objects option to disable replacing

Clemens Buchacher (2):
      remote-helpers: return successfully if everything up-to-date
      set httpd port before sourcing lib-httpd

Dan Zwell (1):
      git-gui: Limit display to a maximum number of files

David Aguilar (1):
      submodule.c: Squelch a "use before assignment" warning

David Brown (1):
      commit: More generous accepting of RFC-2822 footer lines.

David Kågedal (1):
      git-blame.el: Change how blame information is shown.

Eric Wong (6):
      git svn: fix fetch where glob is on the top-level URL
      git svn: read global+system config for clone+init
      git svn: add authorsfile test case for ~/.gitconfig
      git svn: attempt to create empty dirs on clone+rebase
      git svn: always reuse existing remotes on fetch
      git svn: strip leading path when making empty dirs

Erik Faye-Lund (6):
      imap-send: use separate read and write fds
      imap-send: use run-command API for tunneling
      imap-send: fix compilation-error on Windows
      imap-send: build imap-send on Windows
      mingw: wrap SSL_set_(w|r)fd to call _get_osfhandle
      mingw: enable OpenSSL

Felipe Contreras (2):
      diff.c: stylefix
      Use 'fast-forward' all over the place

Heiko Voigt (1):
      git-gui: remove warning when deleting correctly merged remote branch

Ingmar Vanhassel (1):
      import-tars: Add support for tarballs compressed with lzma, xz

Jakub Narębski (4):
      gitweb: Add 'show-sizes' feature to show blob sizes in tree view
      gitweb: Refactor 'log' action generation, adding git_log_body()
      gitweb: Refactor common parts of 'log' and 'shortlog' views
      gitweb: Make 'history' view (re)use git_log_generic()

Jean Privat (1):
      Teach "git describe" --dirty option

Jeff King (3):
      imap-send: remove useless uid code
      gitignore: root most patterns at the top-level directory
      t915{0,1}: use $TEST_DIRECTORY

Jens Lehmann (5):
      git-gui: display summary when showing diff of a submodule
      git-gui: fix diff for partially staged submodule changes
      git submodule add: make the <path> parameter optional
      git-gui: fix use of uninitialized variable
      add tests for git diff --submodule

Jimmy Angelakos (1):
      git-gui: Added Greek translation & glossary

Johan Herland (9):
      Teach "-m <msg>" and "-F <file>" to "git notes edit"
      fast-import: Add support for importing commit notes
      t3302-notes-index-expensive: Speed up create_repo()
      Add flags to get_commit_notes() to control the format of the note string
      Teach notes code to free its internal data structures on request
      Teach the notes lookup code to parse notes trees with various fanout schemes
      Add selftests verifying that we can parse notes trees with various fanouts
      Refactor notes code to concatenate multiple notes annotating the same object
      Add selftests verifying concatenation of multiple notes for the same commit

Johannes Schindelin (8):
      print_wrapped_text(): allow hard newlines
      Add strbuf_add_wrapped_text() to utf8.[ch]
      Introduce commit notes
      Add a script to edit/inspect notes
      Speed up git notes lookup
      Add an expensive test for git-notes
      Add '%N'-format for pretty-printing commit notes
      Add the --submodule option to the diff option family

Johannes Sixt (1):
      Windows: use BLK_SHA1 again

Jonathan Nieder (34):
      Add tests for git check-ref-format
      check-ref-format: simplify --print implementation
      Handle more shell metacharacters in editor names
      Retire fetch--tool helper to contrib/examples
      Show usage string for 'git grep -h'
      Show usage string for 'git cherry -h'
      Show usage string for 'git commit-tree -h'
      Show usage string for 'git merge-ours -h'
      Show usage string for 'git show-ref -h'
      http-fetch: add missing initialization of argv0_path
      Show usage string for 'git check-ref-format -h'
      Show usage string for 'git fast-import -h'
      Show usage string for 'git get-tar-commit-id -h'
      Show usage string for 'git imap-send -h'
      Show usage string for 'git mailsplit -h'
      Show usage string for 'git merge-one-file -h'
      Show usage string for 'git rev-parse -h'
      Show usage string for 'git show-index -h'
      Show usage string for 'git unpack-file -h'
      Show usage string for 'git stripspace -h'
      Let 'git http-fetch -h' show usage outside any git repository
      Show usage string for 'git http-push -h'
      Let 'git <command> -h' show usage without a git dir
      Introduce usagef() that takes a printf-style format
      merge-{recursive,subtree}: use usagef() to print usage
      diff --no-index: make the usage string less scary
      Do not use VISUAL editor on dumb terminals
      Suppress warnings from "git var -l"
      Teach git var about GIT_EDITOR
      Teach git var about GIT_PAGER
      add -i, send-email, svn, p4, etc: use "git var GIT_EDITOR"
      am -i, git-svn: use "git var GIT_PAGER"
      Provide a build time default-editor setting
      Speed up bash completion loading

Julian Phillips (4):
      fetch: Speed up fetch by rewriting find_non_local_tags
      remote: Make ref_remove_duplicates faster for large numbers of refs
      fetch: Speed up fetch of large numbers of refs
      remote: fix use-after-free error detected by glibc in ref_remove_duplicates

Junio C Hamano (20):
      diff-lib.c: fix misleading comments on oneway_diff()
      unpack-trees: typofix
      unpack_callback(): use unpack_failed() consistently
      git check-ref-format --print
      Start 1.6.6 cycle
      check_filename(): make verify_filename() callable without dying
      DWIM "git checkout frotz" to "git checkout -b frotz origin/frotz"
      format_commit_message(): fix function signature
      fsck: default to "git fsck --full"
      git checkout --no-guess
      Teach --wrap to only indent without wrapping
      Update draft release notes to 1.6.6
      Revert "Don't create the $GIT_DIR/branches directory on init"
      t1200: further modernize test script style
      t1200: prepare for merging with Fast-forward bikeshedding
      builtin-commit.c: fix logic to omit empty line before existing footers
      git-describe.txt: formatting fix
      Provide a build time default-pager setting
      Update draft release notes to 1.6.6
      Git v1.6.6-rc0

Linus Torvalds (1):
      Add '--bisect' revision machinery argument

Marius Storm-Olsen (1):
      MSVC: Enable OpenSSL, and translate -lcrypto

Mark Lodato (5):
      http-backend: add GIT_PROJECT_ROOT environment var
      http-backend: reword some documentation
      http-backend: use mod_alias instead of mod_rewrite
      http-backend: add example for gitweb on same URL
      http-backend: more explict LocationMatch

Mark Rada (1):
      instaweb: support mod_cgid for apache2

Markus Heidelberg (1):
      bash completion: difftool accepts the same options as diff

Michael J Gruber (1):
      Make t9150 and t9151 test scripts executable

Nicolas Pitre (1):
      pack-objects: move thread autodetection closer to relevant code

Ramsay Jones (2):
      Makefile: keep MSVC and Cygwin configuration separate
      MSVC: Add support for building with NO_MMAP

René Scharfe (6):
      describe: load refnames before calling describe()
      Implement wrap format %w() as if it is a mode switch
      log --format: don't ignore %w() at the start of format string
      grep: unset GREP_OPTIONS before spawning external grep
      strbuf_add_wrapped_text(): factor out strbuf_add_indented_text()
      log --format: document %w

Robin Rosenberg (1):
      Don't create the $GIT_DIR/branches directory on init

SZEDER Gábor (1):
      Documentation: add 'git replace' to main git manpage

Sam Vilain (5):
      git-svn: add test data for SVK merge, with script.
      git-svn: allow test setup script to support PERL env. var
      git-svn: convert SVK merge tickets to extra parents
      git-svn: add test data for SVN 1.5+ merge, with script.
      git-svn: convert SVN 1.5+ / svnmerge.py svn:mergeinfo props to parents

Scott Chacon (2):
      mergetool--lib: add p4merge as a pre-configured mergetool option
      Update packfile transfer protocol documentation

Sebastian Schuberth (2):
      Use faster byte swapping when compiling with MSVC
      Make the MSVC projects use PDB/IDB files named after the project

Shawn O. Pearce (27):
      git-gui: Ensure submodule path is quoted properly
      pkt-line: Add strbuf based functions
      pkt-line: Make packet_read_line easier to debug
      fetch-pack: Use a strbuf to compose the want list
      Move "get_ack()" back to fetch-pack
      Add multi_ack_detailed capability to fetch-pack/upload-pack
      remote-curl: Refactor walker initialization
      fetch: Allow transport -v -v -v to set verbosity to 3
      remote-helpers: Fetch more than one ref in a batch
      remote-helpers: Support custom transport options
      Move WebDAV HTTP push under remote-curl
      Git-aware CGI to provide dumb HTTP transport
      Add stateless RPC options to upload-pack, receive-pack
      Smart fetch and push over HTTP: server side
      Discover refs via smart HTTP server when available
      Smart push over HTTP: client side
      Smart fetch over HTTP: client side
      Smart HTTP fetch: gzip requests
      http tests: use /dumb/ URL prefix
      test smart http fetch and push
      http-backend: Use http.getanyfile to disable dumb HTTP serving
      http-backend: Test configuration options
      Git-aware CGI to provide dumb HTTP transport
      http-backend: Protect GIT_PROJECT_ROOT from /../ requests
      t5551-http-fetch: Work around some libcurl versions
      t5551-http-fetch: Work around broken Accept header in libcurl
      http-backend: Fix bad treatment of uintmax_t in Content-Length

Stephen Boyd (7):
      rebase -i: fix reword when using a terminal editor
      gitweb: linkify author/committer names with search
      t1402: Make test executable
      t1200: cleanup and modernize test style
      t1200: Make documentation and test agree
      t3101: test more ls-tree options
      ls-tree: migrate to parse-options

Tarmigan Casebolt (3):
      Check the format of more printf-type functions
      http-backend: Fix access beyond end of string.
      http-backend: Let gcc check the format of more printf-type functions.

Tay Ray Chuan (2):
      http-push: fix check condition on http.c::finish_http_pack_request()
      t5540-http-push: remove redundant fetches

Thiago Farina (1):
      Documentation: update pt-BR

Thomas Rast (14):
      bash completion: complete refs for git-grep
      Let --decorate show HEAD position
      Refactor pretty_print_commit arguments into a struct
      reflog-walk: refactor the branch@{num} formatting
      Introduce new pretty formats %g[sdD] for reflog information
      stash list: use new %g formats instead of sed
      stash list: drop the default limit of 10 stashes
      describe: when failing, tell the user about options that work
      filter-branch: stop special-casing $filter_subdir argument
      filter-branch: nearest-ancestor rewriting outside subdir filter
      Documentation: clarify 'ours' merge strategy
      rebase docs: clarify --merge and --strategy
      Document git-svn's first-parent rule
      describe: do not use unannotated tag even if exact match

Toby Allsopp (1):
      git svn: handle SVN merges from revisions past the tip of the branch

Vietor Liu (1):
      git-gui: adjust the minimum height of diff pane for shorter screen height

Štěpán Němec (1):
      git-update-index.txt: Document the --really-refresh option.


Version v1.6.5.9; changes since v1.6.5.8:
-----------------------------------------

Björn Gustavsson (3):
      Documentation: 'git add -A' can remove files
      git-add/rm doc: Consistently back-quote
      git-rm doc: Describe how to sync index & work tree

Greg Brockman (1):
      Check size of path buffer before writing into it

Jakub Narębski (1):
      gitweb: Introduce esc_attr to escape attributes of HTML elements

Jay Soffian (1):
      blame: prevent a segv when -L given start > EOF

Jeff King (2):
      fix memcpy of overlapping area
      dwim_ref: fix dangling symref warning

Junio C Hamano (2):
      t8003: check exit code of command and error message separately
      Git 1.6.4.5

Larry D'Anna (1):
      diff: make sure --output=/bad/path is caught

Michal Sojka (1):
      Remove extra '-' from git-am(1)

Stephen Boyd (4):
      octopus: make merge process simpler to follow
      octopus: reenable fast-forward merges
      octopus: remove dead code
      request-pull.txt: Document -p option

Thomas Rast (1):
      stash pop: remove 'apply' options during 'drop' invocation

Uwe Kleine-König (1):
      rev-parse: fix --parse-opt --keep-dashdash --stop-at-non-option


Version v1.6.5.8; changes since v1.6.5.7:
-----------------------------------------

Andreas Gruenbacher (3):
      base85 debug code: Fix length byte calculation
      base85: encode_85() does not use the decode table
      base85: Make the code more obvious instead of explaining the non-obvious

Andreas Schwab (1):
      git count-objects: handle packs bigger than 4G

Björn Gustavsson (1):
      rebase -i: abort cleanly if the editor fails to launch

David Reiss (1):
      Prevent git blame from segfaulting on a missing author name

Dmitry Potapov (1):
      fast-import: tag may point to any object type

Greg Price (1):
      commit: --cleanup is a message option

Jeff King (2):
      reset: unbreak hard resets with GIT_WORK_TREE
      textconv: stop leaking file descriptors

Jim Meyering (1):
      grep: NUL terminate input from a file

Junio C Hamano (3):
      checkout -m: do not try to fall back to --merge from an unborn branch
      Fix mis-backport of t7002
      Git 1.6.5.8

Matthieu Moy (1):
      branch: die explicitly why when calling "git branch [-a|-r] branchname".

Nguyễn Thái Ngọc Duy (1):
      t7102: make the test fail if one of its check fails

Stephen Boyd (2):
      api-strbuf.txt: fix typos and document launch_editor()
      technical-docs: document hash API

Thomas Rast (1):
      bash completion: factor submodules into dirty state


Version v1.6.5.7; changes since v1.6.5.6:
-----------------------------------------

Jeff King (1):
      ignore unknown color configuration

Johannes Sixt (1):
      help.autocorrect: do not run a command if the command given is junk

Junio C Hamano (2):
      worktree: don't segfault with an absolute pathspec without a work tree
      Git 1.6.5.7

Nanako Shiraishi (1):
      Illustrate "filter" attribute with an example


Version v1.6.5.6; changes since v1.6.5.5:
-----------------------------------------

Jan Krüger (1):
      pull: clarify advice for the unconfigured error case

Jeff King (1):
      add-interactive: fix deletion of non-empty files

Junio C Hamano (3):
      Remove post-upload-hook
      Fix archive format with -- on the command line
      Git 1.6.5.6

Matthieu Moy (2):
      merge-recursive: make the error-message generation an extern function
      builtin-merge: show user-friendly error messages for fast-forward too.


Version v1.6.5.5; changes since v1.6.5.4:
-----------------------------------------

Avery Pennarun (1):
      builtin-merge.c: call exclude_cmds() correctly.

Brandon Casey (1):
      t4201: use ISO8859-1 rather than ISO-8859-1

Brian Collins (1):
      grep: Allow case insensitive search of fixed-strings

Felipe Contreras (2):
      format-patch: fix parsing of "--" on the command line
      format-patch: add test for parsing of "--"

Jeff King (4):
      diffcore-break: free filespec data as we go
      diffcore-break: save cnt_data for other phases
      rerere: don't segfault on failure to open rr-cache
      reset: improve worktree safety valves

Junio C Hamano (7):
      diffcore-rename: reduce memory footprint by freeing blob data early
      Documentation: avoid xmlto input error
      Protect scripted Porcelains from GREP_OPTIONS insanity
      Remove dead code from "git am"
      Documentation: xmlto 0.0.18 does not know --stringparam
      Prepare for 1.6.5.5
      Git 1.6.5.5

Linus Torvalds (1):
      Fix diff -B/--dirstat miscounting of newly added contents

Lukas Sandström (1):
      git am/mailinfo: Don't look at in-body headers when rebasing

Matthew Ogilvie (1):
      core.autocrlf documentation: mention the crlf attribute

Matthieu Moy (4):
      Expand ~ and ~user in core.excludesfile, commit.template
      expand_user_path: expand ~ to $HOME, not to the actual homedir.
      merge-recursive: point the user to commit when file would be overwritten.
      user-manual: Document that "git merge" doesn't like uncommited changes.

Nicolas Pitre (1):
      give priority to progress messages

Philippe Bruhat (1):
      Make sure $PERL_PATH is defined when the test suite is run.

Raman Gupta (1):
      Add branch management for releases to gitworkflows

Ramsay Jones (3):
      Makefile: merge two Cygwin configuration sections into one
      t9700-perl-git.sh: Fix a test failure on Cygwin
      git-count-objects: Fix a disk-space under-estimate on Cygwin

René Scharfe (2):
      mergetool--lib: simplify guess_merge_tool()
      archive: clarify description of path parameter

Tim Henigan (2):
      Update 'git remote update' usage string to match man page.
      git remote: Separate usage strings for subcommands

Todd Zullinger (1):
      Documentation: Avoid use of xmlto --stringparam

Uwe Kleine-König (1):
      shortlog: respect commit encoding


Version v1.6.5.4; changes since v1.6.5.3:
-----------------------------------------

David Aguilar (1):
      help: Do not unnecessarily look for a repository

David Soria Parra (1):
      Documentation: Document --branch option in git clone synopsis

Greg Price (1):
      Documentation: undocument gc'd function graph_release()

Jeff King (1):
      prune-packed: only show progress when stderr is a tty

Junio C Hamano (7):
      builtin-apply.c: pay attention to -p<n> when determining the name
      Do not misidentify "git merge foo HEAD" as an old-style invocation
      merge: do not add standard message when message is given with -m option
      Prepare for 1.6.5.4
      Documentation/Makefile: allow man.base.url.for.relative.link to be set from Make
      Unconditionally set man.base.url.for.relative.links
      Git 1.6.5.4

Michael J Gruber (1):
      Documentation: Fix a few i.e./e.g. mix-ups

Nicolas Pitre (1):
      pack-objects: split implications of --all-progress from progress activation

Stephen Boyd (1):
      instaweb: restart server if already running


Version v1.6.5.3; changes since v1.6.5.2:
-----------------------------------------

Björn Gustavsson (1):
      git-clone.txt: Fix grammar and formatting

Björn Steinbrink (1):
      pre-commit.sample: Diff against the empty tree when HEAD is invalid

Clemens Buchacher (1):
      modernize fetch/merge/pull examples

Daniel Barkalow (2):
      Require a struct remote in transport_get()
      Allow curl helper to work without a local repository

Dmitry V. Levin (1):
      Makefile: add compat/bswap.h to LIB_H

Gerrit Pape (1):
      help -i: properly error out if no info viewer can be found

Gisle Aas (2):
      More precise description of 'git describe --abbrev'
      Fix documentation grammar typo

Giuseppe Bilotta (1):
      gitweb: fix esc_param

Jakub Narębski (1):
      gitweb: Do not show 'patch' link for merge commits

Jan Krüger (1):
      rebase -i: more graceful handling of invalid commands

Jari Aalto (3):
      Documentation/fetch-options.txt: order options alphabetically
      Documentation/git-pull.txt: Add subtitles above included option files
      Documentation/merge-options.txt: order options in alphabetical groups

Jeff King (6):
      cvsimport: fix relative argument filenames
      push: always load default config
      add-interactive: handle deletion of empty files
      ls-files: unbreak "ls-files -i"
      push: fix typo in usage
      format-patch: make "-p" suppress diffstat

Johannes Schindelin (3):
      blame: make sure that the last line ends in an LF
      help -a: do not unnecessarily look for a repository
      diff --color-words -U0: fix the location of hunk headers

Jonathan Nieder (4):
      clone: detect extra arguments
      Add intermediate build products to .gitignore
      check-ref-format: update usage string
      merge: do not setup worktree twice

Junio C Hamano (22):
      apply --whitespace=fix: fix handling of blank lines at the eof
      apply --whitespace=fix: detect new blank lines at eof correctly
      apply.c: split check_whitespace() into two
      apply --whitespace=warn/error: diagnose blank at EOF
      apply --whitespace: warn blank but not necessarily empty lines at EOF
      diff.c: the builtin_diff() deals with only two-file comparison
      diff --whitespace=warn/error: obey blank-at-eof
      diff --whitespace=warn/error: fix blank-at-eof check
      diff --color: color blank-at-eof
      core.whitespace: split trailing-space into blank-at-{eol,eof}
      diff --whitespace: fix blank lines at end
      diff.c: shuffling code around
      diff.c: split emit_line() from the first char and the rest of the line
      diff.c: emit_add_line() takes only the rest of the line
      diff -B: colour whitespace errors
      info/grafts: allow trailing whitespaces at the end of line
      gc --auto --quiet: make the notice a bit less verboase
      receive-pack: run "gc --auto --quiet" and optionally "update-server-info"
      clone: fix help on options
      diff --color-words: bit of clean-up
      check-ref-format -h: it does not know the --print option yet
      Git 1.6.5.3

Markus Heidelberg (1):
      t4034-diff-words: add a test for word diff without context

Petr Baudis (1):
      gitweb: Fix blob linenr links in pathinfo mode

Sebastian Schuberth (1):
      Do not try to remove directories when removing old links

Stephen Boyd (1):
      git-add.txt: fix formatting of --patch section

Thomas Rast (1):
      Quote ' as \(aq in manpages

Todd Zullinger (1):
      Makefile: Ensure rpm packages can be read by older rpm versions

Vietor Liu (1):
      imap-send.c: fix compiler warnings for OpenSSL 1.0


Version v1.6.5.2; changes since v1.6.5.1:
-----------------------------------------

Andreas Schwab (1):
      Work around option parsing bug in the busybox tar implementation

Carlos R. Mafra (1):
      Makefile: clean block-sha1/ directory instead of mozilla-sha1/

Jeff King (2):
      ls-files: excludes should not impact tracked files
      document push's new quiet option

Joe Perches (1):
      git-send-email.perl: fold multiple entry "Cc:" and multiple single line "RCPT TO:"s

Johannes Sixt (2):
      Remove a left-over file from t/t5100
      Mark files in t/t5100 as UTF-8

Jonathan Nieder (1):
      Documentation: describe check-ref-format --branch

Junio C Hamano (4):
      Fix incorrect error check while reading deflated pack data
      Do not fail "describe --always" in a tag-less repository
      Fix list of released versions in the toc document
      GIT 1.6.5.2

Markus Heidelberg (1):
      t7800-difftool: fix the effectless GIT_DIFFTOOL_PROMPT test

Matt Kraai (1):
      Documentation/git-gc.txt: change "references" to "reference"

Nanako Shiraishi (2):
      git push: remove incomplete options list from help text
      git push: say that --tag can't be used with --all or --mirror in help text

Nasser Grainawi (1):
      Document `delta` attribute in "git help attributes".

Pauli Virtanen (1):
      git-add--interactive: never skip files included in index


Version v1.6.5.1; changes since v1.6.5:
---------------------------------------

Björn Steinbrink (1):
      clone: Supply the right commit hash to post-checkout when -b is used

Johannes Sixt (1):
      remote-curl: add missing initialization of argv0_path

Junio C Hamano (1):
      GIT 1.6.5.1

Matt Kraai (1):
      grep: do not segfault when -f is used

Miklos Vajna (1):
      git-stash documentation: mention default options for 'list'

Nicolas Pitre (1):
      change throughput display units with fast links

Shawn O. Pearce (1):
      sha1_file: Fix infinite loop when pack is corrupted


Version v1.6.5; changes since v1.6.5-rc3:
-----------------------------------------

Alexander Gavrilov (1):
      git-svn: Avoid spurious errors when rewriteRoot is used.

Ben Walton (1):
      ls-files: die instead of fprintf/exit in -i error

Björn Gustavsson (1):
      bash: add support for 'git replace'

Brandon Casey (2):
      Makefile: enable THREADED_DELTA_SEARCH on IRIX and IRIX64
      Makefile: add a note about the NO_MMAP setting on IRIX and IRIX64

Christian Himpel (2):
      git-am: fixed patch_format detection according to RFC2822
      git-am: force egrep to use correct characters set

Erik Faye-Lund (2):
      increase portability of NORETURN declarations
      add NORETURN_PTR for function pointers

Felipe Contreras (1):
      send-email: fix mutt regex for grouped aliases

Ingmar Vanhassel (1):
      import-tars: Add missing closing bracket

Jeff King (2):
      improve reflog date/number heuristic
      pull: improve advice for unconfigured error case

Jonathan Nieder (8):
      Describe DOCBOOK_XSL_172, ASCIIDOC_NO_ROFF options in Makefile
      Documentation: git fmt-merge-msg does not have to be a script
      Documentation: clarify mergeoptions description
      Documentation: branch: update --merged description
      Documentation: clarify branch creation
      Documentation: clarify "working tree" definition
      racy-git.txt: explain nsec problem in more detail
      Documentation: clone: clarify discussion of initial branch

Junio C Hamano (2):
      Update draft release notes to 1.6.5
      GIT 1.6.5

Ramsay Jones (2):
      Fix MSVC build on cygwin
      Fix the exit code of MSVC build scripts on cygwin

René Scharfe (1):
      Git archive and trailing "/" in prefix

Simon Arlott (1):
      git-svn: hide find_parent_branch output in double quiet mode

Stephen Boyd (2):
      completion: fix completion of git <TAB><TAB>
      completion: fix alias listings with newlines


Version v1.6.5-rc3; changes since v1.6.5-rc2:
---------------------------------------------

Adam Brewster (1):
      filter-branch: add --prune-empty to option summary

Andreas Schwab (1):
      parse-opt: ignore negation of OPT_NONEG for ambiguity checks

Brandon Casey (3):
      perl/Makefile.PL: detect MakeMaker versions incompatible with DESTDIR
      Documentation/git-gc.txt: default --aggressive window is 250, not 10
      Makefile: enable THREADED_DELTA_SEARCH on SunOS

Frederik Schwarzer (1):
      Correct minor typo in post-receive hook template

Jim Meyering (1):
      typo fix: Directory `...' exist, ...: s/exist/exists/

Johan Sageryd (1):
      Fix '--relative-date'

Junio C Hamano (4):
      builtin-mailinfo.c: check error status from rewind and ftruncate
      show-branch: fix segfault when showbranch.default exists
      git-pull: dead code removal
      fast-import.c::validate_raw_date(): really validate the value

Mark Rada (1):
      tests: make all test files executable

Michael Wookey (1):
      generators/vcproj.pm: remove UNICODE from build

Miklos Vajna (1):
      git branch -D: give a better error message when lockfile creation fails

Nicolas Pitre (1):
      make 'git clone' ask the remote only for objects it cares about

Ramsay Jones (1):
      Fix some printf format warnings

SZEDER Gábor (1):
      bash: teach 'git checkout' options

Sebastian Schuberth (2):
      Make generated MSVC solution file open from Windows Explorer
      Make just opening the generated MSVC solution file not modify it

Stefan Naewe (1):
      README: git lives at http://git-scm.com these days

Stephen Boyd (2):
      completion: update am, commit, and log
      completion: add dirstat and friends to diff options

Yakov Lerner (1):
      send-email: fix obscure error when encryption=tls and smtp cannot connect


Version v1.6.5-rc2; changes since v1.6.5-rc1:
---------------------------------------------

Clemens Buchacher (2):
      test local clone by copying
      cvs: initialize empty password

Dmitry Potapov (2):
      git-archive: add '-o' as a alias for '--output'
      git-archive: infer output format from filename when unspecified

Frank Li (6):
      Avoid declaration after statement
      Change regerror() declaration from K&R style to ANSI C (C89)
      Fix __stdcall placement and function prototype
      Test for WIN32 instead of __MINGW32_
      Add MinGW header files to build git with MSVC
      Add platform files for porting to MSVC

Heiko Voigt (2):
      remove logical typo in documentation of sample update hook
      web--browse: fix Mac OS X GUI detection for 10.6

Jim Meyering (1):
      pre-commit.sample: add comment re tr portability; fix grammar

Johannes Gilger (1):
      git-clone doc: typofix

Johannes Sixt (1):
      test-genrandom: ensure stdout is set to _O_BINARY on Windows

Junio C Hamano (6):
      git-commit doc: remove duplicated --dry-run description
      http.c: avoid freeing an uninitialized pointer
      GIT 1.6.4.4
      Update Release Notes to 1.6.5
      pay attention to DESTDIR when building with NO_PERL_MAKEMAKER
      pull: Clarify "helpful" message for another corner case

Marius Storm-Olsen (9):
      Add include guards to compat/win32.h
      Set _O_BINARY as default fmode for both MinGW and MSVC
      Add empty header files for MSVC port
      Make usage of windows.h lean and mean
      Define strncasecmp and ftruncate for MSVC
      Add MSVC to Makefile
      Add README for MSVC build
      Add scripts to generate projects for other buildsystems (MSVC vcproj, QMake)
      Tag GIT_VERSION when Git is built with MSVC

Matthieu Moy (1):
      push: Correctly initialize nonfastforward in transport_push.

Nelson Elhage (1):
      git-push: Accept -n as a synonym for --dry-run.

Nicolas Pitre (1):
      Nicolas Pitre has a new email address

Pat Thoyts (1):
      gitk: Work around leftover temporary save file

Paul Mackerras (1):
      gitk: Show diff of commits at end of compare-commits output

Peter Krefting (1):
      gitk: Update Swedish translation (280t0f0u)

SZEDER Gábor (3):
      bash: rename __git_find_subcommand() to __git_find_on_cmdline()
      bash: update 'git stash' completion
      bash: teach 'git reset --patch'

Thiago Farina (3):
      Update the usage bundle string.
      pack-objects: remove SP at the end of usage string
      Update "describe" documentation to match reality

Todd Zullinger (1):
      completion: Replace config --list with --get-regexp


Version v1.6.5-rc1; changes since v1.6.5-rc0:
---------------------------------------------

Brian Gernhardt (4):
      INSTALL: Update description of our SHA-1 code
      Makefile: Add NEEDS_CRYPTO_WITH_SSL
      INSTALL: Reorder dependencies, split shell and Perl
      INSTALL: Describe dependency knobs from Makefile

Clemens Buchacher (3):
      grep: fix exit status if external_grep() punts
      grep: accept relative paths outside current working directory
      preserve mtime of local clone

Daniel Barkalow (4):
      Add support for external programs for handling native fetches
      Use an external program to implement fetching with curl
      Make the "traditionally-supported" URLs a special case
      Use a clearer style to issue commands to remote helpers

Jari Aalto (1):
      Improve --patch option documentation in git-add

Jeff King (4):
      Makefile: git-http-fetch does not need expat
      push: make non-fast-forward help message configurable
      status: make "how to stage" messages optional
      rebase: use plumbing to show dirty state

Jim Meyering (3):
      use write_str_in_full helper to avoid literal string lengths
      use write_str_in_full helper to avoid literal string lengths
      don't dereference NULL upon fdopen failure

Johannes Sixt (2):
      start_command: do not clobber cmd->env on Windows code path
      pager: set LESS=FRSX also on Windows

Josh Triplett (2):
      Wrap rewrite globals in a struct in preparation for adding another set
      Add url.<base>.pushInsteadOf: URL rewriting for push only

Junio C Hamano (7):
      Makefile: do not link three copies of git-remote-* programs
      Makefile: install hardlinks for git-remote-<scheme> supported by libcurl if possible
      merge-recursive: give less scary messages when merge did not start
      Makefile: remove remnant of separate http/https/ftp helpers
      GIT 1.6.4.3
      quiltimport documentation: --dry-run and -n are synonyms
      GIT 1.6.5-rc1

Linus Torvalds (1):
      git-http-fetch: not a builtin

Mark Lodato (1):
      svn: properly escape arguments for authors-prog

Martin Nordholts (1):
      git.el: Use git-add-file for unmerged files, remove git-resolve-file

Matthieu Moy (1):
      wrap git's main usage string.

Mike Ralphson (2):
      Add transport native helper executables to .gitignore
      http-fetch: Fix Makefile dependancies

Nicolas Sebrecht (2):
      mailinfo: add '--scissors' to usage message
      add documentation for mailinfo.scissors and '--no-scissors'

Peter Krefting (2):
      import-tars: Allow per-tar author and commit message.
      Add script for importing bits-and-pieces to Git.

Reilly Grant (1):
      git-p4: Avoid modules deprecated in Python 2.6.

Tay Ray Chuan (1):
      http.c: remove verification of remote packs


Version v1.6.5-rc0; changes since v1.6.4.5:
-------------------------------------------

Adam Brewster (3):
      svn: Add && to t9107-git-svn-migrate.sh
      svn: Honor --prefix option in init without --stdlayout
      svn: allow branches outside of refs/remotes

Adam Simpkins (3):
      graph API: use a new color when starting a brand new column
      graph API: fix bug in graph_is_interesting()
      Add tests for rev-list --graph with options that simplify history

Alex Riesen (2):
      Add a reminder test case for a merge with F/D transition
      Add date formatting and parsing functions relative to a given time

Alexandre Julliard (1):
      read-tree: Fix regression with creation of a new index file.

André Goddard Rosa (1):
      Fix typos on pt_BR/gittutorial.txt translation

Benjamin Kramer (1):
      gitweb: Optimize git-favicon.png

Björn Steinbrink (1):
      git-describe: Die early if there are no possible descriptions

Brandon Casey (9):
      strbuf: add new function strbuf_getwholeline()
      builtin-mailinfo,builtin-mailsplit: use strbufs
      builtin-mailsplit.c: remove read_line_with_nul() since it is no longer used
      block-sha1/sha1.c: silence compiler complaints by casting void * to char *
      git-compat-util.h: remove superfluous test for __sun__
      Makefile: remove pointless conditional assignment in SunOS section
      abspath.c: move declaration of 'len' into inner block and use appropriate type
      commit.c: rename variable named 'n' which masks previous declaration
      t/test-lib.sh: provide a shell implementation of the 'yes' utility

Brian Gianforcaro (1):
      Style fixes, add a space after if/for/while.

Christian Couder (13):
      refs: add a "for_each_replace_ref" function
      replace_object: add mechanism to replace objects found in "refs/replace/"
      sha1_file: add a "read_sha1_file_repl" function
      object: call "check_sha1_signature" with the replacement sha1
      replace_object: add a test case
      mktag: call "check_sha1_signature" with the replacement sha1
      environment: add global variable to disable replacement
      Add new "git replace" command
      builtin-replace: teach "git replace" to actually replace
      parse-options: add new function "usage_msg_opt"
      builtin-replace: use "usage_msg_opt" to give better error messages
      Documentation: add documentation for "git replace"
      t6050: check pushing something based on a replaced commit

David Aguilar (1):
      Add git-replace to .gitignore

David Kågedal (1):
      git.el: Clarify documentation of git-commit-tree

David Soria Parra (1):
      run-command.c: squelch a "use before assignment" warning

Dirk Hoerner (1):
      git-cvsimport: add support for cvs pserver password scrambling.

Eric Wong (3):
      svn: initial "master" points to trunk if possible
      svn: (cleanup) use predefined constant for rev_map_fmt
      svn: assume URLs from the command-line are URI-encoded

Geoffrey Irving (1):
      git fast-export: add --no-data option

Giuseppe Bilotta (3):
      gitweb: fix 'Use of uninitialized value' error in href()
      git apply: option to ignore whitespace differences
      gitweb: pull ref markes pull out of subject <a> element

Heiko Voigt (2):
      cvsimport: add test illustrating a bug in cvsps
      cvsimport: extend testcase about patchset order to contain branches

Jakub Narębski (6):
      gitweb: Make .error style generic
      gitweb: Mark boundary commits in 'blame' view
      gitweb: Use "previous" header of git-blame -p in 'blame' view
      gitweb: Mark commits with no "previous" in 'blame' view
      gitweb: Add author initials in 'blame' view, a la "git gui blame"
      gitweb: Use light/dark for class names also in 'blame' view

Jari Aalto (1):
      git-tag(1): Refer to git-check-ref-format(1) for <name>

Jeff King (14):
      push: add --quiet flag
      transport: pass "quiet" flag to pack-objects
      transport: don't show push status if --quiet is given
      tests: use "$TEST_DIRECTORY" instead of ".."
      tests: provide $TRASH_DIRECTORY variable
      tests: allow user to specify trash directory location
      t/Makefile: include config.mak
      allow pull --rebase on branch yet to be born
      tests: disable interactive hunk selection tests if perl is not available
      clone: add --branch option to select a different HEAD
      refactor test-date interface
      tests: add date printing and parsing tests
      fix approxidate parsing of relative months and years
      push: teach --quiet to suppress "Everything up-to-date"

Jeff Lasslett (1):
      Check return value of ftruncate call in http.c

Jens Lehmann (1):
      git submodule summary: add --files option

Johan Herland (9):
      git submodule foreach: Provide access to submodule name, as '$name'
      git submodule: Cleanup usage string and add option parsing to cmd_foreach()
      Add selftest for 'git submodule foreach'
      git submodule foreach: test access to submodule name as '$name'
      git submodule foreach: Add --recursive to recurse into nested submodules
      git submodule update: Introduce --recursive to update nested submodules
      git submodule status: Add --recursive to recurse into nested submodules
      t7407: Use 'rev-parse --short' rather than bash's substring expansion notation
      git clone: Add --recursive to automatically checkout (nested) submodules

Johannes Schindelin (2):
      Make 'git stash -k' a short form for 'git stash save --keep-index'
      parse-opt: optionally show "--no-" option string

Johannes Sixt (13):
      MinGW: simplify waitpid() emulation macros
      run_command: return exit code as positive value
      run_command: report system call errors instead of returning error codes
      run_command: encode deadly signal number in the return value
      run_command: report failure to execute the program, but optionally don't
      receive-pack: remove unnecessary run_status report
      api-run-command.txt: describe error behavior of run_command functions
      t0001-init: fix a file name
      t0001-init: split the existence test from the permission test
      gitk: Do not hard-code "encoding" in attribute lookup functions
      Make test number t7406- unique
      Make test case number unique
      status: list unmerged files much later

Junio C Hamano (31):
      t/t9600: remove exit after test_done
      Start 1.6.5 cycle
      request-pull: optionally show a patch as well
      diff-index: report unmerged new entries
      diff-index: keep the original index intact
      Allow mailsplit (and hence git-am) to handle mails with CRLF line-endings
      wt-status.c: rework the way changes to the index and work tree are summarized
      git-rev-list.txt: Clarify the use of multiple revision arguments
      block-sha1: undo ctx->size change
      block-sha1: minor fixups
      am: allow individual e-mail files as input
      status: show worktree status of conflicted paths separately
      verify-pack --stat-only: show histogram without verifying
      commit: --dry-run
      wt-status: move many global settings to wt_status structure
      wt-status: move wt_status_colors[] into wt_status structure
      Make git_status_config() file scope static to builtin-commit.c
      wt-status: collect untracked files in a separate "collect" phase
      Documentation/git-commit.txt: describe --dry-run
      git commit --dry-run -v: show diff in color when asked
      compat/snprintf.c: clarify SNPRINTF_SIZE_CORR
      builtin-mailinfo.c: fix confusing internal API to mailinfo()
      Teach mailinfo to ignore everything before -- >8 -- mark
      am/mailinfo: Disable scissors processing by default
      mailinfo.scissors: new configuration
      Draft release notes to 1.6.5 before -rc0
      upload-pack: add a trigger for post-upload-pack hook
      upload-pack: feed "kind [clone|fetch]" to post-upload-pack hook
      builtin-pack-objects.c: avoid vla
      builtin-apply.c: get rid of an unnecessary use of temporary array
      GIT 1.6.5-rc0

Karthik R (1):
      git-svn: Use GIT_SSH setting if SVN_SSH is not set

Lars Hjemli (2):
      Documentaqtion/git-submodule.txt: Typofix
      git-log: allow --decorate[=short|full]

Linus Torvalds (12):
      Add new optimized C 'block-sha1' routines
      block-sha1: try to use rol/ror appropriately
      block-sha1: make the 'ntohl()' part of the first SHA1 loop
      block-sha1: re-use the temporary array as we calculate the SHA1
      block-sha1: macroize the rounds a bit further
      block-sha1: Use '(B&C)+(D&(B^C))' instead of '(B&C)|(D&(B|C))' in round 3
      block-sha1: get rid of redundant 'lenW' context
      block-sha1: perform register rotation using cpp
      block-sha1: improved SHA1 hashing
      block-sha1: improve code on large-register-set machines
      Improve on 'approxidate'
      Further 'approxidate' improvements

Luke Diamand (1):
      git-p4: stream from perforce to speed up clones

Mark Rada (6):
      gitweb: support to globally disable a snapshot format
      gitweb: update INSTALL regarding specific snapshot settings
      gitweb: add support for XZ compressed snapshots
      gitweb: improve snapshot error handling
      gitweb: split test suite into library and tests
      gitweb: add t9501 tests for checking HTTP status codes

Matthieu Moy (6):
      rebase: consistent error messages for staged and unstaged changes.
      git-ls-files.txt: clarify what "other files" mean for --other
      Show usage string for 'git log -h', 'git show -h' and 'git diff -h'
      Rename REFRESH_SAY_CHANGED to REFRESH_IN_PORCELAIN.
      reset: make the reminder output consistent with "checkout"
      stash: simplify defaulting to "save" and reject unknown options

Michael Haggerty (6):
      Start a library for cvsimport-related tests
      Use CVS's -f option if available (ignore user's ~/.cvsrc file)
      Test contents of entire cvsimported "master" tree contents
      Add some tests of git-cvsimport's handling of vendor branches
      Add a test of "git cvsimport"'s handling of tags and branches
      git-svn: ignore leading blank lines in svn:ignore

Michael J Gruber (3):
      t6010-merge-base.sh: Depict the octopus test graph
      git-merge-base/git-show-branch: Cleanup documentation and usage
      git-merge-base/git-show-branch --merge-base: Documentation and test

Michał Kiedrowicz (2):
      init-db: migrate to parse-options
      grep: Add --max-depth option.

Nanako Shiraishi (3):
      git init: optionally allow a directory argument
      Documentation: consistently refer to check-ref-format
      Documentation: describe the scissors mark support of "git am"

Nguyễn Thái Ngọc Duy (1):
      Prevent diff machinery from examining assume-unchanged entries on worktree

Nick Edelen (1):
      Shift object enumeration out of upload-pack

Nicolas Pitre (11):
      block-sha1: move code around
      block-sha1: split the different "hacks" to be individually selected
      block-sha1: support for architectures with memory alignment restrictions
      block-sha1: more good unaligned memory access candidates
      block-sha1: make the size member first in the context struct
      make sure byte swapping is optimal for git
      block-sha1: guard gcc extensions with __GNUC__
      remove ARM and Mozilla SHA1 implementations
      fix simple deepening of a repo
      make shallow repository deepening more network efficient
      pack-objects: free preferred base memory after usage

Nicolas Sebrecht (1):
      git-am: print fair error message when format detection fails

Ori Avtalion (1):
      git stash: Give friendlier errors when there is nothing to apply

Pascal Obry (1):
      Do not scramble password read from .cvspass

René Scharfe (2):
      update-server-info: make builtin, use parseopt
      UI consistency: allow --force for where -f means force

Stephen Boyd (7):
      read-tree: convert unhelpful usage()'s to helpful die()'s
      read-tree: migrate to parse-options
      write-tree: migrate to parse-options
      verify-tag: migrate to parse-options
      verify-pack: migrate to parse-options
      prune-packed: migrate to parse-options
      technical-docs: document tree-walking API

Tay Ray Chuan (2):
      http.c: free preq when aborting
      http.c: replace usage of temporary variable for urls

Thadeu Lima de Souza Cascardo (1):
      Translate the tutorial to Brazillian Portuguese

Thomas Rast (11):
      Document 'stash clear' recovery via unreachable commits
      gitk: New option to hide remote refs
      gitk: Fix direction of symmetric difference in optimized mode
      gitk: Parse arbitrary commit-ish in SHA1 field
      git-apply--interactive: Refactor patch mode code
      Add a small patch-mode testing library
      builtin-add: refactor the meat of interactive_add()
      Implement 'git reset --patch'
      Implement 'git checkout --patch'
      Implement 'git stash save --patch'
      DWIM 'git stash save -p' for 'git stash -p'

Tuomas Suutari (1):
      git-svn.txt: Fix location of parent argument

Wesley J. Landaker (2):
      Documentation: git-send-email: fix submission port number
      Documentation: git-send-email: correct statement about standard ports

Wilhansen Li (1):
      Add support for the Mongoose web server.


Version v1.6.4.5; changes since v1.6.4.4:
-----------------------------------------

Andreas Gruenbacher (3):
      base85 debug code: Fix length byte calculation
      base85: encode_85() does not use the decode table
      base85: Make the code more obvious instead of explaining the non-obvious

Andreas Schwab (1):
      git count-objects: handle packs bigger than 4G

Ben Walton (1):
      ls-files: die instead of fprintf/exit in -i error

Gerrit Pape (1):
      help -i: properly error out if no info viewer can be found

Greg Brockman (1):
      Check size of path buffer before writing into it

Greg Price (1):
      commit: --cleanup is a message option

Jakub Narębski (1):
      gitweb: Introduce esc_attr to escape attributes of HTML elements

Jan Krüger (1):
      rebase -i: more graceful handling of invalid commands

Jeff King (2):
      ls-files: excludes should not impact tracked files
      textconv: stop leaking file descriptors

Jonathan Nieder (1):
      Documentation: describe check-ref-format --branch

Junio C Hamano (5):
      show-branch: fix segfault when showbranch.default exists
      fast-import.c::validate_raw_date(): really validate the value
      checkout -m: do not try to fall back to --merge from an unborn branch
      Fix mis-backport of t7002
      Git 1.6.4.5

Matt Kraai (1):
      grep: do not segfault when -f is used

Matthieu Moy (2):
      push: Correctly initialize nonfastforward in transport_push.
      branch: die explicitly why when calling "git branch [-a|-r] branchname".

Miklos Vajna (1):
      git-stash documentation: mention default options for 'list'

Nguyễn Thái Ngọc Duy (1):
      t7102: make the test fail if one of its check fails

Uwe Kleine-König (1):
      rev-parse: fix --parse-opt --keep-dashdash --stop-at-non-option


Version v1.6.4.4; changes since v1.6.4.3:
-----------------------------------------

Jeff King (1):
      checkout: do not imply "-f" on unborn branches

Junio C Hamano (6):
      Fix "unpack-objects --strict"
      check_path(): allow symlinked directories to checkout-index --prefix
      xutils: Fix hashing an incomplete line with whitespaces at the end
      xutils: Fix xdl_recmatch() on incomplete lines
      http.c: avoid freeing an uninitialized pointer
      GIT 1.6.4.4


Version v1.6.4.3; changes since v1.6.4.2:
-----------------------------------------

Bert Wesarg (1):
      githooks.txt: put hooks into subsections

Clemens Buchacher (2):
      grep: fix exit status if external_grep() punts
      grep: accept relative paths outside current working directory

Emmanuel Trillaud (1):
      git-pull: do not mention --quiet and --verbose twice

Gerrit Pape (1):
      git-cvsserver: no longer use deprecated 'git-subcommand' commands

Jeff King (3):
      clone: disconnect transport after fetching
      push: fix english in non-fast-forward message
      push: re-flow non-fast-forward message

Junio C Hamano (1):
      GIT 1.6.4.3

Mark Lodato (1):
      svn: properly escape arguments for authors-prog

Miklos Vajna (1):
      git-clone: add missing comma in --reference documentation

Tay Ray Chuan (1):
      http.c: remove verification of remote packs


Version v1.6.4.2; changes since v1.6.4.1:
-----------------------------------------

David Kågedal (1):
      Minor improvement to the write-tree documentation

David Reiss (1):
      Round-down years in "years+months" relative date view

Jeff King (3):
      add tests for merge message headings
      merge: fix incorrect merge message for ambiguous tag/branch
      merge: indicate remote tracking branches in merge message

Johannes Schindelin (2):
      Expose the has_non_ascii() function
      Correctly mark cover letters' encodings if they are not pure ASCII

Johannes Sixt (1):
      t6035-merge-dir-to-symlink depends on SYMLINKS prerequisite

Junio C Hamano (3):
      apply: notice creation/removal patches produced by GNU diff
      clean: require double -f options to nuke nested git repository and work tree
      GIT 1.6.4.2

Kirill Smelkov (1):
      git add -p: demonstrate failure when staging both mode and hunk

Kjetil Barvik (1):
      lstat_cache: guard against full match of length of 'name' parameter

Lars Hjemli (1):
      git-log: allow --decorate[=short|full]

Linus Torvalds (1):
      git-checkout: be careful about untracked symlinks

Nanako Shiraishi (3):
      git-bisect: call the found commit "*the* first bad commit"
      Fix overridable written with an extra 'e'
      Remove unused t/t8005/iso8859-5.txt

Pickens, James E (1):
      Demonstrate bugs when a directory is replaced with a symlink

Tay Ray Chuan (2):
      http.c: don't assume that urls don't end with slash
      http.c: set slot callback members to NULL when releasing object

Thomas Rast (1):
      add -p: do not attempt to coalesce mode changes

Wesley J. Landaker (1):
      Documentation: git-archive: mark --format as optional in summary


Version v1.6.4.1; changes since v1.6.4:
---------------------------------------

Björn Steinbrink (1):
      config: Keep inner whitespace verbatim

Erik Faye-Lund (1):
      send-email: remove debug trace

Jakub Narębski (1):
      gitweb/README: Document $base_url

Jeff King (3):
      show: suppress extra newline when showing annotated tag
      show: add space between multiple items
      docs: describe impact of repack on "clone -s"

Jens Lehmann (1):
      Documentation: git submodule: add missing options to synopsis

Johan Herland (1):
      help.c: give correct structure's size to memset()

Johannes Schindelin (1):
      filter-branch: add an example how to add ACKs to a range of commits

Junio C Hamano (5):
      merge-recursive: don't segfault while handling rename clashes
      t5510: harden the way verify-pack is used
      verify-pack -v: do not report "chain length 0"
      am: allow individual e-mail files as input
      GIT 1.6.4.1

Mark Rada (1):
      git-instaweb: fix mod_perl detection for apache2

Matthieu Moy (3):
      Better usage string for reflog.
      push: point to 'git pull' and 'git push --force' in case of non-fast forward
      filter-branch: make the usage string fit on 80 chars terminals.

Miklos Vajna (1):
      hg-to-git: don't import the unused popen2 module

Nicolas Pitre (1):
      don't let the delta cache grow unbounded in 'git repack'

Nicolas Sebrecht (1):
      git-am: print fair error message when format detection fails

Ori Avtalion (1):
      Change mentions of "git programs" to "git commands"

Paul Bolle (2):
      Documentation: merge: one <remote> is required
      Documentation: add: <filepattern>... is optional

Santi Béjar (2):
      t5520-pull: Test for rebased upstream + fetch + pull --rebase
      pull: support rebased upstream + fetch + pull --rebase

Zoltán Füzesi (1):
      gitweb: parse_commit_text encoding fix

Štěpán Němec (1):
      Fix typos in git-remote.txt and git-symbolic-ref.txt


Version v1.6.4; changes since v1.6.4-rc3:
-----------------------------------------

David Kågedal (1):
      Update the documentation of the raw diff output format

Elijah Newren (7):
      fast-export: Set revs.topo_order before calling setup_revisions
      fast-export: Omit tags that tag trees
      fast-export: Make sure we show actual ref names instead of "(null)"
      fast-export: Do parent rewriting to avoid dropping relevant commits
      fast-export: Add a --tag-of-filtered-object option for newly dangling tags
      Add new fast-export testcases
      fast-export: Document the fact that git-rev-list arguments are accepted

Eric Wong (1):
      t9143: do not fail if Compress::Zlib is missing

Greg Price (1):
      Fix rebase -p --onto

Junio C Hamano (2):
      GIT 1.6.3.4
      GIT 1.6.4

Michael J Gruber (1):
      git-rerere.txt: Clarify ambiguity of the config variable

Sean Estabrooks (1):
      Trivial path quoting fixes in git-instaweb

Stephen Boyd (1):
      config.txt: document add.ignore-errors

Tom Grennan (1):
      request-pull: allow ls-remote to notice remote.$nickname.uploadpack


Version v1.6.4-rc3; changes since v1.6.4-rc2:
---------------------------------------------

Alex Vandiver (2):
      Make section_name_match start on '[', and return the length on success
      After renaming a section, print any trailing variable definitions

Björn Steinbrink (1):
      Add a test showing that 'git repack' throws away grafted-away parents

Daniel Trstenjak (1):
      Show the presence of untracked files in the bash prompt.

Eric Wong (6):
      git svn: fix shallow clone when upstream revision is too new
      git svn: revert default behavior for --minimize-url
      git svn: the branch command no longer needs the full path
      t9142: stop httpd after the test
      git svn: avoid escaping '/' when renaming/copying files
      git svn: make minimize URL more reliable over http(s)

Jeff King (1):
      send-email: detect cycles in alias expansion

Johannes Schindelin (1):
      git repack: keep commits hidden by a graft

Junio C Hamano (6):
      do_one_ref(): null_sha1 check is not about broken ref
      SunOS grep does not understand -C<n> nor -e
      Update release notes for 1.6.4
      Fix severe breakage in "git-apply --whitespace=fix"
      t8005: Nobody writes Russian in shift_jis
      GIT 1.6.4-rc3

Linus Torvalds (3):
      git branch: fix performance problem
      git branch: avoid unnecessary object lookups
      git branch: clean up detached branch handling

Matthias Andree (1):
      Fix export_marks() error handling.

Nanako Shiraishi (1):
      Documentation/config.txt: a variable can be defined on the section header line

Robert Zeh (1):
      git svn: add gc command

Thomas Rast (1):
      Disable asciidoc 8.4.1+ semantics for `{plus}` and friends


Version v1.6.4-rc2; changes since v1.6.4-rc1:
---------------------------------------------

Brandon Casey (4):
      refs.c: release file descriptor on error return
      sha1_name.c: avoid unnecessary strbuf_release
      configure.ac: rework/fix the NEEDS_RESOLV and NEEDS_LIBGEN tests
      configure.ac: properly unset NEEDS_SSL_WITH_CRYPTO when sha1 func is missing

Eric Wong (2):
      git svn: rename tests that had conflicting numbers
      git svn: fix reparenting when ugly http(s) URLs are used

Junio C Hamano (5):
      checkout -f: deal with a D/F conflict entry correctly
      push: do not give big warning when no preference is configured
      Updates to draft release notes to 1.6.4
      combine-diff.c: fix performance problem when folding common deleted lines
      diff --cc: a lost line at the beginning of the file is shown incorrectly

Martin Koegler (1):
      git stash: modernize use of "dashed" git-XXX calls

Michael J Gruber (1):
      t4202-log.sh: Test git log --no-walk sort order

Mike Ralphson (1):
      cvsexportcommit: reorder tests to quiet intermittent failure

Pierre Habouzit (4):
      janitor: use NULL and not 0 for pointers.
      refactor: use bitsizeof() instead of 8 * sizeof()
      janitor: add DIV_ROUND_UP and use it.
      janitor: useless checks before free

SZEDER Gábor (1):
      Trailing whitespace and no newline fix

Yann Dirson (2):
      List send-email config options in config.txt.
      Improve doc for format-patch threading options.


Version v1.6.4-rc1; changes since v1.6.4-rc0:
---------------------------------------------

Andreas Ericsson (1):
      mailinfo: Remove only one set of square brackets

Brandon Casey (5):
      unpack-trees.c: work around run-time array initialization flaw on IRIX 6.5
      git-compat-util.h: adjust for SGI IRIX 6.5
      Makefile: add NEEDS_LIBGEN to optionally add -lgen to compile arguments
      Makefile: add section for SGI IRIX 6.5
      Makefile: update IRIX64 section

Eric Wong (1):
      git svn: allow uppercase UUIDs from SVN

Johan Herland (1):
      quickfetch(): Prevent overflow of the rev-list command line

Junio C Hamano (2):
      Makefile: keep "git" when bindir is execdir
      Revert "mailinfo: Remove only one set of square brackets"

Linus Torvalds (10):
      Add 'fill_directory()' helper function for directory traversal
      Simplify read_directory[_recursive]() arguments
      Avoid doing extra 'lstat()'s for d_type if we have an up-to-date cache entry
      Avoid using 'lstat()' to figure out directories
      Prepare symlink caching for thread-safety
      Export thread-safe version of 'has_symlink_leading_path()'
      Make index preloading check the whole path to the file
      Make 'git show' more useful
      Improve on the 'invalid object' error message at commit time
      Fix extraneous lstat's in 'git checkout -f'

Mattias Nissler (2):
      git-svn: Always duplicate paths returned from get_log
      git-svn: Fix branch detection when repository root is inaccessible

SZEDER Gábor (2):
      Document 'git (rev-list|log) --merges'
      bash: add '--merges' to common 'git log' options

Wincent Colaiuta (1):
      gitweb: update Git homepage URL


Version v1.6.4-rc0; changes since v1.6.3.4:
-------------------------------------------

Alex Bennée (1):
      Add -k option to cvsexportcommit to revert expanded CVS keywords in CVS working tree before applying commit patch

Alex Riesen (3):
      Quote LF in urls git fetch saves in FETCH_HEAD
      Use UTF-8 instead of utf8 for backward compatibility
      Improve the naming of guessed target repository for git clone

Alex Vandiver (3):
      git-svn: Fix for svn paths removed > log-window-size revisions ago
      git-svn: Correctly report max revision when following deleted paths
      git-svn: Set svn.authorsfile if it is passed to git svn clone

Allan Caffee (1):
      graph API: Use horizontal lines for more compact graphs

Andreas Ericsson (1):
      fetch: Strip usernames from url's before storing them

Ben Jackson (3):
      Add 'git svn help [cmd]' which works outside a repo.
      git-svn: speed up find_rev_before
      Add 'git svn reset' to unwind 'git svn fetch'

Benjamin Kramer (1):
      imap-send: add support for IPv6

Bert Wesarg (1):
      builtin-remote: (get_one_entry): use strbuf

Björn Steinbrink (1):
      git-apply(1): Clarify that one can select where to apply the patch

Brandon Casey (23):
      t3900: use ancient iconv names for backward compatibility
      Use 'UTF-8' rather than 'utf-8' everywhere for backward compatibility
      builtin-mailinfo.c: compare character encodings case insensitively
      builtin-mailinfo.c: use "ISO8859-1" instead of "latin1" as fallback encoding
      t3901: avoid negation on right hand side of '|'
      t3901: Use ISO8859-1 instead of ISO-8859-1 for backward compatibility
      t9301: use ISO8859-1 rather than ISO-8859-1
      t5100: use ancient encoding syntax for backwards compatibility
      t8005: use more portable character encoding names
      t8005: convert CP1251 character set to ISO8859-5
      t8005: fix typo, it's ISO-8859-5, not KOI8-R
      Makefile: use /usr/ucb/install on SunOS platforms rather than ginstall
      Makefile: add NEEDS_RESOLV to optionally add -lresolv to compile arguments
      On Solaris choose the OLD_ICONV iconv() declaration based on the UNIX spec
      git-compat-util.h: tweak the way _XOPEN_SOURCE is set on Solaris
      Makefile: define __sun__ on SunOS
      Makefile: add section for SunOS 5.7
      git-compat-util.h: avoid using c99 flex array feature with Sun compiler 5.8
      git-send-email.perl: improve detection of MIME encoded-words
      send-email: use UTF-8 rather than utf-8 for consistency
      Makefile: Solaris needs HAVE_ALLOCA_H for alloca()
      t/t9001-send-email.sh: ensure generated script is executed with $SHELL_PATH
      git.c: avoid allocating one-too-many elements for new argv array

Christian Couder (30):
      rev-list: make "estimate_bisect_steps" non static
      rev-list: refactor printing bisect vars
      bisect: move common bisect functionality to "bisect_common"
      bisect--helper: add "--next-exit" to output bisect results
      bisect: use "git bisect--helper --next-exit" in "git-bisect.sh"
      bisect--helper: remove "--next-vars" option as it is now useless
      rev-list: remove stringed output flag from "show_bisect_vars"
      rev-parse: add --sq-quote to shell quote arguments
      bisect: use "git rev-parse --sq-quote" instead of a custom "sq" function
      am: simplify "sq" function by using "git rev-parse --sq-quote"
      bisect: use "sha1_array" to store skipped revisions
      bisect: implement "rev_argv_push" to fill an argv with revs
      bisect: store good revisions in a "sha1_array"
      bisect: use new "struct argv_array" to prepare argv for "setup_revisions"
      bisect: remove too much function nesting
      bisect: make skipped array functions more generic
      bisect: automatically sort sha1_array if needed when looking it up
      bisect: implement the "check_merge_bases" function
      bisect: add "check_good_are_ancestors_of_bad" function
      bisect: make "git bisect" use new "--next-all" bisect-helper function
      bisect: rework some rev related functions to make them more reusable
      commit: add function to unparse a commit and its parents
      bisect: check ancestors without forking a "git rev-list" process
      bisect: drop unparse_commit() and use clear_commit_marks()
      bisect: display first bad commit without forking a new process
      bisect: add parameters to "filter_skipped"
      bisect: when skipping, choose a commit away from a skipped commit
      t6030: test skipping away from an already skipped commit
      bisect: use a PRNG with a bias when skipping away from untestable commits
      Documentation: remove warning saying that "git bisect skip" may slow bisection

Christian Stimming (1):
      gitk: Update German translation.

Clemens Buchacher (5):
      http-push: reuse existing is_null_ref
      match_refs: search ref list tail internally
      test-lib: fail if invalid options are passed
      test-lib: allow exit trap to be used for cleanup by tests
      test-lib: fix http exit codes

Dan McGee (1):
      Unify signedness in hashing calls

Daniel Trstenjak (1):
      Show presence of stashed changes in bash prompt.

David Aguilar (5):
      mergetool--lib: specialize diff options for emerge and ecmerge
      mergetool--lib: add support for araxis merge
      compat: add a mkstemps() compatibility function
      compat: add a basename() compatibility function
      diff: generate pretty filenames in prep_temp_blob()

Dirk Süsserott (1):
      gitk: Add option 'Simple history' to the options menu

Edward Z. Yang (1):
      connect.c: Support PuTTY plink and TortoisePlink as SSH on Windows

Elijah Newren (1):
      gitk: Make more options easily accessible from Edit View dialog

Eric W. Biederman (1):
      git-send-email: Handle quotes when parsing .mailrc files

Eric Wong (4):
      git-svn: refuse to dcommit non-UTF-8 messages
      git-svn: convert globs to regexps for branch destinations
      t9138: remove stray dot in test which broke bash
      Allow the Unix epoch to be a valid commit date

Eygene Ryabinkin (1):
      git-svn testsuite: use standard configuration for Subversion tools

Felipe Contreras (2):
      Change prettify_ref to prettify_refname
      Prettify log decorations even more

Frank Lichtenheld (2):
      Git.pm: Set GIT_WORK_TREE if we set GIT_DIR
      Git.pm: Always set Repository to absolute path if autodetecting

Giuseppe Bilotta (11):
      git-am foreign patch support: introduce patch_format
      git-am foreign patch support: autodetect some patch formats
      git-am foreign patch support: StGIT support
      git-am: refactor 'cleaning up and aborting'
      gitweb: refactor author name insertion
      gitweb: uniform author info for commit and commitdiff
      gitweb: use git_print_authorship_rows in 'tag' view too
      gitweb: (gr)avatar support
      gitweb: gravatar url cache
      gitweb: picon avatar provider
      gitweb: add empty alt text to avatar img

Heiko Voigt (2):
      Extend sample update hook, disable modifying of existing tags
      Extend sample pre-commit hook to check for non ascii filenames

Hunter, D. Seth (1):
      http-push: fix xml_entities() string parsing overrun

Jakub Narębski (10):
      gitweb: Remove function prototypes (cleanup)
      gitweb: Do not use bareword filehandles
      gitweb: Always use three argument form of open
      gitweb: Always use three argument form of open
      gitweb: Use block form of map/grep in a few cases more
      gitweb: Replace wrongly added tabs with spaces
      gitweb: Use capturing parentheses only when you intend to capture
      gitweb: Simplify snapshot format detection logic in evaluate_path_info
      gitweb: Remove unused $hash_base parameter from normalize_link_target
      gitweb: Sanitize title attribute in format_subject_html

Jeff King (7):
      parseopt: add OPT_NEGBIT
      convert bare readlink to strbuf_readlink
      git-add: no need for -f when resolving a conflict in already tracked path
      Makefile: refactor regex compat support
      Makefile: use compat regex on Solaris
      log-tree: fix confusing comment
      Makefile: install 'git' in execdir

Jim Meyering (2):
      post-receive-email: hooks.showrev: show how to include both web link and patch
      avoid NULL dereference on failed malloc

Johan Herland (2):
      Rename submodule.<name>.rebase to submodule.<name>.update
      git-submodule: add support for --merge.

Johannes Schindelin (12):
      git-add: introduce --edit (to edit the diff vs. the index)
      t3702: fix reliance on SHELL_PATH being '/bin/sh'
      MinGW: the path separator to split GITPERLLIB is ';' on Win32
      MinGW: use POSIX signature of waitpid()
      MinGW: Add a simple getpass()
      MinGW: Fix compiler warning in merge-recursive
      MinGW: GCC >= 4 does not need SNPRINTF_SIZE_CORR anymore
      Quiet make: do not leave Windows behind
      Work around a regression in Windows 7, causing erase_in_line() to crash sometimes
      test-chmtime: work around Windows limitation
      MinGW: fix warning about implicit declaration of _getch()
      Fix warnings in nedmalloc when compiling with GCC 4.4.0

Johannes Sixt (10):
      gitk: Use --textconv to generate diff text
      Simplify some instances of run_command() by using run_command_v_opt().
      Simplify some 'fprintf(stderr); return -1;' by using 'return error()'
      Fix typo in nedmalloc warning fix
      compat/ has subdirectories: do not omit them in 'make clean'
      daemon: send stderr of service programs to the syslog
      upload-pack: squelch progress indicator if client cannot see it
      receive-pack: do not send error details to the client
      git-mv: fix directory separator treatment on Windows
      MinGW: truncate exit()'s argument to lowest 8 bits

Josh Micich (3):
      mktree --missing: updated usage message and man page
      mktree --batch: build more than one tree object
      mktree: validate entry type in input

Junio C Hamano (22):
      Start 1.6.4 development
      build-in git-mktree
      mktree: use parse-options
      builtin-mktree.c: use a helper function to handle one line of input
      mktree: do not barf on a submodule commit
      t1010: add mktree test
      mktree --missing: allow missing objects
      t3900: ISO-2022-JP has more than one popular variants
      write-tree --ignore-cache-tree
      Teach Solaris that _XOPEN_SOURCE=600 really menas XPG6
      OpenSolaris 200811 (SunOS 5.11) does not want OLD_ICONV
      cache-tree.c::cache_tree_find(): simplify internal API
      t4007: modernize the style
      Optimize "diff-index --cached" using cache-tree
      Avoid "diff-index --cached" optimization under --find-copies-harder
      Update draft release notes to 1.6.4
      completion: fix PS1 display during an AM on detached HEAD
      Documentation/git.txt: update links to release notes
      Makefile: introduce SANE_TOOL_PATH for prepending required elements to PATH
      Makefile: test-parse-options depends on parse-options.h
      Makefile: insert SANE_TOOL_PATH to PATH before /bin or /usr/bin
      die_errno(): double % in strerror() output just in case

Kjetil Barvik (1):
      symlinks.c: small style cleanup

Larry D'Anna (1):
      add --porcelain option to git-push

Linus Torvalds (3):
      Clean up and simplify rev_compare_tree()
      Fix various sparse warnings in the git source code
      git log: add '--merges' flag to match '--no-merges'

Marc Branchaud (3):
      git svn: Support multiple branch and tag paths in the svn repository.
      git svn: cleanup t9138-multiple-branches
      git svn: Doc update for multiple branch and tag paths

Marius Storm-Olsen (2):
      MinGW readdir reimplementation to support d_type
      Add custom memory allocator to MinGW and MacOS builds

Mark Lodato (3):
      git-svn: add --authors-prog option
      http.c: prompt for SSL client certificate password
      http.c: add http.sslCertPasswordProtected option

Markus Heidelberg (10):
      show-branch: color the commit status signs
      bash completion: show-branch color support
      diff: do not color --stat output like patch context
      gitk: Allow diff view without context lines
      add a test for git-send-email for non-threaded mails
      send-email: fix non-threaded mails
      doc/send-email: clarify the behavior of --in-reply-to with --no-thread
      add a test for git-send-email for threaded mails without chain-reply-to
      send-email: fix threaded mails without chain-reply-to
      send-email: fix a typo in a comment

Martin Renold (1):
      Remove filename from conflict markers

Michael J Gruber (9):
      Documentation: clarify / requirement in 'git check-ref-format'
      Test tracking of non-commit upstreams
      Fix behavior with non-commit upstream references
      Allow push and fetch urls to be different
      t5516: Check pushurl config setting
      technical/api-remote: Describe new struct remote member pushurl
      git-repack.txt: Clarify implications of -a for dumb protocols
      builtin-remote: Show push urls as well
      builtin-remote: Make "remote -v" display push urls

Michael S. Tsirkin (1):
      Add --reference option to git submodule.

Michael Witten (6):
      Docs: send-email: Put options back into alphabetical order
      Docs: send-email: Refer to CONFIGURATION section for sendemail.multiedit
      Docs: send-email: --smtp-server-port can take symbolic ports
      send-email: Handle "GIT:" rather than "GIT: " during --compose
      send-email: 'References:' should only reference what is sent
      send-email: Remove superfluous `my $editor = ...'

Michal Marek (1):
      apply: handle filenames with double slashes better

Michele Ballabio (1):
      gitk: Add another string to translation

Mike Hommey (7):
      Don't expect verify_pack() callers to set pack_size
      transport.c::get_refs_via_curl(): do not leak refs_url
      http.c: new functions for the http API
      transport.c::get_refs_via_curl(): use the new http API
      http.c::http_fetch_ref(): use the new http API
      http-push.c::remote_exists(): use the new http API
      http-push.c::fetch_symref(): use the new http API

Nguyễn Thái Ngọc Duy (3):
      doc/git-rebase.txt: remove mention of multiple strategies
      Terminate argv with NULL before calling setup_revisions()
      t/t3400-rebase.sh: add more tests to help migrating git-rebase.sh to C

Nick Edelen (1):
      diff-tree -r -t: include added/removed directories in the output

Nick Stokoe (3):
      git-cvsexportcommit can't commit files which have been removed from CVS
      Remove archaic use of regex capture \1 in favour of $1
      Avoid generating a warning if $fullname{$file} is undefined

Paolo Bonzini (1):
      Test cccmd in t9001-send-email.sh and fix some bugs

Pat Thoyts (2):
      gitk: Handle msysGit version during version comparisons
      git: browsing paths with spaces when using the start command

Paul Mackerras (1):
      gitk: Check git version before using --textconv flag

Peter Harris (1):
      MinGW: Scan for \r in addition to \n when reading shbang lines

Peter Hutterer (1):
      git-submodule: add support for --rebase.

Pierre Habouzit (1):
      parse-options: add parse_options_check to validate option specs.

Ralf Wildenhues (1):
      configure: test whether -lresolv is needed

René Scharfe (13):
      parseopt: add OPT_NEGBIT
      parseopt: add OPT_NUMBER_CALLBACK
      parseopt: add PARSE_OPT_NODASH
      grep: remove global variable builtin_grep
      grep: use parseopt
      grep: make callback functions static
      userdiff: add xdiff_clear_find_func()
      grep: move context hunk mark handling into show_line()
      grep: print context hunk marks between files
      grep: handle pre context lines on demand
      grep: add option -p/--show-function
      grep -p: support user defined regular expressions
      grep: simplify -p output

Robin Rosenberg (1):
      Disallow '\' in ref names

SZEDER Gábor (3):
      bash: remove always true if statement from __git_ps1()
      Documentation: mention 'git stash pop --index' option explicitly
      bash: add support for 'git stash pop --index' option

Santi Béjar (3):
      parse-remote: function to get the tracking branch to be merge
      parse-remote: support default reflist in get_remote_merge_branch
      parse-remote: remove unused functions

Sitaram Chamarty (1):
      allow -t abbreviation for --track in git branch

Steffen Prohaska (1):
      MinGW: Teach Makefile to detect msysgit and apply specific settings

Stephen Boyd (22):
      bash completion: complete variable names for "git config" with options
      format-patch: migrate to parse-options API
      parse-options: add PARSE_OPT_LITERAL_ARGHELP for complicated argh's
      show-branch: migrate to parse-options API
      parse-opts: prepare for OPT_FILENAME
      parse-opts: add OPT_FILENAME and transition builtins
      t5500: Modernize test style
      t9120: don't expect failure with SVN_HTTPD_PORT unset
      config.txt: document add.ignore-errors
      git-show-branch.txt: document --date-order option
      parse-options: make OPT_INTEGER's argh explicit
      parse-options: simplify usage argh handling
      show-branch: don't use LASTARG_DEFAULT with OPTARG
      t4150: test applying with a newline in subject
      am: suppress apply errors when using 3-way
      git-sh-setup: introduce say() for quiet options
      submodule, repack: migrate to git-sh-setup's say()
      am, rebase: teach quiet option
      stash: teach quiet option
      show-ref: migrate to parse-options
      completion: add missing config variables
      completion: __git_config_get_set_variables() handle values with spaces

Tay Ray Chuan (15):
      t5540-http-push: test fetching of loose objects
      t5540-http-push: test fetching of packed objects
      http-push: send out fetch requests on queue
      http-push: fix missing "#ifdef USE_CURL_MULTI" around "is_running_queue"
      t5550-http-fetch: test fetching of packed objects
      http-push, http-walker: style fixes
      http-walker: verify remote packs
      http*: copy string returned by sha1_to_hex
      http-push: do not SEGV after fetching a bad pack idx file
      http*: move common variables and macros to http.[ch]
      http: create function end_url_with_slash
      http*: add http_get_info_packs
      http: use new http API in fetch_index()
      http*: add helper methods for fetching packs
      http*: add helper methods for fetching objects (loose)

Thomas Rast (5):
      Documentation: teach stash/pop workflow instead of stash/apply
      git-svn: let 'dcommit $rev' work on $rev instead of HEAD
      Introduce die_errno() that appends strerror(errno) to die()
      Convert existing die(..., strerror(errno)) to die_errno()
      Use die_errno() instead of die() when checking syscalls

Todd Zullinger (1):
      completion: Add --full-diff to log options

Trent Piepho (1):
      send-email: Add config option for sender address

Ulrich Dangel (1):
      git-svn: Canonicalize svn urls to prevent libsvn assertion

Uwe Kleine-König (2):
      more tests for git rev-parse --parse-opt
      parse-opt: make PARSE_OPT_STOP_AT_NON_OPTION available to git rev-parse

Yann Dirson (4):
      git-svn.txt: stop using dash-form of commands.
      git-svn.txt: make formatting more consistent.
      git-svn.txt: fix fetch flags incorrectly documented as init flags.
      git-svn.txt: fix description of fetch flags accepted by clone.


Version v1.6.3.4; changes since v1.6.3.3:
-----------------------------------------

Brandon Casey (2):
      refs.c: release file descriptor on error return
      sha1_name.c: avoid unnecessary strbuf_release

Chris Frey (1):
      git-remote: fix missing .uploadpack usage for show command

Clemens Buchacher (1):
      fetch: do not create ref from empty name

Giuseppe Bilotta (1):
      gitweb/README: fix AliasMatch in example

Johannes Sixt (2):
      t3700-add: add a POSIXPERM prerequisite to a new test
      Makefile: git.o depends on library headers

Junio C Hamano (9):
      request-pull: really disable pager
      checkout -f: deal with a D/F conflict entry correctly
      combine-diff.c: fix performance problem when folding common deleted lines
      diff --cc: a lost line at the beginning of the file is shown incorrectly
      do_one_ref(): null_sha1 check is not about broken ref
      SunOS grep does not understand -C<n> nor -e
      Fix severe breakage in "git-apply --whitespace=fix"
      t8005: Nobody writes Russian in shift_jis
      GIT 1.6.3.4

Linus Torvalds (3):
      git branch: fix performance problem
      git branch: avoid unnecessary object lookups
      git branch: clean up detached branch handling

Matthias Andree (1):
      Fix export_marks() error handling.

Michal Marek (1):
      request-pull: really really disable pager

Miklos Vajna (1):
      git-submodule documentation: fix foreach example

René Scharfe (1):
      attr: plug minor memory leak

Roel Kluin (1):
      fread does not return negative on error

SZEDER Gábor (1):
      Trailing whitespace and no newline fix

Sitaram Chamarty (1):
      Documentation: update description of shell aliases

Stephen Boyd (2):
      add: allow configurations to be overriden by command line
      config.txt: document add.ignore-errors

Thadeu Lima de Souza Cascardo (1):
      Makes some cleanup/review in gittutorial

Thomas Rast (2):
      Test git archive --remote
      Test grep --and/--or/--not

Tom Grennan (1):
      request-pull: allow ls-remote to notice remote.$nickname.uploadpack


Version v1.6.3.3; changes since v1.6.3.2:
-----------------------------------------

Anders Kaseorg (1):
      for-each-ref: Do not lookup objects when they will not be used

Clemens Buchacher (1):
      refuse to merge during a merge

Jim Meyering (1):
      use xstrdup, not strdup in ll-merge.c

Johannes Schindelin (1):
      import-tars: support symlinks

Johannes Sixt (2):
      fetch-pack: close output channel after sideband demultiplexer terminates
      diff.c: plug a memory leak in an error path

Junio C Hamano (3):
      t3505: fix abuse of test_expect_code
      attribute: whitespace set to true detects all errors known to git
      GIT 1.6.3.3

Linus Torvalds (1):
      Fix big left-shifts of unsigned char

Marco Nelissen (1):
      fix handling of iconv configuration options

Mark Lodato (1):
      http.c: fix compiling with libcurl 7.9.2

Michael J Gruber (1):
      builtin-remote: Make "remote show" display all urls

Miklos Vajna (1):
      git-svn documentation: fix typo in 'rebase vs. pull/merge' section

Nanako Shiraishi (1):
      .gitattributes: CR at the end of the line is an error

Paolo Bonzini (2):
      Documentation: git-send-mail can take rev-list arg to drive format-patch
      avoid exponential regex match for java and objc function names

René Scharfe (1):
      upload-archive: fix infinite loop on Cygwin

Shawn O. Pearce (1):
      daemon: Strictly parse the "extra arg" part of the command

Stephen Boyd (3):
      git-rerere.txt: grammatical fixups and cleanups
      pull, rebase: simplify to use die()
      git-show-ref.txt: remove word and make consistent

Tay Ray Chuan (1):
      http*: cleanup slot->local after fclose

Thomas Rast (1):
      Documentation: refer to gitworkflows(7) from tutorial and git(1)

Uwe Kleine-König (1):
      rebase--interactive: remote stray closing parenthesis


Version v1.6.3.2; changes since v1.6.3.1:
-----------------------------------------

Alex Riesen (7):
      Introduce an unlink(2) wrapper which gives warning if unlink failed
      replace direct calls to unlink(2) with unlink_or_warn
      print unlink(2) errno in copy_or_link_directory
      Clarify kind of conflict in merge-one-file helper
      ls-tree manpage: use "unless" instead of "when ... is not"
      ls-tree manpage: output of ls-tree is compatible with update-index
      http-push.c::remove_locks(): fix use after free

Charles Bailey (2):
      t6023: merge-file fails to output anything for a degenerate merge
      Change xdl_merge to generate output even for null merges

Clemens Buchacher (1):
      fix segfault showing an empty remote

Dan McGee (1):
      Fix type-punning issues

Daniel Cordero (1):
      builtin-checkout: Don't tell user that HEAD has moved before it has

Dave Olszewski (1):
      merge-recursive: never leave index unmerged while recursing

Giuseppe Bilotta (1):
      completion: use git rev-parse to detect bare repos

Jeff King (6):
      fix GIT_TRACE segfault with shell-quoted aliases
      add: don't complain when adding empty project root
      for-each-ref: fix segfault in copy_email
      lock_ref: inform callers of unavailable ref
      fetch: report ref storage DF errors more accurately
      fix cat-file usage message and documentation

Jim Meyering (2):
      format-patch let -k override a config-specified format.numbered
      pre-commit.sample: don't print incidental SHA1

Johannes Schindelin (2):
      Add NO_CROSS_DIRECTORY_HARDLINKS support to the Makefile
      Cope better with a _lot_ of packs

Johannes Sixt (1):
      t3701: ensure correctly set up repository after skipped tests

Junio C Hamano (8):
      Revert "git-add--interactive: remove hunk coalescing"
      completion: fix PS1 display during a merge on detached HEAD
      completion: simplify "current branch" in __git_ps1()
      completion: enhance "current branch" display
      Prepare for 1.6.3.2
      Update draft release notes for 1.6.3.2
      blame: correctly handle a path that used to be a directory
      GIT 1.6.3.2

Linus Torvalds (3):
      Avoid unnecessary 'lstat()' calls in 'get_stat_data()'
      Teach 'git checkout' to preload the index contents
      dir.c: clean up handling of 'path' parameter in read_directory_recursive()

Matt Graham (1):
      Splitting a hunk that adds a line at the top fails in "add -p"

Michael J Gruber (1):
      merge-options.txt: Clarify merge --squash

Nanako Shiraishi (1):
      test: checkout shouldn't say that HEAD has moved if it didn't

Nicolas Pitre (1):
      allow OFS_DELTA objects during a push

René Scharfe (4):
      grep: fix word-regexp colouring
      grep: fix word-regexp at the beginning of lines
      grep: fix colouring of matches with zero length
      grep: fix empty word-regexp matches

Stephen Boyd (6):
      api-parse-options.txt: use 'func' instead of 'funct'
      tests: Add tests for missing format-patch long options
      completion: add missing options to show-branch and show
      show-branch: Fix die message in parse_reflog_param()
      commit: -F overrides -t
      apply, fmt-merge-msg: use relative filenames

Thomas Rast (2):
      Documentation: teach stash/pop workflow instead of stash/apply
      add -i: do not dump patch during application

Tony Kemp (1):
      Turn on USE_ST_TIMESPEC for OpenBSD


Version v1.6.3.1; changes since v1.6.3:
---------------------------------------

Alex Riesen (1):
      Clarify kind of conflict in merge-one-file helper

Alexander Potashev (1):
      Documentation: cloning to empty directory is allowed

Felipe Contreras (1):
      git config: clarify --add and --get-color

Junio C Hamano (4):
      Start 1.6.3.1 maintenance series.
      archive-tar.c: squelch a type mismatch warning
      Revert "checkout branch: prime cache-tree fully"
      GIT 1.6.3.1


Version v1.6.3; changes since v1.6.3-rc4:
-----------------------------------------

Alex Riesen (1):
      improve error message in config.c

Allan Caffee (1):
      dir.c: Fix two minor grammatical errors in comments

Bernd Ahlers (1):
      Work around BSD whose typeof(tv.tv_sec) != time_t

Brandon Casey (7):
      t4018-diff-funcname: add cpp xfuncname pattern to syntax test
      t8005: use egrep when extended regular expressions are required
      t4118: add missing '&&'
      t4118: avoid sed invocation on file without terminating newline
      t/annotate-tests.sh: avoid passing a non-newline terminated file to sed
      t4200: remove two unnecessary lines
      t4200: convert sed expression which operates on non-text file to perl

Junio C Hamano (4):
      GIT 1.6.1.4
      GIT 1.6.2.5
      git-clean doc: the command only affects paths under $(cwd)
      GIT 1.6.3

Nguyễn Thái Ngọc Duy (1):
      t4029: use sh instead of bash

Nicolas Pitre (1):
      honor repack.usedeltabaseoffset when fetching packs

Robin H. Johnson (1):
      git-svn: fix a sloppy Getopt::Long usage

Stephen Boyd (8):
      completion: add missing configuration variables to _git_config()
      completion: add {gui,diff,merge}tool, man, and pager config variables
      completion: complete values for help.format
      completion: complete values for log.date
      completion: complete values for send-email
      git-am.txt: add an 'a', say what 'it' is, simplify a sentence
      git-am.txt: Use date or value instead of time or timestamp
      git-am.txt: reword extra headers in message body


Version v1.6.3-rc4; changes since v1.6.3-rc3:
---------------------------------------------

Alex Riesen (3):
      git-gui: Update Russian translation
      improve error message in config.c
      gitk: Add Russian translation

Alexander Gavrilov (3):
      git-gui: Fix post-commit status with subject in non-locale encoding
      git-gui: Avoid an infinite rescan loop in handle_empty_diff.
      git-gui: Support more git version notations.

Allan Caffee (2):
      builtin-merge: fix a typo in an error message
      Documentation: fix a grammatical error in api-builtin.txt

Benjamin Kramer (1):
      daemon.c: fix segfault on OS X

Christian Stimming (1):
      gitk: Mark forgotten string for translation

Daniel A. Steffen (2):
      gitk: Fixes for Mac OS X TkAqua
      git-gui: Fixes for Mac OS X TkAqua

Eric Blake (2):
      Makefile: installing git in cygwin 1.7.0
      doc: consistently use ASCIIDOC_EXTRA

Felipe Contreras (2):
      git config: error when editing a repo config and not being in one
      Fix a bunch of pointer declarations (codestyle)

Ferry Huberts (1):
      git-gui: Ensure consistent usage of mergetool.keepBackup

Giuseppe Bilotta (1):
      gitk: Provide a window icon if possible

Jeff King (1):
      Makefile: fix NO_PERL bug with gitweb

Jens Lehmann (4):
      git-gui: Fix merge conflict display error when filename contains spaces
      git-gui: When calling post-commit hook wrong variable was cleared.
      git-gui: run post-checkout hook on checkout
      git-gui: run post-checkout hook after clone

Joerg Bornemann (1):
      git-gui: fix use of undeclared variable diff_empty_count

Johannes Schindelin (2):
      t5701: do not get stuck in empty-push/
      Rename core.unreliableHardlinks to core.createObject

Johannes Sixt (1):
      prune-packed: advanced progress even for non-existing fan-out directories

Junio C Hamano (3):
      diff -c -p: do not die on submodules
      merge-recursive: do not die on a conflicting submodule
      GIT 1.6.3-rc4

Linus Torvalds (1):
      grep: fix segfault when "git grep '('" is given

Mark Drago (1):
      Add semicolon to curly brace group in main Makefile

Markus Heidelberg (5):
      git-gui: don't hide the Browse button when resizing the repo chooser
      git-gui: fix deleting from the context menu with empty selection
      git-gui: use `git --html-path` to get the location of installed HTML docs
      git-gui (Win): make "Explore Working Copy" more robust
      git-gui (Win): make starting via "Git GUI Here" on .git/ possible

Michele Ballabio (2):
      gitk: Mark some more strings for translation
      gitk: Map KP_Divide to focus the search box

Pat Thoyts (4):
      gitk: Handle blobs containing a DOS end-of-file marker
      gitk: Remember and restore the window state with the geometry
      gitk: Handle external diff tool with spaces in the path
      gitk: Avoid crash if closed while reading references

Patrick Welche (1):
      NetBSD compilation fix

Paul Mackerras (4):
      gitk: Add a way to mark a commit, plus a "find descendant" command
      gitk: Add a command to compare two strings of commits
      gitk: Make .gitk a hidden file under windows
      gitk: Fix compare-commits function when we have local changes

Phil Lawrence (1):
      Append ampersand to "Target" of lnk files created by do_cygwin_shortcut

René Scharfe (1):
      ctype.c: fix typo in comment

Sam Hocevar (2):
      git-gui: various French translation fixes
      git-gui: minor spelling fix and string factorisation.

Sam Vilain (1):
      SubmittingPatches: itemize and reflect upon well written changes

Stephen Boyd (1):
      gitk: Provide a 32x32 window icon based on the git logo

Uwe Kleine-König (1):
      parseopt: fix documentation for --keep-dashdash


Version v1.6.3-rc3; changes since v1.6.3-rc2:
---------------------------------------------

Benjamin Kramer (1):
      connect: replace inet_ntop with getnameinfo

Brandon Casey (2):
      t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-'
      t7700-repack: repack -a now works properly, expect success from test

Johannes Schindelin (1):
      Add an option not to use link(src, dest) && unlink(src) when that is unreliable

Linus Torvalds (1):
      t4202: fix typo

Nicolas Pitre (1):
      progress bar: round to the nearest instead of truncating down

Sitaram Chamarty (1):
      Remove obsolete bug warning in man git-update-server-info

Wesley J. Landaker (2):
      Documentation: git-clean: fix minor grammatical errors
      Documentation: git-clean: make description more readable


Version v1.6.3-rc2; changes since v1.6.3-rc1:
---------------------------------------------

Alex Riesen (2):
      Wait for git diff to finish in git difftool
      Explain seemingly pointless use of system in difftool

Allan Caffee (3):
      t4202-log: extend test coverage of graphing
      graph API: fix extra space during pre_commit_line state
      graph API: fix a bug in the rendering of octopus merges

Ben Jackson (1):
      Work around ash "alternate value" expansion bug

Bill Pemberton (1):
      Add parsing of elm aliases to git-send-email

Dan Loewenherz (1):
      Convert to use quiet option when available

Erik Faye-Lund (4):
      test-suite: adding a test for fast-export with tag variants
      builtin-fast-export.c: turn error into warning
      builtin-fast-export.c: fix crash on tagged trees
      builtin-fast-export.c: handle nested tags

Frank Lichtenheld (1):
      gitcvs-migration: Link to git-cvsimport documentation

Holger Weiß (1):
      gitweb: Fix snapshots requested via PATH_INFO

Jeff King (2):
      add-interactive: refactor mode hunk handling
      t7800: respect NO_PERL

Johan Herland (1):
      Update docs on behaviour of 'core.sharedRepository' and 'git init --shared'

Johannes Schindelin (1):
      Fix off-by-one in read_tree_recursive

Johannes Sixt (4):
      Windows: Work around intermittent failures in mingw_rename
      Windows: Skip fstat/lstat optimization in write_entry()
      builtin-help: silently tolerate unknown keys
      remote.c: do not trigger remote.<name>.<var> codepath for two-level names

Junio C Hamano (9):
      Speed up reflog pruning of unreachable commits
      GIT 1.6.2.4
      read-tree A B: do not corrupt cache-tree
      Move prime_cache_tree() to cache-tree.c
      read-tree -m A B: prime cache-tree from the switched-to tree
      checkout branch: prime cache-tree fully
      Revert "stat_tracking_info(): only count real commits"
      Makefile: ignore perl/ subdirectory under NO_PERL
      GIT 1.6.3-rc2

Linus Torvalds (1):
      Clean up reflog unreachability pruning decision

Markus Heidelberg (1):
      grep: don't support "grep.color"-like config options

Matthieu Moy (3):
      git add -p: new "quit" command at the prompt.
      Update git-add.txt according to the new possibilities of 'git add -p'.
      clone: add test for push on an empty clone.

Michael J Gruber (2):
      test-lib.sh: Help test_create_repo() find the templates dir
      Fix more typos/spelling in comments

Michał Kiedrowicz (3):
      tests: test applying criss-cross rename patch
      builtin-apply: keep information about files to be deleted
      tests: make test-apply-criss-cross-rename more robust

Mike Ralphson (3):
      builtin-remote: fix typo in option description
      Documentation: fix typos / spelling mistakes
      Fix typos / spelling in comments

Nguyễn Thái Ngọc Duy (1):
      Makefile: remove {fetch,send}-pack from PROGRAMS as they are builtins

Stephen Boyd (8):
      test-genrandom: Add newline to usage string
      config.txt: add missing format.{subjectprefix,cc,attach} variables
      Documentation: use lowercase for shallow and deep threading
      git-show-branch.txt: cleanup example description
      git-format-patch.txt: general rewordings and cleanups
      config.txt: add missing 'the's and make words plural
      config.txt: clarify sentences in the configuration and syntax sections
      config.txt: Make configuration paragraph more consistent

Wesley J. Landaker (2):
      Documentation: git-svn: fix spurious bolding that mangles the output
      Documentation: git-svn: fix a grammatical error without awkwardness

Wincent Colaiuta (1):
      git add -p: add missing "q" to patch prompt


Version v1.6.3-rc1; changes since v1.6.3-rc0:
---------------------------------------------

Allan Caffee (1):
      graph API: Added logic for colored edges

Bert Wesarg (3):
      shorten_unambiguous_ref(): add strict mode
      for-each-ref: utilize core.warnAmbiguousRefs for :short-format
      rev-parse: --abbrev-ref option to shorten ref name

David Aguilar (11):
      difftool: remove merge options for opendiff, tkdiff, kdiff3 and xxdiff
      difftool: remove the backup file feature
      difftool: use perl built-ins when testing for msys
      difftool: add a -y shortcut for --no-prompt
      difftool: move 'git-difftool' out of contrib
      difftool: add various git-difftool tests
      difftool: add support for a difftool.prompt config variable
      bash completion: add git-difftool
      mergetool: use $( ... ) instead of `backticks`
      difftool/mergetool: refactor commands to use git-mergetool--lib
      mergetool--lib: simplify API usage by removing more global variables

Erik Broes (1):
      git-shell: Add 'git-upload-archive' to allowed commands.

Ferry Huberts (1):
      Fix misspelled mergetool.keepBackup

Frank Lichtenheld (1):
      init: Do not segfault on big GIT_TEMPLATE_DIR environment variable

Jeff King (7):
      doc: clarify --no-track option
      doc: refer to tracking configuration as "upstream"
      doc/checkout: refer to git-branch(1) as appropriate
      doc/checkout: split checkout and branch creation in synopsis
      docs/checkout: clarify what "non-branch" means
      add-interactive: refactor mode hunk handling
      doc/gitattributes: clarify location of config text

Johannes Sixt (1):
      t1301-shared-repo: fix forced modes test

Junio C Hamano (4):
      gitignore git-bisect--helper
      unpack-trees: do not muck with attributes when we are not checking out
      Describe fixes since 1.6.2.3
      Update draft release notes to 1.6.3

Linus Torvalds (3):
      Allow users to un-configure rename detection
      process_{tree,blob}: show objects without buffering
      show_object(): push path_name() call further down

Markus Heidelberg (5):
      doc/merge-config: list ecmerge as a built-in merge tool
      git-mergetool/difftool: make (g)vimdiff workable under Windows
      git-mergetool: add new merge tool TortoiseMerge
      doc/git-daemon: add missing arguments to options
      doc/git-daemon: add missing arguments to max-connections option

Matthieu Moy (2):
      git add -p: new "quit" command at the prompt.
      Update git-add.txt according to the new possibilities of 'git add -p'.

Michael J Gruber (1):
      remote.c: use shorten_unambiguous_ref

Michał Kiedrowicz (3):
      tests: test applying criss-cross rename patch
      builtin-apply: keep information about files to be deleted
      Documentation: boolean value may be given by on/off

Nanako Shiraishi (1):
      git-am: teach git-am to apply a patch to an unborn branch

Nguyễn Thái Ngọc Duy (3):
      get_local_heads(): do not return random pointer if there is no head
      attr: add GIT_ATTR_INDEX "direction"
      archive: do not read .gitattributes in working directory

Paul Bolle (1):
      imap-send: use correct configuration variable in documentation

Pierre Habouzit (1):
      hook/update: example of how to prevent branch creation

René Scharfe (2):
      archive tests: do not use .gitattributes in working directory
      archive test: attributes

Sebastian Pipping (1):
      difftool/mergetool: add diffuse as merge and diff tool

Thomas Jarosch (1):
      Fix buffer overflow in config parser

Ulrich Windl (1):
      git-apply: fix option description


Version v1.6.3-rc0; changes since v1.6.2.5:
-------------------------------------------

Alex Riesen (4):
      disable post-checkout test on Cygwin
      Produce a nicer output in case of sha1_object_info failures in ls-tree -l
      Microoptimize strbuf_cmp
      Improve error message about fetch into current branch

Ali Gholami Rudi (2):
      builtin-clone.c: make junk_pid static
      builtin-clone.c: no need to strdup for setenv

Amos King (2):
      Do not name "repo" struct "remote" in push_http.c
      http-push.c: use a faux remote to pass to http_init

Arjen Laarhoven (2):
      Clean up use of ANSI color sequences
      builtin-branch.c: Rename branch category color names

Arto Jonsson (1):
      bash completion: add options for 'git fsck'

Ben Jackson (2):
      git-svn: Add per-svn-remote ignore-paths config
      git-svn: Save init/clone --ignore-paths in config

Ben Walton (8):
      configure: ensure settings from user are also usable in the script
      configure: reorganize flow of argument checks
      configure: add macros to stash FLAG variables
      configure: wrap some library tests with GIT_STASH_FLAGS
      configure: asciidoc version test cleanup
      configure: make iconv tests aware of user arguments
      configure: rework pthread handling to allow for user defined flags
      documentation: Makefile accounts for SHELL_PATH setting

Benjamin Kramer (4):
      Remove unused function scope local variables
      Move local variables to narrower scopes
      Remove unused assignments
      Fix various dead stores found by the clang static analyzer

Björn Steinbrink (1):
      Mailmap: Allow empty email addresses to be mapped

Boris Byk (1):
      git-svn: speed up blame command

Brandon Casey (1):
      builtin-send-pack.c: avoid empty structure initialization

Brian Gernhardt (2):
      Create USE_ST_TIMESPEC and turn it on for Darwin
      Makefile: Set compiler switch for USE_NSEC

Carlos Manuel Duclos Vergara (1):
      git-archive: add --output=<file> to send output to a file

Carlos Rica (1):
      config: test for --replace-all with one argument and fix documentation.

Chris Johnsen (13):
      git-push.txt: describe how to default to pushing only current branch
      Documentation: remove extra quoting/emphasis around literal texts
      Documentation/Makefile: make most operations "quiet"
      Documentation/Makefile: break up texi pipeline
      Documentation: move callouts.xsl to manpage-{base,normal}.xsl
      Documentation: use parametrized manpage-base.xsl with manpage-{1.72,normal}.xsl
      Documentation: rename docbook-xsl-172 attribute to git-asciidoc-no-roff
      Documentation: move quieting params into manpage-base.xsl
      Documentation: move "spurious .sp" code into manpage-base.xsl
      Documentation: asciidoc.conf: always use <literallayout> for [blocktext]
      Documentation: asciidoc.conf: fix verse block with block titles
      Documentation: option to render literal text as bold for manpages
      Documentation: use "spurious .sp" XSLT if DOCBOOK_SUPPRESS_SP is set

Christian Couder (24):
      rev-list: estimate number of bisection step left
      log-tree: fix patch filename computation in "git format-patch"
      quote: implement "sq_dequote_many" to unwrap many args in one string
      quote: add "sq_dequote_to_argv" to put unwrapped args in an argv array
      refs: add "for_each_ref_in" function to refactor "for_each_*_ref" functions
      rev-list: make "bisect_list" variable local to "cmd_rev_list"
      rev-list: move bisect related code into its own file
      rev-list: move code to show bisect vars into its own function
      rev-list: make "show_bisect_vars" non static
      rev-list: pass "revs" to "show_bisect_vars"
      sha1-lookup: add new "sha1_pos" function to efficiently lookup sha1
      patch-ids: use the new generic "sha1_pos" function to lookup sha1
      bisect: improve error message when branch checkout fails
      rev-list: call new "filter_skip" function
      bisect: use the new generic "sha1_pos" function to lookup sha1
      bisect--helper: implement "git bisect--helper"
      bisect: implement "read_bisect_paths" to read paths in "$GIT_DIR/BISECT_NAMES"
      bisect: use "bisect--helper" and remove "filter_skipped" function
      t6030: test bisecting with paths
      rev-list: pass "int flags" as last argument of "show_bisect_vars"
      bisect--helper: string output variables together with "&&"
      list-objects: add "void *data" parameter to show functions
      rev-list: remove last static vars used in "show_commit"
      rev-list: add "int bisect_show_flags" in "struct rev_list_info"

Dan McGee (1):
      Update delta compression message to be less misleading

Daniel Barkalow (8):
      Make clone parse the default refspec with the normal code
      Use a single function to match names against patterns
      Use the matching function to generate the match results
      Keep '*' in pattern refspecs
      Support '*' in the middle of a refspec
      Use a common function to get the pretty name of refs
      Move push matching and reporting logic into transport.c
      Include log_config module in apache.conf

David Aguilar (1):
      contrib/difftool: use a separate config namespace for difftool commands

Deskin Miller (1):
      add -i: revisit hunk on editor failure

Elijah Newren (3):
      git-filter-branch: avoid collisions with variables in eval'ed commands
      Correct missing SP characters in grammar comment at top of fast-import.c
      fast-export: Avoid dropping files from commits

Emil Sit (1):
      config.txt: Describe special 'none' handling in core.gitProxy.

Eric Wong (1):
      git-svn: fix ls-tree usage with dash-prefixed paths

Erik Faye-Lund (5):
      connect.c: remove a few globals by using git_config callback data
      test-suite: adding a test for fast-export with tag variants
      builtin-fast-export.c: turn error into warning
      builtin-fast-export.c: fix crash on tagged trees
      builtin-fast-export.c: handle nested tags

Eugene Letuchy (1):
      Make git blame's date output format configurable, like git log

Felipe Contreras (14):
      config: Add new option to open an editor.
      git config: codestyle cleanups
      git_config(): not having a per-repo config file is not an error
      git config: trivial rename in preparation for parseopt
      git config: reorganize get_color*
      git config: reorganize to use parseopt
      git config: don't allow multiple config file locations
      git config: don't allow multiple variable types
      git config: don't allow extra arguments for -e or -l.
      git config: don't allow --get-color* and variable type
      Add tests for git log --pretty, --format and --oneline.
      user-manual: remove some git-foo usage
      docbook: change css style
      user-manual: the name of the hash function is SHA-1, not sha1

Finn Arne Gangstad (7):
      New config push.default to decide default behavior for push
      Display warning for default git push with no push.default config
      builtin-remote.c: Split out prune_remote as a separate function.
      git remote update: New option --prune
      git remote update: Report error for non-existing groups
      remote: New function remote_is_configured()
      git remote update: Fallback to remote if group does not exist

Giuseppe Bilotta (1):
      import-tars: separate author from committer

Heiko Voigt (3):
      Add warning about known issues to documentation of cvsimport
      Cleanup warning about known issues in cvsimport documentation
      Add configuration variable for sign-off to format-patch

Janos Laube (1):
      MinGW: implement mmap

Jason Merrill (1):
      git-svn: add fetch --parent option

Jay Soffian (30):
      builtin-branch: improve output when displaying remote branches
      move duplicated get_local_heads() to remote.c
      move duplicated ref_newer() to remote.c
      move locate_head() to remote.c
      remote: simplify guess_remote_head()
      remote: make copy_ref() perform a deep copy
      remote: let guess_remote_head() optionally return all matches
      remote: make match_refs() copy src ref before assigning to peer_ref
      remote: make match_refs() not short-circuit
      string-list: new for_each_string_list() function
      builtin-remote: refactor duplicated cleanup code
      builtin-remote: remove unused code in get_ref_states
      builtin-remote: rename variables and eliminate redundant function call
      builtin-remote: make get_remote_ref_states() always populate states.tracked
      builtin-remote: fix two inconsistencies in the output of "show <remote>"
      builtin-remote: teach show to display remote HEAD
      builtin-remote: add set-head subcommand
      builtin-remote: new show output style
      builtin-remote: new show output style for push refspecs
      send-email: add --confirm option and configuration setting
      bash completion: fix completion issues with fetch, pull, and push
      bash completion: refactor --strategy completion
      bash completion: teach fetch, pull, and push to complete their options
      send-email: refactor and ensure prompting doesn't loop forever
      send-email: add tests for refactored prompting
      send-email: don't attempt to prompt if tty is closed
      send-email: ask_default should apply to all emails, not just the first
      send-email: correct two tests which were going interactive
      send-email: ensure quoted addresses are rfc2047 encoded
      send-email: fix nasty bug in ask() function

Jeff King (26):
      valgrind: ignore ldso and more libz errors
      branch: clean up repeated strlen
      add basic branch display tests
      test scripts: refactor start_httpd helper
      add basic http clone/fetch tests
      refactor find_ref_by_name() to accept const list
      remote: make guess_remote_head() use exact HEAD lookup if it is available
      clone: run post-checkout hook when checking out
      improve missing repository error message
      config: set help text for --bool-or-int
      t3000: use test_cmp instead of diff
      ls-files: fix broken --no-empty-directory
      ls-files: require worktree when --deleted is given
      make oneline reflog dates more consistent with multiline format
      remote: improve sorting of "configure for git push" list
      Makefile: turn on USE_ST_TIMESPEC for FreeBSD
      t0060: fix whitespace in "wc -c" invocation
      tests: remove exit after test_done call
      for-each-ref: refactor get_short_ref function
      for-each-ref: refactor refname handling
      for-each-ref: add "upstream" format field
      make get_short_ref a public function
      branch: show upstream branch when double verbose
      Makefile: allow building without perl
      tests: skip perl tests if NO_PERL is defined
      add tests for remote groups

Jens Lehmann (1):
      githooks documentation: post-checkout hook is also called after clone

Jeremy White (2):
      Enable setting attach as the default in .gitconfig for git-format-patch.
      imap.preformattedHTML to tell Thunderbird to send non-flowed text

Johannes Schindelin (23):
      Add valgrind support in test scripts
      Valgrind support: check for more than just programming errors
      test-lib.sh: optionally output to test-results/$TEST.out, too
      t/Makefile: provide a 'valgrind' target
      Add a script to coalesce the valgrind outputs
      Tests: let --valgrind imply --verbose and --tee
      test-lib: avoid assuming that templates/ are in the GIT_EXEC_PATH
      valgrind: do not require valgrind 3.4.0 or newer
      Avoid segfault with 'git branch' when the HEAD is detached
      Turn the flags in struct dir_struct into a single variable
      git config: trivial cleanup for editor action
      rebase -i: avoid 'git reset' when possible
      MinGW: 64-bit file offsets
      Brown paper bag fix for MinGW 64-bit stat
      Add an (optional, since expensive) test for >2gb clones
      MinGW: fix diff --no-index /dev/null ...
      winansi: support ESC [ K (erase in line)
      test: do not LoadModule log_config_module unconditionally
      test-lib: write test results to test-results/<basename>-<pid>
      gc --aggressive: make it really aggressive
      t7300: fix clean up on Windows
      Guard a few Makefile variables against user environments
      git-svn: always initialize with core.autocrlf=false

Johannes Sixt (30):
      recv_sideband: Bands #2 and #3 always go to stderr
      test-suite: Make test script numbers unique
      t9400, t9401: Do not force hard-linked clone
      test suite: Use 'say' to say something instead of 'test_expect_success'
      Call 'say' outside test_expect_success
      test-lib: Replace uses of $(expr ...) by POSIX shell features.
      test-lib: Simplify test counting.
      test-lib: Introduce test_chmod and use it instead of update-index --chmod
      t2200, t7004: Avoid glob pattern that also matches files
      t5300, t5302, t5303: Do not use /dev/zero
      t5602: Work around path mangling on MSYS
      test-lib: Work around incompatible sort and find on Windows
      test-lib: Work around missing sum on Windows
      Tests on Windows: $(pwd) must return Windows-style paths
      t0050: Check whether git init detected symbolic link support correctly
      test-lib: Infrastructure to test and check for prerequisites
      t3600: Use test prerequisite tags
      Skip tests that fail if the executable bit is not handled by the filesystem
      t5302: Use prerequisite tags to skip 64-bit offset tests
      t9100, t9129: Use prerequisite tags for UTF-8 tests
      Use prerequisite tags to skip tests that depend on symbolic links
      t0060: Fix tests on Windows
      Skip tests that require a filesystem that obeys POSIX permissions
      t3700: Skip a test with backslashes in pathspec
      Use prerequisites to skip tests that need unzip
      t7004: Use prerequisite tags to skip tests that need gpg
      t5503: GIT_DEBUG_SEND_PACK is not supported on MinGW
      MinGW: Quote arguments for subprocesses that contain a single-quote
      t7005-editor: Use $SHELL_PATH in the editor scripts
      t7502-commit: Skip SIGTERM test on Windows

John Tapsell (4):
      Modify description file to say what this file is
      Google has renamed the imap folder
      Improve error message for git-filter-branch
      Documentation - More examples for git bisect

Junio C Hamano (29):
      git-blame: refactor code to emit "porcelain format" output
      blame: show "previous" information in --porcelain/--incremental format
      Make git-clone respect branch.autosetuprebase
      Draft release notes: Carry forward the warning for behaviour changes
      Update draft release notes to 1.6.3
      builtin-remote.c: no "commented out" code, please
      Not all systems use st_[cm]tim field for ns resolution file timestamp
      grep: cast printf %.*s "precision" argument explicitly to int
      http.c: style cleanups
      Improve "git branch --tracking" output
      http_init(): Fix config file parsing
      http authentication via prompts
      Update release notes to 1.6.3
      http.c: CURLOPT_NETRC_OPTIONAL is not available in ancient versions of cURL
      Read attributes from the index that is being checked out
      Update draft release notes to 1.6.3
      http tests: Darwin is not that special
      Rename interpret/substitute nth_last_branch functions
      strbuf_branchname(): a wrapper for branch name shorthands
      check-ref-format --branch: give Porcelain a way to grok branch shorthand
      Fix branch -m @{-1} newname
      strbuf_check_branch_ref(): a helper to check a refname for a branch
      check_ref_format(): tighten refname rules
      Update draft release notes to 1.6.3
      Speed up reflog pruning of unreachable commits
      Update draft release notes to 1.6.3
      sha1-lookup: fix up the assertion message
      Update draft release notes to 1.6.3
      GIT 1.6.3-rc0

Keith Cascio (2):
      Use DIFF_XDL_SET/DIFF_OPT_SET instead of raw bit-masking
      Fix neglect of diff_setup()/diff_setup_done() symmetry.

Kevin Ballard (1):
      builtin-push.c: Fix typo: "anythig" -> "anything"

Kevin McConnell (1):
      Add --staged to bash completion for git diff

Kjetil Barvik (18):
      lstat_cache(): small cleanup and optimisation
      lstat_cache(): generalise longest_match_lstat_cache()
      lstat_cache(): swap func(length, string) into func(string, length)
      unlink_entry(): introduce schedule_dir_for_removal()
      create_directories(): remove some memcpy() and strchr() calls
      write_entry(): cleanup of some duplicated code
      write_entry(): use fstat() instead of lstat() when file is open
      show_patch_diff(): remove a call to fstat()
      lstat_cache(): print a warning if doing ping-pong between cache types
      check_updates(): effective removal of cache entries marked CE_REMOVE
      fix compile error when USE_NSEC is defined
      make USE_NSEC work as expected
      verify_uptodate(): add ce_uptodate(ce) test
      write_index(): update index_state->timestamp after flushing to disk
      stat_tracking_info(): only count real commits
      Record ns-timestamps if possible, but do not use it without USE_NSEC
      checkout bugfix: use stat.mtime instead of stat.ctime in two places
      Revert "lstat_cache(): print a warning if doing ping-pong between cache types"

Kristian Amlie (1):
      Add a test for checking whether gitattributes is honored by checkout.

Linus Torvalds (2):
      Clean up reflog unreachability pruning decision
      Allow users to un-configure rename detection

Marius Storm-Olsen (2):
      Add bare repository indicator for __git_ps1
      Fixup: Add bare repository indicator for __git_ps1

Markus Heidelberg (1):
      add --html-path to get the location of installed HTML docs

Martin Storsjö (1):
      Allow curl to rewind the read buffers

Matthieu Moy (2):
      git-send-email.txt: clarify which options take an argument.
      git-rev-list.txt: make ascii markup uniform with other pages.

Michael Hendricks (1):
      format-patch: add arbitrary email headers

Michael J Gruber (6):
      Typo and language fixes for git-checkout.txt
      test-lib.sh: Test for presence of git-init in the right path.
      test-lib.sh: Allow running the test suite against installed git
      git-branch.txt: document -f correctly
      Test for local branches being followed with --track
      Make local branches behave like remote branches when --tracked

Michael Lai (1):
      git-svn: support intermediate paths when matching tags/branches

Michele Ballabio (6):
      apply: consistent spelling of "don't"
      apply: hide unused options from short help
      git log: avoid segfault with --all-match
      document --force-rebase
      rebase: add options passed to git-am
      rebase: fix typo (force_rebas -> force-rebas)

Mike Hommey (1):
      Replace ",<,>,& with their respective XML entities in DAV requests

Miklos Vajna (11):
      parse-opt: migrate builtin-ls-files.
      Tests: use test_cmp instead of diff where possible
      http-push: using error() and warning() as appropriate
      builtin-apply: use warning() instead of fprintf(stderr, "warning: ")
      builtin-checkout: use warning() instead of fprintf(stderr, "warning: ")
      builtin-fetch-pack: use warning() instead of fprintf(stderr, "warning: ")
      builtin-init-db: use warning() instead of fprintf(stderr, "warning: ")
      builtin-rm: use warning() instead of fprintf(stderr, "warning: ")
      builtin-show-branch: use warning() instead of fprintf(stderr, "warning: ")
      builtin-show-ref: use warning() instead of fprintf(stderr, "warning: ")
      refs: use warning() instead of fprintf(stderr, "warning: ")

Nanako Shiraishi (4):
      Add --format that is a synonym to --pretty
      Give short-hands to --pretty=tformat:%formatstring
      Add --oneline that is a synonym to "--pretty=oneline --abbrev-commit"
      Documentation/git.txt: GIT 1.6.2.2 has been out for a while

Nate Case (1):
      format-patch: Respect --quiet option

Nguyễn Thái Ngọc Duy (1):
      grep: prefer builtin over external one when coloring results

Pete Wyckoff (1):
      git-p4: remove tabs from usermap file

Petr Kodl (2):
      MinGW: a helper function that translates Win32 API error codes
      MinGW: a hardlink implementation

Ramsay Jones (1):
      git-instaweb: fix lighttpd configuration on cygwin

René Scharfe (12):
      grep: micro-optimize hit collection for AND nodes
      grep: remove grep_opt argument from match_expr_eval()
      grep: add pmatch and eflags arguments to match_one_pattern()
      grep: color patterns in output
      grep: add support for coloring with external greps
      parseopt: add PARSE_OPT_KEEP_UNKNOWN
      parseopt: add PARSE_OPT_NO_INTERNAL_HELP
      parseopt: make usage optional
      archive: use parseopt for local-only options
      parseopt: document KEEP_ARGV0, KEEP_UNKNOWN, NO_INTERNAL_HELP
      parseopt: prevent KEEP_UNKNOWN and STOP_AT_NON_OPTION from being used together
      pickaxe: count regex matches only once

SZEDER Gábor (1):
      rerere: remove duplicated functions

Santi Béjar (4):
      Documentation: enhance branch.<name>.{remote,merge}
      Documentation: push.default applies to all remotes
      Documentation: branch.*.merge can also affect 'git-push'
      Documentation: Introduce "upstream branch"

Shawn O. Pearce (1):
      Don't permit ref/branch names to end with ".lock"

Simon Arlott (2):
      git-svn: don't output git commits in quiet mode
      git-svn: add a double quiet option to hide git commits

Stephen Boyd (11):
      git-send-email.txt: describe --compose better
      pretty.c: add %f format specifier to format_commit_message()
      format-patch: construct patch filename in one function
      format-patch: pass a commit to reopen_stdout()
      format-patch: move get_patch_filename() into log-tree
      format-patch: --attach/inline uses filename instead of SHA1
      format-patch: --numbered-files and --stdout aren't mutually exclusive
      completion: add --annotate option to send-email
      completion: add --cc and --no-attachment option to format-patch
      completion: add --thread=deep/shallow to format-patch
      format_sanitized_subject: Don't trim past initial length of strbuf

Sverre Rabbelier (1):
      Teach rebase to rebase even if upstream is up to date

Tay Ray Chuan (1):
      http.c: use strbuf API in quote_ref_url

Ted Pavlic (4):
      completion: For consistency, change "git rev-parse" to __gitdir calls
      completion: Use consistent if [...] convention, not "test"
      completion: Better __git_ps1 support when not in working directory
      completion: More fixes to prevent unbound variable errors

Teemu Likonen (1):
      bash completion: add --format= and --oneline options for "git log"

Thomas Rast (13):
      format-patch: threading test reactivation
      Support coverage testing with GCC/gcov
      Test that diff can read from stdin
      Test diff --dirstat functionality
      Test log --graph
      Test fsck a bit harder
      Test log --decorate
      Test rev-list --parents/--children
      Test git-patch-id
      format-patch: track several references
      format-patch: thread as reply to cover letter even with in-reply-to
      format-patch: support deep threading
      Documentation: filter-branch: show --ignore-unmatch in main index-filter example

Todd Zullinger (1):
      bash completion: Update 'git am' options

Tor Arne Vestbø (2):
      git-rebase: Add --stat and --no-stat for producing diffstat on rebase
      git-pull: Allow --stat and --no-stat to be used with --rebase

Wesley J. Landaker (1):
      Documentation: git-svn: fix trunk/fetch svn-remote key typo

Wincent Colaiuta (2):
      Grammar fixes to "merge" and "patch-id" docs
      Grammar fix for "git merge" man page


Version v1.6.2.5; changes since v1.6.2.4:
-----------------------------------------

Allan Caffee (2):
      builtin-merge: fix a typo in an error message
      Documentation: fix a grammatical error in api-builtin.txt

Frank Lichtenheld (1):
      gitcvs-migration: Link to git-cvsimport documentation

Johannes Schindelin (1):
      Fix off-by-one in read_tree_recursive

Junio C Hamano (7):
      read-tree A B: do not corrupt cache-tree
      Move prime_cache_tree() to cache-tree.c
      read-tree -m A B: prime cache-tree from the switched-to tree
      checkout branch: prime cache-tree fully
      diff -c -p: do not die on submodules
      GIT 1.6.1.4
      GIT 1.6.2.5

Linus Torvalds (3):
      process_{tree,blob}: show objects without buffering
      show_object(): push path_name() call further down
      grep: fix segfault when "git grep '('" is given

Michał Kiedrowicz (3):
      tests: test applying criss-cross rename patch
      builtin-apply: keep information about files to be deleted
      tests: make test-apply-criss-cross-rename more robust

Nicolas Pitre (1):
      honor repack.usedeltabaseoffset when fetching packs

Stephen Boyd (1):
      test-genrandom: Add newline to usage string

Wincent Colaiuta (1):
      git add -p: add missing "q" to patch prompt


Version v1.6.2.4; changes since v1.6.2.3:
-----------------------------------------

Björn Steinbrink (1):
      tree_entry_interesting: a pathspec only matches at directory boundary

Clemens Buchacher (3):
      add tests for merging with submodules
      update cache for conflicting submodule entries
      simplify output of conflicting merge

Erik Faye-Lund (4):
      test-suite: adding a test for fast-export with tag variants
      builtin-fast-export.c: turn error into warning
      builtin-fast-export.c: fix crash on tagged trees
      builtin-fast-export.c: handle nested tags

Frank Lichtenheld (1):
      init: Do not segfault on big GIT_TEMPLATE_DIR environment variable

Jeff King (2):
      doc/gitattributes: clarify location of config text
      add-interactive: refactor mode hunk handling

Johan Herland (1):
      Update docs on behaviour of 'core.sharedRepository' and 'git init --shared'

Johannes Schindelin (1):
      Fix 'git checkout <submodule>' to update the index

Johannes Sixt (1):
      t1301-shared-repo: fix forced modes test

Junio C Hamano (4):
      match_tree_entry(): a pathspec only matches at directory boundaries
      Describe fixes since 1.6.2.3
      Speed up reflog pruning of unreachable commits
      GIT 1.6.2.4

Linus Torvalds (1):
      Clean up reflog unreachability pruning decision

Markus Heidelberg (2):
      doc/git-daemon: add missing arguments to options
      doc/git-daemon: add missing arguments to max-connections option

Matthieu Moy (2):
      git add -p: new "quit" command at the prompt.
      Update git-add.txt according to the new possibilities of 'git add -p'.

Nguyễn Thái Ngọc Duy (1):
      Makefile: remove {fetch,send}-pack from PROGRAMS as they are builtins

Paul Bolle (1):
      imap-send: use correct configuration variable in documentation

Thomas Jarosch (1):
      Fix buffer overflow in config parser

Ulrich Windl (1):
      git-apply: fix option description


Version v1.6.2.3; changes since v1.6.2.2:
-----------------------------------------

Björn Steinbrink (1):
      process_{tree,blob}: Remove useless xstrdup calls

Brandon Casey (6):
      t7700-repack: add two new tests demonstrating repacking flaws
      git-repack.sh: don't use --kept-pack-only option to pack-objects
      pack-objects: only repack or loosen objects residing in "local" packs
      Remove --kept-pack-only option and associated infrastructure
      t7700: demonstrate repack flaw which may loosen objects unnecessarily
      pack-objects: don't loosen objects available in alternate or kept packs

Dan McGee (1):
      git-repack: use non-dashed update-server-info

Daniel Cheng (aka SDiZ) (1):
      State the effect of filter-branch on graft explicitly

Jari Aalto (1):
      Change double quotes to single quotes in message

Jason Merrill (1):
      Documentation: clarify .gitattributes search

Jeff King (2):
      t1301: loosen test for forced modes
      commit: abort commit if interactive add failed

Johan Herland (1):
      Move chmod(foo, 0444) into move_temp_to_file()

Julien Danjou (1):
      git submodule: fix usage line

Junio C Hamano (12):
      git-repack: resist stray environment variable
      has_sha1_pack(): refactor "pretend these packs do not exist" interface
      has_sha1_kept_pack(): take "struct rev_info"
      Consolidate ignore_packed logic more
      Simplify is_kept_pack()
      is_kept_pack(): final clean-up
      diff --cached: do not borrow from a work tree when a path is marked as assume-unchanged
      "core.sharedrepository = 0mode" should set, not loosen
      move_temp_to_file(): do not forget to chmod() in "Coda hack" codepath
      set_shared_perm(): sometimes we know what the final mode bits should look like
      Start 1.6.2.3 preparation
      GIT 1.6.2.3

Linus Torvalds (1):
      process_{tree,blob}: Remove useless xstrdup calls

Markus Heidelberg (1):
      doc/git-pack-refs: fix two grammar issues

Matthieu Moy (3):
      git-checkout.txt: fix incorrect statement about HEAD and index
      git-checkout.txt: clarify that <branch> applies when no path is given.
      git-pull.sh: better warning message for "git pull" on detached head.


Version v1.6.2.2; changes since v1.6.2.1:
-----------------------------------------

Allan Caffee (1):
      Documentation: update graph api example.

Brandon Casey (1):
      git-branch: display "was sha1" on branch deletion rather than just "sha1"

Carlo Marcelo Arenas Belon (1):
      documentation: update cvsimport description of "-r" for recent clone

Daniel Barkalow (1):
      Give error when no remote is configured

Daniel Cheng (aka SDiZ) (1):
      Fix bash completion in path with spaces

David Aguilar (1):
      everyday: use the dashless form of git-init

David J. Mellor (12):
      Documentation: minor grammatical fixes in git-archive.txt.
      Documentation: reword the "Description" section of git-bisect.txt.
      Documentation: minor grammatical fixes in git-blame.txt.
      Documentation: minor grammatical fixes in git-branch.txt.
      Documentation: reworded the "Description" section of git-bisect.txt.
      Documentation: reword example text in git-bisect.txt.
      Documentation: remove some uses of the passive voice in git-bisect.txt
      Documentation: minor grammatical fixes and rewording in git-bundle.txt
      Documentation: minor grammatical fixes in git-cat-file.txt
      Documentation: minor grammatical fixes in git-check-attr.txt
      Documentation: minor grammatical fix in git-check-ref-format.txt
      Documentation: Remove spurious uses of "you" in git-bisect.txt.

Emil Sit (1):
      test-lib: Clean up comments and Makefile.

Eric Wong (1):
      git-svn: fix ls-tree usage with dash-prefixed paths

Holger Weiß (1):
      Documentation: Remove an odd "instead"

Jeff King (3):
      doc: clarify how -S works
      ls-files: require worktree when --deleted is given
      fix portability problem with IS_RUN_COMMAND_ERR

Johannes Schindelin (4):
      rsync transport: allow local paths, and fix tests
      Smudge the files fed to external diff and textconv
      import-zips: fix thinko
      mailmap: resurrect lower-casing of email addresses

Johannes Sixt (2):
      Propagate --exec-path setting to external commands via GIT_EXEC_PATH
      diff --no-index: Do not generate patch output if other output is requested

Junio C Hamano (6):
      read-tree A B C: do not create a bogus index and do not segfault
      Remove total confusion from git-fetch and git-push
      blame: read custom grafts given by -S before calling setup_revisions()
      Update draft release notes to 1.6.2.2
      Update draft release notes to 1.6.2.2
      GIT 1.6.2.2

Linus Torvalds (1):
      close_sha1_file(): make it easier to diagnose errors

Michael J Gruber (2):
      git submodule: Add test cases for git submodule add
      git submodule: Fix adding of submodules at paths with ./, .. and //

Nico -telmich- Schottelius (1):
      git-tag(1): add hint about commit messages

Nicolas Pitre (1):
      avoid possible overflow in delta size filtering computation

René Scharfe (3):
      diffcore-pickaxe: use memmem()
      optimize compat/ memmem()
      pickaxe: count regex matches only once

Shawn O. Pearce (1):
      Increase the size of the die/warning buffer to avoid truncation

Stephen Boyd (1):
      format-patch: --numbered-files and --stdout aren't mutually exclusive

Thomas Rast (4):
      send-email: respect in-reply-to regardless of threading
      send-email: test --no-thread --in-reply-to combination
      Documentation: format-patch --root clarifications
      bash completion: only show 'log --merge' if merging


Version v1.6.2.1; changes since v1.6.2:
---------------------------------------

Chris Johnsen (1):
      builtin-revert.c: release index lock when cherry-picking an empty commit

Christian Couder (1):
      Documentation: fix badly indented paragraphs in "--bisect-all" description

Elijah Newren (1):
      Ensure proper setup of git_dir for git-hash-object

Finn Arne Gangstad (1):
      Support "\" in non-wildcard exclusion entries

Jay Soffian (4):
      send-email: allow send-email to run outside a repo
      send-email: handle multiple Cc addresses when reading mbox message
      send-email: --suppress-cc improvements
      send-email: don't create temporary compose file until it is needed

Jeff King (3):
      never fallback relative times to absolute
      t1300: use test_must_fail as appropriate
      document config --bool-or-int

John Tapsell (1):
      Make the 'lock file' exists error more informative

Junio C Hamano (4):
      git-add -i/-p: learn to unwrap C-quoted paths
      Beginning of 1.6.2 maintenance track
      Update draft release notes for 1.6.2.1
      GIT 1.6.2.1

René Scharfe (1):
      cleanup: add isascii()


Version v1.6.2; changes since v1.6.2-rc2:
-----------------------------------------

Ben Walton (1):
      git-svn - return original format_svn_date semantics

Christian Couder (2):
      bisect: fix quoting TRIED revs when "bad" commit is also "skip"ped
      bisect: fix another instance of eval'ed string

Danijel Tasov (1):
      added missing backtick in git-apply.txt

David J. Mellor (4):
      Documentation: minor grammatical fixes.
      Documentation: minor grammatical fixes.
      Documentation: minor grammatical fixes.
      Documentation: minor grammatical fixes.

Eric Wong (1):
      git-svn: disable broken symlink workaround by default

Jay Soffian (1):
      t5540-http-push.sh: avoid non-portable grep -P

Johannes Sixt (1):
      t3400-rebase: Move detached HEAD check earlier

Junio C Hamano (2):
      git-am: make --abort less dangerous
      GIT 1.6.2

Michael J Gruber (1):
      git-am: Keep index in case of abort with dirty index

Mike Ralphson (4):
      Fix odb_mkstemp() on AIX
      Documentation: Typos / spelling fixes in RelNotes
      Documentation: Expand a couple of abbreviations
      Documentation: Typo / spelling / formatting fixes

Paul Mackerras (1):
      gitk: Fix possible infinite loop and display corruption

Roy Lee (1):
      Documentation/git-archive.txt: Note attributes

Todd Zullinger (1):
      git-rebase: Update --whitespace documentation


Version v1.6.2-rc2; changes since v1.6.2-rc1:
---------------------------------------------

Abhijit Menon-Sen (1):
      Convert git-* invocations to "git *" in the svnimport example.

Alexandre Julliard (3):
      git.el: Make sure that file lists are sorted as they are created.
      git.el: Improve the confirmation message on remove and revert.
      Add a README in the contrib/emacs directory.

Allan Caffee (1):
      trace: Fixed a minor typo in an error message.

Ben Walton (1):
      git-svn fix to avoid using strftime %z

Brian Gernhardt (1):
      git-svn: Create leading directories in create-ignore

Christian Couder (1):
      README: fix path to "gitcvs-migration.txt" and be more consistent

Eric Wong (1):
      git-svn: fix delete+add branch tracking with empty files

Felipe Contreras (2):
      git add: trivial codestyle cleanup
      sha1_file.c: fix typo

Gerrit Pape (3):
      Documentation/git-push: --all, --mirror, --tags can not be combined
      Install builtins with the user and group of the installing personality
      git-quiltimport: preserve standard input to be able to read user input

Giuseppe Bilotta (1):
      gitweb: fix wrong base URL when non-root DirectoryIndex

Jay Soffian (2):
      disallow providing multiple upstream branches to rebase, pull --rebase
      Allow HTTP tests to run on Darwin

Johannes Schindelin (2):
      Introduce the function strip_path_suffix()
      system_path(): simplify using strip_path_suffix(), and add suffix "git"

Johannes Sixt (1):
      gitattributes.txt: Path matching rules are explained in gitignore.txt

Junio C Hamano (4):
      git-svn: fix parsing of timestamp obtained from svn
      tests: fix "export var=val"
      Make sure objects/pack exists before creating a new pack
      GIT 1.6.2-rc2

Lars Noschinski (1):
      filter-branch -d: Export GIT_DIR earlier

Linus Torvalds (1):
      Support 'raw' date format

Marc Branchaud (1):
      Docs: Expand explanation of the use of + in git push refspecs.

Marcel M. Cary (2):
      gitweb: Fix warnings with override permitted but no repo override
      gitweb: Hyperlink multiple git hashes on the same commit message line

Matthieu Moy (2):
      Document git blame --reverse.
      More friendly message when locking the index fails.

Michael J Gruber (1):
      Fix typo in contrib/examples/git-svnimport.txt

Michael Spang (1):
      Skip timestamp differences for diff --no-index

Pete Wyckoff (1):
      git-p4: avoid syncing duplicate changes

Peter Oberndorfer (1):
      git-svn: read the dcommit url from the config file on a per remote basis

SZEDER Gábor (2):
      bash: add missing 'git merge' options
      bash: update 'git svn' options

Thomas Rast (2):
      bash completion: refactor common log, shortlog and gitk options
      bash completion: only show 'log --merge' if merging

Todd Zullinger (1):
      Documentation: Note file formats send-email accepts


Version v1.6.2-rc1; changes since v1.6.2-rc0:
---------------------------------------------

Alexandre Julliard (1):
      Describe notable git.el changes in the release notes

Anton Gyllenberg (1):
      test case for regression caused by git-svn empty symlink fix

Christian Couder (1):
      rev-list: fix showing distance when using --bisect-all

Deskin Miller (1):
      git-svn: Print revision while searching for earliest use of path

Dévai Tamás (1):
      git-svn: Fix for rewriteRoot URL containing username.

Elijah Newren (1):
      fast-export: ensure we traverse commits in topological order

Eric Kidd (1):
      filter-branch: Add more error-handling

Eric Wong (2):
      git-svn: allow disabling expensive broken symlink checks
      git-svn: fix broken symlink workaround when switching branches

Fabian Franz (1):
      submodule: add --no-fetch parameter to update command

Jacob Helwig (1):
      Add 'rm -f' equivalent to 'git rm' example of filter-branch --index-filter

Jakub Narębski (1):
      gitweb: Better regexp for SHA-1 committag match

Jeff King (1):
      symbolic-ref: allow refs/<whatever> in HEAD

Jeremy White (1):
      Update documentation to add further information about using Thunderbird with git-imap-send.

Johannes Schindelin (4):
      Let ls-files strip trailing slashes in submodules' paths
      submodule: warn about non-submodules
      Add two extra tests for git rebase
      gc: make --prune useful again by accepting an optional parameter

Johannes Sixt (4):
      Make test-path-utils more robust against incorrect use
      Move sanitary_path_copy() to path.c and rename it to normalize_path_copy()
      Test and fix normalize_path_copy()
      Remove unused normalize_absolute_path()

Junio C Hamano (16):
      Revert "Merge branch 'js/notes'"
      Modernize t5400 test script
      remote prune: warn dangling symrefs
      Warn use of "origin" when remotes/origin/HEAD is dangling
      Drop double-semicolon in C
      receive-pack: receive.denyDeleteCurrent
      builtin-receive-pack.c: do not initialize statics to 0
      revision traversal and pack: notice and die on missing commit
      Squelch overzealous "ignoring dangling symref" in an empty repository
      Make repack less likely to corrupt repository
      Prepare for 1.6.1.4.
      Revert "validate_headref: tighten ref-matching to just branches"
      Install the default "master" branch configuration after cloning a void
      Teach the "@{-1} syntax to "git branch"
      Teach @{-1} to git merge
      RelNotes Update

Keith Cascio (1):
      Remove redundant bit clears from diff_setup()

Lars Hjemli (1):
      tree.c: allow read_tree_recursive() to traverse gitlink entries

Marcel M. Cary (1):
      git-sh-setup: Use "cd" option, not /bin/pwd, for symlinked work tree

Marius Storm-Olsen (5):
      Add mailmap.file as configurational option for mailmap location
      Add find_insert_index, insert_at_index and clear_func functions to string_list
      Add map_user() and clear_mailmap() to mailmap
      Change current mailmap usage to do matching on both name and email of author/committer.
      Move mailmap documentation into separate file

Mark Burton (1):
      git-rebase.txt: --interactive does not work with --whitespace

Matt Kraai (1):
      bash-completion: Complete the values of color.interactive, color.ui, color.pager

Matt McCutchen (1):
      gitweb: add $prevent_xss option to prevent XSS by repository content

Michael J Gruber (1):
      Fix the installation path for html documentation

Nazri Ramliy (1):
      Bugfix: GIT_EXTERNAL_DIFF with more than one changed files

Pat Notz (1):
      Fix contrib/hooks/post-receive-email for new duplicate branch

René Scharfe (2):
      Fix GIT_CEILING_DIRECTORIES on Windows
      builtin-receive-pack.c: fix compiler warnings about format string

SZEDER Gábor (3):
      Move 'rev-parse --git-dir' test to t1500
      t1500: more 'git rev-parse --git-dir' tests
      bash: fix misspelled 'git svn' option

Sam Vilain (1):
      git-svn: abstract out a block into new method other_gs()

Santi Béjar (1):
      doc/bundle: Use the more conventional suffix '.bundle'

Shawn O. Pearce (2):
      Clear the delta base cache during fast-import checkpoint
      Clear the delta base cache if a pack is rebuilt

Sitaram Chamarty (1):
      Documentation: clarify commits affected by gitk --merge

Stephan Beyer (3):
      add -p: get rid of Git.pm warnings about unitialized values
      Makefile: resort filenames alphabetically
      Generalize and libify index_is_dirty() to index_differs_from(...)

Tay Ray Chuan (1):
      use a hash of the lock token as the suffix for PUT/MOVE

Ted Pavlic (2):
      completion: Fix GIT_PS1_SHOWDIRTYSTATE to prevent unbound variable errors.
      completion: Get rid of tabbed indentation in comments. Replace with spaces.

Thomas Rast (2):
      log: do not print ellipses with --abbrev-commit
      Documentation: pruning recipe for destructive filter-branch

Todd Zullinger (1):
      git-web--browse: Fix check for /bin/start


Version v1.6.2-rc0; changes since v1.6.1.4:
-------------------------------------------

Adeodato Simó (3):
      builtin-shortlog.c: use string_list_append(), and don't strdup unnecessarily
      git.c: make autocorrected aliases work
      t7501-commit.sh: explicitly check that -F prevents invoking the editor

Alexander Potashev (4):
      remove trailing LF in die() messages
      add is_dot_or_dotdot inline function
      Allow cloning to an existing empty directory
      Replace deprecated dashed git commands in usage

Alexandre Julliard (8):
      git.el: Add a checkout command.
      git.el: Add a command to create a new branch.
      git.el: Add commands for cherry-pick and revert.
      git.el: Make git-run-command-region display the error if any.
      git.el: Set a regexp for paragraph-separate in log-edit mode.
      git.el: Use integer instead of character constants in case statement.
      git.el: Add some notes about Emacs versions compatibility.
      emacs: Remove the no longer maintained vc-git package.

Arjen Laarhoven (1):
      t/t4202-log.sh: Add testcases

Benjamin Kramer (1):
      Ignore test-ctype

Boyd Stephen Smith Jr (2):
      color-words: Support diff.wordregex config option
      Change the spelling of "wordregex".

Brandon Casey (2):
      t7700: demonstrate misbehavior of 'repack -a' when local packs exist
      Makefile: use shell for-loop rather than Make's foreach loop during install

Charles Bailey (7):
      Fix some tab/space inconsistencies in git-mergetool.sh
      Add -y/--no-prompt option to mergetool
      mergetool: Add prompt to continue after failing to merge a file
      mergetool: Don't keep temporary merge files unless told to
      mergetool: respect autocrlf by using checkout-index
      mergetool: Add a test for running mergetool in a sub-directory
      mergetool: fix running mergetool in sub-directories

Christian Couder (1):
      sha1_file: make "read_object" static

Clemens Buchacher (2):
      clean up pathspec matching
      remove pathspec_match, use match_pathspec instead

David Aguilar (4):
      contrib: add 'git difftool' for launching common merge tools
      difftool: fix documentation problems
      difftool: put the cursor on the editable file for Vim
      contrib/difftool: Don't repeat merge tool candidates

David M. Syzdek (1):
      autoconf: Enable threaded delta search when pthreads are supported

Eric Wong (6):
      git-svn: add --authors-file test
      git-svn: handle empty files marked as symlinks in SVN
      git-svn: better attempt to handle broken symlink updates
      git-svn: fix SVN 1.1.x compatibility
      git-svn: avoid importing nested git repos
      git-svn: fix memory leak when checking for empty symlinks

Fabian Emmes (2):
      cvsserver: add option to configure commit message
      cvsserver: change generation of CVS author names

Giuseppe Bilotta (16):
      gitweb: add patch view
      gitweb: change call pattern for git_commitdiff
      gitweb: add patches view
      gitweb: link to patch(es) view in commit(diff) and (short)log view
      gitweb: use href() when generating URLs in OPML
      gitweb: don't use pathinfo for global actions
      gitweb: suggest name for OPML view
      gitweb: channel image in rss feed
      gitweb: feed generator metadata
      gitweb: rss feed managingEditor
      gitweb: rss channel date
      gitweb: last-modified time should be commiter, not author
      gitweb: check if-modified-since for feeds
      gitweb: make static files accessible with PATH_INFO
      gitweb: webserver config for PATH_INFO
      gitweb: align comments to code

Jake Goulding (3):
      Make opt_parse_with_commit() non-static
      Make has_commit() non-static
      git-tag: Add --contains option

Jakub Narębski (4):
      gitweb: Move 'lineno' id from link to row element in git_blame
      gitweb: A bit of code cleanup in git_blame()
      gitweb: cache $parent_commit info in git_blame()
      gitweb: Update README that gitweb works better with PATH_INFO

Jay Soffian (2):
      git-am: minor cleanups
      Makefile: minor improvements for Mac OS X (Darwin)

Jeff King (10):
      Makefile: clean up TEST_PROGRAMS definition
      color: make it easier for non-config to parse color specs
      expand --pretty=format color options
      diff: refactor tempfile cleanup handling
      chain kill signals for cleanup functions
      refactor signal handling for cleanup functions
      pager: do wait_for_pager on signal death
      validate_headref: tighten ref-matching to just branches
      symbolic ref: refuse non-ref targets in HEAD
      t0005: use SIGTERM for sigchain test

Johannes Gilger (1):
      mergetool: Don't repeat merge tool candidates

Johannes Schindelin (24):
      Force t5302 to use a single thread
      Introduce commit notes
      Add a script to edit/inspect notes
      git wrapper: Make while loop more reader-friendly
      bundle: allow rev-list options to exclude annotated tags
      show <tag>: reuse pp_user_info() instead of duplicating code
      Implement the patience diff algorithm
      Introduce the diff option '--patience'
      bash completions: Add the --patience option
      Speed up git notes lookup
      Add an expensive test for git-notes
      Add color_fwrite_lines(), a function coloring each line individually
      color-words: refactor word splitting and use ALLOC_GROW()
      color-words: change algorithm to allow for 0-character word boundaries
      color-words: take an optional regular expression describing words
      Fix parsing of @{-1}@{1}
      rebase -i --root: fix check for number of arguments
      t3404 & t3411: undo copy&paste
      lib-rebase.sh: Document what set_fake_editor() does
      test-lib.sh: introduce test_commit() and test_merge() helpers
      Simplify t3410
      Simplify t3411
      Simplify t3412
      Fix 'git diff --no-index' with a non-existing symlink target

Johannes Sixt (2):
      Windows: Fix signal numbers
      Windows: Fix intermittent failures of t7701

Jon Loeliger (1):
      Fix Documentation typos surrounding the word 'handful'.

Jonas Flodén (1):
      git-am: Make it easier to see which patch failed

Junio C Hamano (26):
      Document "git-reset --merge"
      Start 1.6.2 cycle
      Resurrect "git apply --flags -" to read from the standard input
      git-am: add --directory=<dir> option
      Update 1.6.2 draft release notes
      git-am: fix shell quoting
      checkout: implement "@{-N}" shortcut name for N-th last branch
      git-am: re-fix the diag message printing
      interpret_nth_last_branch(): avoid traversing the reflog twice
      Fix reflog parsing for a malformed branch switching entry
      interpret_nth_last_branch(): plug small memleak
      Introduce for_each_recent_reflog_ent().
      Simplify parsing branch switching events in reflog
      http-push.c: style fixes
      am: Add --committer-date-is-author-date option
      rebase -i: correctly remember --root flag across --continue
      tests: Avoid single-shot environment export for shell function invocation
      Update draft release notes to 1.6.2
      fsck: HEAD is part of refs
      fsck: check loose objects from alternate object stores by default
      http-push.c: get_remote_object_url() is only used under USE_CURL_MULTI
      receive-pack: explain what to do when push updates the current branch
      t3412: further simplify setting of GIT_EDITOR
      tests: fix test_commit() for case insensitive filesystems
      Makefile: fix misdetection of relative pathnames
      GIT 1.6.2-rc0

Keith Cascio (1):
      test more combinations of ignore-whitespace options to diff

Kirill Smelkov (1):
      mailinfo: cleanup extra spaces for complex 'From:'

Kjetil Barvik (6):
      Cleanup of unused symcache variable inside diff-lib.c
      lstat_cache(): more cache effective symlink/directory detection
      lstat_cache(): introduce has_symlink_or_noent_leading_path() function
      lstat_cache(): introduce has_dirs_only_path() function
      lstat_cache(): introduce invalidate_lstat_cache() function
      lstat_cache(): introduce clear_lstat_cache() function

Lee Marlow (2):
      bash completion: Add '--intent-to-add' long option for 'git add'
      bash completion: Use 'git add' completions for 'git stage'

Linus Torvalds (1):
      Add 'merge' mode to 'git reset'

Marcel Koeppen (1):
      git-svn: Show UUID in svn info for added directories with svn 1.5.5

Markus Heidelberg (10):
      git-cherry: make <upstream> parameter optional
      Documentation: clarify which parameters are optional to git-cherry
      contrib/vim: change URL to point to the latest syntax files
      Documentation: let asciidoc align related options
      mergetool: put the cursor on the editable file for Vim
      contrib/difftool: change trap condition from SIGINT to INT
      contrib/difftool: remove distracting 'echo' in the SIGINT handler
      use uppercase POSIX compliant signals for the 'trap' command
      bash completion: add 'rename' subcommand to git-remote
      contrib/difftool: add support for Kompare

Matt Kraai (1):
      gitweb: unify boolean feature subroutines

Michele Ballabio (1):
      git-shortlog.txt: fix example about .mailmap

Miklos Vajna (3):
      Add support for a pdf version of the user manual
      parse-opt: migrate builtin-apply.
      gittutorial: remove misleading note

Nanako Shiraishi (3):
      git-am: Add --ignore-date option
      Mention "local convention" rule in the CodingGuidelines
      git-bundle doc: update examples

Nicolas Pitre (2):
      autodetect number of CPUs by default when using threads
      pack-objects: don't use too many threads with few objects

Pascal Obry (1):
      config.mak.in: define paths without trailing slash

Pete Harlan (1):
      git-svn: Add --localtime option to "fetch"

Pierre Habouzit (1):
      filter-branch: add git_commit_non_empty_tree and --prune-empty.

Ralf Wildenhues (1):
      Fix naming scheme for configure cache variables.

René Scharfe (9):
      diff: add option to show context between close hunks
      strbuf: instate cleanup rule in case of non-memory errors
      grep -w: forward to next possible position after rejected match
      grep: don't call regexec() for fixed strings
      Add ctype test
      Reformat ctype.c
      Change NUL char handling of isspecial()
      Add is_regex_special()
      Optimize color_parse_mem

SZEDER Gábor (4):
      bash: add '--merge' to 'git reset'
      bash: remove unnecessary checks for long options with argument
      bash: add missing format-patch command line options
      bash: refactor 'git log --pretty=<format>' options

Santi Béjar (2):
      commit: more compact summary and without extra quotes
      tutorial-2: Update with the new "git commit" ouput

Serge van den Boom (1):
      Makefile: Make 'configure --with-expat=path' actually work

Stefan Karpinski (2):
      git-cvsserver: handle CVS 'noop' command.
      git-cvsserver: run post-update hook *after* update.

Steffen Prohaska (6):
      Move computation of absolute paths from Makefile to runtime (in preparation for RUNTIME_PREFIX)
      git_extract_argv0_path(): Move check for valid argv0 from caller to callee
      Add calls to git_extract_argv0_path() in programs that call git_config_*
      Modify setup_path() to only add git_exec_path() to PATH
      Compute prefix at runtime if RUNTIME_PREFIX is set
      Windows: Revert to default paths and convert them by RUNTIME_PREFIX

Stephan Beyer (5):
      checkout: don't crash on file checkout before running post-checkout hook
      Move run_hook() from builtin-commit.c into run-command.c (libgit)
      api-run-command.txt: talk about run_hook()
      run_hook(): check the executability of the hook before filling argv
      run_hook(): allow more than 9 hook arguments

Steve Haslam (1):
      Refactor git_set_argv0_path() to git_extract_argv0_path()

Sverre Rabbelier (1):
      Allow cloning an empty repository

Tay Ray Chuan (4):
      http-push: refactor lock-related headers creation for curl requests
      http-push: refactor request url creation
      http-push: add back underscore separator before lock token
      http-push: wrap signature of get_remote_object_url

Ted Pavlic (4):
      bash-completion: Support running when set -u is enabled
      bash-completion: Try bash completions before simple filetype
      bash-completion: Add comments to remind about required arguments
      make: Remove -pthread on Darwin (it is included by cstdlib).

Teemu Likonen (3):
      Fix the building of user-manual.texi and gitman.texi documents
      Fix the building of gitman.info document
      diff-options.txt: Fix asciidoc markup issue

Thomas Rast (23):
      rebase -i: execute hook only after argument checking
      rebase: learn to rebase root commit
      rebase -i: learn to rebase root commit
      rebase: update documentation for --root
      notes: fix core.notesRef documentation
      color-words: enable REG_NEWLINE to help user
      color-words: expand docs with precise semantics
      color-words: make regex configurable via attributes
      sha1_name: tweak @{-N} lookup
      sha1_name: support @{-N} syntax in get_sha1()
      checkout: implement "-" abbreviation, add docs and tests
      bash completion: move pickaxe options to log
      bash completion: refactor diff options
      t1505: remove debugging cruft
      t3412: clean up GIT_EDITOR usage
      t3412: use log|name-rev instead of log --graph
      bash: offer to show (un)staged changes
      add -p: change prompt separator for 'g'
      add -p: trap Ctrl-D in 'goto' mode
      contrib git-resurrect: find traces of a branch name and resurrect it
      add -p: prompt for single characters
      add -p: print errors in separate color
      add -p: import Term::ReadKey with 'require'

Tor Arne Vestbø (1):
      git-notes: fix printing of multi-line notes

Vitaly "_Vi" Shukela (3):
      git-svn: add --ignore-paths option for fetching
      git-svn: documented --ignore-paths
      git-svn: Add test for --ignore-paths parameter

William Pursell (5):
      Add subroutine to display one-line summary of hunks
      Add 'g' command to go to a hunk
      git-add -i/-p: Change prompt separater from slash to comma
      Add / command in add --patch
      In add --patch, Handle K,k,J,j slightly more gracefully.

jidanni@jidanni.org (1):
      git-show-branch doc: show -g as synonym to --reflog in the list

martin f. krafft (1):
      git-am: implement --reject option passed to git-apply


Version v1.6.1.4; changes since v1.6.1.3:
-----------------------------------------

Allan Caffee (3):
      Documentation: update graph api example.
      builtin-merge: fix a typo in an error message
      Documentation: fix a grammatical error in api-builtin.txt

Björn Steinbrink (2):
      tree_entry_interesting: a pathspec only matches at directory boundary
      process_{tree,blob}: Remove useless xstrdup calls

Brandon Casey (7):
      t7700-repack: add two new tests demonstrating repacking flaws
      git-repack.sh: don't use --kept-pack-only option to pack-objects
      pack-objects: only repack or loosen objects residing in "local" packs
      Remove --kept-pack-only option and associated infrastructure
      git-branch: display "was sha1" on branch deletion rather than just "sha1"
      t7700: demonstrate repack flaw which may loosen objects unnecessarily
      pack-objects: don't loosen objects available in alternate or kept packs

Chris Johnsen (1):
      builtin-revert.c: release index lock when cherry-picking an empty commit

Christian Couder (3):
      rev-list: fix showing distance when using --bisect-all
      bisect: fix quoting TRIED revs when "bad" commit is also "skip"ped
      bisect: fix another instance of eval'ed string

Dan McGee (1):
      git-repack: use non-dashed update-server-info

Daniel Cheng (aka SDiZ) (2):
      Fix bash completion in path with spaces
      State the effect of filter-branch on graft explicitly

Danijel Tasov (1):
      added missing backtick in git-apply.txt

David Aguilar (1):
      everyday: use the dashless form of git-init

David J. Mellor (1):
      Documentation: minor grammatical fixes.

Elijah Newren (2):
      fast-export: ensure we traverse commits in topological order
      Ensure proper setup of git_dir for git-hash-object

Emil Sit (1):
      test-lib: Clean up comments and Makefile.

Eric Kidd (1):
      filter-branch: Fix fatal error on bare repositories

Finn Arne Gangstad (1):
      Support "\" in non-wildcard exclusion entries

Frank Lichtenheld (1):
      init: Do not segfault on big GIT_TEMPLATE_DIR environment variable

Geoffrey Thomas (2):
      utf8: add utf8_strwidth()
      builtin-blame.c: Use utf8_strwidth for author's names

Gerrit Pape (1):
      Documentation/git-push: --all, --mirror, --tags can not be combined

Holger Weiß (1):
      Documentation: Remove an odd "instead"

Jason Merrill (1):
      Documentation: clarify .gitattributes search

Jay Soffian (2):
      builtin-remote: make rm() use properly named variable to hold return value
      builtin-remote: make rm operation safer in mirrored repository

Jeff King (5):
      git: s/run_command/run_builtin/
      run_command(): handle missing command errors more gracefully
      run_command(): help callers distinguish errors
      git: use run_command() to execute dashed externals
      commit: abort commit if interactive add failed

Johannes Schindelin (3):
      Fix submodule squashing into unrelated commit
      filter-branch: do not consider diverging submodules a 'dirty worktree'
      import-zips: fix thinko

Johannes Sixt (6):
      Make test-path-utils more robust against incorrect use
      Move sanitary_path_copy() to path.c and rename it to normalize_path_copy()
      Test and fix normalize_path_copy()
      Remove unused normalize_absolute_path()
      Propagate --exec-path setting to external commands via GIT_EXEC_PATH
      diff --no-index: Do not generate patch output if other output is requested

Junio C Hamano (19):
      revision traversal: allow UNINTERESTING objects to be missing
      rebase -i squashes submodule changes into unrelated commit
      add -u: do not fail to resolve a path as deleted
      revision traversal and pack: notice and die on missing commit
      Make repack less likely to corrupt repository
      Prepare for 1.6.1.4.
      tests: fix "export var=val"
      Make sure objects/pack exists before creating a new pack
      git-repack: resist stray environment variable
      has_sha1_pack(): refactor "pretend these packs do not exist" interface
      has_sha1_kept_pack(): take "struct rev_info"
      Consolidate ignore_packed logic more
      Simplify is_kept_pack()
      is_kept_pack(): final clean-up
      blame: read custom grafts given by -S before calling setup_revisions()
      diff --cached: do not borrow from a work tree when a path is marked as assume-unchanged
      match_tree_entry(): a pathspec only matches at directory boundaries
      diff -c -p: do not die on submodules
      GIT 1.6.1.4

Kirill Smelkov (4):
      mailinfo: correctly handle multiline 'Subject:' header
      mailinfo: 'From:' header should be unfold as well
      mailinfo: add explicit test for mails like '<a.u.thor@example.com> (A U Thor)'
      mailinfo: tests for RFC2047 examples

Linus Torvalds (3):
      close_sha1_file(): make it easier to diagnose errors
      process_{tree,blob}: Remove useless xstrdup calls
      grep: fix segfault when "git grep '('" is given

Markus Heidelberg (1):
      doc/git-daemon: add missing arguments to options

Matt McCutchen (1):
      gitweb: add $prevent_xss option to prevent XSS by repository content

Matthieu Moy (4):
      Document git blame --reverse.
      More friendly message when locking the index fails.
      git-checkout.txt: fix incorrect statement about HEAD and index
      git-checkout.txt: clarify that <branch> applies when no path is given.

Michael Spang (1):
      Skip timestamp differences for diff --no-index

Mike Ralphson (1):
      Fix odb_mkstemp() on AIX

Nico -telmich- Schottelius (1):
      git-tag(1): add hint about commit messages

Nicolas Pitre (1):
      avoid possible overflow in delta size filtering computation

René Scharfe (1):
      Fix GIT_CEILING_DIRECTORIES on Windows

Shawn O. Pearce (2):
      Clear the delta base cache during fast-import checkpoint
      Clear the delta base cache if a pack is rebuilt

Stephen Boyd (1):
      test-genrandom: Add newline to usage string

Thomas Jarosch (1):
      Fix buffer overflow in config parser

Thomas Rast (2):
      Documentation: format-patch --root clarifications
      bash completion: only show 'log --merge' if merging

Todd Zullinger (1):
      Documentation: Note file formats send-email accepts


Version v1.6.1.3; changes since v1.6.1.2:
-----------------------------------------

Anders Melchiorsen (2):
      Documentation: more git push examples
      Documentation: rework src/dst description in git push

David J. Mellor (1):
      Fixed broken git help -w when installing from RPM

Guanqun Lu (2):
      fix typo in Documentation
      add test-dump-cache-tree in Makefile

Johannes Schindelin (2):
      revision walker: include a detached HEAD in --all
      apply: fix access to an uninitialized mode variable, found by valgrind

Junio C Hamano (6):
      bundle: allow the same ref to be given more than once
      Documentation: simplify refspec format description
      diff.c: output correct index lines for a split diff
      builtin-apply.c: do not set bogus mode in check_preimage() for deleted path
      grep: pass -I (ignore binary) down to external grep
      GIT 1.6.1.3

Keith Cascio (2):
      test more combinations of ignore-whitespace options to diff
      Fix combined use of whitespace ignore options to diff

Linus Torvalds (1):
      Wrap inflate and other zlib routines for better error reporting

Matthieu Moy (3):
      Missing && in t/t7001.sh.
      Add a testcase for "git mv -f" on untracked files.
      builtin-mv.c: check for unversionned files before looking at the destination.

René Scharfe (1):
      merge: fix out-of-bounds memory access

SZEDER Gábor (1):
      Fix gitdir detection when in subdir of gitdir

Stefan Naewe (1):
      urls.txt: document optional port specification in git URLS

William Pursell (1):
      User-manual: "git stash <comment>" form is long gone


Version v1.6.1.2; changes since v1.6.1.1:
-----------------------------------------

Björn Steinbrink (1):
      Rename detection: Avoid repeated filespec population

Jeff King (1):
      avoid 31-bit truncation in write_loose_object

Johannes Schindelin (2):
      get_sha1_basic(): fix invalid memory access, found by valgrind
      test-path-utils: Fix off by one, found by valgrind

Junio C Hamano (4):
      ls-tree: add --full-tree option
      Teach format-patch to handle output directory relative to cwd
      send-pack: do not send unknown object name from ".have" to pack-objects
      GIT 1.6.1.2

Marcel M. Cary (1):
      git-sh-setup: Fix scripts whose PWD is a symlink to a work-dir on OS X

Markus Heidelberg (2):
      git-commit: color status output when color.ui is set
      git-status -v: color diff output when color.ui is set

Nanako Shiraishi (1):
      Document git-ls-tree --full-tree

Nguyễn Thái Ngọc Duy (2):
      grep: support --no-ext-grep to test builtin grep
      grep: grep cache entries if they are "assume unchanged"

Nicolas Pitre (1):
      objects to be pruned immediately don't have to be loosened


Version v1.6.1.1; changes since v1.6.1:
---------------------------------------

Adeodato Simó (2):
      git-shortlog.txt: improve documentation about .mailmap files
      git-send-email.txt: move --format-patch paragraph to a proper location

Anders Melchiorsen (4):
      Documentation: git push repository can also be a remote
      Documentation: remove a redundant elaboration
      Documentation: mention branches rather than heads
      Documentation: avoid using undefined parameters

Boyd Stephen Smith Jr (1):
      Fix Documentation for git-describe

Christian Couder (1):
      builtin-fsck: fix off by one head count

Clemens Buchacher (4):
      modify/delete conflict resolution overwrites untracked file
      unpack-trees: handle failure in verify_absent
      unpack-trees: fix path search bug in verify_absent
      unpack-trees: remove redundant path search in verify_absent

Devin Doucette (1):
      gitweb: Fix export check in git_get_projects_list

Felipe Contreras (1):
      fast-import: Cleanup mode setting.

Henrik Austad (2):
      Use capitalized names where appropriate
      Be consistent in switch usage for tar

Jay Soffian (1):
      Git.pm: call Error::Simple() properly

Joey Hess (1):
      README: tutorial.txt is now called gittutorial.txt

Johannes Schindelin (7):
      merge-recursive: mark rename/delete conflict as unmerged
      bisect view: call gitk if Cygwin's SESSIONNAME variable is set
      git add: do not add files from a submodule
      http-push: fix off-by-path_len
      http-push: when making directories, have a trailing slash in the path name
      t5540: clarify that http-push does not handle packed-refs on the remote
      Rename diff.suppress-blank-empty to diff.suppressBlankEmpty

Junio C Hamano (8):
      merge-recursive: do not clobber untracked working tree garbage
      Prepare for v1.6.1.1 maintenance release
      builtin-apply: prevent non-explicit permission changes
      git checkout: do not allow switching to a tree-ish that is not a commit
      format-patch: show patch text for the root commit
      Update draft release notes to 1.6.1.1
      Update draft release notes for 1.6.1.1
      GIT 1.6.1.1

Kirill A. Korinskiy (1):
      http-push: support full URI in handle_remote_ls_ctx()

Lars Noschinski (1):
      shell: Document that 'cvs server' is a valid command

Markus Heidelberg (2):
      doc/git-send-email: mention sendemail.cc config variable
      Documentation: let asciidoc align related options

Michael J Gruber (2):
      add test cases for "git mv -k"
      fix handling of multiple untracked files for git mv -k

Miklos Vajna (2):
      fast-export: print usage when no options specified
      Make t3411 executable

Paul Jarc (1):
      configure clobbers LDFLAGS

Philippe Bruhat (1):
      Git.pm: correctly handle directory name that evaluates to "false"

Pierre Habouzit (1):
      Avoid spurious error messages on error mistakes.

René Scharfe (8):
      daemon: handle freopen() failure
      daemon: cleanup: replace loop with if
      daemon: cleanup: factor out xstrdup_tolower()
      merge-file: handle freopen() failure
      pretty: factor out skip_empty_lines()
      pretty: factor out format_subject()
      pretty: support multiline subjects with format:
      shortlog: handle multi-line subjects like log --pretty=oneline et. al. do

Shawn O. Pearce (1):
      describe: Avoid unnecessary warning when using --all

Stephan Beyer (5):
      t3501: check that commits are actually done
      t3404: Add test case for aborted --continue after "edit"
      t3404: Add test case for auto-amending only edited commits after "edit"
      builtin-commit.c: do not remove COMMIT_EDITMSG
      githooks.txt: add missing word

Thomas Rast (3):
      diff: accept -- when using --no-index
      diff --no-index: test for pager after option parsing
      diff --no-index -q: fix endless loop

jidanni@jidanni.org (4):
      Documentation/diff-options.txt: unify options
      Documentation/git-tag.txt: minor typo and grammar fix
      Documentation/git-push.txt: minor: compress one option
      contrib/examples/README: give an explanation of the status of these files


Version v1.6.1; changes since v1.6.1-rc4:
-----------------------------------------

Johannes Schindelin (1):
      rebase -i -p: leave a --cc patch when a merge could not be redone

Johannes Sixt (2):
      Show a failure of rebase -p if the merge had a conflict
      rebase -i -p: Fix --continue after a merge could not be redone

Junio C Hamano (1):
      GIT 1.6.1

Miklos Vajna (1):
      t9129: skip the last three tests if UTF-8 locale is not available


Version v1.6.1-rc4; changes since v1.6.1-rc3:
---------------------------------------------

Alexander Gavrilov (2):
      git-gui: Fix handling of relative paths in blame.
      git-gui: Fix commit encoding handling.

Arjen Laarhoven (1):
      Enable threaded delta search on Mac OS X/Darwin

Boyd Stephen Smith Jr (1):
      git-revert documentation: refer to new HOWTO on reverting faulty merges

Christian Stimming (3):
      git-gui: Update German (completed) translation.
      gitk: Mark forgotten strings (header sentence parts in color chooser) for translation
      gitk: Update German translation

David Aguilar (1):
      git-mergetool: properly handle "git mergetool -- filename"

Fredrik Skolmli (1):
      git-gui: Starting translation for Norwegian

Giuseppe Bilotta (1):
      gitk: Map / to focus the search box

Johannes Schindelin (3):
      fast-import: close pack before unlinking it
      git-gui: Get rid of the last remnants of GIT_CONFIG_LOCAL
      fast-export: deal with tag objects that do not have a tagger

Johannes Sixt (3):
      gitk: Use check-buttons' -text property instead of separate labels
      gitk: Ensure that "Reset branch" menu entry is enabled
      gitk: Force the focus to the main window on Windows

Junio C Hamano (12):
      git-show: do not segfault when showing a bad tag
      pager: do not dup2 stderr if it is already redirected
      gitweb: do not run "git diff" that is Porcelain
      GIT 1.5.4.7
      gitweb: do not run "git diff" that is Porcelain
      make_absolute_path(): check bounds when seeing an overlong symlink
      builtin-blame.c: use strbuf_readlink()
      combine-diff.c: use strbuf_readlink()
      fast-import: make tagger information optional
      Make sure lockfiles are unlocked when dying on SIGPIPE
      send-email: futureproof split_addrs() sub
      GIT 1.6.1-rc4

Kevin Ballard (1):
      gitk: Allow unbalanced quotes/braces in commit headers

Kirill A. Korinskiy (1):
      Remove the requirement opaquelocktoken uri scheme

Lee Marlow (2):
      bash completion: Sort config completion variables
      bash completion: Sync config variables with their man pages

Linus Torvalds (5):
      Add generic 'strbuf_readlink()' helper function
      Make 'ce_compare_link()' use the new 'strbuf_readlink()'
      Make 'index_path()' use 'strbuf_readlink()'
      Make 'diff_populate_filespec()' use the new 'strbuf_readlink()'
      Make 'prepare_temp_file()' ignore st_size for symlinks

Marcel M. Cary (1):
      git-sh-setup: Fix scripts whose PWD is a symlink into a git work-dir

Markus Heidelberg (7):
      Documentation: fix description for enabling hooks
      doc/git-reset: add reference to git-stash
      Documentation: sync example output with git output
      Documentation: fix typos, grammar, asciidoc syntax
      Documentation: fix typos, grammar, asciidoc syntax
      Documentation/git-show-branch: work around "single quote" typesetting glitch
      doc/git-fsck: change the way for getting heads' SHA1s

Michael J Gruber (1):
      test overlapping ignore patterns

Michele Ballabio (1):
      git gui: update Italian translation

Miklos Vajna (4):
      git-gui: Update Hungarian translation for 0.12
      git-daemon documentation: use {tilde}
      githooks documentation: add a note about the +x mode
      SubmittingPatches: mention the usage of real name in Signed-off-by: lines

Nanako Shiraishi (3):
      git-gui: Update Japanese translation for 0.12
      Clarify documentation of "git checkout <tree-ish> paths" syntax
      Add a documentat on how to revert a faulty merge

Paul Mackerras (1):
      gitk: Fix bugs in blaming code

Peter Krefting (2):
      git-gui: Updated Swedish translation (515t0f0u).
      git-gui: Fixed typos in Swedish translation.

René Scharfe (3):
      Fix type-mismatch compiler warning from diff_populate_filespec()
      connect.c: stricter port validation, silence compiler warning
      fast-import.c: stricter strtoul check, silence compiler warning

Richard Hartmann (2):
      Make help entries alphabetical
      Always show which directory is not a git repository

Robin Rosenberg (1):
      git-revert: record the parent against which a revert was made

Shawn O. Pearce (2):
      git-gui: Update po template to include 'Mirroring %s' message
      git-gui 0.12

Wu Fengguang (1):
      git-send-email: handle email address with quoted comma


Version v1.6.1-rc3; changes since v1.6.1-rc2:
---------------------------------------------

Alexander Gavrilov (1):
      Documentation: Describe git-gui Tools menu configuration options.

Alexander Potashev (2):
      Fix typos in documentation
      Fix typo in comment in builtin-add.c

Alexey Borzenkov (1):
      Define linkgit macro in [macros] section

Brandon Casey (1):
      git-branch: display sha1 on branch deletion

Deskin Miller (1):
      git-svn: Make following parents atomic

Jakub Narębski (1):
      gitweb: Fix bug in insert_file() subroutine

Jeff King (5):
      reorder ALLOW_TEXTCONV option setting
      diff: allow turning on textconv explicitly for plumbing
      diff: fix handling of binary rewrite diffs
      diff: respect textconv in rewrite diffs
      rebase: improve error messages about dirty state

Jim Meyering (1):
      git-config.txt: fix a typo

Johannes Schindelin (1):
      Get rid of the last remnants of GIT_CONFIG_LOCAL

Junio C Hamano (4):
      builtin-checkout.c: check error return from read_cache()
      read-cache.c: typofix in comment
      work around Python warnings from AsciiDoc
      Fix t4031

Linus Torvalds (1):
      fsck: reduce stack footprint

Markus Heidelberg (1):
      builtin-commit: remove unused message variable

Nicolas Pitre (1):
      make sure packs to be replaced are closed beforehand

Ralf Wildenhues (1):
      Improve language in git-merge.txt and related docs

Tor Arvid Lund (1):
      git-p4: Fix regression in p4Where method.

YONETANI Tomokazu (1):
      git-fast-import possible memory corruption problem


Version v1.6.1-rc2; changes since v1.6.1-rc1:
---------------------------------------------

Alex Riesen (3):
      Make some of fwrite/fclose/write/close failures visible
      Make chdir failures visible
      Report symlink failures in merge-recursive

Alexander Gavrilov (2):
      gitk: Make line origin search update the busy status
      gitk: Add a menu option to start git gui

Christian Couder (2):
      bisect: fix "git bisect skip <commit>" and add tests cases
      Documentation: describe how to "bisect skip" a range of commits

Christian Stimming (1):
      gitk: Update German translation

Davide Libenzi (1):
      xdiff: give up scanning similar lines early

Deskin Miller (1):
      git-svn: Make branch use correct svn-remote

Giuseppe Bilotta (2):
      gitweb: make gitweb_check_feature a boolean wrapper
      Update comment on gitweb_check/get_feature

Jakub Narębski (2):
      gitweb: Fix handling of non-ASCII characters in inserted HTML files
      gitweb: Make project specific override for 'grep' feature work

Jeff King (2):
      add stage to gitignore
      tag: delete TAG_EDITMSG only on successful tag

Johannes Sixt (1):
      t4030-diff-textconv: Make octal escape sequence more portable

Junio C Hamano (17):
      builtin-rm.c: explain and clarify the "local change" logic
      git add --intent-to-add: fix removal of cached emptiness
      git add --intent-to-add: do not let an empty blob be committed by accident
      gitweb: fix 'ctags' feature check and others
      gitweb: rename gitweb_check_feature to gitweb_get_feature
      Makefile: introduce NO_PTHREADS
      Install git-stage in exec-path
      git-am --whitespace: do not lose the command line option
      git-am: propagate -C<n>, -p<n> options as well
      git-am: propagate --3way options as well
      Test that git-am does not lose -C/-p/--whitespace options
      git-am: rename apply_opt_extra file to apply-opt
      Update draft release notes to 1.6.1
      GIT 1.6.0.5
      Update draft release notes for 1.6.1
      Revert "git-stash: use git rev-parse -q"
      Point "stale" 1.6.0.5 documentation from the main git documentation page

Linus Torvalds (1):
      Add backslash to list of 'crud' characters in real name

Mark Burton (1):
      git-gui: Teach start_push_anywhere_action{} to notice when remote is a mirror.

Matt McCutchen (1):
      "git diff <tree>{3,}": do not reverse order of arguments

Miklos Vajna (8):
      User's Manual: remove duplicated url at the end of Appendix B
      git-stash: use git rev-parse -q
      filter-branch: use git rev-parse -q
      lost-found: use git rev-parse -q
      pull: use git rev-parse -q
      rebase: use git rev-parse -q
      submodule: use git rev-parse -q
      http.c: use 'git_config_string' to get 'curl_http_proxy'

Nguyễn Thái Ngọc Duy (1):
      Extend index to save more flags

Paul Mackerras (3):
      gitk: Fix context menu items for generating diffs when in tree mode
      gitk: Highlight only when search type is "containing:".
      gitk: Fix bug in accessing undefined "notflag" variable

Scott Chacon (1):
      Add a built-in alias for 'stage' to the 'add' command

Thomas Rast (1):
      fetch-pack: Avoid memcpy() with src==dst

Tor Arvid Lund (1):
      git-p4: Fix bug in p4Where method.


Version v1.6.1-rc1; changes since v1.6.0.6:
-------------------------------------------

Abhijit Menon-Sen (1):
      Make cherry-pick use rerere for conflict resolution.

Alex Riesen (11):
      Extend "checkout --track" DWIM to support more cases
      Remove calculation of the longest command name from where it is not used
      Remove useless memset of static command name lists in builtin-merge.c
      Make main_cmds and other_cmds local to builtin-help.c
      Allow git help work without PATH set
      list_commands: only call git_exec_path if it is needed
      Add help.autocorrect to enable/disable autocorrecting
      Cleanup remove_path
      Fix potentially dangerous uses of mkpath and git_path
      Fix handle leak in sha1_file/unpack_objects if there were damaged object data
      Fix t4030-diff-textconv.sh

Alexander Gavrilov (58):
      git-gui: Support starting gitk from Gui Blame
      git-gui: Support passing blame to a parent commit.
      git-gui: Better positioning in Blame Parent Commit
      git-gui: Allow specifying an initial line for git gui blame.
      gitk: Add option to specify the default commit on command line
      gitk: Add menu item for calling git gui blame
      git-gui: Support resolving conflicts via the diff context menu.
      git-gui: Support calling merge tools.
      git-gui: Don't allow staging files with conflicts.
      git-gui: Support more merge tools.
      git-gui: Support conflict states _U & UT.
      git-gui: Reimplement and enhance auto-selection of diffs.
      git-gui: Make F5 reselect a diff, if an untracked file is selected.
      git-gui: Show special diffs for complex conflict cases.
      git-gui: Fix Blame Parent & Context for working copy lines.
      git-gui: Restore ability to Stage Working Copy for conflicts.
      gitk: Fix a bug in collapsing deeply nested trees
      git-gui: Add more integration options to citool.
      git-gui: Cleanup handling of the default encoding.
      git-gui: Add a menu of available encodings.
      git-gui: Allow forcing display encoding for diffs using a submenu.
      git-gui: Optimize encoding name resolution using a lookup table.
      git-gui: Support the encoding menu in gui blame.
      git-gui: Reenable staging unmerged files by clicking the icon.
      git-gui: Make Ctrl-T safe to use for conflicting files.
      git-gui: Fix the blame window shape.
      git-gui: Add a search command to the blame viewer.
      git-gui: Fix the blame viewer destroy handler.
      gitk: Enhance file encoding support
      gitk: Implement batch lookup and caching of encoding attrs
      gitk: Allow forcing branch creation if it already exists
      gitk: Fix file list context menu for merge commits
      builtin-blame: Reencode commit messages according to git-log rules.
      gitk: Allow starting gui blame for a specific line
      git-gui: Add a dialog that shows the OpenSSH public key.
      git-gui: Add a simple implementation of SSH_ASKPASS.
      Windows: Make OpenSSH properly detect tty detachment.
      gitweb: Use single implementation of export_ok check.
      gitweb: Add a per-repository authorization hook.
      gitweb: Fix mod_perl support.
      gitk: Add Return and Escape bindings to dialogs
      gitk: Make gitk dialog windows transient
      gitk: Make cherry-pick call git-citool on conflicts
      gitk: Implement a user-friendly Edit View dialog
      git-gui: Fix focus transition in the blame viewer.
      git-gui: Add the Show SSH Key item to the clone dialog.
      git-gui: Request blame metadata in utf-8.
      gitk: Add accelerators to frequently used menu commands
      gitk: Fix transient windows on Win32 and MacOS
      gitk: Fix commit encoding support
      Documentation: New GUI configuration and command-line options.
      git-gui: Implement system-wide configuration handling.
      git-gui: Fix the after callback execution in rescan.
      git-gui: Add a Tools menu for arbitrary commands.
      git-gui: Allow Tools request arguments from the user.
      git-gui: Implement automatic rescan after Tool execution.
      git-gui: Fix the search bar destruction handler.
      gitk: Avoid handling the Return key twice in Add Branch

Alexandre Julliard (9):
      git.el: Improve error handling for commits.
      git.el: Remove the env parameter in git-call-process and git-call-process-string.
      git.el: Simplify handling of merge heads in the commit log-edit buffer.
      git.el: Properly handle merge commits in git-amend-commit.
      git.el: Fix git-amend-commit to support amending an initial commit.
      git.el: Never clear the status buffer, only update the files.
      git.el: Add an insert file command.
      git.el: Add possibility to mark files directly in git-update-status-files.
      git.el: Allow to commit even if there are no marked files.

Anders Melchiorsen (2):
      wt-status: Split header generation into three functions
      wt-status: Teach how to discard changes in the working directory

Andreas Ericsson (3):
      Teach "git diff -p" to locate PHP class methods
      git commit: Reformat output somewhat
      rebase: Support preserving merges in non-interactive mode

Arjen Laarhoven (1):
      t6023-merge-file: Work around non-portable sed usage

Bert Wesarg (1):
      for-each-ref: `:short` format for `refname`

Brandon Casey (9):
      remote.c: add a function for deleting a refspec array and use it (twice)
      dir.c: Avoid c99 array initialization
      t4018-diff-funcname: test syntax of builtin xfuncname patterns
      diff.c: remove duplicate bibtex pattern introduced by merge 92bb9785
      xdiff-interface.c: strip newline (and cr) from line before pattern matching
      Replace xmalloc/memset(0) pairs with xcalloc
      t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-'
      Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer
      t4018-diff-funcname: add objective-c xfuncname pattern to syntax test

Brian Downing (4):
      Make xdi_diff_outf interface for running xdiff_outf diffs
      Use strbuf for struct xdiff_emit_state's remainder
      Always initialize xpparam_t to 0
      Allow alternate "low-level" emit function from xdl_diff

Brian Gernhardt (2):
      format-patch: autonumber by default
      Avoid using non-portable `echo -n` in tests.

Cheng Renquan (2):
      git-remote: match usage string with the manual pages
      git-remote: add verbose mode to git remote update

Christian Couder (10):
      merge-base: teach "git merge-base" to drive underlying merge_bases_many()
      bisect: test merge base if good rev is not an ancestor of bad rev
      bisect: only check merge bases when needed
      bisect: remove "checkout_done" variable used when checking merge bases
      refs: improve comments about "reading" argument of "resolve_ref"
      bisect: fix missing "exit"
      Documentation: user-manual: add information about "git help" at the beginning
      Documentation: tutorial: add information about "git help" at the beginning
      git-gui: french translation update
      bisect: teach "skip" to accept special arguments like "A..B"

Christian Stimming (5):
      git-gui: Mark forgotten strings for translation.
      git-gui: I18n fix sentence parts into full sentences for translation again.
      git-gui: Updated German translation.
      gitk: Add untranslated error messages to translation
      git-gui: Update German translation.

Dan Hensgen (1):
      git-merge documentation: more details about resolving conflicts

Daniel Lowe (1):
      Fix non-literal format in printf-style calls

David Aguilar (3):
      git-submodule: replace duplicated code with a module_list function
      git-submodule: add "sync" command
      tests: add a testcase for "git submodule sync"

David Bryson (1):
      Use "git_config_string" to simplify "builtin-gc.c" code where "prune_expire" is set

David M. Syzdek (5):
      Build: add NO_UINTMAX_T to support ancient systems
      Add Makefile check for FreeBSD 4.9-SECURITY
      autoconf: Add link tests to each AC_CHECK_FUNC() test
      Make Pthread link flags configurable
      Add autoconf tests for pthreads

David Soria Parra (1):
      cast pid_t's to uintmax_t to improve portability

David Symonds (1):
      git-diff: Add --staged as a synonym for --cached.

Davide Libenzi (1):
      xdiff: give up scanning similar lines early

Deskin Miller (4):
      git-svn: testcase for partial rebuild
      git-svn: do a partial rebuild if rev_map is out-of-date
      git-svn: proper detection of bare repositories
      git-svn: proper detection of bare repositories

Dmitry Potapov (14):
      teach index_fd to work with pipes
      correct argument checking test for git hash-object
      correct usage help string for git-hash-object
      use parse_options() in git hash-object
      add --path option to git hash-object
      add --no-filters option to git hash-object
      mingw: remove use of _getdrive() from lstat/fstat
      add have_git_dir() function
      mingw: move common functionality to win32.h
      cygwin: Use native Win32 API for stat
      do not segfault if make_cache_entry failed
      print an error message for invalid path
      check-attr: add an internal check_attr() function
      check-attr: Add --stdin option

Dotan Barak (1):
      Use xmalloc() and friends to catch allocation failures

Eric Wong (7):
      git-svn: check error code of send_txstream
      t9124: clean up chdir usage
      git-svn: fix handling of even funkier branch names
      git-svn: don't escape tilde ('~') for http(s) URLs
      git-svn: respect i18n.commitencoding config
      git-svn: don't escape tilde ('~') for http(s) URLs
      git-svn: respect i18n.commitencoding config

Florian Ragwitz (1):
      Add git-svn branch to allow branch creation in SVN repositories

Florian Weimer (3):
      git-svn: extract base blob in generate_diff
      git-svn: Introduce SVN::Git::Editor::_chg_file_get_blob
      git-svn: Send deltas during commits

Fredrik Skolmli (1):
      Documentation: Spelling fix

Garry Dolley (1):
      Fixed some grammatical errors in git-rebase.txt documentation.

Giovanni Funchal (1):
      configure: auto detect dynamic library path switches

Giuseppe Bilotta (12):
      gitweb: ref markers link to named shortlogs
      gitweb: shortlog now also obeys $hash_parent
      gitweb: refactor input parameters parse/validation
      gitweb: parse project/action/hash_base:filename PATH_INFO
      gitweb: generate project/action/hash URLs
      gitweb: use_pathinfo filenames start with /
      gitweb: parse parent..current syntax from PATH_INFO
      gitweb: generate parent..current URLs
      gitweb: make the supported snapshot formats array global
      gitweb: retrieve snapshot format from PATH_INFO
      gitweb: embed snapshot format parameter in PATH_INFO
      git-gui: try to provide a window icon under X

Gustaf Hendeby (2):
      Update .gitignore to ignore git-help
      git-gui: Teach git gui about file type changes

Heikki Orsila (1):
      diff --dirstat-by-file: count changed files, not lines

Jakub Narębski (1):
      gitweb: Better processing format string in custom links in navbar

Jan Krüger (1):
      Introduce receive.denyDeletes

Jeff King (28):
      run-command: add pre-exec callback
      spawn pager via run_command interface
      format-patch: use default diff format even with patch options
      tests: grep portability fixes
      reformat informational commit message
      tutorial: update output of git commit
      tests: shell negation portability fix
      t4012: use test_cmp instead of cmp
      diff: unify external diff and funcname parsing code
      diff: introduce diff.<driver>.binary
      diff: add filter for converting binary to text
      document "intent to add" option to git-add
      rm: loosen safety valve for empty files
      submodule: fix some non-portable grep invocations
      diff: add missing static declaration
      document the diff driver textconv feature
      refactor userdiff textconv code
      userdiff: require explicitly allowing textconv
      only textconv regular files
      wt-status: load diff ui config
      add userdiff textconv tests
      enable textconv for diff in verbose status/commit
      t5400: expect success for denying deletion
      t5516: refactor oddball tests
      receive-pack: detect push to current branch of non-bare repo
      define empty tree sha1 as a macro
      wt-status: refactor initial commit printing
      status: show "-v" diff even for initial commit

Jim Meyering (4):
      add boolean diff.suppress-blank-empty config option
      SubmittingPatches: fix a typo
      reword --full-index description
      xdiff-interface.c: remove 10 duplicated lines

Joey Hess (2):
      git-daemon: set REMOTE_ADDR to client address
      sha1_file: avoid bogus "file exists" error message

Johan Herland (3):
      Teach "git diff -p" HTML funcname patterns
      Fix AsciiDoc errors in merge documentation
      Fix submodule sync with relative submodule URLs

Johannes Schindelin (7):
      t9700: remove useless check
      tests: Clarify dependencies between tests, 'aggregate-results' and 'clean'
      Enable parallel tests
      checkout --track: make up a sensible branch name if '-b' was omitted
      test-lib: do not remove trash_directory if called with --debug
      git wrapper: DWIM mistyped commands
      Document levenshtein.c

Johannes Sixt (11):
      Revert "Windows: Use a customized struct stat that also has the st_blocks member."
      filter-branch: Grok special characters in tag names
      Windows: git-shell can be compiled again
      compat/mingw: Support a timeout in the poll emulation if no fds are given
      git-gui: Do not automatically stage file after merge tool finishes
      git-gui: Remove space from the end of aspell's reply before processing
      git-gui: Fix switch statement in lib/merge.tcl
      git-gui: Show a round number of bytes of large untracked text files
      git-gui: Mark-up strings in show_{other,unmerged}_diff() for localization
      git-remote: list branches in vertical lists
      git-gui: Do not munge conflict marker lines in a normal diff

John Chapman (2):
      git-p4: Support purged files and optimize memory usage
      git-p4: Cache git config for performance

Jonas Fonseca (1):
      git-check-attr(1): use 'verse' for multi-line synopsis sections

Jonathan del Strother (3):
      Revert "Convert output messages in merge-recursive to past tense."
      Add OS X support to the pre-auto-gc example hook
      Teach git diff about Objective-C syntax

Joshua Williams (1):
      git-gui: Add support for calling out to the prepare-commit-msg hook

Junio C Hamano (78):
      builtin-add.c: restructure the code for maintainability
      builtin-add.c: optimize -A option and "git add ."
      imap-send.c: more style fixes
      documentation: merge-base: explain "git merge-base" with more than 2 args
      merge-base-many: add trivial tests based on the documentation
      git-merge-octopus: use (merge-base A (merge B C D E...)) for stepwise merge
      revision.c: whitespace fix
      revision traversal: show full history with merge simplification
      Topo-sort before --simplify-merges
      update-index: refuse to add working tree items beyond symlinks
      add: refuse to add working tree items beyond symlinks
      xdiff-interface: hide the whole "xdiff_emit_state" business from the caller
      revision --simplify-merges: use decoration instead of commit->util field
      index: future proof for "extended" index entries
      tests: use $TEST_DIRECTORY to refer to the t/ directory
      Start 1.6.1 cycle
      Makefile: Allow CC_LD_DYNPATH to be overriden
      revision --simplify-merges: do not leave commits unprocessed
      revision --simplify-merges: make it a no-op without pathspec
      compat: introduce on_disk_bytes()
      shell: do not play duplicated definition games to shrink the executable
      Build-in "git-shell"
      Update draft release notes for 1.6.1
      Fix "git-merge -s bogo" help text
      templates/Makefile: install is unnecessary, just use mkdir -p
      t7606: fix custom merge test
      Revert "Build-in "git-shell""
      daemon.c: minor style fixup
      checkout -f: allow ignoring unmerged paths when checking out of the index
      checkout --ours/--theirs: allow checking out one side of a conflicting merge
      xdl_fill_merge_buffer(): separate out a too deeply nested function
      xdiff-merge: optionally show conflicts in "diff3 -m" style
      xmerge.c: minimum readability fixups
      xmerge.c: "diff3 -m" style clips merge reduction level to EAGER or less
      rerere.c: use symbolic constants to keep track of parsing states
      rerere: understand "diff3 -m" style conflicts with the original
      merge.conflictstyle: choose between "merge" and "diff3 -m" styles
      git-merge-recursive: learn to honor merge.conflictstyle
      checkout -m: recreate merge when checking out of unmerged index
      diff: vary default prefix depending on what are compared
      git commit --author=$name: look $name up in existing commits
      git-add --intent-to-add (-N)
      checkout --conflict=<style>: recreate merge in a non-default style
      git-merge documentation: describe how conflict is presented
      Update draft release notes for 1.6.1
      safe_create_leading_directories(): make it about "leading" directories
      git-apply:--include=pathspec
      Update draft release notes for 1.6.1
      daemon.c: avoid setlinebuf()
      is_directory(): a generic helper function
      receive-pack: make it a builtin
      push: prepare sender to receive extended ref information from the receiver
      push: receiver end advertises refs from alternate repositories
      Fix git-diff-tree --stdin
      diff: use extended regexp to find hunk headers
      diff: fix "multiple regexp" semantics to find hunk header comment
      Update draft release notes to 1.6.1
      t5510: test "git fetch" following tags minimally
      Update draft release notes to 1.6.1
      Fix reading of cloud tags
      Update draft release notes for 1.6.1
      Fix mismerge at cdb22c4 in builtin-checkout.c
      rebase-i-p: minimum fix to obvious issues
      git-rebase--interactive.sh: comparision with == is bashism
      receive-pack: fix "borrowing from alternate object store" implementation
      compat/cygwin.c: make runtime detection of lstat/stat lessor impact
      Stop using compat/regex.c on platforms with working regexp library
      Update draft release notes to 1.6.1
      Update draft release notes to 1.6.1
      Update draft release notes to 1.6.1
      t5303: work around printf breakage in dash
      t5303: fix printf format string for portability
      git.html: Update the links to stale versions
      Update draft release notes to 1.6.1
      builtin-remote.c: plug a small memory leak in get_one_remote_for_updates()
      send-email: do not reverse the command line arguments
      Include git-gui--askpass in git-gui RPM package
      GIT 1.6.1-rc1

Karl Wiberg (4):
      Refactoring: Split up diff_tree_stdin
      diff-tree: Note that the commit ID is printed with --stdin
      Teach git diff-tree --stdin to diff trees
      Add test for diff-tree --stdin with two trees

Kirill Smelkov (1):
      Teach "git diff -p" Python funcname patterns

Lee Marlow (2):
      bash completion: Add 'workflows' to 'git help'
      workflows documentation: fix link to git-request-pull[1]

Linus Torvalds (8):
      date/time: do not get confused by fractional seconds
      Add a 'source' decorator for commits
      revision: make tree comparison functions take commits rather than trees
      Make '--decorate' set an explicit 'show_decorations' flag
      revision traversal: '--simplify-by-decoration'
      Add cache preload facility
      Fix machine-parseability of 'git log --source'
      Fix index preloading for racy dirty case

Marcel Koeppen (1):
      t9129-git-svn-i18n-commitencoding: Make compare_svn_head_with() compatible with OSX sed

Marcus Griep (2):
      count-objects: Add total pack size to verbose output
      Update t/.gitignore to ignore all trash directories

Marek Zawirski (1):
      Make push more verbose about illegal combination of options

Mark Burton (2):
      Documentation: rev-list-options.txt: added --branches, --tags & --remotes.
      git-commit.txt - mention that files listed on the command line must be known to git.

Mark Levedahl (5):
      git-submodule - Add 'foreach' subcommand
      git-submodule.sh - Remove trailing / from URL if found
      git-submodule.sh - Remove trailing / from URL if found
      git-submodule - Use "get_default_remote" from git-parse-remote
      compat/cygwin.c - Use cygwin's stat if core.filemode == true

Markus Heidelberg (1):
      Makefile: add install-man rules (quick and normal)

Marten Svanfeldt (dev) (2):
      Git.pm: Make _temp_cache use the repository directory
      git-svn: Update git-svn to use the ability to place temporary files within repository directory

Matt McCutchen (2):
      "git diff <tree>{3,}": do not reverse order of arguments
      git-merge-recursive: honor merge.conflictstyle once again

Matthias Kestenholz (1):
      bash-completion: Add all submodule subcommands to the completion list

Michael J Gruber (3):
      allow installation of man and html doc from the man and html branches
      separate build targets for man and html documentation
      make prune report removed objects on -v

Michael Witten (9):
      Docs: send-email's usage text and man page mention same options
      Docs: send-email usage text much sexier
      Docs: send-email: Man page option ordering
      send-email: change --no-validate to boolean --[no-]validate
      Docs: send-email: --chain_reply_to -> --[no-]chain-reply-to
      Docs: send-email: Remove unnecessary config variable description
      Docs: send-email: Create logical groupings for --help text
      Docs: send-email: Create logical groupings for man text
      send-email: signedoffcc -> signedoffbycc, but handle both

Michele Ballabio (1):
      git gui: update Italian translation

Mikael Magnusson (1):
      Correct output of git-count-objects.

Mike Ralphson (1):
      gitweb: Sort the list of forks on the summary page by age

Miklos Vajna (36):
      builtin-help: make some internal functions available to other builtins
      builtin-merge: allow using a custom strategy
      Add a new test for using a custom merge strategy
      Add a second testcase for handling invalid strategies in git-merge
      builtin-help: always load_command_list() in cmd_help()
      Builtin git-help.
      Split out merge_recursive() to merge-recursive.c
      merge-recursive: introduce merge_options
      builtin-merge: avoid run_command_v_opt() for recursive and subtree
      cherry-pick/revert: make direct internal call to merge_tree()
      merge-recursive: move call_depth to struct merge_options
      merge-recursive: get rid of the index_only global variable
      merge-recursive: move the global obuf to struct merge_options
      merge-recursive: move current_{file,directory}_set to struct merge_options
      merge-recursive: get rid of virtual_id
      builtin-merge: release the lockfile in try_merge_strategy()
      commit_tree(): add a new author parameter
      builtin-commit: use commit_tree()
      t7603: add new testcases to ensure builtin-commit uses reduce_heads()
      builtin-merge: refresh the index before calling a strategy
      builtin-commit: use reduce_heads() only when appropriate
      Cleanup in sha1_file.c::cache_or_unpack_entry()
      Implement git clone -v
      Add Linux PPC support to the pre-auto-gc example hook
      parse-opt: migrate builtin-checkout-index.
      Implement git remote rename
      remote: add a new 'origin' variable to the struct
      git-remote rename: migrate from remotes/ and branches/
      git-remote: document the migration feature of the rename subcommand
      Update Hungarian translation. 100% completed.
      builtin-branch: use strbuf in delete_branches()
      builtin-branch: use strbuf in fill_tracking_info()
      builtin-branch: use strbuf in rename_branch()
      builtin-clone: use strbuf in guess_dir_name()
      builtin-clone: use strbuf in clone_local() and copy_or_link_directory()
      builtin_clone: use strbuf in cmd_clone()

Nanako Shiraishi (22):
      t/t91XX-svn: start removing use of "git-" from these tests
      t/t91XX git-svn tests: run "git svn" not "git-svn"
      t9200: use "git cvsexportcommit" without dash
      t9300, t9301: use "git fast-import/fast-export" without dash
      t9700: use "git config" without dash
      tests: use "git foo" without dash in strings
      t9101: use "git hash-object" without dash
      Install git-cvsserver in $(bindir)
      remote.c: make free_ref(), parse_push_refspec() and free_refspecs() static.
      graph.c: make many functions static
      usage.c: remove unused functions
      Add contrib/rerere-train script
      dir.c: make dir_add_name() and dir_add_ignored() static
      run-command.c: remove run_command_v_opt_cd()
      config.c: make git_parse_long() static
      commit.c: make read_graft_file() static
      archive.c: make archiver static
      rebase --no-verify
      rebase: Document --no-verify option to bypass pre-rebase hook
      Document "git log --source"
      Document "git log --simplify-by-decoration"
      git-gui: update Japanese translation

Neil Roberts (1):
      config.mak.in: Pass on LDFLAGS from configure

Nicolas Pitre (18):
      sha1write: don't copy full sized buffers
      pack-objects: don't include missing preferred base objects
      t5300: improve SHA1 collision test
      fix openssl headers conflicting with custom SHA1 implementations
      index-pack: rationalize delta resolution code
      index-pack: smarter memory usage during delta resolution
      fix multiple issues in index-pack
      improve index-pack tests
      index-pack: don't leak leaf delta result
      close another possibility for propagating pack corruption
      better validation on delta base object offsets
      make unpack_object_header() non fatal
      make packed_object_info() resilient to pack corruptions
      make check_object() resilient to pack corruptions
      make find_pack_revindex() aware of the nasty world
      pack-objects: allow "fixing" a corrupted pack without a full repack
      extend test coverage for latest pack corruption resilience improvements
      pack-objects: don't leak pack window reference when splitting packs

Paolo Bonzini (1):
      provide more errors for the "merge into empty head" case

Paul Mackerras (17):
      gitk: Use <Button-2> for context menus on OSX
      gitk: Clean up file encoding code and add enable/disable option
      gitk: Fix binding for <Return> in sha1 entry field
      gitk: New way of constructing menus that allows for Alt+letter accelerators
      gitk: Regenerate .po files
      gitk: Turn short SHA1 names into links too
      gitk: Fix some off-by-one errors in computing which line to blame
      gitk: Add a menu item to show where a given line comes from
      gitk: Make the background color of marked lines configurable
      gitk: Unify handling of merge diffs with normal 2-way diffs
      gitk: Make "show origin of this line" work on fake commits
      gitk: Cope with unmerged files in local changes
      gitk: Improve cherry-pick error handling
      gitk: Fix linehtag undefined error with file highlighting
      gitk: Index line[hnd]tag arrays by id rather than row number
      gitk: Fix switch statement in parseviewargs
      gitk: Show local changes properly when we have a path limit

Paul Talacko (1):
      git-svn: set auto_props when renaming files

Pete Harlan (2):
      contrib/hooks/post-receive-email: Put rev display in separate function
      contrib/hooks/post-receive-email: Make revision display configurable

Peter Krefting (1):
      Updated Swedish translation (514t0f0u).

Peter Valdemar Mørch (2):
      Teach git log --check to return an appropriate exit code
      Teach git log --exit-code to return an appropriate exit code

Petr Baudis (22):
      git-web--browse: Support for using /bin/start on MinGW
      git-gui: Clarify the Remote -> Delete... action
      git-gui: Squash populate_{push,fetch}_menu to populate_remotes_menu
      git-gui: Add support for adding remotes
      git-gui: Add support for removing remotes
      git-gui: mkdir -p when initializing new remote repository
      git-gui: Use git web--browser for web browsing
      git-gui: Add Explore Working Copy to the Repository menu
      git-gui: gui.autoexplore makes explorer to pop up automatically after picking
      git-gui: Avoid using the term URL when specifying repositories
      git-gui: Make input boxes in init/clone/open dialogs consistent
      git-gui: Fix removing non-pushable remotes
      git-gui: Fix fetching from remotes when adding them
      gitweb: Clean-up sorting of project list
      gitweb: Quote non-displayable characters in hex, not octal
      config.c: Tolerate UTF8 BOM at the beginning of config file
      gitweb: Identify all summary metadata table rows
      gitweb: Add support for extending the action bar with custom links
      gitweb: Support for tag clouds
      gitweb: Make the by_tag filter delve in forks as well
      gitweb: Support for simple project search form
      Do not rename read-only files during a push

Pierre Habouzit (8):
      Enable threaded delta search on *BSD and Linux.
      parse-opt: migrate fmt-merge-msg.
      parse-opt: migrate git-merge-base.
      parse-opt: migrate builtin-merge-file.
      git send-email: make the message file name more specific.
      git send-email: interpret unknown files as revision lists
      git send-email: add --annotate option
      git send-email: ask less questions when --compose is used.

Pieter de Bie (3):
      builtin-reflog: Allow reflog expire to name partial ref
      builtin-commit.c: show on which branch a commit was added
      git wrapper: also use aliases to correct mistyped commands

Quy Tonthat (1):
      Update RPM spec for the new location of git-cvsserver.

Ralf Wildenhues (2):
      Correct typos in RelNotes-1.6.1
      Fix typos in the documentation.

Raphael Zimmerer (1):
      git grep: Add "-z/--null" option as in GNU's grep.

René Scharfe (15):
      log: add load_ref_decorations()
      move load_ref_decorations() to log-tree.c and export it
      add '%d' pretty format specifier to show decoration
      add alloc_ref_with_prefix()
      use alloc_ref_from_str() everywhere
      make alloc_ref_from_str() the new alloc_ref()
      blame: inline get_patch()
      add xdi_diff_hunks() for callers that only need hunk lengths
      blame: use xdi_diff_hunks(), get rid of struct patch
      add strbuf_expand_dict_cb(), a helper for simple cases
      merge-recursive: use strbuf_expand() instead of interpolate()
      daemon: use strbuf_expand() instead of interpolate()
      daemon: inline fill_in_extra_table_entries()
      daemon: deglobalize variable 'directory'
      remove the unused files interpolate.c and interpolate.h

Richard Quirk (1):
      gitk: Bind Key-Return to create on new branch dialog

Robert Shearman (4):
      git-imap-send: Allow the program to be run from subdirectories of a git tree
      git-imap-send: Support SSL
      imap-send.c: style fixes
      Documentation: Improve documentation for git-imap-send(1)

Romain Francoise (1):
      builtin-help: fallback to GIT_MAN_VIEWER before man

SZEDER Gábor (3):
      bash: use for-each-ref format 'refname:short'
      remove vim syntax highlighting in favor of upstream
      bash: complete full refs

Samuel Tardieu (1):
      Fix deletion of last character in levenshtein distance

Santi Béjar (1):
      rev-list documentation: clarify the two parts of history simplification

Shawn O. Pearce (7):
      Make reflog query '@{1219188291}' act as '@{2008.8.19.16:24:51.-0700}'
      git-gui: Hide commit related UI during citool --nocommit
      git-gui: Use gitattribute "encoding" for file content display
      git-gui: Assume `blame --incremental` output is in UTF-8
      git-gui: Show/hide "Sign Off" based on nocommitmsg option
      describe: Make --tags and --all match lightweight tags more often
      Update the po template

Simon Hausmann (1):
      Make it possible to abort the submission of a change to Perforce

Stephan Beyer (2):
      Fix commit_tree() buffer leak
      merge-recursive.c: Add more generic merge_recursive_generic()

Stephen Haberman (8):
      rebase--interactive: fix parent rewriting for dropped commits
      rebase-i-p: test to exclude commits from todo based on its parents
      rebase-i-p: use HEAD for updating the ref instead of mapping OLDHEAD
      rebase-i-p: delay saving current-commit to REWRITTEN if squashing
      rebase-i-p: fix 'no squashing merges' tripping up non-merges
      rebase-i-p: only list commits that require rewriting in todo
      rebase-i-p: do not include non-first-parent commits touching UPSTREAM
      rebase-i-p: if todo was reordered use HEAD as the rewritten parent

Stephen R. van den Berg (4):
      git-daemon: call logerror() instead of error()
      git-daemon: use LOG_PID, simplify logging code
      git-daemon: Simplify dead-children reaping logic
      git-daemon: rewrite kindergarden, new option --max-connections

Teemu Likonen (1):
      bash completion: Add --[no-]validate to "git send-email"

Thomas Rast (19):
      filter-branch: Extend test to show rewriting bug
      filter-branch: fix ref rewriting with --subdirectory-filter
      filter-branch: use --simplify-merges
      Documentation: rev-list-options: move --simplify-merges documentation
      rev-list: fix --reverse interaction with --parents
      t6013: replace use of 'tac' with equivalent Perl
      git svn: catch lack of upstream info for dcommit earlier
      git svn info: tests: let 'init' test run with SVN 1.5
      git svn info: tests: do not use set -e
      git svn info: tests: use test_cmp instead of git-diff
      git svn info: tests: fix ptouch argument order in setup
      git svn info: make info relative to the current directory
      git svn info: always quote URLs in 'info' output
      git-svn: match SVN 1.5 behaviour of info' on unknown item
      git-svn: fix 'info' tests for unknown items
      Documentation: new upstream rebase recovery section in git-rebase
      Documentation: Refer to git-rebase(1) to warn against rewriting
      Documentation: remove stale howto/rebase-and-edit.txt
      Documentation: add manpage about workflows

Tom Preston-Werner (1):
      connect.c: add a way for git-daemon to pass an error back to client

Tommi Virtanen (1):
      Install git-shell in bindir, too

Tor Arvid Lund (1):
      git-p4: Fix checkout bug when using --import-local.

Trent Piepho (1):
      send-email: Fix Pine address book parsing

Tuncer Ayaz (2):
      Teach/Fix pull/fetch -q/-v options
      Retain multiple -q/-v occurrences in git pull


Version v1.6.0.6; changes since v1.6.0.5:
-----------------------------------------

David Aguilar (1):
      git-mergetool: properly handle "git mergetool -- filename"

Deskin Miller (1):
      git-svn: Make following parents atomic

Jim Meyering (1):
      git-config.txt: fix a typo

Johannes Schindelin (2):
      fast-import: close pack before unlinking it
      fast-export: deal with tag objects that do not have a tagger

Junio C Hamano (6):
      work around Python warnings from AsciiDoc
      git-show: do not segfault when showing a bad tag
      pager: do not dup2 stderr if it is already redirected
      gitweb: do not run "git diff" that is Porcelain
      GIT 1.5.4.7
      fast-import: make tagger information optional

Linus Torvalds (1):
      fsck: reduce stack footprint

Markus Heidelberg (1):
      Documentation: fix typos, grammar, asciidoc syntax

Miklos Vajna (1):
      SubmittingPatches: mention the usage of real name in Signed-off-by: lines

Nicolas Pitre (1):
      make sure packs to be replaced are closed beforehand

Wu Fengguang (1):
      git-send-email: handle email address with quoted comma


Version v1.6.0.5; changes since v1.6.0.4:
-----------------------------------------

Alexandre Julliard (2):
      checkout: Don't crash when switching away from an invalid branch.
      git-submodule: Avoid printing a spurious message.

Brandon Casey (12):
      t7700: demonstrate mishandling of objects in packs with a .keep file
      packed_git: convert pack_local flag into a bitfield and add pack_keep
      pack-objects: new option --honor-pack-keep
      repack: don't repack local objects in packs with .keep file
      repack: do not fall back to incremental repacking with [-a|-A]
      builtin-gc.c: use new pack_keep bitfield to detect .keep file existence
      t7700: demonstrate mishandling of loose objects in an alternate ODB
      sha1_file.c: split has_loose_object() into local and non-local counterparts
      pack-objects: extend --local to mean ignore non-local loose objects too
      t7700: test that 'repack -a' packs alternate packed objects
      repack: only unpack-unreachable if we are deleting redundant packs
      revision.c: use proper data type in call to sizeof() within xrealloc

Bryan Drewery (1):
      Fix misleading wording for git-cherry-pick

Christian Couder (3):
      Documentation: rev-list: change a few instances of "git-cmd" to "git cmd"
      Documentation: bisect: change a few instances of "git-cmd" to "git cmd"
      Documentation: fix links to "everyday.html"

Daniel Lowe (1):
      Fix non-literal format in printf-style calls

Davide Libenzi (1):
      xdiff: give up scanning similar lines early

Jakub Narębski (1):
      gitweb: Make project specific override for 'grep' feature work

Jan Krüger (1):
      Documentation: git-svn: fix example for centralized SVN clone

Jeff King (2):
      commit: Fix stripping of patch in verbose mode.
      tag: delete TAG_EDITMSG only on successful tag

Joey Hess (1):
      sha1_file: avoid bogus "file exists" error message

Johannes Schindelin (1):
      fast-export: use an unsorted string list for extra_refs

Johannes Sixt (1):
      compat/mingw.c: Teach mingw_rename() to replace read-only files

Junio C Hamano (8):
      Makefile: help people who run 'make check' by mistake
      checkout: Fix "initial checkout" detection
      Start 1.6.0.5 cycle
      builtin-ls-files.c: coding style fix.
      Teach ls-files --with-tree=<tree> to work with options other than -c
      Teach "git diff" to honour --[no-]ext-diff
      Update draft release notes to 1.6.0.5
      GIT 1.6.0.5

Linus Torvalds (1):
      date/time: do not get confused by fractional seconds

Martin Koegler (1):
      git push: Interpret $GIT_DIR/branches in a Cogito compatible way

Matt Kraai (1):
      Remove the period after the git-check-attr summary

Matt McCutchen (3):
      config.txt: alphabetize configuration sections
      git checkout: don't warn about unborn branch if -f is already passed
      "git diff <tree>{3,}": do not reverse order of arguments

Miklos Vajna (3):
      Add new testcase to show fast-export does not always exports all tags
      User's Manual: remove duplicated url at the end of Appendix B
      http.c: use 'git_config_string' to get 'curl_http_proxy'

Nguyễn Thái Ngọc Duy (1):
      generate-cmdlist.sh: avoid selecting synopsis at wrong place

Nicolas Pitre (1):
      Fix pack.packSizeLimit and --max-pack-size handling

Pete Wyckoff (1):
      git-p4: fix keyword-expansion regex

Ralf Wildenhues (1):
      Fix typos in the documentation.

SZEDER Gábor (2):
      bash: remove dashed command leftovers
      bash: offer refs instead of filenames for 'git revert'

Sam Vilain (1):
      sha1_file.c: resolve confusion EACCES vs EPERM

Samuel Tardieu (2):
      tag: Check that options are only allowed in the appropriate mode
      tag: Add more tests about mixing incompatible modes and options

Stefan Naewe (2):
      git ls-remote: make usage string match manpage
      request-pull: make usage string match manpage

Thomas Rast (1):
      fetch-pack: Avoid memcpy() with src==dst


Version v1.6.0.4; changes since v1.6.0.3:
-----------------------------------------

Alex Riesen (10):
      Add mksnpath which allows you to specify the output buffer
      Fix mkpath abuse in dwim_ref and dwim_log of sha1_name.c
      Fix potentially dangerous uses of mkpath and git_path
      Plug a memleak in builtin-revert
      Add git_snpath: a .git path formatting routine with output buffer
      Fix potentially dangerous use of git_path in ref.c
      git_pathdup: returns xstrdup-ed copy of the formatted path
      Use git_pathdup instead of xstrdup(git_path(...))
      Add --verbose|-v to test-chmtime
      Use test-chmtime -v instead of perl in t5000 to get mtime of a file

Charles Bailey (1):
      git-archive: work in bare repos

Christian Jaeger (1):
      Git.pm: do not break inheritance

Clemens Buchacher (2):
      do not force write of packed refs
      push: fix local refs update if already up-to-date

Deskin Miller (2):
      git-svn: change dashed git-config to git config
      git-svn: change dashed git-commit-tree to git commit-tree

Gustaf Hendeby (1):
      git-gui: Help identify aspell version on Windows too

Jakub Narębski (1):
      Documentation/gitattributes: Add subsection header for each attribute

Jan Krüger (1):
      Documentation: clarify information about 'ident' attribute

Jeff King (5):
      refactor handling of "other" files in ls-files and status
      correct cache_entry allocation
      pack-objects: avoid reading uninitalized data
      fix overlapping memcpy in normalize_absolute_path
      send-pack: do not send out single-level refs such as refs/stash

Johannes Schindelin (1):
      Fix fetch/pull when run without --update-head-ok

Jonas Fonseca (1):
      asciidoc: add minor workaround to add an empty line after code blocks

Junio C Hamano (9):
      pull: allow "git pull origin $something:$current_branch" into an unborn branch
      Fix "checkout --track -b newbranch" on detached HEAD
      reset --hard/read-tree --reset -u: remove unmerged new paths
      demonstrate breakage of detached checkout with symbolic link HEAD
      Enhance hold_lock_file_for_{update,append}() API
      Start 1.6.0.4 cycle
      Update draft 1.6.0.4 release notes
      format-patch documentation: mention the special case of showing a single commit
      GIT 1.6.0.4

Linus Torvalds (1):
      Add file delete/create info when we overflow rename_limit

Markus Heidelberg (1):
      bash completion: add doubledash to "git show"

Mikael Magnusson (1):
      Document that git-log takes --all-match.

Miklos Vajna (5):
      Fix git branch -m for symrefs.
      rename_ref(): handle the case when the reflog of a ref does not exist
      Fix git update-ref --no-deref -d.
      git branch -m: forbid renaming of a symref
      update-ref --no-deref -d: handle the case when the pointed ref is packed

Nanako Shiraishi (1):
      Install git-cvsserver in $(bindir)

Pierre Habouzit (1):
      git send-email: avoid leaking directory file descriptors.

Quy Tonthat (1):
      Update RPM spec for the new location of git-cvsserver.

Thomas Rast (1):
      add -p: warn if only binary changes present

Tom Preston-Werner (1):
      add instructions on how to send patches to the mailing list with Gmail

Tommi Virtanen (1):
      Install git-shell in bindir, too

Yann Dirson (1):
      Add reference for status letters in documentation.


Version v1.6.0.3; changes since v1.6.0.2:
-----------------------------------------

Abhijit Bhopatkar (1):
      Documentation: Clarify '--signoff' for git-commit

Alec Berryman (2):
      git-svn: factor out svnserve test code for later use
      git-svn: Always create a new RA when calling do_switch for svn://

Alex Riesen (3):
      Remove empty directories in recursive merge
      Add remove_path: a function to remove as much as possible of a path
      Use remove_path from dir.c instead of own implementation

Alexander Gavrilov (1):
      builtin-blame: Fix blame -C -C with submodules.

Björn Steinbrink (1):
      force_object_loose: Fix memory leak

Brandon Casey (14):
      t9700/test.pl: avoid bareword 'STDERR' in 3-argument open()
      t9700/test.pl: remove File::Temp requirement
      diff.c: return pattern entry pointer rather than just the hunk header pattern
      diff.c: associate a flag with each pattern and use it for compiling regex
      diff.*.xfuncname which uses "extended" regex's for hunk header selection
      t4018-diff-funcname: test syntax of builtin xfuncname patterns
      builtin-prune.c: prune temporary packs in <object_dir>/pack directory
      git-stash.sh: don't default to refs/stash if invalid ref supplied
      builtin-merge.c: allocate correct amount of memory
      git-stash.sh: fix flawed fix of invalid ref handling (commit da65e7c1)
      remote.c: correct the check for a leading '/' in a remote name
      t4018-diff-funcname: rework negated last expression test
      t4018-diff-funcname: demonstrate end of line funcname matching flaw
      xdiff-interface.c: strip newline (and cr) from line before pattern matching

Charles Bailey (2):
      Add new test to demonstrate git archive core.autocrlf inconsistency
      Make git archive respect core.autocrlf when creating zip format archives

Chris Frey (1):
      Documentation: clarify the details of overriding LESS via core.pager

Dan McGee (1):
      contrib: update packinfo.pl to not use dashed commands

Daniel Barkalow (1):
      Check early that a new branch is new and valid

David Soria Parra (1):
      Solaris: Use OLD_ICONV to avoid compile warnings

Deskin Miller (2):
      maint: check return of split_cmdline to avoid bad config strings
      git init: --bare/--shared overrides system/global config

Dmitry Potapov (4):
      git-rebase-interactive: do not squash commits on abort
      git-rebase--interactive: auto amend only edited commit
      make prefix_path() never return NULL
      do not segfault if make_cache_entry failed

Eric Raible (1):
      completion: git commit should list --interactive

Eric Wong (1):
      git-svn: fix handling of even funkier branch names

Fabrizio Chiarello (1):
      builtin-clone: fix typo

Garry Dolley (1):
      Clarified gitattributes documentation regarding custom hunk header.

Giuseppe Bilotta (1):
      gitweb: remove PATH_INFO from $my_url and $my_uri

Heikki Orsila (2):
      Start conforming code to "git subcmd" style part 3
      Cosmetical command name fix

Imre Deak (1):
      builtin-apply: fix typo leading to stack corruption

Jakub Narębski (2):
      gitweb: Fix two 'uninitialized value' warnings in git_tree()
      gitweb: Add path_info tests to t/t9500-gitweb-standalone-no-errors.sh

Jeff King (3):
      Makefile: do not set NEEDS_LIBICONV for Solaris 8
      git apply --directory broken for new files
      tests: shell negation portability fix

Joey Hess (1):
      gitweb: avoid warnings for commits without body

Johan Herland (2):
      for-each-ref: Fix --format=%(subject) for log message without newlines
      Use strchrnul() instead of strchr() plus manual workaround

Johannes Schindelin (2):
      git rm: refresh index before up-to-date check
      rebase -i: do not fail when there is no commit to cherry-pick

Johannes Sixt (2):
      git-remote: do not use user input in a printf format string
      git-push.txt: Describe --repo option in more detail

Jonas Fonseca (2):
      checkout: Do not show local changes when in quiet mode
      git-check-attr(1): add output and example sections

Junio C Hamano (15):
      discard_cache: reset lazy name_hash bit
      diff Porcelain: do not disable auto index refreshing on -C -C
      diff --quiet: make it synonym to --exit-code >/dev/null
      Don't verify host name in SSL certs when GIT_SSL_NO_VERIFY is set
      Fix permission bits on sources checked out with an overtight umask
      checkout: do not lose staged removal
      diff/diff-files: do not use --cc too aggressively
      Start draft release notes for 1.6.0.3
      diff: use extended regexp to find hunk headers
      diff hunk pattern: fix misconverted "\{" tex macro introducers
      Update draft release notes to 1.6.0.3
      diff(1): clarify what "T"ypechange status means
      Hopefully the final draft release notes update before 1.6.0.3
      Fix testcase failure when extended attributes are in use
      GIT 1.6.0.3

Linus Torvalds (1):
      fix bogus "diff --git" header from "diff --no-index"

Luc Heinrich (1):
      git-svn: call 'fatal' correctly in set-tree

Matt McCutchen (1):
      t1301-shared-repo.sh: don't let a default ACL interfere with the test

Michael J Gruber (1):
      make "git remote" report multiple URLs

Michael Prokop (1):
      Replace svn.foo.org with svn.example.com in git-svn docs (RFC 2606)

Mikael Magnusson (4):
      Typo "bogos" in format-patch error message.
      git-repack uses --no-repack-object, not --no-repack-delta.
      Fix a few typos in relnotes
      Typo "does not exists" when git remote update remote.

Miklos Vajna (2):
      test-lib: fix color reset in say_color()
      Add testcase to ensure merging an early part of a branch is done properly

Nanako Shiraishi (2):
      docs: describe pre-rebase hook
      Teach rebase -i to honor pre-rebase hook

Nicolas Pitre (2):
      fix pread()'s short read in index-pack
      rehabilitate 'git index-pack' inside the object store

Petr Baudis (1):
      Do not perform cross-directory renames when creating packs

Ping Yin (1):
      git-submodule: Fix "Unable to checkout" for the initial 'update'

Rafael Garcia-Suarez (1):
      Clarify commit error message for unmerged files

SZEDER Gábor (5):
      t0024: add executable permission
      Documentation: remove '\' in front of short options
      rebase -i: proper prepare-commit-msg hook argument when squashing
      rebase -i: remove leftover debugging
      bash: remove fetch, push, pull dashed form leftovers

Samuel Tardieu (1):
      Do not use errno when pread() returns 0

Shawn O. Pearce (3):
      Update release notes for 1.6.0.3
      Update release notes for 1.6.0.3
      test-lib: fix broken printf

Stephen Haberman (1):
      Clarify how the user can satisfy stash's 'dirty state' check.

Thomas Rast (1):
      sha1_file: link() returns -1 on failure, not errno

Todd Zullinger (1):
      Use dashless git commands in setgitperms.perl

Tuncer Ayaz (1):
      Fix fetch/clone --quiet when stdout is connected

Yann Dirson (1):
      Bust the ghost of long-defunct diffcore-pathspec.

martin f. krafft (1):
      Improve git-log documentation wrt file filters


Version v1.6.0.2; changes since v1.6.0.1:
-----------------------------------------

Alex Riesen (1):
      Fix use of hardlinks in "make install"

Alexander Gavrilov (1):
      git-gui: Fix string escaping in po2msg.sh

Alexandre Bourget (2):
      git-gui: Update french translation
      git-gui: update all remaining translations to French.

Andreas Färber (1):
      Makefile: always provide a fallback when hardlinks fail

Arjen Laarhoven (1):
      Use compatibility regex library for OSX/Darwin

Ask Bjørn Hansen (1):
      Document sendemail.envelopesender configuration

Björn Steinbrink (1):
      for-each-ref: Allow a trailing slash in the patterns

Clemens Buchacher (2):
      git gui: show diffs with a minimum of 1 context line
      clone: fix creation of explicitly named target directory

Gustaf Hendeby (1):
      Document clarification: gitmodules, gitattributes

Heikki Orsila (3):
      Start conforming code to "git subcmd" style
      Improve documentation for --dirstat diff option
      Start conforming code to "git subcmd" style part 2

Jeff King (4):
      Fix "git log -i --grep"
      pretty=format: respect date format options
      checkout: fix message when leaving detached HEAD
      Use compatibility regex library also on FreeBSD

Johan Herland (1):
      Bring local clone's origin URL in line with that of a remote clone

Johannes Sixt (1):
      Use compatibility regex library also on AIX

Jonas Fonseca (1):
      Fix passwd(5) ref and reflect that commit doens't use commit-tree

Junio C Hamano (17):
      ctype.c: protect tiny C preprocessor constants
      shell: do not play duplicated definition games to shrink the executable
      Fix example in git-name-rev documentation
      git-apply: Loosen "match_beginning" logic
      checkout: do not check out unmerged higher stages randomly
      gitattributes: -crlf is not binary
      diff: Help "less" hide ^M from the output
      'git foo' program identifies itself without dash in die() messages
      Start 1.6.0.2 maintenance cycle
      diff --cumulative is a sub-option of --dirstat
      log --author/--committer: really match only with name part
      "blame -c" should be compatible with "annotate"
      Mention the fact that 'git annotate' is only for backward compatibility.
      stash: refresh the index before deciding if the work tree is dirty
      Update draft release notes for 1.6.0.2
      Update draft release notes for 1.6.0.2
      GIT 1.6.0.2

Linus Torvalds (2):
      index-pack: be careful after fixing up the header/footer
      Fix '--dirstat' with cross-directory renaming

Marcus Griep (2):
      Git.pm: Use File::Temp->tempfile instead of ->new
      git-svn: Fixes my() parameter list syntax error in pre-5.8 Perl

Miklos Vajna (2):
      Makefile: add merge_recursive.h to LIB_H
      t7501: always use test_cmp instead of diff

Nanako Shiraishi (4):
      tests: use "git xyzzy" form (t0000 - t3599)
      tests: use "git xyzzy" form (t3600 - t6999)
      tests: use "git xyzzy" form (t7000 - t7199)
      tests: use "git xyzzy" form (t7200 - t9001)

Nguyễn Thái Ngọc Duy (6):
      index-pack: setup git repository
      diff*: fix worktree setup
      grep: fix worktree setup
      read-tree: setup worktree if merge is required
      update-index: fix worktree setup
      setup_git_directory(): fix move to worktree toplevel directory

Nicolas Pitre (7):
      discard revindex data when pack list changes
      pack-objects: improve returned information from write_one()
      improve reliability of fixup_pack_header_footer()
      pack-objects: use fixup_pack_header_footer()'s validation mode
      index-pack: use fixup_pack_header_footer()'s validation mode
      fixup_pack_header_footer(): use nicely aligned buffer sizes
      improve handling of sideband message display

Paolo Bonzini (1):
      make git-shell paranoid about closed stdin/stdout/stderr

Paolo Ciarrocchi (1):
      tutorial: gentler illustration of Alice/Bob workflow using gitk

Petr Baudis (1):
      bash completion: Hide more plumbing commands

Ralf Wildenhues (1):
      Fix some manual typos.

Ramsay Jones (2):
      Fix a warning (on cygwin) to allow -Werror
      Suppress some bash redirection error messages

SZEDER Gábor (3):
      Documentation: fix reference to a for-each-ref option
      Documentation: fix disappeared lines in 'git stash' manpage
      Documentation: minor cleanup in a use case in 'git stash' manual

Shawn O. Pearce (2):
      pack-objects: Allow missing base objects when creating thin packs
      git-gui: Fix diff parsing for lines starting with "--" or "++"

Teemu Likonen (1):
      config.txt: Add missing colons after option name

Yann Dirson (1):
      Document gitk --argscmd flag.


Version v1.6.0.1; changes since v1.6.0:
---------------------------------------

Alexander Gavrilov (1):
      Respect core.autocrlf in combined diff

Brandon Casey (3):
      t1002-read-tree-m-u-2way.sh: use 'git diff -U0' rather than 'diff -U0'
      revision.h: make show_early_output an extern which is defined in revision.c
      compat/snprintf.c: handle snprintf's that always return the # chars transmitted

Don Zickus (1):
      mailinfo: re-fix MIME multipart boundary parsing

Eric Raible (1):
      Completion: add missing '=' for 'diff --diff-filter'

Eric Wong (1):
      git-svn: fix dcommit to urls with embedded usernames

Jeff King (2):
      mailinfo: avoid violating strbuf assertion
      decorate: allow const objects to be decorated

Jim Meyering (2):
      git format-patch: avoid underrun when format.headers is empty or all NLs
      remote.c: remove useless if-before-free test

Johannes Sixt (1):
      Install templates with the user and group of the installing personality

Jonathan Nieder (2):
      Documentation: clarify pager.<cmd> configuration
      Documentation: clarify pager configuration

Junio C Hamano (9):
      Start 1.6.0.X maintenance series
      diff --check: do not get confused by new blank lines in the middle
      for-each-ref: cope with tags with incomplete lines
      completion: find out supported merge strategies correctly
      "git-merge": allow fast-forwarding in a stat-dirty tree
      Update draft release notes for 1.6.0.1
      unpack_trees(): protect the handcrafted in-core index from read_cache()
      merge: fix numerus bugs around "trivial merge" area
      GIT 1.6.0.1

Miklos Vajna (2):
      Fix 'git help help'
      Makefile: enable SNPRINTF_RETURNS_BOGUS for HP-UX

Robert Schiele (1):
      adapt git-cvsserver manpage to dash-free syntax

Simon Hausmann (1):
      Clean up the git-p4 documentation

Tarmigan Casebolt (1):
      Add hints to revert documentation about other ways to undo changes

Tor Arvid Lund (1):
      git-p4: Fix one-liner in p4_write_pipe function.


Version v1.6.0; changes since v1.6.0-rc3:
-----------------------------------------

Alex Riesen (1):
      Fix t3700 on filesystems which do not support question marks in names

Alexander Gavrilov (1):
      gitk: Allow safely calling nukefile from a run queue handler

Anand Kumria (14):
      Create a specific version of the read_pipe_lines command for p4 invocations
      Utilise the new 'p4_read_pipe_lines' command
      Have a command that specifically invokes 'p4' (via system)
      Utilise the new 'p4_system' function.
      Add a single command that will be used to construct the 'p4' command
      If we are in verbose mode, output what we are about to run (or return)
      Switch to using 'p4_build_cmd'
      If the user has configured various parameters, use them.
      Consistently use 'git-p4' for the configuration entries
      Move git-p4.syncFromOrigin into a configuration parameters section
      Put some documentation in about the parameters that have been added
      Put in the two other configuration elements found in the source
      Add p4 read_pipe and write_pipe wrappers
      Utilise our new p4_read_pipe and p4_write_pipe wrappers

Brandon Casey (2):
      test-parse-options: use appropriate cast in length_callback
      t5304-prune: adjust file mtime based on system time rather than file mtime

Eric Blake (1):
      Makefile: building git in cygwin 1.7.0

Eric Raible (1):
      bash completion: 'git apply' should use 'fix' not 'strip'

Junio C Hamano (1):
      GIT 1.6.0

Kevin Ballard (1):
      Fix escaping of glob special characters in pathspecs

Lee Marlow (2):
      bash completion: Add completion for 'git mergetool'
      bash completion: Add '--merge' long option for 'git log'

Marcus Griep (2):
      bash-completion: Add non-command git help files to bash-completion
      Git.pm: Make File::Spec and File::Temp requirement lazy

Matt McCutchen (1):
      git format-patch documentation: clarify what --cover-letter does

Miklos Vajna (2):
      Documentation: document the pager.* configuration setting
      t9300: replace '!' with test_must_fail

Robert Blum (1):
      git-p4: chdir now properly sets PWD environment variable in msysGit

Shawn O. Pearce (1):
      git-gui 0.11

Stephan Beyer (3):
      git-am: ignore --binary option
      git-stash: improve synopsis in help and manual page
      Improve error output of git-rebase

Thomas Rast (2):
      rebase -i -p: handle index and workdir correctly
      rebase -i -p: fix parent rewriting


Version v1.6.0-rc3; changes since v1.6.0-rc2:
---------------------------------------------

Brandon Casey (2):
      Makefile: set SHELL to value of SHELL_PATH
      Makefile: add a target which will abort compilation with ancient shells

Eric Wong (2):
      git-svn: add ability to specify --commit-url for dcommit
      git-svn: wrap long lines in a few places

Francis Moreau (1):
      git-bisect: fix wrong usage of read(1)

Gustaf Hendeby (2):
      gitattributes: Document built in hunk header patterns
      Teach git diff about BibTeX head hunk patterns

Ivan Stankovic (1):
      Documentation: fix invalid reference to 'mybranch' in user manual

Johannes Schindelin (1):
      clone --mirror: avoid storing repeated tags

Jonathan Nieder (1):
      Documentation: user-manual: "git commit -a" doesn't motivate .gitignore

Junio C Hamano (9):
      asciidoc markup fixes
      GIT-VERSION-GEN: mark the version 'dirty' only if there are modified files
      mailinfo: fix MIME multi-part message boundary handling
      Update draft RelNotes for 1.6.0
      Fix deleting reflog entries from HEAD reflog
      Re-fix rev-list-options documentation
      diff --check: do not unconditionally complain about trailing empty lines
      Do not talk about "diff" in rev-list documentation.
      GIT 1.6.0-rc3

Marcus Griep (5):
      Fix multi-glob assertion in git-svn
      git-svn: Allow deep branch names by supporting multi-globs
      Git.pm: Add faculties to allow temp files to be cached
      git-svn: Make it incrementally faster by minimizing temp files
      git-svn: Reduce temp file usage when dealing with non-links

Nguyễn Thái Ngọc Duy (1):
      Fix typo in comments of longest_ancestor_length()

Petr Baudis (2):
      Fail properly when cloning from invalid HTTP URL
      Adjust for the new way of enabling the default post-update hook

Pieter de Bie (2):
      builtin-rm: Add a --force flag
      reflog test: add more tests for 'reflog delete'

SZEDER Gábor (1):
      bash: remove redundant check for 'git stash apply' options

Stephen R. van den Berg (1):
      git-daemon: SysV needs the signal handler reinstated.

Thomas Rast (6):
      Documentation: commit-tree: remove 16 parents restriction
      Documentation: filter-branch: document how to filter all refs
      filter-branch: be more helpful when an annotated tag changes
      Documentation: rev-list-options: Fix -g paragraph formatting
      Documentation: rev-list-options: Fix a typo
      Documentation: rev-list-options: Rewrite simplification descriptions for clarity


Version v1.6.0-rc2; changes since v1.6.0-rc1:
---------------------------------------------

Abhijit Menon-Sen (7):
      `git submodule add` now requires a <path>
      Make it clear that push can take multiple refspecs
      Make the DESCRIPTION match <x>... items in the SYNOPSIS
      Git.pm: localise $? in command_close_bidi_pipe()
      Fix hash slice syntax error
      Fix typo in perl/Git.pm
      Fix typos in INSTALL

Alex Riesen (1):
      Make use of stat.ctime configurable

Alexander Gavrilov (9):
      git-gui: Fix the Remote menu separator.
      git-gui: Preserve scroll position on reshow_diff.
      Support copy and rename detection in fast-export.
      gitk: Kill back-end processes on window close
      gitk: Arrange to kill diff-files & diff-index on quit
      gitk: On Windows, use a Cygwin-specific flag for kill
      gitk: Fixed broken exception handling in diff
      gitk: Fixed automatic row selection during load
      gitk: Fallback to selecting the head commit upon load

Anders Melchiorsen (4):
      Advertise the ability to abort a commit
      Documentation: fix diff.external example
      Flush output in start_async
      Add output flushing before fork()

Avery Pennarun (2):
      Teach "git diff -p" Pascal/Delphi funcname pattern
      git-svn: Abort with an error if 'fetch' parameter is invalid.

Brandon Casey (3):
      t/t4202-log.sh: add newline at end of file
      Teach fsck and prune that tmp_obj_ file names may not be 14 bytes long
      perl/Makefile: handle paths with spaces in the NO_PERL_MAKEMAKER section

Brian Gernhardt (1):
      Documentation: Remove mentions of git-svnimport.

Cesar Eduardo Barros (1):
      Documentation/git-rev-parse.txt: update for new git-describe output format

Christian Couder (2):
      merge-base: die with an error message if not passed a commit ref
      documentation: user-manual: update "using-bisect" section

Christian Stimming (2):
      git-gui: Update German translation
      gitk: Updated German translation

Ciaran McCreesh (1):
      Make git-add -i accept ranges like 7-

David D. Kilzer (1):
      Fix race condition in t9119-git-svn-info.sh

Dmitry Potapov (1):
      correct access right for git-svn-dcommit test

Eric Wong (2):
      git-svn: properly set path for "info" command
      t9119: conditionally re-enable test depending on svn(1) version

Giuseppe Bilotta (2):
      diff: add ruby funcname pattern
      diff: chapter and part in funcname for tex

Jeff King (3):
      init: handle empty "template" parameter
      Compact commit template message
      init: handle empty "template" parameter

Jim Meyering (1):
      git-cvsimport.perl: Print "UNKNOWN LINE..." on stderr, not stdout.

Johannes Schindelin (3):
      sort_in_topological_order(): avoid setting a commit flag
      clone: Add an option to set up a mirror
      clone --bare: Add ".git" suffix to the directory name to clone into

Johannes Sixt (1):
      git-gui: Adapt discovery of oguilib to execdir 'libexec/git-core'

Jon Jensen (1):
      Fix reference to Everyday Git, which is an HTML document and not a man page.

Jonathan Nieder (1):
      git-diff(1): "--c" -> "--cc" typo fix

Junio C Hamano (19):
      Allow building without any git installed
      Allow installing in the traditional way
      ls-tree documentation: enhance notes on subdirectory and pathspec behaviour
      Documentation: clarify what is shown in "git-ls-files -s" output
      t7001: fix "git mv" test
      Teach gitlinks to ie_modified() and ce_modified_check_fs()
      Fix merge name generation in "merge in C"
      Fix test-parse-options "integer" test
      Teach --find-copies-harder to "git blame"
      make sure parsed wildcard refspec ends with slash
      Documentation: clarify diff --cc
      Update my e-mail address
      Start 1.5.6.5 RelNotes to describe accumulated fixes
      builtin-name-rev.c: split deeply nested part from the main function
      RelNotes 1.5.6.5 updates
      fix diff-tree --stdin documentation
      Files given on the command line are relative to $cwd
      GIT 1.5.6.5
      GIT 1.6.0-rc2

Kevin Ballard (1):
      format-patch: Produce better output with --inline or --attach

Lee Marlow (11):
      bash completion: remove unused function _git_diff_tree
      bash completion: Add more long options for 'git log'
      bash completion: Add completion for 'git grep'
      bash completion: Add completion for 'git clone'
      bash completion: Add completion for 'git clean'
      bash completion: Add completion for 'git init'
      bash completion: Add completion for 'git revert'
      bash completion: More completions for 'git stash'
      bash completion: Add completion for 'git archive'
      bash completion: Add completion for 'git ls-files'
      bash completion: Add completion for 'git mv'

Linus Torvalds (1):
      diff.renamelimit is a basic diff configuration

Michele Ballabio (2):
      git-gui: update po/it.po
      git-gui: add a part about format strings in po/README

Mikael Magnusson (2):
      git-gui: Update swedish translation.
      gitk: Update swedish translation.

Mike Ralphson (2):
      Documentation: typos / spelling fixes in older RelNotes
      Documentation: typos / spelling fixes

Nanako Shiraishi (1):
      git-gui: update Japanese translation

Olivier Marin (1):
      builtin-verify-tag: fix -v option parsing

Pierre Habouzit (2):
      Allow "non-option" revision options in parse_option-enabled commands
      git-submodule: move ill placed shift.

Pieter de Bie (1):
      git-name-rev: allow --name-only in combination with --stdin

René Scharfe (2):
      archive: allow --exec and --remote without equal sign
      git-name-rev: don't use printf without format

Shawn O. Pearce (2):
      git-gui: Fix gitk search in $PATH to work on Windows
      git-gui: Update git-gui.pot for 0.11 nearing release

Steffen Prohaska (6):
      Refactor, adding prepare_git_cmd(const char **argv)
      run-command (Windows): Run dashless "git <cmd>"
      git-gui: Correct installation of library to be $prefix/share
      git-gui (Windows): Switch to relative discovery of oguilib
      git-gui (Windows): Change wrapper to execdir 'libexec/git-core'
      Modify mingw_main() workaround to avoid link errors

Stephan Beyer (1):
      builtin-revert.c: typofix

Steve Haslam (1):
      Propagate -u/--upload-pack option of "git clone" to transport.

Steven Grimm (1):
      Optimize sha1_object_info for loose objects, not concurrent repacks

Todd Zullinger (1):
      Replace uses of "git-var" with "git var"


Version v1.6.0-rc1; changes since v1.6.0-rc0:
---------------------------------------------

Abhijit Menon-Sen (2):
      git-gui: Look for gitk in $PATH, not $LIBEXEC/git-core
      Clarify that "git log x.c y.h" lists commits that touch either file

Alex Riesen (1):
      Allow pager of diff command be enabled/disabled

Alexander Gavrilov (4):
      Fix pre-commit hooks under MinGW/MSYS
      Add options to control the search for copies in blame.
      Kill the blame back-end on window close.
      Add a menu item to invoke full copy detection in blame.

Anders Melchiorsen (1):
      Documentation: fix diff.external example

Björn Steinbrink (2):
      index-pack.c: correctly initialize appended objects
      rev-parse: Add support for the ^! and ^@ syntax

Brad King (1):
      git-svn: teach dcommit about svn auto-props

Brandon Casey (7):
      t/: Replace diff [-u|-U0] with test_cmp to allow compilation with old diff
      t4116-apply-reverse.sh: use $TAR rather than tar
      t3200,t7201: replace '!' with test_must_fail
      t7502-commit.sh: rearrange test to make more portable
      t/t4202-log.sh: add newline at end of file
      Teach fsck and prune about the new location of temporary objects
      perl/Makefile: update NO_PERL_MAKEMAKER section

Cesar Eduardo Barros (1):
      Documentation/git-submodule.txt: fix doubled word

Daniel Barkalow (1):
      In perforce, RCS keywords are case-sensitive

Jakub Narębski (1):
      gitweb: More about how gitweb gets 'owner' of repository

Johannes Schindelin (9):
      Rename .git/rebase to .git/rebase-apply
      Rename path_list to string_list
      Fix two leftovers from path_list->string_list
      Ignore dirty submodule states in "git pull --rebase"
      Add test to show that show-branch misses out the 8th column
      sort_in_topological_order(): avoid setting a commit flag
      builtin-commit: Two trivial style-cleanups
      git daemon: avoid waking up too often
      Avoid chdir() in list_commands_in_dir()

Johannes Sixt (12):
      rebase -i: When an 'edit' stops, mention the commit
      Makefile: Do not install a copy of 'git' in $(gitexecdir)
      Makefile: Normalize $(bindir) and $(gitexecdir) before comparing
      Record the command invocation path early
      Fix relative built-in paths to be relative to the command invocation
      Allow the built-in exec path to be relative to the command invocation path
      Allow add_path() to add non-existent directories to the path
      Windows: Make $(gitexecdir) relative
      Windows: Make sure argv[0] has a path
      Windows: Do not compile git-shell
      git-gui: Fix "Stage/Unstage Line" with one line of context.
      git-gui: "Stage Line": Treat independent changes in adjacent lines better

Jonathan Nieder (3):
      git-diff(1): "--c" -> "--cc" typo fix
      document that git-tag can tag more than heads
      t6030 (bisect): work around Mac OS X "ls"

Junio C Hamano (13):
      Update my e-mail address
      Revert "make git-status use a pager"
      tests: do not rely on external "patch"
      stash save: fix parameter handling
      builtin-branch.c: remove unused code in append_ref() callback function
      builtin-branch.c: optimize --merged and --no-merged
      Documentation: clarify diff --cc
      ignore non-existent refs in dwim_log()
      tests: propagate $(TAR) down from the toplevel Makefile
      Makefile: fix shell quoting
      Documentation: clarify how to disable elements in core.whitespace
      make sure parsed wildcard refspec ends with slash
      GIT 1.6.0-rc1

Lars Hjemli (3):
      builtin-branch: remove duplicated code
      builtin-branch: factor out merge_filter matching
      builtin-branch: fix -v for --[no-]merged

Lee Marlow (2):
      bash completion: Add long options for 'git rm'
      bash completion: Add completion for 'git help'

Miklos Vajna (2):
      builtin-merge: give a proper error message for invalid strategies in config
      t7601: extend the 'merge picks up the best result' test

Nikolaj Schumacher (1):
      Don't cut off last character of commit descriptions.

Olivier Marin (4):
      git-am: remove dash from help message
      parse-options: fix segmentation fault when a required value is missing
      git am --skip: clean the index while preserving local changes
      update test case to protect am --skip behaviour

P. Christeas (1):
      svnimport: newer libsvn wants us to ask for the root with "", not "/"

Peter Valdemar Mørch (1):
      send-email: find body-encoding correctly

Petr Baudis (4):
      git-filter-branch.sh: Allow running in bare repositories
      Documentation/git-filter-branch: teach "rm" instead of "update-index --remove"
      git-mv: Remove dead code branch
      git-mv: Keep moved index entries inact

Philippe Bruhat (1):
      mailinfo: better parse email adresses containg parentheses

Pierre Habouzit (4):
      builtin-merge: add missing structure initialization
      git-submodule: move ill placed shift.
      git-checkout: fix command line parsing.
      git-checkout: improve error messages, detect ambiguities.

René Scharfe (5):
      archive: add write_archive()
      archive: move parameter parsing code to archive.c
      archive: define MAX_ARGS where it's needed
      archive: declare struct archiver where it's needed
      archive: allow --exec and --remote without equal sign

SZEDER Gábor (2):
      checkout: mention '--' in the docs
      bash: offer only paths after '--' for 'git checkout'

Shawn O. Pearce (2):
      git-gui: Correct 'Visualize Branches' on Mac OS X to start gitk
      fsck: Don't require tmp_obj_ file names are 14 bytes in length

Stephan Beyer (7):
      git-am: Add colon before the subject that is printed out as being applied
      am --abort: Add to bash-completion and mention in git-rerere documentation
      Make non-static functions, that may be static, static
      Move launch_editor() from builtin-tag.c to editor.c
      editor.c: Libify launch_editor()
      git-am: Mention --abort in usage string part of OPTIONS_SPEC
      git-reset: Let -q hush "locally modified" messages

Steve Haslam (2):
      Propagate -u/--upload-pack option of "git clone" to transport.
      Remove references to git-fetch-pack from "git clone" documentation.

Thomas Rast (2):
      git-completion.bash: provide completion for 'show-branch'
      bash completion: Add long options for 'git describe'


Version v1.6.0-rc0; changes since v1.5.6.6:
-------------------------------------------

Abhijit Menon-Sen (4):
      git-gui: Move on to the next filename after staging/unstaging a change
      git-gui: Don't select the wrong file if the last listed file is staged.
      Implement "git stash branch <newbranch> <stash>"
      Add a test for "git stash branch"

Adam Brewster (2):
      Move read_revisions_from_stdin from builtin-rev-list.c to revision.c
      Teach git-bundle to read revision arguments from stdin like git-rev-list.

Alex Riesen (1):
      Fix use of "perl -i" on Windows

Alexander Gavrilov (3):
      Avoid rescanning unchanged entries in search for copies.
      Do not try to detect move/copy for entries below threshold.
      Support gitlinks in fast-import.

Avery Pennarun (1):
      Reword "your branch has diverged..." lines to reduce line length

Brandon Casey (1):
      t7701-repack-unpack-unreachable.sh: check timestamp of unpacked objects

Brian Gernhardt (4):
      Fix t4017-diff-retval for white-space from wc
      Add test results directory to t/.gitignore
      Documentation: Point to gitcli(7) from git(1)
      Documentation: mention ORIG_HEAD in am, merge, and rebase

Christian Couder (2):
      help: check early if we have a command, if not try a documentation topic
      Fix "config_error_nonbool" used with value instead of key

Ciaran McCreesh (1):
      Make git-add -i accept ranges like 7-

Cristian Peraferrer (1):
      Print errno upon failure to open the COMMIT_EDITMSG file

Daniel Barkalow (1):
      Only use GIT_CONFIG in "git config", not other programs

David Reiss (4):
      Implement normalize_absolute_path
      Fold test-absolute-path into test-path-utils
      Add support for GIT_CEILING_DIRECTORIES
      Eliminate an unnecessary chdir("..")

Dmitry Kakurin (1):
      Fixed text file auto-detection: treat EOF character 032 at the end of file as printable

Dmitry Potapov (4):
      update-hook-example: optionally allow non-fast-forward
      shrink git-shell by avoiding redundant dependencies
      completion.bash: add 'skip' and 'run' to git-bisect
      git-svn: fix git svn info to work without arguments

Don Zickus (1):
      git-apply: handle a patch that touches the same path more than once better

Eric Hanchrow (2):
      user-manual: typo and grammar fixes
      Documentation: fix broken "linkgit" links

Eric Raible (3):
      Documentation: tweak use case in "git stash save --keep-index"
      completion: add branch options --contains --merged --no-merged
      Teach lookup_prog not to select directories

Eric Wong (1):
      t/lib-git-svn: fix SVN_HTTPD tests to work with "trash directory"

Fabian Emmes (2):
      Testsuite: Unset CVS_SERVER
      testsuite for cvs co -c

Frederik Schwarzer (1):
      git-svn: typofix

Ian Katz (1):
      tutorial: use prompt with user names in example, to clarify who is doing what

Jakub Narębski (4):
      gitweb: Separate filling list of projects info
      gitweb: Separate generating 'sort by' table header
      t/README: Add 'Skipping Tests' section below 'Running Tests'
      gitweb: Describe projects_index format in more detail

Jeff King (9):
      fix whitespace violations in test scripts
      mask necessary whitespace policy violations in test scripts
      avoid whitespace on empty line in automatic usage message
      avoid trailing whitespace in zero-change diffstat lines
      enable whitespace checking of test scripts
      clone: create intermediate directories of destination repo
      improve for-each-ref test script
      Allow per-command pager config
      avoid null SHA1 in oldest reflog

Jing Xue (1):
      Add 'git-p4.allowSubmit' to git-p4

Johan Herland (4):
      Incorporate fetched packs in future object traversal
      Move pack_refs() and friends into libgit
      Prepare testsuite for a "git clone" that packs refs
      Teach "git clone" to pack refs

Johannes Schindelin (12):
      Windows: always chmod(, 0666) before unlink().
      commit-tree: lift completely arbitrary limit of 16 parents
      Allow git-apply to recount the lines in a hunk (AKA recountdiff)
      Add another fast-import example, this time for .zip files
      Teach "git apply" to prepend a prefix with "--root=<root>"
      git fetch-pack: do not complain about "no common commits" in an empty repo
      Allow cherry-picking root commits
      Convert CR/LF to LF in tag signatures
      Move MERGE_RR from .git/rr-cache/ into .git/
      git-gui: MERGE_RR lives in .git/ directly with newer Git versions
      shortlog: support --pretty=format: option
      Rename ".dotest/" to ".git/rebase" and ".dotest-merge" to "rebase-merge"

Johannes Sixt (38):
      Add compat/regex.[ch] and compat/fnmatch.[ch].
      Compile some programs only conditionally.
      Add target architecture MinGW.
      Windows: Use the Windows style PATH separator ';'.
      setup.c: Prepare for Windows directory separators.
      Windows: Treat Windows style path names.
      Windows: Handle absolute paths in safe_create_leading_directories().
      Windows: Strip ".exe" from the program name.
      Windows: Implement a wrapper of the open() function.
      Windows: A minimal implemention of getpwuid().
      Windows: Work around misbehaved rename().
      Make my_mktime() public and rename it to tm_to_time_t()
      Windows: Implement gettimeofday().
      Windows: Fix PRIuMAX definition.
      Windows: Implement setitimer() and sigaction().
      Windows: Wrap execve so that shell scripts can be invoked.
      Windows: A pipe() replacement whose ends are not inherited to children.
      Windows: Implement start_command().
      Windows: A rudimentary poll() emulation.
      Windows: Disambiguate DOS style paths from SSH URLs.
      Windows: Implement asynchronous functions as threads.
      Windows: Work around incompatible sort and find.
      Windows: Implement wrappers for gethostbyname(), socket(), and connect().
      Windows: Implement a custom spawnve().
      Windows: Add a custom implementation for utime().
      Windows: Use a customized struct stat that also has the st_blocks member.
      Turn builtin_exec_path into a function.
      Windows: Compute the fallback for exec_path from the program invocation.
      Windows: Use a relative default template_dir and ETC_GITCONFIG
      When installing, be prepared that template_dir may be relative.
      Windows: Make the pager work.
      Windows: Work around an oddity when a pipe with no reader is written to.
      Windows: Make 'git help -a' work.
      Windows: TMP and TEMP environment variables specify a temporary directory.
      git-gui: Implement "Stage/Unstage Line"
      t4127-apply-same-fn: Avoid sed -i
      Provide fallback definitions of PRIu32 and PRIx32
      builtin-clone: rewrite guess_dir_name()

Jonathan Nieder (23):
      Documentation: don't assume git-sh-setup and git-parse-remote are in PATH
      Documentation: fix links to tutorials and other new manual pages
      whitespace fix in Documentation/git-repack.txt
      Documentation: complicate example of "man git-command"
      git-daemon(1): don't assume git-daemon is in /usr/bin
      Documentation: prepare to be consistent about "git-" versus "git "
      Documentation: be consistent about "git-" versus "git "
      Documentation formatting and cleanup
      git-format-patch(1): fix stray \ in output
      Documentation: fix gitlinks
      manpages: fix bogus whitespace
      git(1): add comma
      git-commit(1): depersonalize description
      Documentation: rewrap to prepare for "git-" vs "git " change
      Documentation: more "git-" versus "git " changes
      gitdiffcore(7): fix awkward wording
      manpages: italicize command names in synopses
      manpages: italicize command names
      manpages: italicize git command names (which were in teletype font)
      manpages: italicize gitk's name (where it was in teletype font)
      manpages: italicize nongit command names (if they are in teletype font)
      manpages: italicize git subcommand names (which were in teletype font)
      manpages: use teletype font for sample command lines

João Abecasis (1):
      git-svn: find-rev and rebase for SVN::Mirror repositories

Junio C Hamano (65):
      revision traversal: --children option
      rev-list --children
      builtin-blame.c: move prepare_final() into a separate function.
      builtin-blame.c: allow more than 16 parents
      git-blame --reverse
      rerere: rerere_created_at() and has_resolution() abstraction
      git-rerere: detect unparsable conflicts
      rerere: remove dubious "tail_optimization"
      t4200: fix rerere test
      rerere.autoupdate
      git-shell: accept "git foo" form
      Prepare execv_git_cmd() for removal of builtins from the filesystem
      pre-rebase hook update
      Ship sample hooks with .sample suffix
      Keep some git-* programs in $(bindir)
      Start draft release notes for 1.6.0
      diff --check: explain why we do not care whether old side is binary
      check_and_emit_line(): rename and refactor
      checkdiff: pass diff_options to the callback
      Teach "diff --check" about new blank lines at end
      diff --check: detect leftover conflict markers
      Update sample pre-commit hook to use "diff --check"
      Document the double-dash "rev -- path" disambiguator
      t9700: skip when Test::More is not available
      Update draft release notes for 1.6.0
      Introduce get_merge_bases_many()
      Introduce reduce_heads()
      Update draft release notes for 1.6.0
      apply --root: thinkofix.
      Refactor "tracking statistics" code used by "git checkout"
      git-status: show the remote tracking statistics
      git-branch -v: show the remote tracking statistics
      fast-export --export-marks: fix off by one error
      stat_tracking_info(): clear object flags used during counting
      branch -r -v: do not spit out garbage
      git-apply --directory: make --root more similar to GNU diff
      Update draft release notes for 1.6.0
      Teach "am" and "rebase" to mark the original position with ORIG_HEAD
      Tone down warning about GNU Interactive Tools
      Documentation: update sections on naming revisions and revision ranges
      branch --contains: default to HEAD
      branch --merged/--no-merged: allow specifying arbitrary commit
      apply: fix copy/rename breakage
      Teach merge.log to "git-merge" again
      Update draft release notes for 1.6.0
      reduce_heads(): protect from duplicate input
      git-rebase: report checkout failure
      tutorial: clarify "pull" is "fetch + merge"
      Update draft release notes to 1.6.0
      t/aggregate-results: whitespace fix
      Update draft release notes for 1.6.0
      read-cache.c: typofix
      mailinfo: off-by-one fix for [PATCH (foobar)] removal from Subject: line
      rerere.autoupdate: change the message when autoupdate is in effect
      builtin-remote.c: fix earlier "skip_prefix()" conversion
      t9001 (send-email): Do not use hardcoded /bin/sh in test
      .mailmap update
      Getting closer to 1.6.0-rc0
      builtin-add.c: restructure the code for maintainability
      git-add --all: add all files
      git-add --all: tests
      git-add --all: documentation
      Link shell with compat layer functions
      Move read_in_full() and write_in_full() to wrapper.c
      "needs update" considered harmful

Karl Wiberg (2):
      Clean up builtin-update-ref's option parsing
      Make old sha1 optional with git update-ref -d

Kevin Ballard (1):
      git-send-email: Accept fifos as well as files

Lars Noschinski (3):
      cvsserver: Add support for packed refs
      cvsserver: Add cvs co -c support
      cvsserver: Add testsuite for packed refs

Lea Wiemann (6):
      test-lib.sh: add --long-tests option
      t/test-lib.sh: add test_external and test_external_without_stderr
      Git.pm: add test suite
      gitweb: standarize HTTP status codes
      test-lib.sh: show git init output when in verbose mode
      GIT-VERSION-GEN: do not fail if a 'HEAD' file exists in the working copy

Linus Torvalds (1):
      Shrink the git binary a bit by avoiding unnecessary inline functions

Lukas Sandström (4):
      Add a helper script to send patches with Mozilla Thunderbird
      Make some strbuf_*() struct strbuf arguments const.
      Add some useful functions for strbuf manipulation.
      git-mailinfo: use strbuf's instead of fixed buffers

Marius Storm-Olsen (4):
      Add an optional <mode> argument to commit/status -u|--untracked-files option
      Add argument 'no' commit/status option -u|--untracked-files
      Add configuration option for default untracked files mode
      Windows: Add a new lstat and fstat implementation based on Win32 API.

Mark Levedahl (3):
      install-doc-quick - use git --exec-path to find git-sh-setup
      git-submodule - make "submodule add" more strict, and document it
      git-submodule - register submodule URL if adding in place

Michele Ballabio (3):
      t9301-fast-export.sh: Remove debug line
      builtin-merge.c: Fix option parsing
      builtin-push.c: Cleanup - use OPT_BIT() and remove some variables

Mike Hommey (4):
      Catch failures from t5540-http-push
      Fix http-push test
      Skip t5540-http-push test when USE_CURL_MULTI is undefined
      Avoid apache complaining about lack of server's FQDN

Mike Pape (1):
      We need to check for msys as well as Windows in add--interactive.

Miklos Vajna (27):
      A simple script to parse the results from the testcases
      Move split_cmdline() to alias.c
      Move commit_list_count() to commit.c
      Move parse-options's skip_prefix() to git-compat-util.h
      Add new test to ensure git-merge handles pull.twohead and pull.octopus
      Move read_cache_unmerged() to read-cache.c
      git-fmt-merge-msg: make it usable from other builtins
      Introduce get_octopus_merge_bases() in commit.c
      Add new test to ensure git-merge handles more than 25 refs.
      Add new test case to ensure git-merge reduces octopus parents when possible
      Retire 'stupid' merge strategy
      INSTALL: Update section about git-frotz form.
      hg-to-git: avoid raising a string exception
      hg-to-git: abort if the project directory is not a hg repo
      hg-to-git: rewrite "git-frotz" to "git frotz"
      hg-to-git: use git init instead of git init-db
      Add new test case to ensure git-merge prepends the custom merge message
      git-commit-tree: make it usable from other builtins
      Fix t7601-merge-pull-config.sh on AIX
      Build in merge
      t0001-init.sh: change confusing directory name
      t1007-hash-object.sh: use quotes for the test description
      git-bisect: use dash-less form on git bisect log
      make remove-dashes: apply to scripts and programs as well, not just to builtins
      t6021: add a new test for git-merge-resolve
      Add a new test for git-merge-resolve
      Teach 'git merge' that some merge strategies no longer exist

Nanako Shiraishi (7):
      environment.c: remove unused function
      config.c: make git_env_bool() static
      gitcli: Document meaning of --cached and --index
      cache-tree.c: make cache_tree_find() static
      builtin-describe.c: make a global variable "pattern" static
      parse-options.c: make check_typos() static
      git am --abort

Nguyễn Thái Ngọc Duy (1):
      Move all dashed-form commands to libexecdir

Nicolas Pitre (11):
      call init_pack_revindex() lazily
      implement some resilience against pack corruptions
      test case for pack resilience against corruptions
      refactor pack structure allocation
      optimize verify-pack a bit
      move show_pack_info() where it belongs
      verify-pack: check packed object CRC when using index version 2
      verify-pack: test for detection of index v2 object CRC mismatch
      repack.usedeltabaseoffset config option now defaults to "true"
      pack.indexversion config option now defaults to 2
      restore legacy behavior for read_sha1_file()

Olivier Marin (3):
      Documentation: remove {show,whatchanged}.difftree config options
      show_stats(): fix stats width calculation
      builtin-rerere: more carefully find conflict markers

Patrick Higgins (1):
      Remove the use of '--' in merge program invocation

Pavel Roskin (1):
      t9600: allow testing with cvsps 2.2, including beta versions

Peter Harris (1):
      Add ANSI control code emulation for the Windows console

Petr Baudis (6):
      Git.pm: Add remote_refs() git-ls-remote frontend
      Documentation/git-submodule.txt: Add Description section
      Documentation/RelNotes-1.6.0.txt: Expand on the incompatible packfiles
      Documentation/git-submodule.txt: Further clarify the description
      Documentation: How to ignore local changes in tracked files
      Documentation/git-merge.txt: Partial rewrite of How Merge Works

Pierre Habouzit (13):
      parse-opt: have parse_options_{start,end}.
      parse-opt: Export a non NORETURN usage dumper.
      parse-opt: create parse_options_step.
      parse-opt: do not print errors on unknown options, return -2 intead.
      parse-opt: fake short strings for callers to believe in.
      parse-opt: add PARSE_OPT_KEEP_ARGV0 parser option.
      revisions: split handle_revision_opt() from setup_revisions()
      git-blame: migrate to incremental parse-option [1/2]
      git-blame: migrate to incremental parse-option [2/2]
      parse-options: add PARSE_OPT_LASTARG_DEFAULT flag
      git-blame: fix lapsus
      git-shortlog: migrate to parse-options partially.
      revisions: refactor handle_revision_opt into parse_revision_opt.

Pieter de Bie (1):
      builtin-fast-export: Add importing and exporting of revision marks

Rafael Garcia-Suarez (1):
      gitweb: remove git_blame and rename git_blame2 to git_blame

Ramsay Jones (4):
      Fix some warnings (on cygwin) to allow -Werror
      t9113-*.sh: provide user feedback when test skipped
      t9100-git-svn-basic.sh: Fix determination of utf-8 locale
      git-request-pull: replace call to deprecated peek-remote

René Scharfe (9):
      Teach new attribute 'export-ignore' to git-archive
      archive: remove args member from struct archiver
      add context pointer to read_tree_recursive()
      archive: add baselen member to struct archiver_args
      archive: centralize archive entry writing
      archive: unify file attribute handling
      archive: remove extra arguments parsing code
      archive: make zip compression level independent from core git
      archive: remove unused headers

Richard Quirk (1):
      git-gui: Fix accidental staged state toggle when clicking top pixel row

Robert Shearman (1):
      git-send-email: Fix authenticating on some servers when using TLS.

SZEDER Gábor (1):
      stash: introduce 'stash save --keep-index' option

Shawn O. Pearce (2):
      Correct documentation for git-push --mirror
      bash completion: Remove dashed command completion support

Soeren Finster (1):
      git-gui: Exit shortcut in MacOSX repaired

Steffen Prohaska (5):
      Windows: Fix ntohl() related warnings about printf formatting
      compat/pread.c: Add a forward declaration to fix a warning
      Move code interpreting path relative to exec-dir to new function system_path()
      help.c: Add support for htmldir relative to git_exec_path()
      help (Windows): Display HTML in default browser using Windows' shell API

Stephan Beyer (10):
      api-builtin.txt: update and fix typo
      t3404: stricter tests for git-rebase--interactive
      rerere: Separate libgit and builtin functions
      t/test-lib.sh: exit with small negagive int is ok with test_must_fail
      t/: Use "test_must_fail git" instead of "! git"
      Make usage strings dash-less
      git-am/git-mailsplit: correct synopsis for reading from stdin
      t3404: test two "preserve merges with -p" cases
      Make rebase--interactive use OPTIONS_SPEC
      Link git-shell only to a subset of libgit.a

SungHyun Nam (1):
      t/Makefile: use specified shell when running aggregation script

Sverre Hvammen Johansen (1):
      reduce_heads(): thinkofix

Sverre Rabbelier (2):
      Modify test-lib.sh to output stats to t/test-results/*
      Hook up the result aggregation in the test makefile.

Ted Percival (1):
      Don't use dash commands (git-foo) in tutorial-2

Teemu Likonen (3):
      bash: Add more option completions for 'git log'
      Add target "install-html" the the top level Makefile
      bash: Add long option completion for 'git send-email'

Thomas Rast (7):
      git-send-email: add support for TLS via Net::SMTP::SSL
      git-send-email: prevent undefined variable warnings if no encryption is set
      git-add--interactive: replace hunk recounting with apply --recount
      git-add--interactive: remove hunk coalescing
      git-add--interactive: manual hunk editing mode
      git-send-email: Do not attempt to STARTTLS more than once
      Fix apply --recount handling of no-EOL line


Version v1.5.6.6; changes since v1.5.6.5:
-----------------------------------------

Alexander Gavrilov (1):
      Fix quadratic performance in rewrite_one.

Brandon Casey (1):
      t5304-prune: adjust file mtime based on system time rather than file mtime

Francis Moreau (1):
      git-bisect: fix wrong usage of read(1)

Ivan Stankovic (1):
      Documentation: fix invalid reference to 'mybranch' in user manual

Junio C Hamano (8):
      Per-ref reflog expiry configuration
      Make default expiration period of reflog used for stash infinite
      asciidoc markup fixes
      Fix deleting reflog entries from HEAD reflog
      Re-fix rev-list-options documentation
      Do not talk about "diff" in rev-list documentation.
      gitweb: do not run "git diff" that is Porcelain
      GIT 1.5.4.7

Kevin Ballard (1):
      Fix escaping of glob special characters in pathspecs

Linus Torvalds (4):
      Split up default "core" config parsing into helper routine
      Split up default "user" config parsing into helper routine
      Split up default "i18n" and "branch" config parsing into helper routines
      Add config option to enable 'fsync()' of object files

Petr Baudis (1):
      Fail properly when cloning from invalid HTTP URL

Pieter de Bie (1):
      reflog test: add more tests for 'reflog delete'

Thomas Rast (1):
      Documentation: rev-list-options: Fix -g paragraph formatting


Version v1.5.6.5; changes since v1.5.6.4:
-----------------------------------------

Anders Melchiorsen (1):
      Documentation: fix diff.external example

Björn Steinbrink (1):
      index-pack.c: correctly initialize appended objects

Brandon Casey (1):
      t/t4202-log.sh: add newline at end of file

Ciaran McCreesh (1):
      Make git-add -i accept ranges like 7-

Jeff King (1):
      init: handle empty "template" parameter

Jim Meyering (1):
      git-cvsimport.perl: Print "UNKNOWN LINE..." on stderr, not stdout.

Johannes Schindelin (1):
      sort_in_topological_order(): avoid setting a commit flag

Jonathan Nieder (2):
      fix usage string for git grep
      git-diff(1): "--c" -> "--cc" typo fix

Junio C Hamano (12):
      refresh-index: fix bitmask assignment
      tests: propagate $(TAR) down from the toplevel Makefile
      Makefile: fix shell quoting
      make sure parsed wildcard refspec ends with slash
      Documentation: clarify diff --cc
      Update my e-mail address
      Start 1.5.6.5 RelNotes to describe accumulated fixes
      builtin-name-rev.c: split deeply nested part from the main function
      RelNotes 1.5.6.5 updates
      fix diff-tree --stdin documentation
      Files given on the command line are relative to $cwd
      GIT 1.5.6.5

Linus Torvalds (1):
      diff.renamelimit is a basic diff configuration

Mike Ralphson (1):
      Documentation: typos / spelling fixes in older RelNotes

Peter Valdemar Mørch (1):
      send-email: find body-encoding correctly

Pierre Habouzit (2):
      git-checkout: fix command line parsing.
      git-submodule: move ill placed shift.

Pieter de Bie (1):
      git-name-rev: allow --name-only in combination with --stdin

René Scharfe (1):
      git-name-rev: don't use printf without format

Stephan Beyer (1):
      builtin-revert.c: typofix

Steve Haslam (1):
      Propagate -u/--upload-pack option of "git clone" to transport.


Version v1.5.6.4; changes since v1.5.6.3:
-----------------------------------------

Dmitry Potapov (3):
      Fix buffer overflow in git-grep
      Fix buffer overflow in git diff
      Fix buffer overflow in prepare_attr_stack

Johannes Schindelin (3):
      git daemon: avoid calling syslog() from a signal handler
      Add pretty format %aN which gives the author name, respecting .mailmap
      git fetch-pack: do not complain about "no common commits" in an empty repo

Johannes Sixt (1):
      t7600-merge: Use test_expect_failure to test option parsing

Junio C Hamano (4):
      Start preparing 1.5.6.4 release notes
      rev-list: honor --quiet option
      http-fetch: do not SEGV after fetching a bad pack idx file
      GIT 1.5.6.4

Lars Noschinski (1):
      git-cvsserver: fix call to nonexistant cleanupWorkDir()

Lukas Sandström (1):
      git-mailinfo: Fix getting the subject from the in-body [PATCH] line

Olivier Marin (1):
      builtin-rm: fix index lock file path

Petr Baudis (1):
      Documentation/git-cherry-pick.txt et al.: Fix misleading -n description

Shawn O. Pearce (9):
      Correct pack memory leak causing git gc to try to exceed ulimit
      bash completion: Improve responsiveness of git-log completion
      bash completion: Don't offer "a.." as a completion for "a."
      bash completion: Append space after file names have been completed
      bash completion: Resolve git show ref:path<tab> losing ref: portion
      index-pack: Refactor base arguments of resolve_delta into a struct
      index-pack: Chain the struct base_data on the stack for traversal
      index-pack: Track the object_entry that creates each base_data
      index-pack: Honor core.deltaBaseCacheLimit when resolving deltas

Stephan Beyer (2):
      rebase-i: keep old parents when preserving merges
      api-run-command.txt: typofix


Version v1.5.6.3; changes since v1.5.6.2:
-----------------------------------------

Alex Riesen (1):
      git-clone: remove leftover debugging fprintf().

Brian Hetro (5):
      builtin-log.c: Use 'git_config_string' to get 'format.subjectprefix' and 'format.suffix'
      convert.c: Use 'git_config_string' to get 'smudge' and 'clean'
      diff.c: Use 'git_config_string' to get 'diff.external'
      http.c: Use 'git_config_string' to clean up SSL config.
      builtin-commit.c: Use 'git_config_string' to get 'commit.template'

Christian Couder (1):
      Fix "config_error_nonbool" used with value instead of key

Gerrit Pape (1):
      git-svn.perl: workaround assertions in svn library 1.5.0

Jeff King (1):
      make deleting a missing ref more quiet

Johannes Schindelin (1):
      run_command(): respect GIT_TRACE

Junio C Hamano (6):
      attribute documentation: keep EXAMPLE at end
      clone -q: honor "quiet" option over native transports.
      mailinfo: feed the correct line length to decode_transfer_encoding()
      Start preparing release notes for 1.5.6.3
      t0004: fix timing bug
      GIT 1.5.6.3

Linus Torvalds (1):
      racy-git: an empty blob has a fixed object name

Lukas Sandström (1):
      git-mailinfo: document the -n option

Mark Levedahl (1):
      git-submodule - Fix bugs in adding an existing repo as a module

Matthew Ogilvie (1):
      Documentation cvs: Clarify when a bare repository is needed

Mikael Magnusson (1):
      Fix grammar in git-rev-parse(1).

Nikolaus Schulz (1):
      Documentation: be precise about which date --pretty uses

Petr Baudis (1):
      Fix backwards-incompatible handling of core.sharedRepository

SZEDER Gábor (1):
      bash: offer only paths after '--'

Shawn O. Pearce (1):
      Remove unnecessary pack-*.keep file after successful git-clone

Stephan Beyer (1):
      git-am: Do not exit silently if committer is unset


Version v1.5.6.2; changes since v1.5.6.1:
-----------------------------------------

Avery Pennarun (1):
      git-svn: avoid filling up the disk with temp files.

Björn Steinbrink (1):
      git cat-file: Fix memory leak in batch mode

Eric Wong (1):
      git-svn: don't sanitize remote names in config

Jeff King (3):
      fetch: report local storage errors in status table
      doc/rev-parse: clarify reflog vs --until for specifying revisions
      fetch: give a hint to the user when local refs fail to update

Jochen Voss (1):
      avoid off-by-one error in run_upload_archive

Joey Hess (1):
      fix git config example syntax

Johannes Schindelin (2):
      clone: respect url.insteadOf setting in global configs
      clone: respect the settings in $HOME/.gitconfig and /etc/gitconfig

Junio C Hamano (9):
      Allow "git-reset path" when unambiguous
      diff --check: do not discard error status upon seeing a good line
      git-shell: accept "git foo" form
      GIT 1.5.4.6
      GIT 1.5.5.5
      Start draft release notes for 1.5.6.2
      Work around gcc warnings from curl headers
      Fix executable bits in t/ scripts
      GIT 1.5.6.2

Shawn O. Pearce (1):
      Fix describe --tags --long so it does not segfault

Thomas Rast (1):
      Fix 'git show' on signed tag of signed tag of commit


Version v1.5.6.1; changes since v1.5.6:
---------------------------------------

Brandon Casey (2):
      git-merge.sh: fix typo in usage message: sucesses --> succeeds
      t7502-commit.sh: test_must_fail doesn't work with inline environment variables

Dan McGee (1):
      completion: add --graph to log command completion

Dmitry Potapov (1):
      fix update-hook-example to work with packed tag references

Jan Krüger (2):
      Documentation: fix formatting in git-svn
      git-svn: make rebuild respect rewriteRoot option

Jeff King (2):
      for-each-ref: implement missing tag values
      clone: create intermediate directories of destination repo

Junio C Hamano (2):
      diff -c/--cc: do not include uninteresting deletion before leading context
      GIT 1.5.6.1

Linus Torvalds (1):
      Make git_dir a path relative to work_tree in setup_work_tree()

Michele Ballabio (1):
      parse-options.c: fix documentation syntax of optional arguments

Patrick Higgins (1):
      Workaround for AIX mkstemp()

Stephan Beyer (4):
      git-rebase.sh: Add check if rebase is in progress
      api-builtin.txt: update and fix typo
      api-parse-options.txt: Introduce documentation for parse options API
      Extend parse-options test suite


Version v1.5.6; changes since v1.5.6-rc3:
-----------------------------------------

Alejandro Mery (1):
      git-am: head -1 is obsolete and doesn't work on some new systems

Christian Couder (1):
      Documentation: RelNotes-1.5.6: talk about renamed HTML files

Jeff King (1):
      clean up error conventions of remote.c:match_explicit

Johan Herland (3):
      cpio is no longer used by git-clone
      Consistency: Use "libcurl" instead of "cURL library" and "curl"
      The "curl" executable is no longer required

Junio C Hamano (7):
      Makefile: update check-docs target
      Update RPM spec to drop curl executable requirement
      diff.c: fix emit_line() again not to add extra line
      create_tempfile: make sure that leading directories can be accessible by peers
      sha1_file.c: simplify parse_pack_index()
      builtin-rerere: fix a small leak
      GIT 1.5.6

Lea Wiemann (2):
      gitweb: quote commands properly when calling the shell
      gitweb: remove unused parse_ref method

Linus Torvalds (1):
      write_loose_object: don't bother trying to read an old object

Miklos Vajna (2):
      run-command documentation: fix "memset()" parameter
      path-list documentation: document all functions and data structures

Olivier Marin (1):
      Fix approxidate("never") to always return 0

Pierre Habouzit (1):
      Make git reflog expire honour core.sharedRepository.

SZEDER Gábor (1):
      diff: reset color before printing newline


Version v1.5.6-rc3; changes since v1.5.6-rc2:
---------------------------------------------

Ask Bjørn Hansen (2):
      gitweb setup instruction: rewrite HEAD and root as well
      send-email: Allow the envelope sender to be set via configuration

Avery Pennarun (2):
      git-svn: don't append extra newlines at the end of commit messages.
      git-svn: test that extra blank lines aren't inserted in commit messages.

Boyd Lynn Gerber (2):
      progress.c: avoid use of dynamic-sized array
      Port to 12 other Platforms.

Chris Ridd (1):
      Improve sed portability

Christian Couder (1):
      documentation: bisect: remove bits talking about a bisection branch

Flavio Poletti (1):
      git-instaweb: improve auto-discovery of httpd and call conventions.

Fred Maranhão (1):
      fix typo in tutorial

Geoffrey Irving (1):
      doc: adding gitman.info and *.texi to .gitignore

Jakub Narębski (2):
      gitweb: Make it work with $GIT containing spaces
      Use 'trash directory' thoroughly in t/test-lib.sh

Jeff King (1):
      document --pretty=tformat: option

Johannes Schindelin (1):
      merge-recursive: respect core.autocrlf when writing out the result

Johannes Sixt (2):
      make_nonrelative_path: Use is_absolute_path()
      Remove exec bit from builtin-fast-export.c

Junio C Hamano (8):
      http-push.c: remove duplicated code
      "remote prune": be quiet when there is nothing to prune
      Documentation/git-pull.txt: Use more standard [NOTE] markup
      Documentation: exclude @pxref{[REMOTES]} from texinfo intermediate output
      user-manual: describe how higher stages are set during a merge
      t4126: fix test that happened to work due to timing
      sha1_file.c: dead code removal
      GIT 1.5.6-rc3

Lea Wiemann (4):
      t1006-cat-file.sh: typo
      cat-file --batch / --batch-check: do not exit if hashes are missing
      Documentation/git-cat-file.txt: add missing line break
      t/.gitattributes: only ignore whitespace errors in test files

Linus Torvalds (4):
      Consolidate SHA1 object file close
      Avoid cross-directory renames and linking on object creation
      Make loose object file reading more careful
      Simplify and rename find_sha1_file()

Marius Storm-Olsen (1):
      Add testcase for merging in a CRLF repo

Mark Levedahl (1):
      git-submodule - Fix errors regarding resolve_relative_url

Mikael Magnusson (1):
      Typo in RelNotes.

Mike Hommey (1):
      Don't allocate too much memory in quote_ref_url

Miklos Vajna (3):
      Remove unused code in parse_commit_buffer()
      git-rebase -i: mention the short command aliases in the todo list
      git-read-tree: document -v option.

Olivier Marin (4):
      remote show: fix the -n option
      builtin-remote: split show_or_prune() in two separate functions
      remote prune: print the list of pruned branches
      remote show: list tracked remote branches with -n

Paul Mackerras (1):
      gitk: Handle detached heads better

Philippe Bruhat (1):
      git-cvsimport: do not fail when CVSROOT is /

Pieter de Bie (1):
      git-send-email: allow whitespace in addressee list

René Scharfe (1):
      Ignore .gitattributes in bare repositories

SZEDER Gábor (2):
      git add: add long equivalents of '-u' and '-f' options
      completion: add more 'git add' options

Shawn O. Pearce (1):
      fast-export: Correctly generate initial commits with no parents

Stephan Beyer (6):
      git-commit.txt: Correct option alternatives
      git-commit.txt: Add missing long/short options
      Docs: Use "-l::\n--long\n" format in OPTIONS sections
      Docs: add some long/short options
      git-describe.txt: document --always
      git-name-rev.txt: document --no-undefined and --always


Version v1.5.6-rc2; changes since v1.5.6-rc1:
---------------------------------------------

Adam Simpkins (2):
      graph API: fix "git log --graph --first-parent"
      git log --graph: print '*' for all commits, including merges

Alex Riesen (1):
      Fix t5516 on cygwin: it does not like double slashes at the beginning of a path

Björn Steinbrink (1):
      name-rev: Fix segmentation fault when using --all

Christian Couder (2):
      documentation: convert "diffcore" and "repository-layout" to man pages
      documentation: move git(7) to git(1)

Daniel Barkalow (1):
      Use nonrelative paths instead of absolute paths for cloned repositories

Dirk Süsserott (1):
      Documentation/git-mailsplit: Enhanced description of -o option

Jakub Narębski (1):
      gitweb: Add charset info to "raw" output of 'text/plain' blobs

Jeff King (1):
      Fix "git clone http://$URL" to check out the worktree when asked

Junio C Hamano (6):
      t7502: do not globally unset GIT_COMMITTER_* environment variables
      t7502: tighten loosely written test sequence
      Documentation: git-log cannot use rev-list specific options
      t7502: honor SHELL_PATH
      GIT 1.5.5.4
      GIT 1.5.6-rc2

Lea Wiemann (2):
      cat-file --batch: flush stdout also when objects are missing
      git-for-each-ref.txt: minor improvements

Michael Dressel (1):
      describe: match pattern for lightweight tags too

Miklos Vajna (1):
      Strbuf documentation: document most functions

Teemu Likonen (1):
      Print info about "git help COMMAND" on git's main usage pages


Version v1.5.6-rc1; changes since v1.5.6-rc0:
---------------------------------------------

Adam Simpkins (2):
      graph API: improve display of merge commits
      graph API: avoid printing unnecessary padding before some octopus merges

Christian Couder (2):
      bisect: use "$GIT_DIR/BISECT_START" to check if we are bisecting
      Documentation: convert "glossary" and "core-tutorial" to man pages

Christian Engwer (1):
      git-svn fails in prop_walk if $self->{path} is not empty

Dmitry V. Levin (1):
      builtin-fetch.c (store_updated_refs): Honor update_local_ref() return value

Gerrit Pape (2):
      Documentation/git-bundle.txt: fix synopsis
      commit --interactive: properly update the index before commiting

Jakub Narębski (2):
      gitweb: Remove gitweb/test/ directory
      gitweb: Fix "next" link on bottom of page

Jamis Buck (1):
      git-reset: honor -q and do not show progress message

Jeff King (1):
      clone: make sure we support the transport type

Johannes Schindelin (1):
      hg-to-git: add --verbose option

Johannes Sixt (3):
      t5700-clone-reference: Quote $U
      Revert "filter-branch: subdirectory filter needs --full-history"
      rebase --interactive: Compute upstream SHA1 before switching branches

John J. Franey (1):
      Clarify description of <repository> argument to pull/fetch for naming remotes.

Junio C Hamano (25):
      tests: do not use implicit "git diff --no-index"
      diff-files: do not play --no-index games
      "git diff": do not ignore index without --no-index
      Update draft release notes for 1.5.6
      log --graph: do not accept log --graphbogus
      log --pretty: do not accept bogus "--prettyshort"
      Release Notes for 1.5.5.2
      Documentation/git.txt: link to 1.5.5.2 documentation.
      Makefile: fix dependency on wt-status.h
      show-branch --current: do not barf on detached HEAD
      git-diff: allow  --no-index semantics a bit more
      git diff --no-index: default to page like other diff frontends
      GIT 1.5.5.3
      t5100: Avoid filename "nul"
      Git::cat_blob: allow using an empty blob to fix git-svn breakage
      fix sha1_pack_index_name()
      Manual subsection to refer to other pages is SEE ALSO
      Documentation: git-cherry uses git-patch-id
      "git checkout -- paths..." should error out when paths cannot be written
      checkout: make reset_clean_to_new() not die by itself
      checkout: consolidate reset_{to_new,clean_to_new}()
      unpack_trees(): allow callers to differentiate worktree errors from merge errors
      checkout: "best effort" checkout
      commit: drop duplicated parents
      GIT v1.5.6-rc1

Karl Wiberg (3):
      Add some tests for git update-ref -d
      Fix path duplication in git svn commit-diff
      Revert "git.el: Set process-environment instead of invoking env"

Kevin Ballard (1):
      Documentation/git-filter-branch.txt: Fix description of --commit-filter

Lea Wiemann (5):
      gitweb: only display "next" links in logs if there is a next page
      t/test-lib.sh: resolve symlinks in working directory, for pathname comparisons
      Git.pm: fix documentation of hash_object
      glossary: improve a few links
      Git.pm: fix return value of config method

Linus Torvalds (2):
      Make pack creation always fsync() the result
      Remove now unnecessary 'sync()' calls

Luciano Rocha (1):
      git-init: accept --bare option

Marius Storm-Olsen (2):
      Clearify the documentation for core.ignoreStat
      Add shortcut in refresh_cache_ent() for marked entries.

Michele Ballabio (1):
      Documentation: fix graph in git-rev-parse.txt

Miklos Vajna (1):
      Revision walking documentation: document most important functions

Nicolas Pitre (1):
      make verify-pack a bit more useful with bad packs

Paolo Bonzini (1):
      rollback lock files on more signals than just SIGINT

Pieter de Bie (1):
      builtin-fast-export: Only output a single parent per line

Seth Falcon (1):
      Add a --dry-run option to git-svn rebase

Shawn O. Pearce (8):
      git-gui: Add a --trace command line option
      git-gui: Handle workdir detection when CYGWIN=nowinsymlinks
      Don't diff empty tree on branch creation in paranoid update hook
      Don't load missing ACL files in paranoid update hook
      Ignore no-op changes in paranoid update hook
      Remove unused remote_prefix member in builtin-remote
      Make "git-remote prune" delete refs according to fetch specs
      Make "git-remote rm" delete refs acccording to fetch specs

Stephan Beyer (2):
      Add test cases for git-am
      Merge t4150-am-subdir.sh and t4151-am.sh into t4150-am.sh

Twiinz (1):
      git-gui: Vertically align textboxes with labels


Version v1.5.6-rc0; changes since v1.5.5.6:
-------------------------------------------

Adam Roben (11):
      Add tests for git cat-file
      git-cat-file: Small refactor of cmd_cat_file
      git-cat-file: Make option parsing a little more flexible
      git-cat-file: Add --batch-check option
      git-cat-file: Add --batch option
      Move git-hash-object tests from t5303 to t1007
      Add more tests for git hash-object
      git-hash-object: Add --stdin-paths option
      Git.pm: Add command_bidi_pipe and command_close_bidi_pipe
      Git.pm: Add hash_and_insert_object and cat_blob
      git-svn: Speed up fetch

Adam Simpkins (11):
      Remove dead code: show_log() sep argument and diff_options.msg_sep
      log: print log entry terminator even if the message is empty
      revision API: split parent rewriting and parent printing options
      Add history graph API
      log and rev-list: add --graph option
      graph API: eliminate unnecessary indentation
      graph API: fix graph mis-alignment after uninteresting commits
      graph API: don't print branch lines for uninteresting merge parents
      log --graph --left-right: show left/right information in place of '*'
      Fix output of "git log --graph --boundary"
      get_revision(): honor the topo_order flag for boundary commits

Alex Riesen (10):
      Use the modern syntax of git-diff-files in t2002-checkout-cache-u.sh
      Improve reporting of errors in config file routines
      Make the exit code of add_file_to_index actually useful
      Extend interface of add_files_to_cache to allow ignore indexing errors
      Add --ignore-errors to git-add to allow it to skip files with read errors
      Add a test for git-add --ignore-errors
      Add a config option to ignore errors for git-add
      Ensure that a test is run in the trash directory
      Fix t6031 on filesystems without working exec bit
      Fix t3701 if core.filemode disabled

Anders Waldenborg (1):
      gitweb: Convert string to internal form before chopping in chop_str

Avery Pennarun (3):
      git-svn: add documentation for --use-log-author option.
      git-svn: Add --add-author-from option.
      git-svn: add documentation for --add-author-from option.

Bart Trojanowski (1):
      make git-status use a pager

Brandon Casey (7):
      filter-branch.sh: support nearly proper tag name filtering
      compat/fopen.c: avoid clobbering the system defined fopen macro
      repack: modify behavior of -A option to leave unreferenced objects unpacked
      git-gc: always use -A when manually repacking
      builtin-gc.c: deprecate --prune, it now really has no effect
      builtin-clone.c: Need to closedir() in copy_or_link_directory()
      t/Makefile: "trash" directory was renamed recently

Bryan Donlan (10):
      git-rebase.sh: Fix --merge --abort failures when path contains whitespace
      config.c: Escape backslashes in section names properly
      git-send-email.perl: Handle shell metacharacters in $EDITOR properly
      test-lib.sh: Add a test_set_editor function to safely set $VISUAL
      Use test_set_editor in t9001-send-email.sh
      test-lib.sh: Fix some missing path quoting
      lib-git-svn.sh: Fix quoting issues with paths containing shell metacharacters
      Don't use the 'export NAME=value' in the test scripts.
      Fix tests breaking when checkout path contains shell metacharacters
      Rename the test trash directory to contain spaces.

Caio Marcelo de Oliveira Filho (1):
      git-format-patch: add --no-binary to omit binary changes in the patch.

Chris Frey (2):
      Documentation/git-prune.txt: document unpacked logic
      Documentation/git-repack.txt: document new -A behaviour

Chris Parsons (1):
      Updated status to show 'Not currently on any branch' in red

Christian Couder (21):
      bisect: add "git bisect help" subcommand to get a long usage string
      help: use man viewer path from "man.<tool>.path" config var
      documentation: help: add "man.<tool>.path" config variable
      help: use "man.<tool>.cmd" as custom man viewer command
      documentation: help: add info about "man.<tool>.cmd" config var
      documentation: web--browse: add a note about konqueror
      rev-parse: teach "--verify" to be quiet when using "-q" or "--quiet"
      rev-parse: fix --verify to error out when passed junk after a good rev
      Documentation: hooks: fix missing verb in pre-applypatch description
      Documentation: rename "hooks.txt" to "githooks.txt" and make it a man page
      Documentation: improve "add", "pull" and "format-patch" examples
      Documentation: bisect: add a few "git bisect run" examples
      rev-parse: add test script for "--verify"
      rev-parse: fix using "--default" with "--verify"
      rev-parse --verify: do not output anything on error
      Documentation: rev-parse: add a few "--verify" and "--default" examples
      bisect: add test cases to check that "git bisect start" is atomic
      bisect: fix left over "BISECT_START" file when starting with junk rev
      bisect: trap critical errors in "bisect_start"
      bisect: use a detached HEAD to bisect
      Documentation: convert tutorials to man pages

Christian Stimming (3):
      git-gui: Update German translation
      gitk: Update German translation
      gitk: German translation again updated

Clemens Buchacher (2):
      Reset the signal being handled
      http-push: remove remote locks on exit signals

Clifford Caoile (1):
      git.el: Set process-environment instead of invoking env

Dan McGee (3):
      completion: allow 'git remote' subcommand completion
      completion: remove use of dashed git commands
      Allow cherry-pick (and revert) to add signoff line

Daniel Barkalow (12):
      Make walker.fetch_ref() take a struct ref.
      Make ls-remote http://... list HEAD, like for git://...
      Mark the list of refs to fetch as const
      Add a lockfile function to append to a file
      Add a library function to add an alternate to the alternates file
      Have a constant extern refspec for "--tags"
      Allow for having for_each_ref() list extra refs
      Add a function to set a non-default work tree
      Provide API access to init_db()
      Build in clone
      clone: fall back to copying if hardlinking fails
      Test that --reference actually suppresses fetching referenced objects

Dmitry Potapov (1):
      git-init: autodetect core.ignorecase

Dustin Sallings (2):
      Allow tracking branches to set up rebase by default.
      Allow tracking branches to set up rebase by default.

Eric Wong (1):
      git-svn: fix cloning of HTTP URLs with '+' in their path

Frank Lichtenheld (4):
      var: Don't require to be in a git repository.
      Git.pm: Don't require a repository instance for config
      Git.pm: Don't require repository instance for ident
      send-email: Don't require to be called in a repository

Gerrit Pape (3):
      gitweb: fallback to system-wide config file if default config does not exist
      gitweb: fallback to system-wide config file (fixup)
      gitk: Makefile/install: force permissions when installing files and dirs

Govind Salinas (1):
      pretty.c: add %x00 format specifier.

Gustaf Hendeby (6):
      git-svn: Make create-ignore use git add -f
      Documentation: Add create-ignore to git svn manual
      Documentation/config.txt: Add git-gui options
      Documentation: Add missing git svn commands
      Documentation: Fix skipped section level
      Make git add -n and git -u -n output consistent

Heikki Orsila (7):
      Make core.sharedRepository more generic
      Document functions xmemdupz(), xread() and xwrite()
      Die for an early EOF in a file reading loop
      Make read_in_full() and write_in_full() consistent with xread() and xwrite()
      Cleanup xread() loops to use read_in_full()
      Add log.date config variable
      Remove redundant code, eliminate one static variable

Imran M Yousuf (1):
      Use '-f' option to point to the .gitmodules file

Jakub Narębski (1):
      gitweb: Use feed link according to current view

Jeff King (12):
      add--interactive: ignore mode change in 'p'atch command
      add--interactive: allow user to choose mode update
      git-fetch: always show status of non-tracking-ref fetches
      git-remote: show all remotes with "git remote show"
      Documentation: point git-prune users to git-gc
      add merge.renamelimit config option
      bump rename limit defaults
      diff: make "too many files" rename warning optional
      fix bsd shell negation
      t5000: tar portability fix
      clone: bsd shell portability fix
      filter-branch: fix variable export logic

Johan Herland (2):
      Add a test for another combination of --reference
      Add test for cloning with "--reference" repo being a subset of source repo

Johannes Schindelin (10):
      Provide git_config with a callback-data parameter
      builtin-clone: fix initial checkout
      cvsexportcommit: chomp only removes trailing whitespace
      diff options: Introduce --ignore-submodules
      Teach update-index about --ignore-submodules
      Ignore dirty submodule states during rebase and stash
      cvsexportcommit: introduce -W for shared working trees (between Git and CVS)
      submodule update: add convenience option --init
      pull --rebase: exit early when the working directory is dirty
      mailsplit and mailinfo: gracefully handle NUL characters

Johannes Sixt (3):
      builtin-commit.c: Remove a redundant assignment.
      git-gui: Report less precise object estimates for database compression
      compat-util: avoid macro redefinition warning

Jon Loeliger (1):
      Add otherwise missing --strict option to unpack-objects summary.

Junio C Hamano (24):
      Optimize rename detection for a huge diff
      t5300: add test for "unpack-objects --strict"
      unpack-objects: fix --strict handling
      rebase [--onto O] A B: omit needless checkout
      sha1-lookup: more memory efficient search in sorted list of SHA-1
      diff: make --dirstat binary-file safe
      sha1-lookup: make selection of 'middle' less aggressive
      log: teach "terminator" vs "separator" mode to "--pretty=format"
      git_config_bool_or_int()
      write_index(): optimize ce_smudge_racily_clean_entry() calls with CE_UPTODATE
      diff-files: mark an index entry we know is up-to-date as such
      Fix git_config_bool_or_int
      First batch of post 1.5.5 updates
      diff: a submodule not checked out is not modified
      diff-lib.c: rename check_work_tree_entity()
      is_racy_timestamp(): do not check timestamp for gitlinks
      git-svn: add test for --add-author-from and --use-log-author
      builtin-apply: typofix
      builtin-apply: accept patch to an empty file
      builtin-apply: do not declare patch is creation when we do not know it
      unpack-trees: allow Porcelain to give different error messages
      "git-add -n -u" should not add but just report
      mailinfo: apply the same fix not to lose NULs in BASE64 and QP codepaths
      mailsplit: minor clean-up in read_line_with_nul()

Jörg Sommer (1):
      post-merge: Add it's not executed if merge failed.

Krzysztof Kowalczyk (1):
      alloc_ref_from_str(): factor out a common pattern of alloc_ref from string

Lars Hjemli (8):
      Add platform-independent .git "symlink"
      Teach resolve_gitlink_ref() about the .git file
      Teach git-submodule.sh about the .git file
      Teach GIT-VERSION-GEN about the .git file
      git-branch: add support for --merged and --no-merged
      git-branch.txt: compare --contains, --merged and --no-merged
      Add tests for `branch --[no-]merged`
      revision.c: really honor --first-parent

Linus Torvalds (12):
      Make unpack_trees_options bit flags actual bitfields
      Move name hashing functions into a file of its own
      Make "index_name_exists()" return the cache_entry it found
      Make hash_name_lookup able to do case-independent lookups
      Add 'core.ignorecase' option
      Make branch merging aware of underlying case-insensitive filsystems
      Make unpack-tree update removed files before any updated files
      When adding files to the index, add support for case-independent matches
      Make git-add behave more sensibly in a case-insensitive environment
      Optimize match_pathspec() to avoid fnmatch()
      Avoid some unnecessary lstat() calls
      Optimize symlink/directory detection

Liu Yubao (1):
      Documentation on --git-dir and --work-tree

Marcel Koeppen (2):
      Replace in-place sed in t7502-commit
      Fix prepare-commit-msg hook and replace in-place sed

Mark Hills (1):
      Be more careful with objects directory permissions on clone

Martin Koegler (3):
      unpack-objects: prevent writing of inconsistent objects
      receive-pack: allow using --strict mode for unpacking objects
      t5300: add test for "index-pack --strict"

Matthew Ogilvie (3):
      git-cvsserver: add mechanism for managing working tree and current directory
      implement gitcvs.usecrlfattr
      git-cvsserver: add ability to guess -kb from contents

Matthias Kestenholz (1):
      Use color.ui variable in scripts too

Matthieu Moy (1):
      git-svn: detect and fail gracefully when dcommitting to a void

Michele Ballabio (4):
      gitk: Disable "Reset %s branch to here" when on a detached head
      gitk: Move es.po where it belongs
      builtin-cat-file.c: use parse_options()
      change quoting in test t1006-cat-file.sh

Mike Ralphson (1):
      Makefile: update the default build options for AIX

Miklos Vajna (11):
      git-gc --auto: add pre-auto-gc hook
      Documentation/hooks: add pre-auto-gc hook
      contrib/hooks: add an example pre-auto-gc hook
      git checkout: add -t alias for --track
      git-format-patch: add a new format.cc configuration variable
      git-send-email: add a new sendemail.cc configuration variable
      Add tests for sendemail.cc configuration variable
      INSTALL: add a note about GNU interactive tools has been renamed
      git-fast-import: rename cmd_*() functions to parse_*()
      git-merge: exclude unnecessary options from OPTIONS_SPEC
      CodingGuidelines: Add a note to avoid assignments inside if()

Nicolas Pitre (9):
      pack-objects: small cleanup
      pack-objects: remove some double negative logic
      pack-objects: simplify the condition associated with --all-progress
      pack-objects: clean up write_object() a bit
      pack-objects: move compression code in a separate function
      pack-objects: allow for early delta deflating
      pack-objects: fix early eviction for max depth delta objects
      add a force_object_loose() function
      let pack-objects do the writing of unreachable objects as loose objects

Paolo Bonzini (2):
      Add a remote.*.mirror configuration option
      add special "matching refs" refspec

Paul Mackerras (40):
      gitk: Use git log without --topo-order and reorganize the commits ourselves
      gitk: Fix bug in assigning row numbers to arcs
      gitk: Fix bug in parsing multiple revision arguments
      gitk: Compute row numbers and order tokens lazily
      gitk: Fix a couple of bugs
      gitk: Fix more bugs resulting in Tcl "no such element in array" errors
      gitk: More bug fixes and cleanups
      gitk: Implement date mode in the new framework
      gitk: Fix another collection of bugs
      gitk: Don't try to show local changes from a head that isn't shown
      gitk: Keep the same commits visible as other commits come in
      gitk: Fix some corner cases in the targetid/targetrow stuff
      gitk: Fix a couple of bugs in the find function
      gitk: Fix potential bug with fake commit IDs in renumbervarc
      gitk: Index [fnvr]highlights by id rather than row
      gitk: Fix handling of flag arguments
      gitk: Fix a bug in make_disporder
      gitk: Select head of current branch by default
      gitk: Select something appropriate on cherry-pick, branch reset and checkout
      gitk: Fix bug where editing an existing view would cause an infinite loop
      gitk: Fix bug causing Tcl error when no commits are selected
      gitk: Fix cherry-picking to insert a real row not a fake row
      gitk: Cope better with getting commits that we have already seen
      gitk: Fix bug where arcs could get lost
      gitk: Handle updating with path limiting better
      gitk: Fix problems with target row stuff
      gitk: Don't filter view arguments through git rev-parse
      gitk: Correct a few strings and comments to say "git log"
      gitk: Fix some corner cases in computing vrowmod and displayorder
      gitk: Avoid a crash in selectline if commitinfo($id) isn't set
      gitk: Fix problem with target row not being in scroll region
      gitk: Reorganize processing of arguments for git log
      gitk: Fix handling of tree file list with special chars in names
      gitk: Make updates go faster
      gitk: Synchronize highlighting in file view for 'f' and 'b' commands
      gitk: Show current row number and total number of rows
      gitk: Add a progress bar for checking out a head
      gitk: Fix "wrong # coordinates" error on reload
      gitk: Fix bug where current row number display stops working
      gitk: Fix bug introduced by "gitk: Fix "wrong # coordinates" error on reload"

Paul Oliver (1):
      Make git-cvsimport remove ['s from tags, as bad_ref_char doesn't allow them.

Peter Krefting (1):
      gitk: Initial Swedish translation.

Ping Yin (5):
      git-submodule summary: --for-status option
      builtin-status: submodule summary support
      builtin-status: Add tests for submodule summary
      t4027: test diff for submodule with empty directory
      Add t7506 to test submodule related functions for git-status

Rafael Garcia-Suarez (1):
      Spelling fixes in the gitweb documentation

Richard Quirk (2):
      bash: Add completion for gitk --merge
      Documentation gitk: Describe what --merge does

SZEDER Gábor (5):
      doc: moved merge.* config variables into separate merge-config.txt
      merge, pull: introduce '--(no-)stat' option
      add 'merge.stat' config variable
      fmt-merge-msg: add '--(no-)log' options and 'merge.log' config variable
      merge, pull: add '--(no-)log' command line option

Santi Béjar (3):
      Preparation to call determine_author_info from prepare_to_commit
      commit: Show author if different from committer
      commit: Show committer if automatic

Santiago Gala (1):
      gitk: Spanish translation of gitk

Sebastian Schuberth (1):
      mergetool: Make ECMerge use the settings as specified by the user in the GUI

Shawn O. Pearce (3):
      git-gui: Don't use '$$cr master' with aspell earlier than 0.60
      git-gui: Setup branch.remote,merge for shorthand git-pull
      git-gui: Delete branches with 'git branch -D' to clear config

Steffen Prohaska (4):
      t0050: Test autodetect core.ignorecase
      t0050: Set core.ignorecase case to activate case insensitivity
      t0050: Add test for case insensitive add
      t0050: Fix merge test on case sensitive file systems

Stephan Beyer (1):
      builtin-apply.c: use git_config_string() to get apply_default_whitespace

Stephen R. van den Berg (2):
      Simplify and fix --first-parent implementation
      git-svn: Same default as cvsimport when using --use-log-author

Steven Grimm (1):
      Add svn-compatible "blame" output format to git-svn

Teemu Likonen (1):
      Documentation/git-web--browse.txt: fix small typo

Thomas Arcila (1):
      gitk: Allow users to view diffs in external diff viewer

Trent Piepho (1):
      cvsexportcommit: Create config option for CVS dir


Version v1.5.5.6; changes since v1.5.5.5:
-----------------------------------------

Junio C Hamano (2):
      gitweb: do not run "git diff" that is Porcelain
      GIT 1.5.4.7


Version v1.5.5.5; changes since v1.5.5.4:
-----------------------------------------

Fred Maranhão (1):
      fix typo in tutorial

Johannes Sixt (1):
      Remove exec bit from builtin-fast-export.c

Junio C Hamano (4):
      diff.c: fix emit_line() again not to add extra line
      git-shell: accept "git foo" form
      GIT 1.5.4.6
      GIT 1.5.5.5

Miklos Vajna (1):
      git-read-tree: document -v option.

SZEDER Gábor (1):
      diff: reset color before printing newline


Version v1.5.5.4; changes since v1.5.5.3:
-----------------------------------------

Björn Steinbrink (1):
      name-rev: Fix segmentation fault when using --all

Junio C Hamano (1):
      GIT 1.5.5.4

Lea Wiemann (1):
      git-for-each-ref.txt: minor improvements

Michael Dressel (1):
      describe: match pattern for lightweight tags too


Version v1.5.5.3; changes since v1.5.5.2:
-----------------------------------------

Christian Couder (1):
      bisect: print an error message when "git rev-list --bisect-vars" fails

Gerrit Pape (3):
      git-bisect.sh: don't accidentally override existing branch "bisect"
      Documentation/git-bundle.txt: fix synopsis
      commit --interactive: properly update the index before commiting

Horst H. von Brand (1):
      Fix recipient santitization

Jeff King (2):
      send-email: specify content-type of --compose body
      send-email: rfc2047-quote subject lines with non-ascii characters

Johannes Sixt (1):
      Revert "filter-branch: subdirectory filter needs --full-history"

Junio C Hamano (3):
      Release Notes for 1.5.5.2
      show-branch --current: do not barf on detached HEAD
      GIT 1.5.5.3

Lea Wiemann (1):
      gitweb: only display "next" links in logs if there is a next page

Michele Ballabio (1):
      Documentation: fix graph in git-rev-parse.txt

Pieter de Bie (1):
      builtin-fast-export: Only output a single parent per line


Version v1.5.5.2; changes since v1.5.5.1:
-----------------------------------------

A Large Angry SCM (1):
      git-repack: re-enable parsing of -n command line option

Alex Riesen (2):
      Use "=" instead of "==" in condition as it is more portable
      Fix use after free() in builtin-fetch

Andy Parkins (1):
      post-receive-email: fix accidental removal of a trailing space in signature line

Ariel Badichi (2):
      copy.c: copy_fd - correctly report write errors
      archive.c: format_subst - fixed bogus argument to memchr

Brandon Casey (1):
      git-clone.txt: Adjust note to --shared for new pruning behavior of git-gc

Dan McGee (1):
      Remove 'header' from --signoff option description

Dmitry Potapov (1):
      git-gc --prune is deprecated

Dustin Sallings (1):
      Documentation/config.txt: Mention branch.<name>.rebase applies to "git pull"

Florian Ragwitz (1):
      filter-branch: Documentation fix.

Gerrit Pape (1):
      diff-options.txt: document the new "--dirstat" option

Heikki Orsila (1):
      Add missing "short" alternative to --date in rev-list-options.txt

Ian Hilt (1):
      Documentation/git-describe.txt: make description more readable

Jeff King (11):
      Don't force imap.host to be set when imap.tunnel is set
      t5516: remove ambiguity test (1)
      doc/git-gc: add a note about what is collected
      push: allow unqualified dest refspecs to DWIM
      remote: create fetch config lines with '+'
      fix reflog approxidate parsing bug
      cvsimport: always pass user data to "system" as a list
      checkout: don't rfc2047-encode oneline on detached HEAD
      doc: clarify definition of "update" for git-add -u
      doc/git-daemon: s/uploadarchive/uploadarch/
      git-am: fix typo in usage message

Johannes Sixt (2):
      wt-status.h: declare global variables as extern
      rev-parse --symbolic-full-name: don't print '^' if SHA1 is not a ref

Jon Loeliger (2):
      git-filter-branch: Clarify file removal example.
      git-show.txt: Not very stubby these days.

Junio C Hamano (3):
      write-tree: properly detect failure to write tree objects
      clone: detect and fail on excess parameters
      fetch-pack: brown paper bag fix

Linus Torvalds (1):
      fetch-pack: do not stop traversing an already parsed commit

Matt Graham (1):
      Linked glossary from cvs-migration page

Matthew Ogilvie (1):
      gitattributes: Fix subdirectory attributes specified from root directory

Michael Weber (1):
      svn-git: Use binmode for reading/writing binary rev maps

Miklos Vajna (1):
      diff options documentation: refer to --diff-filter in --name-status

Sam Vilain (1):
      Amend git-push refspec documentation

Shawn O. Pearce (1):
      Clarify repack -n documentation

Sitaram Chamarty (1):
      builtin-commit.c: add -u as short name for --untracked-files

Teemu Likonen (1):
      bash: Add completion for git diff --base --ours --theirs

Thomas Guyot-Sionnest (1):
      git-svn bug with blank commits and author file

martin f. krafft (2):
      Escape project name in regexp
      Escape project names before creating pathinfo URLs


Version v1.5.5.1; changes since v1.5.5:
---------------------------------------

Alberto Bertogli (1):
      builtin-apply: Show a more descriptive error on failure when opening a patch

Björn Steinbrink (1):
      Fix section about backdating tags in the git-tag docs

Carlos Rica (2):
      Fix documentation syntax of optional arguments in short options.
      core-tutorial.txt: Fix showing the current behaviour.

Christian Couder (4):
      bisect: fix bad rev checking in "git bisect good"
      bisect: report bad rev better
      bisect: squelch "fatal: ref HEAD not a symref" misleading message
      git-bisect: make "start", "good" and "skip" succeed or fail atomically

Clifford Caoile (1):
      Docs gitk: Explicitly mention the files that gitk uses (~/.gitk)

Daniel Barkalow (1):
      Fix config key miscount in url.*.insteadOf

Dirk Süsserott (1):
      Documentation/git-request-pull: Fixed a typo ("send" -> "end")

Jakub Narębski (1):
      gitweb: Fix 'history' view for deleted files with history

Jeff King (1):
      git-fetch: fix status output when not storing tracking ref

Johannes Sixt (1):
      Document option --only of git commit

Jon Loeliger (1):
      Clarify and fix English in "git-rm" documentation

Jonas Fonseca (1):
      git-remote: reject adding remotes with invalid names

Junio C Hamano (7):
      Document -w option to shortlog
      Documentation/git-submodule: typofix
      t7401: squelch garbage output
      rebase: do not munge commit log message
      git-am: minor cleanup
      am: POSIX portability fix
      GIT 1.5.5.1

Linus Torvalds (2):
      Ignore leading empty lines while summarizing merges
      git-am: cope better with an empty Subject: line

Mark Levedahl (1):
      git-submodule - possibly use branch name to describe a module

Matthieu Moy (1):
      Document that WebDAV doesn't need git on the server, and works over SSL

Michele Ballabio (1):
      revision.c: make --date-order overriddable

Pedro Melo (1):
      Force the medium pretty format on calls to git log

Ping Yin (1):
      git-submodule: Avoid 'fatal: cannot describe' message

René Scharfe (1):
      git-archive: ignore prefix when checking file attribute

Scott Collins (1):
      Clarify documentation of git-cvsserver, particularly in relation to git-shell

Shawn Bohrer (2):
      git clean: Don't automatically remove directories when run within subdirectory
      git clean: Add test to verify directories aren't removed with a prefix


Version v1.5.5; changes since v1.5.5-rc3:
-----------------------------------------

Christian Couder (2):
      git-gui: Update french translation
      test suite: remove useless TERM cruft in "t7005-editor.sh"

Eric Wong (1):
      git-svn: fix following renamed paths when tracking a single path

Gerrit Pape (1):
      gitk: Fix changing colors through Edit->Preferences

Jakub Narębski (1):
      Revert "gitweb: Add 'status_str' to parse_difftree_raw_line output"

Junio C Hamano (2):
      Fix "git apply" to correctly enforce "match at the beginning"
      GIT 1.5.5

Kevin Ballard (1):
      git-fetch: Don't trigger a bus error when given the refspec "tag"

Michele Ballabio (1):
      git-gui: use +/- instead of ]/[ to show more/less context in diff

Pascal Obry (2):
      Add interactive option in rebase command completion list.
      Add prefix oriented completions for diff and format-patch commands.

Peter Eriksen (2):
      git-pack-objects.txt: Make wording slightly less ambiguous
      Add description of OFS_DELTA to the pack format description

Shawn O. Pearce (1):
      git-gui: Switch keybindings for [ and ] to bracketleft and bracketright


Version v1.5.5-rc3; changes since v1.5.5-rc2:
---------------------------------------------

Brandon Casey (2):
      mktag.c: improve verification of tagger field and tests
      mktag.c: tweak validation of tagger field and adjust test script

Bryan Donlan (1):
      Silence cpio's "N blocks" output when cloning locally

Christian Couder (1):
      help: Add a missing OPT_END().

Damien Diederen (7):
      cvsserver: Respond to the 'editors' and 'watchers' commands
      cvsserver: Only print the file part of the filename in status header
      cvsserver: Do not include status output for subdirectories if -l is passed
      cvsserver: Add a few tests for 'status' command
      cvsserver: Implement update -p (print to stdout)
      cvsserver: Add test for update -p
      cvsserver: Use the user part of the email in log and annotate results

Eric Wong (1):
      git-svn: remove redundant slashes from show-ignore

Johannes Sixt (3):
      filter-branch: Test renaming directories in a tree-filter
      verify-tag: Clean up the temporary file if gpg cannot be started.
      t7004-tag: Skip more tests if gpg is not available.

Jonathan del Strother (1):
      git-gui: Add shortcut keys for Show More/Less Context

Josh Elsasser (1):
      Allow git-cvsserver database table name prefix to be specified.

Junio C Hamano (5):
      Add corner case tests for diff-index and diff-files
      diff-index: careful when inspecting work tree items
      diff-files: careful when inspecting work tree items
      Accept git aliases outside a git repository
      GIT 1.5.5-rc3

Marius Storm-Olsen (1):
      git-p4: Handle Windows EOLs properly after removal of p4 submit template handling.

Paolo Bonzini (1):
      git-cvsserver: handle change type T

Shawn O. Pearce (1):
      git-gui 0.10

Teemu Likonen (1):
      Describe the bug in handling filenames with funny characters in 'git add -i'

veillette@yahoo.ca (1):
      filter-branch: Fix renaming a directory in the tree-filter


Version v1.5.5-rc2; changes since v1.5.5-rc1:
---------------------------------------------

Brandon Casey (1):
      t/t3800-mktag.sh: use test_must_fail rather than '!'

Daniel Barkalow (2):
      Tighten refspec processing
      Fix branches file configuration

Dirk Süsserott (1):
      Documentation: git-tag '-m'/'-F' implies '-a'

Frank Lichtenheld (1):
      t9600-cvsimport.sh: set HOME before checking for cvsps availability

Gerrit Pape (1):
      imap-send: properly error out if imap.host is not set in config

Guanqun Lu (2):
      Fix the wrong output of `git-show v1.3.0~155^2~4` in documentation.
      Fix the wrong output of `git-show v1.3.0~155^2~4` in documentation.

Jeff King (1):
      Documentation: clarify use of .git{ignore,attributes} versus .git/info/*

Johannes Schindelin (2):
      RelNotes: mention checkout/branch's --track option, too
      init: show "Reinit" message even in an (existing) empty repository

Johannes Sixt (1):
      builtin-remote: Fix missing newline at end of listing of pushed branches

Julian Phillips (1):
      Documentation/git-checkout: Update summary to reflect current abilities

Junio C Hamano (7):
      refspec: allow colon-less wildcard "refs/category/*"
      git-fetch test: test tracking fetch results, not just FETCH_HEAD
      test_must_fail: 129 is a valid error code from usage()
      Update draft release notes for 1.5.4.5
      Update draft release notes for 1.5.5
      builtin-prune: protect objects listed on the command line
      GIT 1.5.4.5

Michele Ballabio (3):
      parse-options.c: introduce OPT_DATE
      Add tests for git-prune
      builtin-prune.c: use parse_options()

SZEDER Gábor (1):
      Always set *nongit_ok in setup_git_directory_gently()


Version v1.5.5-rc1; changes since v1.5.5-rc0:
---------------------------------------------

Brandon Casey (2):
      builtin-gc.c: allow disabling all auto-gc'ing by assigning 0 to gc.auto
      t/t7003-filter-branch.sh: use test_must_fail rather than '!'

Daniel Barkalow (3):
      Tighten refspec processing
      Fix t3200 config
      Fix tag following

Eyvind Bernhardsen (2):
      fast-import: Allow "reset" to delete a new branch without error
      fast-import: Document the effect of "merge" with no "from" in a commit

Johannes Schindelin (1):
      remote show: do not show symbolic refs

Junio C Hamano (10):
      Makefile: DIFF_OBJS is not special at all these days
      Makefile: flatten enumeration of headers, objects and programs
      t1000: use "test_must_fail git frotz", not "! git frotz"
      git-merge-one-file: fix longstanding stupid thinko
      Test: catch if trash cannot be removed
      Add tests to catch problems with un-unlinkable symlinks
      Fix read-tree not to discard errors
      remote.c: Fix overtight refspec validation
      gc --auto: raise default auto pack limit from 20 to 50
      GIT 1.5.5-rc1

Kevin Ballard (4):
      Add --reverse to the git-rev-list usage string
      Document the sendemail.smtpserverport config variable
      Don't try and percent-escape existing percent escapes in git-svn URIs
      Make git-svn tests behave better on OS X

Linus Torvalds (3):
      Don't update unchanged merge entries
      Fix possible Solaris problem in 'checkout_entry()'
      Make revision limiting more robust against occasional bad commit dates

Marius Storm-Olsen (1):
      git-p4: Optimize the fetching of data from perforce.

Miklos Vajna (1):
      Documentation/git-merge: document subtree strategy.

Nicolas Pitre (1):
      make it easier for people who just want to get rid of 'git gc --auto'

Ralf Wildenhues (1):
      Improve description of git filter-branch.

Shawn Bohrer (2):
      git-p4: Unset P4DIFF environment variable when using 'p4 -du diff'
      git-p4: Use P4EDITOR environment variable when set


Version v1.5.5-rc0; changes since v1.5.4.7:
-------------------------------------------

Adam Piątyszek (1):
      git-gui: Add option for changing the width of the commit message text box

Alex Riesen (4):
      Fix builtin checkout crashing when given an invalid path
      Fix test for cleanup failure in t7300 on Windows
      Do not use GUID on dir in git init --shared=all on FreeBSD
      git-gui: update russian translation

Alexandre Julliard (5):
      git.el: Support for showing unknown/ignored directories.
      git.el: Added a command to amend a commit.
      git.el: Check for existing buffers on revert.
      git.el: Better handling of subprocess errors.
      git.el: Do not display empty directories.

Andreas Ericsson (1):
      pack-objects: Add runtime detection of online CPU's

Brandon Casey (13):
      builtin-reflog.c: fix typo that accesses an unset variable
      Add compat/fopen.c which returns NULL on attempt to open directory
      builtin-reflog.c: don't install new reflog on write failure
      reflog-delete: parse standard reflog options
      git-reflog: add option --rewrite to update reflog entries while expiring
      refs.c: make close_ref() and commit_ref() non-static
      git-reflog: add option --updateref to write the last reflog sha1 into the ref
      git-stash: add new 'drop' subcommand
      git-stash: add new 'pop' subcommand
      pack-objects: Print a message describing the number of threads for packing
      t3903-stash.sh: Add missing '&&' to body of testcase
      git-reflog.txt: Document new commands --updateref and --rewrite
      t3903-stash.sh: Add tests for new stash commands drop and pop

Brian Downing (1):
      compat: Add simplified merge sort implementation from glibc

Bruno Ribas (2):
      gitweb: Make use of the $git_dir variable at sub git_get_project_url_list
      gitweb: Use the config file to set repository owner's name.

Carl Worth (1):
      Eliminate confusing "won't bisect on seeked tree" failure

Carlos Rica (1):
      Make builtin-reset.c use parse_options.

Charles Bailey (6):
      Tidy up git mergetool's backup file behaviour
      Changed an internal variable of mergetool to support custom commands
      Teach git mergetool to use custom commands defined at config time
      Add a very basic test script for git mergetool
      git-mergetool documentaiton: show toolnames in typewriter font
      merge-tool documentation: describe custom command usage

Cheng Renquan (4):
      cleanup: remove unused git_checkout_config
      whatchanged documentation: share description of --pretty with others
      specify explicit "--pretty=medium" with `git log/show/whatchanged`
      log/show/whatchanged: introduce format.pretty configuration

Christian Couder (17):
      help: make 'git-help--browse' usable outside 'git-help'.
      help--browse: add '--config' option to check a config option for a browser.
      Rename 'git-help--browse.sh' to 'git-web--browse.sh'.
      instaweb: use 'git-web--browse' to launch browser.
      config: add test cases for empty value and no value config variables.
      Documentation: instaweb: add 'git-web--browse' information.
      web--browse: Add a few quotes in 'init_browser_path'.
      Documentation: add 'git-web--browse.txt' and simplify other docs.
      help.c: use 'git_config_string' to get 'help_default_format'.
      run-command: Redirect stderr to a pipe before redirecting stdout to stderr
      help: add "man.viewer" config var to use "woman" or "konqueror"
      Documentation: help: describe 'man.viewer' config variable
      help: implement multi-valued "man.viewer" config option
      Documentation: help: explain 'man.viewer' multiple values
      help: warn if specified 'man.viewer' is unsupported, instead of erroring out
      web--browse: use custom commands defined at config time
      Documention: web--browse: add info about "browser.<tool>.cmd" config var

Christian Stimming (4):
      git-gui: (i18n) Fix a bunch of still untranslated strings.
      git-gui: Update German translation.
      git-gui: (i18n) Add newly added translation strings to template.
      git-gui: Update German translation.

Clemens Buchacher (2):
      http-push: push <remote> :<branch> deletes remote branch
      http-push: add regression tests

Daniel Barkalow (33):
      Test :/string form for checkout
      Reduce the number of connects when fetching
      Allow callers of unpack_trees() to handle failure
      Add flag to make unpack_trees() not print errors.
      Send unpack-trees debugging output to stderr
      Discard "deleted" cache entries after using them to update the working tree
      Add "skip_unmerged" option to unpack_trees.
      Build-in merge-recursive
      Move create_branch into a library file
      Use diff -u instead of diff in t7201
      Library function to check for unmerged index entries
      Move code to clean up after a branch change to branch.c
      Build in checkout
      Clean up reporting differences on branch switch
      API documentation for remote.h
      Add more tests for format-patch
      Improve message-id generation flow control for format-patch
      Export some email and pretty-printing functions
      Use ALLOC_GROW in remote.{c,h}
      Add a --cover-letter option to format-patch
      Add tests for extra headers in format-patch
      Fix format.headers not ending with a newline
      Combine To: and Cc: headers
      Support a --cc=<email> option in format-patch
      Resolve value supplied for no-colon push refspecs
      builtin-checkout.c: Remove unused prefix arguments in switch_branches path
      Add support for url aliases in config files
      Add API access to shortlog
      Improve collection of information for format-patch --cover-letter
      Always use the current connection's remote ref list in git protocol
      Use diff_tree() directly in making cover letter
      Write index file on any checkout of files
      Write diff output to a file in struct diff_options

David Aguilar (1):
      gitk: Don't show local changes when we there is no work tree

David Brown (1):
      git-send-email: Generalize auto-cc recipient mechanism.

David Kågedal (1):
      git.el: Set process-environment instead of invoking env

Dmitry Potapov (3):
      git-web--browse: do not start the browser with nohup
      Make private quote_path() in wt-status.c available as quote_path_relative()
      git-clean: correct printing relative path

Eric Wong (1):
      git-svn: improve repository URL matching when following parents

Florian La Roche (1):
      gitweb: Make feed entries point to commitdiff view

Frank Lichtenheld (1):
      gc: Add --quiet option

Gerrit Pape (4):
      gitk: properly deal with tag names containing / (slash)
      git-merge-index documentation: clarify synopsis
      builtin-tag.c: remove cruft
      hash-object: cleanup handling of command line options

Jakub Narębski (11):
      gitweb: Fix displaying unchopped argument in chop_and_escape_str
      gitweb: Add new option -nohtml to quot_xxx subroutines
      gitweb: Fix bug in href(..., -replay=>1) when using 'pathinfo' form
      gitweb: Fix bugs in git_search_grep_body: it's length(), not len()
      gitweb: Better cutting matched string and its context
      Add '--fixed-strings' option to "git log --grep" and friends
      gitweb: Change parse_commits signature to allow for multiple options
      gitweb: Simplify fixed string search
      Documentation: Remove --{min,max}-age option from git-log(1)
      gitweb: Mark first match when searching commit messages
      gitweb: Fix and simplify pickaxe search

James Bowes (1):
      Add a BuildRequires for gettext in the spec file.

Jason McMullan (1):
      Remove $Id: ..$ $Header: ..$ etc from +ko and +k files during import

Jay Soffian (8):
      git-web--browse: fix misplaced quote in init_browser_path()
      git-help--browse: improve browser support under OS X
      builtin-checkout.c: fix possible usage segfault
      branch: optionally setup branch.*.merge from upstream local branches
      doc: documentation update for the branch track changes
      Correct git-pull documentation
      send-email: fix In-Reply-To regression
      pull: pass --strategy along to to rebase

Jean-Luc Herren (1):
      fast-import: exit with proper message if not a git dir

Jeff King (31):
      allow suppressing of global and system config
      fix config reading in tests
      hard-code the empty tree object
      add--interactive: handle initial commit better
      git_config_*: don't assume we are parsing a config file
      t3404: use configured shell instead of /bin/sh
      diff: fix java funcname pattern for solaris
      t9001: enhance fake sendmail test harness
      send-email: test compose functionality
      help: use parseopt
      make alias lookup a public, procedural function
      help: respect aliases
      use build-time SHELL_PATH in test scripts
      rename: warn user when we have turned off rename detection
      allow git-am to run in a subdirectory
      Add a test for read-tree -u --reset with a D/F conflict
      gitk: make autoselect optional
      tr portability fixes
      t0050: perl portability fix
      more tr portability test script fixes
      grep portability fix: don't use "-e" or "-q"
      remove use of "tail -n 1" and "tail -1"
      add test_cmp function for test scripts
      t4020: don't use grep -a
      t6000lib: tr portability fix
      add NO_EXTERNAL_GREP build option
      filter-branch: don't use xargs -0
      filter-branch: use $SHELL_PATH instead of 'sh'
      t9112: add missing #!/bin/sh header
      t7505: use SHELL_PATH in hook
      t6000lib: re-fix tr portability

Jim Meyering (1):
      Avoid unnecessary "if-before-free" tests.

Johan Herland (2):
      Add testcase for 'git cvsexportcommit -w $cvsdir ...' with relative $GIT_DIR
      Fix 'git cvsexportcommit -w $cvsdir ...' when used with relative $GIT_DIR

Johannes Schindelin (21):
      Teach "git reflog" a subcommand to delete single entries
      Also use unpack_trees() in do_diff_cache()
      Fix "git clone" for git:// protocol
      Adjust .gitignore for 5884f1(Rename 'git-help--browse.sh'...)
      Introduce the config variable pack.packSizeLimit
      bisect view: check for MinGW32 and MacOSX in addition to X11
      xdl_merge(): make XDL_MERGE_ZEALOUS output simpler
      xdl_merge(): introduce XDL_MERGE_ZEALOUS_ALNUM
      completion: support format-patch's --cover-letter option
      path-list: add functions to work with unsorted lists
      parseopt: add flag to stop on first non option
      Test "git remote show" and "git remote prune"
      Make git-remote a builtin
      builtin-remote: prune remotes correctly that were added with --mirror
      Fix make_absolute_path() for parameters without a slash
      format-patch: use the diff options for the cover letter, too
      format-patch: wrap cover-letter's shortlog sensibly
      remote show: Clean up connection correctly if object fetch wasn't done
      remote: fix "update [group...]"
      builtin remote rm: remove symbolic refs, too
      gc: call "prune --expire 2.weeks.ago" by default

Johannes Sixt (7):
      Fix misuse of prefix_path()
      gitk: Heed the lines of context in merge commits
      Technical documentation of the run-command API.
      prefix_path: use is_absolute_path() instead of *orig == '/'
      start_command(), .in/.out/.err = -1: Callers must close the file descriptor
      start_command(), if .in/.out > 0, closes file descriptors, not the callers
      git-submodule summary: fix that some "wc" flavors produce leading spaces

Jonas Fonseca (2):
      man pages are littered with .ft C and others
      shortlog: do not require to run from inside a git repository

Junichi Uekawa (1):
      git-blame.el: show the when, who and what in the minibuffer.

Junio C Hamano (93):
      index: be careful when handling long names
      Avoid running lstat(2) on the same cache entry.
      read-cache.c: fix a couple more CE_REMOVE conversion
      read-cache.c: introduce is_racy_timestamp() helper
      lazy index hashing
      Sane use of test_expect_failure
      test: reword the final message of tests with known breakages
      known breakage: revision range computation with clock skew
      fix misuse of prefix_path()
      builtin-apply.c: refactor small part that matches context
      builtin-apply.c: restructure "offset" matching
      builtin-apply.c: push match-beginning/end logic down
      builtin-apply.c: make it more line oriented
      builtin-apply.c: optimize match_beginning/end processing a bit.
      builtin-apply.c: mark common context lines in lineinfo structure.
      builtin-apply.c: clean-up apply_one_fragment()
      builtin-apply.c: simplify calling site to apply_line()
      builtin-apply.c: do not feed copy_wsfix() leading '+'
      builtin-apply.c: move copy_wsfix() function a bit higher.
      builtin-apply.c: pass ws_rule down to match_fragment()
      git-apply --whitespace=fix: fix whitespace fuzz introduced by previous run
      core.whitespace: cr-at-eol
      Documentation/SubmittingPatches: Instruct how to use [PATCH] Subject header
      Documentation/SubmittingPatches: discuss first then submit
      Documentation/SubmittingPatches: What's Acked-by and Tested-by?
      Make error messages from cherry-pick/revert more sensible
      setup: sanitize absolute and funny paths in get_pathspec()
      git-add: adjust to the get_pathspec() changes.
      builtin-mv: minimum fix to avoid losing files
      gitignore(5): Allow "foo/" in ignore list to match directory "foo"
      gitignore: lazily find dtype
      Define the project whitespace policy
      apply: do not barf on patch with too large an offset
      Update the main documentation (stale notes section)
      .mailmap: adjust to a recent patch application glitch.
      diff --relative: output paths as relative to the current subdirectory
      diff --relative: help working in a bare repository
      checkout: notice when the switched branch is behind or forked
      Documentation/SubmittingPatches - a suggested patch flow
      Sync with 1.5.4.2 and start 1.5.5 Release Notes
      sending errors to stdout under $PAGER
      merge-recursive: split low-level merge functions out.
      expose a helper function peel_to_type().
      checkout: tone down the "forked status" diagnostic messages
      checkout: work from a subdirectory
      git-reset --hard and git-read-tree --reset: fix read_cache_unmerged()
      checkout: updates to tracking report
      gitweb: Better chopping in commit search results
      Add merge-subtree back
      checkout: show progress when checkout takes long time while switching branches
      ws_fix_copy(): move the whitespace fixing function to ws.c
      checkout: error out when index is unmerged even with -m
      diff --dirstat: saner handling of binary and unmerged files
      url rewriting: take longest and first match
      git-apply --whitespace=fix: fix off by one thinko
      Revert "pack-objects: Print a message describing the number of threads for packing"
      git-remote: do not complain on multiple URLs for a remote
      format-patch: remove a leftover debugging message
      tests: introduce test_must_fail
      Update draft release notes for 1.5.5
      t6024: move "git reset" to prepare for a test inside the test itself
      CodingGuidelines: spell out how we use grep in our scripts
      find_unique_abbrev(): redefine semantics
      Clean up find_unique_abbrev() callers
      diff-lib.c: constness strengthening
      diff: make sure work tree side is shown as 0{40} when different
      Update draft release notes for 1.5.5
      describe --always: fall back to showing an abbreviated object name
      git-describe: use tags found in packed-refs correctly
      describe: fix --long output
      describe: re-fix display_name()
      t6120 (describe): check --long properly
      Revert "receive-pack: use strict mode for unpacking objects"
      Revert "unpack-objects: prevent writing of inconsistent objects"
      fsck.c: fix bogus "empty tree" check
      am: read from the right mailbox when started from a subdirectory
      am: remove support for -d .dotest
      am: --rebasing
      get_pathspec(): die when an out-of-tree path is given
      Revert part of 744dacd (builtin-mv: minimum fix to avoid losing files)
      Revert part of 1abf095 (git-add: adjust to the get_pathspec() changes)
      Revert part of d089eba (setup: sanitize absolute and funny paths in get_pathspec())
      git-clean: add tests for relative path
      send-email: --no-signed-off-cc should suppress 'sob' cc
      traverse_trees_recursive(): propagate merge errors up
      git-gui: Simplify MSGFMT setting in Makefile
      Documentation/config: typofix
      Documentation/git-help: typofix
      read-tree() and unpack_trees(): use consistent limit
      Redo "add test_cmp function for test scripts"
      git-gui: Improve directions regarding POT update in po/README
      Resurrect git-rerere to contrib/examples
      Update draft release notes for 1.5.5

Karl Wiberg (2):
      git-svn: Don't call git-repack anymore
      Let "git svn" run "git gc --auto" occasionally

Kevin Ballard (1):
      bash: Properly quote the GIT_DIR at all times to fix subdirectory paths with spaces

Kristian Høgsberg (1):
      wt-status.c: no need for dup() dance anymore

Lars Hjemli (1):
      Simplify setup of $GIT_DIR in git-sh-setup.sh

Linus Torvalds (22):
      Make on-disk index representation separate from in-core one
      Make run_diff_index() use unpack_trees(), not read_tree()
      Create pathname-based hash-table lookup into index
      Add "--dirstat" for some directory statistics
      gitk: learn --show-all output
      Add "--show-all" revision walker flag for debugging
      Fix name re-hashing semantics
      Name hash fixups: export (and rename) remove_hash_entry
      Use helper function for copying index entry information
      Be more verbose when checkout takes a long time
      Add 'df_name_compare()' helper function
      Make 'traverse_tree()' use linked structure rather than 'const char *base'
      Add return value to 'traverse_tree()' callback
      Make 'traverse_trees()' traverse conflicting DF entries in parallel
      Move 'unpack_trees()' over to 'traverse_trees()' interface
      Fix tree-walking compare_entry() in the presense of --prefix
      Add 'const' where appropriate to index handling functions
      Make 'unpack_trees()' take the index to work on as an argument
      Make 'unpack_trees()' have a separate source and destination index
      unpack_trees(): minor memory leak fix in unused destination index
      unpack_trees(): fix diff-index regression.
      Fix recent 'unpack_trees()'-related changes breaking 'git stash'

Marco Costalba (1):
      Avoid a useless prefix lookup in strbuf_expand()

Mark Levedahl (1):
      git-submodule - Allow adding a submodule in-place

Martin Koegler (28):
      git-fsck: report missing author/commit line in a commit as an error
      parse_object_buffer: don't ignore errors from the object specific parsing functions
      deref_tag: handle return value NULL
      deref_tag: handle tag->tagged = NULL
      check return code of prepare_revision_walk
      read_object_with_reference: don't read beyond the buffer
      get_sha1_oneline: check return value of parse_object
      mark_blob/tree_uninteresting: check for NULL
      reachable.c::add_one_tree: handle NULL from lookup_tree
      list-objects.c::process_tree/blob: check for NULL
      check results of parse_commit in merge_bases
      process_tag: handle tag->tagged == NULL
      reachable.c::process_tree/blob: check for NULL
      revision.c: handle tag->tagged == NULL
      parse_commit: don't fail, if object is NULL
      check return value from parse_commit() in various functions
      peel_onion: handle NULL
      add generic, type aware object chain walker
      builtin-fsck: move away from object-refs to fsck_walk
      Remove unused object-ref code
      builtin-fsck: reports missing parent commits
      builtin-fsck: move common object checking code to fsck.c
      add common fsck error printing function
      unpack-object: cache for non written objects
      unpack-objects: prevent writing of inconsistent objects
      index-pack: introduce checking mode
      receive-pack: use strict mode for unpacking objects
      fetch-pack: check parse_commit/object results

Matthias Kestenholz (1):
      Add color.ui variable which globally enables colorization if set

Michael Witten (3):
      git-send-email: ssh/login style password requests
      git-send-email: SIG{TERM,INT} handlers
      git-send-email: Better handling of EOF

Michal Rokos (2):
      Add compat/snprintf.c for systems that return bogus
      autoconf: Test FREAD_READS_DIRECTORIES

Michele Ballabio (7):
      gitk: Fix "Key bindings" message
      git-gui: fix typo in lib/spellcheck.tcl
      builtin-for-each-ref.c: fix typo in error message
      gitk: Mark another string for translation
      git-gui: update Italian translation
      gitk: initial Italian translation
      git-gui: remove spurious "fuzzy" attributes in po/it.po

Mike Hommey (5):
      Work around curl-gnutls not liking to be reinitialized
      Add test for git rebase --abort
      Documentation/git-rebase.txt: Add --strategy to synopsys
      git rebase --abort: always restore the right commit
      t3407-rebase-abort.sh: Enhance existing tests, and add test for rebase --merge

Miklos Vajna (4):
      git-clean: handle errors if removing files fails
      Improve t6029 to check the real "subtree" case
      Update Hungarian translation. 100% completed.
      git-gui: Updated Hungarian translation (e5fba18)

Nanako Shiraishi (2):
      git-gui: Update Japanese translation
      git-gui: Update Japanese translation

Nicolas Pitre (5):
      factorize revindex code out of builtin-pack-objects.c
      make verify_one_pack() a bit less wrong wrt packed_git structure
      fix unimplemented packed_object_info_detail() features
      add storage size output to 'git verify-pack -v'
      pack-objects: proper pack time stamping with --max-pack-size

Paolo Bonzini (4):
      git-commit: support variable number of hook arguments
      git-commit: set GIT_EDITOR=: if editor will not be launched
      git-commit: Refactor creation of log message.
      git-commit: add a prepare-commit-msg hook

Paul Mackerras (3):
      gitk: Only restore window size from ~/.gitk, not position
      gitk: Avoid Tcl error when switching views
      gitk: Default to using po2msg.sh if msgfmt doesn't grok --tcl, -l and -d

Pekka Kaitaniemi (1):
      gitk: Add horizontal scrollbar to the diff view

Peter Krefting (2):
      git-gui: Regenerated po template and merged translations with it
      git-gui: updated Swedish translation

Petr Baudis (1):
      gitweb: Clearly distinguish regexp / exact match searches

Philipp A. Hartmann (1):
      git-gui: if a background colour is set, set foreground colour as well

Philippe Bruhat (3):
      cvsimport: have default merge regex allow for dashes in the branch name
      cvsimport: allow for multiple -M options
      cvsimport: document that -M can be used multiple times

Pierre Habouzit (4):
      git-describe: Add a --match option to limit considered tags.
      git-name-rev: add a --(no-)undefined option.
      parse-opt: bring PARSE_OPT_HIDDEN and NONEG to git-rev-parse --parseopt
      parse-options: new option type to treat an option-like parameter as an argument.

Ping Yin (5):
      git-submodule summary: code framework
      git-submodule summary: show commit summary
      git-submodule summary: limit summary size
      git-submodule summary: documentation
      git-submodule summary: test

Rafael Garcia-Suarez (1):
      Make git-remote.perl "use strict" compliant

Ralf Wildenhues (1):
      Fix doc typos.

Robin Rosenberg (2):
      Make blame accept absolute paths
      Improve bash prompt to detect various states like an unfinished merge

SZEDER Gábor (9):
      bash: add git-branch options
      bash: git-branch -d and -m lists only local branches
      bash: remove unnecessary conditions when checking for subcommands
      bash: refactor searching for subcommands on the command line
      bash: add new 'git stash' subcommands
      bash: add 'git svn' subcommands and options
      bash: use __gitdir when completing 'git rebase' options
      bash: fix long option with argument double completion
      update 'git rebase' documentation

Samuel Tardieu (1):
      "remote update": print remote name being fetched from

Santi Béjar (3):
      git-bundle.txt: Add different strategies to create the bundle
      git-describe: --long shows the object name even for a tagged commit
      clone: support cloning full bundles

Sebastian Noack (1):
      git-svn: Don't prompt for client cert password everytime.

Shawn O. Pearce (37):
      git-gui: Automatically spell check commit messages as the user types
      git-gui: Paper bag fix bad string length call in spellchecker
      git-gui: Correct size of dictionary name widget in options dialog
      Include annotated tags in fast-import crash reports
      Include the fast-import marks table in crash reports
      Finish current packfile during fast-import crash handler
      Update fast-import documentation to discuss crash reports
      Teach git-grep --name-only as synonym for -l
      git-gui: Ensure all spellchecker 'class' variables are initialized
      git-gui: Remove explicit references to 'aspell' in message strings
      git-gui: Only bind the spellcheck popup suggestion hook once
      git-gui: Catch and display aspell startup failures to the user
      git-gui: Gracefully display non-aspell version errors to users
      git-gui: Shorten Aspell version strings to just Aspell version number
      Optimize peel_ref for the current ref of a for_each_ref callback
      Teach git-describe to use peeled ref information when scanning tags
      Avoid accessing non-tag refs in git-describe unless --all is requested
      Teach git-describe --exact-match to avoid expensive tag searches
      Use git-describe --exact-match in bash prompt on detached HEAD
      Teach git-describe to verify annotated tag names before output
      Remove unused variable in builtin-fetch find_non_local_tags
      Remove unnecessary delaying of free_refs(ref_map) in builtin-fetch
      Ensure tail pointer gets setup correctly when we fetch HEAD only
      Allow builtin-fetch's find_non_local_tags to append onto a list
      Free the path_lists used to find non-local tags in git-fetch
      Teach upload-pack to log the received need lines to an fd
      Make git-fetch follow tags we already have objects for sooner
      Teach git-fetch to grab a tag at the same time as a commit
      Don't allow git-describe failures to go unnoticed in t6120
      Test for packed tags in git-describe output
      Add git-describe test for "verify annotated tag names on output"
      git-pack-objects: Automatically pack annotated tags if object was packed
      Teach fetch-pack/upload-pack about --include-tag
      Teach git-fetch to exploit server side automatic tag following
      bash: Remove completion of core.legacyheaders option
      git-gui: Don't translate the special Apple menu
      git-gui: Adjusted Japanese translation to updated POT

Simon Hausmann (7):
      git-p4: Fix submit user-interface.
      git-p4: Ensure the working directory and the index are clean before "git-p4 rebase"
      git-p4: Remove --log-substitutions feature.
      git-p4: Clean up git-p4 submit's log message handling.
      git-p4: Removed git-p4 submit --direct.
      git-p4: git-p4 submit cleanups.
      git-p4: Fix import of changesets with file deletions

Steffen Prohaska (4):
      safecrlf: Add mechanism to warn about irreversible crlf conversions
      gitk: Add checkbutton to ignore space changes
      t4014: Replace sed's non-standard 'Q' by standard 'q'
      Add tests for filesystem challenges (case and unicode normalization)

Teemu Likonen (1):
      bash: Add more long options to be completed with "git --<TAB>"

Tim Stoakes (1):
      Add `git svn blame' command

Toby Allsopp (1):
      git-p4: Fix indentation from tab to spaces

Tommy Thorn (2):
      git-p4: Fix an obvious typo
      git-p4: support exclude paths

Tor Arvid Lund (1):
      git-p4: Support usage of perforce client spec

Uwe Kleine-König (1):
      rev-list: add --branches, --tags and --remotes

Yann Dirson (1):
      Add an --argscmd flag to get the list of refs to show

eric miao (1):
      git-gui: translate the remaining messages in zh_cn.po to chinese


Version v1.5.4.7; changes since v1.5.4.6:
-----------------------------------------

Junio C Hamano (2):
      gitweb: do not run "git diff" that is Porcelain
      GIT 1.5.4.7


Version v1.5.4.6; changes since v1.5.4.5:
-----------------------------------------

A Large Angry SCM (1):
      git-repack: re-enable parsing of -n command line option

Alberto Bertogli (1):
      builtin-apply: Show a more descriptive error on failure when opening a patch

Ariel Badichi (2):
      copy.c: copy_fd - correctly report write errors
      archive.c: format_subst - fixed bogus argument to memchr

Björn Steinbrink (1):
      Fix section about backdating tags in the git-tag docs

Carlos Rica (2):
      Fix documentation syntax of optional arguments in short options.
      core-tutorial.txt: Fix showing the current behaviour.

Christian Couder (4):
      bisect: fix bad rev checking in "git bisect good"
      bisect: report bad rev better
      bisect: squelch "fatal: ref HEAD not a symref" misleading message
      git-bisect: make "start", "good" and "skip" succeed or fail atomically

Clifford Caoile (1):
      Docs gitk: Explicitly mention the files that gitk uses (~/.gitk)

Dan McGee (1):
      Remove 'header' from --signoff option description

Dirk Süsserott (1):
      Documentation/git-request-pull: Fixed a typo ("send" -> "end")

Dustin Sallings (1):
      Documentation/config.txt: Mention branch.<name>.rebase applies to "git pull"

Florian Ragwitz (1):
      filter-branch: Documentation fix.

Ian Hilt (1):
      Documentation/git-describe.txt: make description more readable

Jeff King (6):
      t5516: remove ambiguity test (1)
      fix reflog approxidate parsing bug
      cvsimport: always pass user data to "system" as a list
      doc: clarify definition of "update" for git-add -u
      doc/git-daemon: s/uploadarchive/uploadarch/
      git-am: fix typo in usage message

Johannes Sixt (3):
      Document option --only of git commit
      wt-status.h: declare global variables as extern
      rev-parse --symbolic-full-name: don't print '^' if SHA1 is not a ref

Jon Loeliger (1):
      Clarify and fix English in "git-rm" documentation

Junio C Hamano (7):
      Fix "git apply" to correctly enforce "match at the beginning"
      Document -w option to shortlog
      git-am: minor cleanup
      am: POSIX portability fix
      write-tree: properly detect failure to write tree objects
      git-shell: accept "git foo" form
      GIT 1.5.4.6

Linus Torvalds (2):
      Ignore leading empty lines while summarizing merges
      git-am: cope better with an empty Subject: line

Matt Graham (1):
      Linked glossary from cvs-migration page

Matthew Ogilvie (1):
      gitattributes: Fix subdirectory attributes specified from root directory

Michael Weber (1):
      svn-git: Use binmode for reading/writing binary rev maps

Michele Ballabio (1):
      revision.c: make --date-order overriddable

Miklos Vajna (1):
      diff options documentation: refer to --diff-filter in --name-status

Pieter de Bie (1):
      builtin-fast-export: Only output a single parent per line

René Scharfe (1):
      git-archive: ignore prefix when checking file attribute

Scott Collins (1):
      Clarify documentation of git-cvsserver, particularly in relation to git-shell

Sitaram Chamarty (1):
      builtin-commit.c: add -u as short name for --untracked-files

Thomas Guyot-Sionnest (1):
      git-svn bug with blank commits and author file


Version v1.5.4.5; changes since v1.5.4.4:
-----------------------------------------

Andy Whitcroft (1):
      shortlog: take the first populated line of the description

Bernt Hansen (1):
      git-new-workdir: Share SVN meta data between work dirs and the repository

Brandon Casey (1):
      t/t3800-mktag.sh: use test_must_fail rather than '!'

Clemens Buchacher (1):
      merge-recursive: handle file mode changes

Daniel Barkalow (2):
      Tighten refspec processing
      Fix branches file configuration

Eric Wong (1):
      git-svn: don't blindly append '*' to branch/tags config

Guanqun Lu (1):
      Fix the wrong output of `git-show v1.3.0~155^2~4` in documentation.

Jakub Narębski (1):
      gitweb: Fix bug in href(..., -replay=>1) when using 'pathinfo' form

Jeff King (2):
      t0021: tr portability fix for Solaris
      Documentation: clarify use of .git{ignore,attributes} versus .git/info/*

Johannes Schindelin (3):
      launch_editor(): allow spaces in the filename
      git fetch: Take '-n' to mean '--no-tags'
      merge-file: handle empty files gracefully

Jonas Fonseca (1):
      Make man page building quiet when DOCBOOK_XSL_172 is defined

Junio C Hamano (9):
      filter-branch: handle "disappearing tree" case correctly in subdir filter
      git-pull documentation: warn about the option order
      quiltimport: fix misquoting of parsed -p<num> parameter
      format-patch: generate MIME header as needed even when there is format.header
      rebase -m: do not trigger pre-commit verification
      Start draft ReleaseNotes for 1.5.4.5
      git-fetch test: test tracking fetch results, not just FETCH_HEAD
      Update draft release notes for 1.5.4.5
      GIT 1.5.4.5

Linus Torvalds (1):
      rev-parse: fix meaning of rev~ vs rev~0.

Marc-André Lureau (2):
      git-svn: fix find-rev error message when missing arg
      git-cvsimport: fix merging with remote parent branch

Mike Hommey (1):
      git rebase --abort: always restore the right commit

Pierre Habouzit (1):
      git-quiltimport: better parser to grok "enhanced" series files.

Vineet Kumar (1):
      Minor wording changes in the keyboard descriptions in git-add --interactive.


Version v1.5.4.4; changes since v1.5.4.3:
-----------------------------------------

Adeodato Simó (1):
      Really make the LF after reset in fast-import optional

Björn Steinbrink (1):
      receive-pack: Initialize PATH to include exec-dir.

Brandon Casey (1):
      builtin-reflog.c: don't install new reflog on write failure

Bryan Donlan (1):
      Documentation/git-am.txt: Pass -r in the example invocation of rm -f .dotest

Caio Marcelo de Oliveira Filho (1):
      filter-branch documentation: non-zero exit status in command abort the filter

Carl Worth (1):
      Eliminate confusing "won't bisect on seeked tree" failure

Daniel Barkalow (3):
      Use a single implementation and API for copy_file()
      Don't use GIT_CONFIG in t5505-remote
      Correct name of diff_flush() in API documentation

Gerrit Pape (2):
      templates/Makefile: don't depend on local umask setting
      git-merge.sh: better handling of combined --squash,--no-ff,--no-commit options

Jay Soffian (2):
      rev-parse: fix potential bus error with --parseopt option spec handling
      send-email: fix In-Reply-To regression

Jeff King (1):
      revert: actually check for a dirty index

Johan Herland (2):
      Add testcase for 'git cvsexportcommit -w $cvsdir ...' with relative $GIT_DIR
      Fix 'git cvsexportcommit -w $cvsdir ...' when used with relative $GIT_DIR

Johannes Schindelin (4):
      http-push: avoid invalid memory accesses
      http-push: do not get confused by submodules
      http-push: avoid a needless goto
      cvsexportcommit: be graceful when "cvs status" reorders the arguments

Johannes Sixt (2):
      daemon: send more error messages to the syslog
      daemon: ensure that base-path is an existing directory

John Goerzen (1):
      Fix dcommit, rebase when rewriteRoot is in use

Jonathan del Strother (1):
      Prompt to continue when editing during rebase --interactive

Junio C Hamano (6):
      Fix "git log --merge --left-right"
      Start preparing for 1.5.4.4
      tests: introduce test_must_fail
      Update draft release notes for 1.5.4.4
      test-lib: fix TERM to dumb for test repeatability
      GIT 1.5.4.4

Matthieu Moy (1):
      Fix incorrect wording in git-merge.txt.

Mike Hommey (2):
      Set proxy override with http_init()
      Fix random crashes in http_cleanup()

Mike Ralphson (1):
      Documentation cherry-pick: Fix cut-and-paste error

Miklos Vajna (2):
      Documentation/git-filter-branch: add a new msg-filter example
      Documentation/git svn log: add a note about timezones.

Pierre Habouzit (1):
      unquote_c_style: fix off-by-one.

Ping Yin (1):
      git-submodule: Fix typo 'url' which should be '$url'

Rémi Vanicat (1):
      git.el: find the git-status buffer whatever its name is

Santi Béjar (1):
      ident.c: reword error message when the user name cannot be determined

Sebastian Noack (1):
      git-svn: Don't prompt for client cert password everytime.

Shawn O. Pearce (6):
      Ensure 'make dist' compiles git-archive.exe on Cygwin
      Protect peel_ref fallback case from NULL parse_object result
      Correct fast-export file mode strings to match fast-import standard
      git-gui: Paper bag fix info dialog when no files are staged at commit
      Fix 'git remote show' regression on empty repository in 1.5.4
      git-gui: Gracefully fall back to po2msg.sh if msgfmt --tcl fails

Steven Drake (1):
      timezone_names[]: fixed the tz offset for New Zealand.

Uwe Kleine-König (1):
      config.txt: refer to --upload-pack and --receive-pack instead of --exec


Version v1.5.4.3; changes since v1.5.4.2:
-----------------------------------------

Gerrit Pape (1):
      git-clone.sh: properly configure remote even if remote's head is dangling

Jay Soffian (2):
      git-gui: support Git Gui.app under OS X 10.5
      send-email: squelch warning due to comparing undefined $_ to ""

Jeff King (4):
      push: indicate partialness of error message
      Documentation/push: clarify matching refspec behavior
      push: document the status output
      hash: fix lookup_hash semantics

Junio C Hamano (1):
      GIT 1.5.4.3

Kristian Høgsberg (1):
      Rename git-core rpm to just git and rename the meta-pacakge to git-all.

Miklos Vajna (1):
      Documentation/git-stash: document options for git stash list

Pekka Kaitaniemi (1):
      Clarified the meaning of git-add -u in the documentation

Shawn O. Pearce (5):
      git-gui: Ensure error dialogs always appear over all other windows
      git-gui: Paper bag fix error dialogs opening over the main window
      git-gui: Default TCL_PATH to same location as TCLTK_PATH
      git-gui: Avoid hardcoded Windows paths in Cygwin package files
      git-gui: Focus insertion point at end of strings in repository chooser

Wincent Colaiuta (1):
      git-gui: relax "dirty" version detection


Version v1.5.4.2; changes since v1.5.4.1:
-----------------------------------------

Christian Couder (8):
      config: add test cases for empty value and no value config variables.
      diff.c: replace a 'strdup' with 'xstrdup'.
      diff.c: remove useless check for value != NULL
      config: add 'git_config_string' to refactor string config variables.
      Add "const" qualifier to "char *pager_program".
      Add "const" qualifier to "char *editor_program".
      Add "const" qualifier to "char *excludes_file".
      diff.c: add "const" qualifier to "char *cmd" member of "struct ll_diff_driver"

Daniel Barkalow (1):
      Validate nicknames of remote branches to prohibit confusing ones

David Steven Tweed (1):
      Make git prune remove temporary packs that look like write failures

Frank Lichtenheld (1):
      config: Fix --unset for continuation lines

Gerrit Pape (2):
      builtin-commit: remove .git/SQUASH_MSG upon successful commit
      cvsimport: have default merge regex also match beginning of commit message

James Bowes (1):
      Add a BuildRequires for gettext in the spec file.

Jay Soffian (1):
      mailinfo: feed only one line to handle_filter() for QP input

Jeff King (2):
      status: suggest "git rm --cached" to unstage for initial commit
      commit: discard index after setting up partial commit

Johannes Schindelin (3):
      bisect: allow starting with a detached HEAD
      Document that the default of branch.autosetupmerge is true
      bisect: use verbatim commit subject in the bisect log

Johannes Sixt (1):
      upload-pack: Initialize the exec-path.

Jonas Fonseca (1):
      man pages are littered with .ft C and others

Junio C Hamano (31):
      git-pull documentation: fix markup
      archive-tar.c: guard config parser from value=NULL
      Add config_error_nonbool() helper function
      builtin-apply.c: guard config parser from value=NULL
      builtin-branch.c: guard config parser from value=NULL
      builtin-commit.c: guard config parser from value=NULL
      builtin-config.c: guard config parser from value=NULL
      builtin-log.c: guard config parser from value=NULL
      builtin-reflog.c: guard config parser from value=NULL
      builtin-show-branch.c: guard config parser from value=NULL
      builtin-tag.c: guard config parser from value=NULL
      connect.c: guard config parser from value=NULL
      convert.c: guard config parser from value=NULL
      diff.c: guard config parser from value=NULL
      git.c: guard config parser from value=NULL
      help.c: guard config parser from value=NULL
      http.c: guard config parser from value=NULL
      merge-recursive.c: guard config parser from value=NULL
      remote.c: guard config parser from value=NULL
      setup.c: guard config parser from value=NULL
      wt-status.c: guard config parser from value=NULL
      imap-send.c: guard config parser from value=NULL
      builtin-log.c: guard config parser from value=NULL
      config.c: guard config parser from value=NULL
      Revert "pack-objects: only throw away data during memory pressure"
      Protect get_author_ident_from_commit() from filenames in work tree
      diff.c: fixup garding of config parser from value=NULL
      diff: Fix miscounting of --check output
      filter-branch: handle filenames that need quoting
      Documentation/git-reset:
      GIT 1.5.4.2

Martin Koegler (1):
      pack-objects: only throw away data during memory pressure

Mike Hommey (1):
      Work around curl-gnutls not liking to be reinitialized

Miklos Vajna (2):
      builtin-gc.c: guard config parser from value=NULL
      git clone -s documentation: force a new paragraph for the NOTE

Pieter de Bie (2):
      Documentation/git-reset: don't mention --mixed for selected-paths reset
      Documentation/git-reset: Add an example of resetting selected paths

Sergei Organov (1):
      git-cvsimport.txt: fix '-M' description.

Shawn O. Pearce (1):
      fast-import: check return value from unpack_entry()

Stelian Pop (1):
      hg-to-git: fix parent analysis

Uwe Kleine-König (1):
      rebase -i: accept -m as advertised in the man page


Version v1.5.4.1; changes since v1.5.4:
---------------------------------------

Gerrit Pape (1):
      INSTALL: git-merge no longer uses cpio

Jari Aalto (1):
      Documentation/git-stash.txt: Adjust SYNOPSIS command syntax (2)

Junio C Hamano (3):
      Update stale documentation links from the main documentation.
      Fix "git-commit -C $tag"
      gitattributes: fix relative path matching

Jörg Sommer (2):
      git-am: fix type in its usage string
      git-remote documentation: fix synopsis to match description

Tim Stoakes (1):
      Fix typo in 'blame' documentation.

Timo Hirvonen (1):
      Fix parsing numeric color values


Version v1.5.4; changes since v1.5.4-rc5:
-----------------------------------------

Brandon Casey (4):
      git-relink: avoid hard linking in objects/info directory
      filter-branch.sh: remove temporary directory on failure
      filter-branch docs: remove brackets so not to imply revision arg is optional
      filter-branch: assume HEAD if no revision supplied

Bruno Ribas (1):
      gitweb: Make use of the $git_dir variable at sub git_get_project_description

Christian Couder (3):
      Documentation: config: add "browser.<tool>.path".
      Documentation: help: specify supported html browsers.
      instaweb: use 'browser.<tool>.path' config option if it's set.

Jakub Narębski (1):
      gitweb: Add info about $projectroot and $projects_list to gitweb/README

Jean-Luc Herren (1):
      Documentation/git-cvsserver: Fix typo

Jeff King (1):
      t9001: add missing && operators

Jim Meyering (1):
      fix doc typos

Johannes Schindelin (1):
      Add test for rebase -i with commits that do not pass pre-commit

Junio C Hamano (4):
      reflog-expire: Avoid creating new files in a directory inside readdir(3) loop
      Revert "filter-branch docs: remove brackets so not to imply revision arg is optional"
      Fix "git checkout -b foo ':/substring'"
      GIT 1.5.4

Michele Ballabio (1):
      Fix typo in a comment in t/test-lib.sh

Miklos Vajna (1):
      git rev-parse manpage: spelling fix

Shawn O. Pearce (1):
      Use 'printf %s $x' notation in t5401

Yasushi SHOJI (1):
      gitweb: Convert generated contents to utf8 in commitdiff_plain


Version v1.5.4-rc5; changes since v1.5.4-rc4:
---------------------------------------------

Alex Riesen (1):
      Make t5710 more strict when creating nested repos

Brandon Casey (1):
      git-commit: exit non-zero if we fail to commit the index

Eric Wong (1):
      git-svn: default to repacking every 1000 commits

Gustaf Hendeby (1):
      send-email, fix breakage in combination with --compose

Jakub Narębski (1):
      autoconf: define NO_SYS_SELECT_H on systems without <sys/select.h>.

Johannes Schindelin (1):
      pull --rebase: be cleverer with rebased upstream branches

Junio C Hamano (5):
      git-submodule: rename shell functions for consistency
      git-submodule: fix subcommand parser
      git-submodule: add test for the subcommand parser fix
      Clarify that http-push being temporarily disabled with older cURL
      GIT 1.5.4-rc5

Mike Hommey (2):
      Add a missing dependency on http.h
      Documentation: add a bit about sendemail.to configuration

Miklos Vajna (2):
      git-clone -s: document problems with git gc --prune
      git pull manpage: don't include -n from fetch-options.txt

Nicolas Pitre (1):
      pack-objects: Fix segfault when object count is less than thread count

Pierre Habouzit (1):
      parse-options: catch likely typo in presense of aggregated options.

Robert Schiele (2):
      pre-POSIX.1-2001 systems do not have <sys/select.h>
      Makefile: customization for supporting HP-UX

Sam Vilain (1):
      git-svn(1): update instructions for resuming a git-svn clone

Shawn O. Pearce (10):
      git-gui: Honor the standard commit-msg hook
      git-gui: Correct window title for hook failure dialogs
      git-gui: Consolidate hook execution code into a single function
      git-gui: Correct encoding of glossary/fr.po to UTF-8
      Teach fast-import to honor pack.compression and pack.depth
      Document the hairy gfi_unpack_entry part of fast-import
      git-gui: Work around random missing scrollbar in revision list
      git-gui: Fallback to Tcl based po2msg.sh if msgfmt isn't available
      git-gui: Make the statistics of po2msg match those of msgfmt
      git-gui: Correctly cleanup msgfmt '1 message untranslated' output

Steffen Prohaska (3):
      submodule: Document the details of the command line syntax
      t9400-git-cvsserver-server: Wrap setup into test case
      cvsserver: Fix for histories with multiple roots


Version v1.5.4-rc4; changes since v1.5.4-rc3:
---------------------------------------------

Bill Lear (1):
      Correct spelling in diff.c comment

Brandon Casey (4):
      close_lock_file(): new function in the lockfile API
      Improve use of lockfile API
      refs.c: rework ref_locks by abstracting from underlying struct lock_file
      fast-import.c: don't try to commit marks file if write failed

Christian Couder (2):
      git-gui: Initial french translation
      git-gui: add french glossary: glossary/fr.po

Christian Stimming (4):
      git-gui: Update glossary: add term "hunk"
      git-gui: Update German translation
      git-gui: Fix broken revert confirmation.
      git-gui: Improve German translation.

Dan McGee (3):
      Remove usage of git- (dash) commands from email hook
      cvsimport: remove last use of repo-config from git standard tools
      Update git-completion for new 'remote rm' option

Dave Peticolas (1):
      Documentation: fix and clarify grammar in git-merge docs.

Dmitry Potapov (1):
      treat any file with NUL as binary

Eric Wong (1):
      git-svn: handle leading/trailing whitespace from svnsync revprops

Grégoire Barbier (4):
      http-push: disable http-push without USE_CURL_MULTI
      http-push: fix webdav lock leak.
      http-push: fail when info/refs exists and is already locked
      http-push and http-fetch: handle URLs without trailing /

Jakub Narębski (1):
      autoconf: Add checking for unsetenv function

Jean-Luc Herren (1):
      Make default pre-commit hook less noisy

Jeff King (5):
      git-clean: fix off-by-one memory access when given no arguments
      color unchanged lines as "plain" in "diff --color-words"
      send-email: detect invocation errors earlier
      send-email: validate patches before sending anything
      send-email: add no-validate option

Jim Meyering (2):
      fast-import: Don't use a maybe-clobbered errno value
      doc typo: s/prior committing/prior to committing/

Johannes Schindelin (1):
      gitk: make Ctrl "+" really increase the font size

Junio C Hamano (8):
      builtin-commit.c: remove useless check added by faulty cut and paste
      Revert "builtin-commit.c: remove useless check added by faulty cut and paste"
      Fix git-rerere documentation
      Squelch bogus progress output from git-rebase--interactive
      Document lockfile API
      Officially deprecate repo-config.
      http-push: clarify the reason of error from the initial PROPFIND request
      GIT 1.5.4-rc4

Kristian Høgsberg (1):
      git-commit: fix double close(2) that can close a wrong file descriptor

Lars Hjemli (1):
      Move sha1_file_to_archive into libgit

Linus Torvalds (4):
      Fix performance regression for partial commits
      Make builtin-commit.c more careful about parenthood
      Make 'git fsck' complain about non-commit branches
      Be more careful about updating refs

Mark Drago (1):
      hg-to-git: improve popen calls

Mark Levedahl (1):
      git-gui: Makefile - Handle $DESTDIR on Cygwin

Martin Koegler (1):
      parse_commit_buffer: tighten checks while parsing

Miklos Vajna (3):
      Add using merge subtree How-To
      ls-remote: add -t and -h options.
      Include rev-list options in git-log manpage.

Peter Krefting (1):
      git-gui: Updated Swedish translation after mailing list review.

Shawn O. Pearce (3):
      git-gui: Allow 'Create New Repository' on existing directories
      git-gui: Refresh file status description after hunk application
      Fix random fast-import errors when compiled with NO_MMAP

Thomas Zander (1):
      core-tutorial typofix


Version v1.5.4-rc3; changes since v1.5.4-rc2:
---------------------------------------------

Alexandre Julliard (6):
      git.el: Support for getting diffs from inside the log-edit buffer.
      git.el: Retrieve the permissions for up-to-date files.
      git.el: Display file types and type changes.
      git.el: Make sure we never insert the same file twice.
      git.el: Refresh files from their real state upon commit.
      git.el: Make status refresh faster.

Bernt Hansen (1):
      git-gui: Make commit log messages end with a newline

Brandon Casey (1):
      git-relink.txt: describe more clearly how hard linking occurs

Charles Bailey (1):
      gitk: Fix the Makefile to cope with systems lacking msgfmt

Christian Couder (1):
      Documentation: config: add 'help.*' and 'instaweb.*' variables.

Christian Stimming (10):
      gitk i18n: Add Makefile with rules for po file creation and installation
      gitk i18n: Import msgcat for message string translation; load translation catalogs
      gitk i18n: Markup several strings for translation
      gitk i18n: Initial German translation
      gitk i18n: More markup -- various options menus
      gitk i18n: Recode gitk from latin1 to utf8 so that the (c) copyright character is valid utf8.
      gitk: Update and fix Makefile
      gitk: Update German translation
      gitk: Fix typo in user message.
      gitk: Update German translation.

Dan McGee (1):
      Documentation: rename gitlink macro to linkgit

Eric Wong (4):
      git-svn: allow dcommit --no-rebase to commit multiple, dependent changes
      git-svn: unlink index files that were globbed, too
      git-svn: support for funky branch and project names over HTTP(S)
      git-svn: clarify the "Ignoring error from SVN" piece

Florian La Roche (1):
      Change git-gc documentation to reflect gc.packrefs implementation.

Gerrit Pape (1):
      gitk: use user-configured background in view definition dialog

Grégoire Barbier (1):
      Fix double-free() in http-push.c:remote_exists()

Gustaf Hendeby (1):
      Documentation/user-manual.txt: fix typo

J. Bruce Fields (1):
      Documentation: fix remote.<name>.skipDefaultUpdate description

James Bowes (1):
      Make the git metapackage require the same version of the subpackages.

Jeff King (8):
      config: handle lack of newline at end of file better
      git-reset: refuse to do hard reset in a bare repository
      add a "basic" diff config callback
      diff: load funcname patterns in "basic" config
      diff: remove lazy config loading
      add--interactive: remove unused diff colors
      add--interactive: allow diff colors without interactive colors
      Document the color.interactive semantics

Jim Meyering (3):
      Fix grammar nits in documentation and in code comments.
      Don't access line[-1] for a zero-length "line" from fgets.
      bundle, fast-import: detect write failure

Johannes Schindelin (2):
      Optimize prefixcmp()
      shortlog: mention the "-e" option in the usage

Johannes Sixt (2):
      git-gui: Move frequently used commands to the top of the context menu.
      recv_sideband: Do not use ANSI escape sequence on dumb terminals.

Junio C Hamano (27):
      Documentation/git-submodule.txt: typofix
      "git pull --tags": error out with a better message.
      git-rebase -i behaves better on commits with incomplete messages
      git-rebase -i: clean-up error check codepath.
      lock_any_ref_for_update(): reject wildcard return from check_ref_format
      Update callers of check_ref_format()
      Uninline prefixcmp()
      git-clean: make "Would remove ..." path relative to cwd again
      t/t7600: avoid GNUism in grep
      t/t{3600,3800,5401}: do not use egrep when grep would do
      t/t3800: do not use a temporary file to hold expected result.
      Update draft release notes for 1.5.4
      git-stash clear: refuse to work with extra parameter for now
      git-rev-parse --symbolic-full-name
      filter-branch: work correctly with ambiguous refnames
      custom pretty format: tolerate empty e-mail address
      Documentation: remove gitman.info with "make clean"
      Documentation: fix "gitlink::foobar[s]"
      utf8: pick_one_utf8_char()
      utf8_width(): allow non NUL-terminated input
      diff: do not chomp hunk-header in the middle of a character
      Update draft release notes for 1.5.4
      GIT 1.5.3.8
      "git-apply --check" should not report "fixed"
      pack-objects: remove redundant and wrong call to deflateEnd()
      RPM spec: include gitk message files.
      GIT 1.5.4-rc3

Kevin Ballard (1):
      Trim leading / off of paths in git-svn prop_walk

Marco Costalba (2):
      Document git-reset defaults to HEAD if no commit is given
      git-stash: use stdout instead of stderr for non error messages

Mark Levedahl (2):
      git-gui: Unconditionally use absolute paths with Cygwin
      Documentation/Makefile - honor $DESTDIR for quick-install target

Martin Koegler (4):
      receive-pack: check object type of sha1 before using them as commits
      receive-pack: reject invalid refnames
      parse_tag_buffer: don't parse invalid tags
      tree-walk: don't parse incorrect entries

Michael Stefaniuc (1):
      git-am: Run git gc only once and not for every patch.

Michele Ballabio (1):
      Document some default values in config.txt

Miklos Vajna (2):
      git-sh-setup: document git_editor() and get_author_ident_from_commit()
      t/t7001: avoid unnecessary ERE when using grep

Nicolas Pitre (1):
      slightly better auto gc message

Paul Mackerras (2):
      gitk: Recode de.po to UTF-8
      gitk: Restore some widget options whose defaults changed in Tk 8.5

Peter Krefting (1):
      Added Swedish translation.

Ralf Wildenhues (1):
      Documentation: typofix

Rogan Dawes (1):
      Allow git-mergetool to handle paths with a leading space

Shawn O. Pearce (1):
      git-gui: Handle file mode changes (644->755) in diff viewer


Version v1.5.4-rc2; changes since v1.5.4-rc1:
---------------------------------------------

Alex Riesen (1):
      Allow selection of different cleanup modes for commit messages

Arjen Laarhoven (1):
      Fix "git log --diff-filter" bug

Charles Bailey (1):
      Remove old generated files from .gitignore.

Gustaf Hendeby (2):
      Make git send-email accept $EDITOR with arguments
      shortlog manpage documentation: work around asciidoc markup issues

Jakub Narębski (1):
      gitweb: fix whitespace in config_to_multi (indent with tab)

Jeff King (2):
      clean up 1.5.4 release notes
      cvsimport: die on cvsps errors

Jim Meyering (1):
      Don't dereference NULL upon lookup failure.

Johannes Schindelin (2):
      Teach diff machinery to display other prefixes than "a/" and "b/"
      Mention git-shell's "cvs" substitution in the RelNotes

Junio C Hamano (14):
      t4024: fix test script to use simpler sed pattern
      fix git commit --amend -m "new message"
      shell-scripts usage(): consistently exit with non-zero
      Documentation: ls-files -v is about "assume unchanged".
      Fix $EDITOR regression introduced by rewrite in C.
      t7005: do not exit inside test.
      builtin-commit: fix amending of the initial commit
      builtin-commit: avoid double-negation in the code.
      Documentation: describe 'union' low-level merge driver
      Fix documentation of --first-parent in git-log and copy it to git-rev-list
      combine-diff: Fix path quoting
      Fix rewrite_diff() name quoting.
      contrib: resurrect scripted git-revert.
      GIT 1.5.4-rc2

Linus Torvalds (1):
      Re(-re)*fix trim_common_tail()

Miklos Vajna (1):
      everyday: replace 'prune' and 'repack' with 'gc'

Pierre Habouzit (3):
      git-tag: fix -l switch handling regression.
      Force the sticked form for options with optional arguments.
      parse-options: Add a gitcli(5) man page.

René Scharfe (1):
      Make "--pretty=format" parser a bit more careful.

Shawn O. Pearce (2):
      Reallow git-rebase --interactive --continue if commit is unnecessary
      Improve error messages when int/long cannot be parsed from config

Stefan Sperling (1):
      Small comment fix for git-cvsimport.

Wincent Colaiuta (1):
      Emit helpful status for accidental "git stash" save


Version v1.5.4-rc1; changes since v1.5.4-rc0:
---------------------------------------------

Andy Whitcroft (1):
      git-svn: expand handling of From: and Signed-off-by:

Charles Bailey (1):
      Fix git-instaweb breakage on MacOS X due to the limited sed functionality

Christian Couder (1):
      git-help: add "help.format" config variable.

David S. Miller (1):
      fast-import: fix unalinged allocation and access

Eric Wong (5):
      git-svn: unlink internal index files after operations
      git-svn: handle our top-level path being deleted and later re-added
      git-svn: avoid leaving leftover committer/author info in rebase
      git-svn: workaround a for broken symlinks in SVN
      git-svn: avoid warning when run without arguments

Finn Arne Gangstad (1):
      Improved submodule merge support

H. Merijn Brand (1):
      the use of 'tr' in the test suite isn't really portable

J. Bruce Fields (8):
      whitespace: fix off-by-one error in non-space-in-indent checking
      whitespace: reorganize initial-indent check
      whitespace: minor cleanup
      whitespace: fix initial-indent checking
      whitespace: more accurate initial-indent highlighting
      whitespace: fix config.txt description of indent-with-non-tab
      builtin-apply: minor cleanup of whitespace detection
      builtin-apply: stronger indent-with-on-tab fixing

Jakub Narębski (2):
      gitweb: disambiguate heads and tags withs the same name
      gitweb: Teach "a=blob" action to be more lenient about blob/file mime type

Jeff King (7):
      cvsexportcommit: fix massive commits
      trim_common_tail: brown paper bag fix.
      teach bash completion to treat commands with "--" as a helper
      rename git-browse--help to git-help--browse
      clone: correctly report http_fetch errors
      git-send-email: avoid duplicate message-ids
      test "git clone -o"

Jim Meyering (1):
      git-filter-branch.sh: more portable tr usage: use \012, not \n.

Johannes Schindelin (4):
      Support config variable diff.external
      Document diff.external and mergetool.<tool>.path
      rebase -p -i: handle "no changes" gracefully
      git show <tag>: show the tagger

Johannes Sixt (4):
      threaded pack-objects: Use condition variables for thread communication.
      Plug a resource leak in threaded pack-objects code.
      Clean up documentation that references deprecated 'git peek-remote'.
      filter-branch: Remove broken and unnecessary summary of rewritten refs.

Junio C Hamano (18):
      git-commit: squelch needless message during an empty merge
      xdl_diff: identify call sites.
      xdi_diff: trim common trailing lines
      diff --check: minor fixups
      Add tests for "git diff --check" with core.whitespace options
      xdiff tail trimming: use correct type.
      commit: allow --amend to reuse message from another commit
      remote: Fix bogus make_branch() call in configuration reader.
      Rename git-browse-help helper to git-browse--help
      Retire git-runstatus for real.
      Start preparing the API documents.
      Update draft release notes for 1.5.4
      Re-re-re-fix common tail optimization
      builtin-commit: fix summary output.
      builtin-commit: make summary output consistent with status
      Documentation/git-submodule: refer to gitmodules(5)
      builtin-blame.c: remove unneeded memclr()
      GIT 1.5.4-rc1

Kristian Høgsberg (1):
      Use a strbuf for building up section header and key/value pair strings.

Li Hong (1):
      Fix a memory leak

Linus Torvalds (1):
      unpack-trees: FLEX_ARRAY fix

Marco Roeland (1):
      clone: fix options '-o' and '--origin' to be recognised again

Mike Hommey (8):
      Fix some more memory leaks in http-push.c
      Fix random sha1 in error message in http-fetch and http-push
      Remove the default_headers variable from http-push.c
      Remove a CURLOPT_HTTPHEADER (un)setting
      Avoid redundant declaration of missing_target()
      Use strbuf in http code
      Fix various memory leaks in http-push.c and http-walker.c
      Move fetch_ref from http-push.c and http-walker.c to http.c

Nicolas Pitre (3):
      provide advance warning of some future pack default changes
      fix style of a few comments in diff-delta.c
      make 'git describe --all --contains' work

Petr Baudis (1):
      gitweb: Make config_to_multi return [] instead of [undef]

Pierre Habouzit (1):
      Fix segfault in diff-delta.c when FLEX_ARRAY is 1

Ralf Wildenhues (1):
      Fix some documentation typos.

Sam Vilain (1):
      Clarify error response from 'git fetch' for bad responses

Sean Estabrooks (1):
      Fix interactive rebase to preserve author email address

Shawn Bohrer (1):
      Fix spelling mistakes in user manual

Shawn O. Pearce (2):
      Avoid update hook during git-rebase --interactive
      Catch and handle git-commit failures in git-rebase --interactive

Wincent Colaiuta (5):
      "diff --check" should affect exit status
      Unify whitespace checking
      Make "diff --check" output match "git apply"
      Use shorter error messages for whitespace problems
      Test interaction between diff --check and --exit-code

anonymous (1):
      Documentation: describe pack idx v2


Version v1.5.4-rc0; changes since v1.5.3.8:
-------------------------------------------

Alex Riesen (12):
      fix t5403-post-checkout-hook.sh: built-in test in dash does not have "=="
      Fix a crash in ls-remote when refspec expands into nothing
      More updates and corrections to the russian translation of git-gui
      Rework make_usage to print the usage message immediately
      Updated russian translation of git-gui
      Do no colorify test output if stdout is not a terminal
      Add a test checking if send-pack updated local tracking branches correctly
      Update the tracking references only if they were succesfully updated on remote
      Fix dependencies of parse-options test program
      Do not generate full commit log message if it is not going to be used
      Simplify crud() in ident.c
      Fix git-fast-export for zero-sized blobs

Alexandre Julliard (12):
      git.el: Keep the status buffer sorted by filename.
      git.el: Allow selecting whether to display uptodate/unknown/ignored files.
      git.el: Allow the add and remove commands to be applied to ignored files.
      git.el: Preserve file marks when doing a full refresh.
      git.el: Do not print a status message on every git command.
      git.el: Update a file status in the git buffer upon save.
      git.el: Reset the permission flags when changing a file state.
      git.el: Fix typo in "Reverted file" message.
      git.el: Fix typo in git-update-saved-file error handling.
      git.el: Refresh only the changed file marks when marking/unmarking all.
      git.el: Run git-gc --auto after commits.
      git.el: Added a menu for git-status-mode.

Andreas Ericsson (1):
      Simplify strchrnul() compat code

André Goddard Rosa (2):
      Print the real filename that we failed to open.
      Error out when user doesn't have access permission to the repository

Andy Parkins (4):
      parse_date_format(): convert a format name to an enum date_mode
      Make for-each-ref allow atom names like "<name>:<something>"
      Make for-each-ref's grab_date() support per-atom formatting
      Add a test script for for-each-ref, including test of date formatting

Andy Whitcroft (6):
      Teach send-pack a mirror mode
      git-push: plumb in --mirror mode
      Add tests for git push'es mirror mode
      git-push: add documentation for the newly added --mirror mode
      git-quiltimport.sh fix --patches handling
      git-svn: add support for pulling author from From: and Signed-off-by:

Anton Gyllenberg (1):
      gitview: import only one of gtksourceview and gtksourceview2

Ask Bjørn Hansen (1):
      send-email: Don't add To: recipients to the Cc: header

Benoit Sigoure (7):
      git-svn: add a generic tree traversal to fetch SVN properties
      git-svn: implement git svn create-ignore
      git-svn: add git svn propget
      git-svn: add git svn proplist
      git-svn: simplify the handling of fatal errors
      core-tutorial: Catch up with current Git
      git-svn: sort the options in the --help message.

Björn Steinbrink (1):
      git config: Don't rely on regexec() returning 1 on non-match

Blake Ramsdell (1):
      transport.c: squelch a gcc 4.0.1 complaint about an uninitialized variable

Brandon Casey (2):
      git-gc: by default use safer "-A" option to repack when not --prune'ing
      git-gc --auto: simplify "repack" command line building

Brian Ewins (2):
      Add a --dry-run option to git-send-pack.
      Add a --dry-run option to git-push.

Brian Gernhardt (3):
      format-patch: Add configuration and off switch for --numbered
      format-patch: Test --[no-]numbered and format.numbered
      t3502: Disambiguate between file and rev by adding --

Carlos Rica (5):
      Function for updating refs.
      Add tests for documented features of "git reset".
      Move make_cache_entry() from merge-recursive.c into read-cache.c
      Make "git reset" a builtin.
      Make builtin-tag.c use parse_options.

Charles Bailey (1):
      Fix clone not to ignore depth when performing a local clone

Cheng Renquan (1):
      gitweb: the commitdiff is very commonly used, it's needed on search page, too

Chris Pettitt (3):
      git-p4 support for perforce renames.
      git-p4: Add a helper function to parse the full git diff-tree output.
      git-p4: Detect changes to executable bit and include them in p4 submit.

Christian Couder (27):
      rev-list --bisect: Move finding bisection into do_find_bisection.
      rev-list --bisect: Move some bisection code into best_bisection.
      rev-list --bisect: Bisection "distance" clean up.
      rev-list --bisect: Fix best == NULL case.
      Test suite: reset TERM to its previous value after testing.
      rev-list: implement --bisect-all
      rev-list documentation: add "--bisect-all".
      Bisect: fix some white spaces and empty lines breakages.
      Bisect: implement "bisect skip" to mark untestable revisions.
      Bisect: refactor "bisect_write_*" functions.
      Bisect: refactor some logging into "bisect_write".
      Bisect: refactor "bisect_{bad,good,skip}" into "bisect_state".
      Bisect: add "bisect skip" to the documentation.
      Bisect: add a "bisect replay" test case.
      Bisect run: "skip" current commit if script exit code is 125.
      Bisect: add "skip" to the short usage string.
      Bisect reset: remove bisect refs that may have been packed.
      Bisect visualize: use "for-each-ref" to list all good refs.
      Bisect: use "$GIT_DIR/BISECT_NAMES" to check if we are bisecting.
      Bisect reset: do nothing when not bisecting.
      Documentation: add a new man page for "git-help"
      Trace and quote with argv: get rid of unneeded count argument.
      git-help: add -i|--info option to display info page.
      Documentation: describe -i/--info option to "git-help"
      git-help: add -w|--web option to display html man page in a browser.
      Use {web,instaweb,help}.browser config options.
      Documentation: describe -w/--web option to "git-help".

Christian Stimming (14):
      Mark strings for translation.
      Makefile rules for translation catalog generation and installation.
      Add glossary that can be converted into a po file for each language.
      Add glossary translation template into git.
      German translation for git-gui
      German glossary for translation
      git-gui: Add more words to translation glossary
      git-gui: Update German glossary according to mailing list discussion
      git-gui: Incorporate glossary changes into existing German translation
      git-gui: Update German translation, including latest glossary changes
      git-gui: Add more terms to glossary.
      git-gui: Update German translation
      Update git-gui.pot with latest (few) string additions and changes.
      Update German translation. 100% completed.

Dan McGee (1):
      Remove outdated references to cogito in documentation

Daniel Barkalow (23):
      Refactor http.h USE_CURL_MULTI fill_active_slots().
      Make function to refill http queue a callback
      Remove obsolete commit-walkers
      Modularize commit-walker
      Add uploadpack configuration info to remote.
      Report information on branches from remote.h
      Make fetch-pack a builtin with an internal API
      Push code for transport library
      Add matching and parsing for fetch-side refspec rules
      Add fetch methods to transport library.
      Make fetch a builtin
      Allow abbreviations in the first refspec to be merged
      Fix adding a submodule with a remote url
      Restore default verbosity for http fetches.
      Remove duplicate ref matches in fetch
      Correct handling of upload-pack in builtin-fetch-pack
      Miscellaneous const changes and utilities
      Build-in peek-remote, using transport infrastructure.
      Use built-in send-pack.
      Build-in send-pack, with an API for other programs to call.
      Build in ls-remote
      Use parseopts in builtin-push
      Add more checkout tests

David D. Kilzer (8):
      git-svn log: fix ascending revision ranges
      git-svn log: include commit log for the smallest revision in a range
      git-svn log: handle unreachable revisions like "svn log"
      git-send-email: show all headers when sending mail
      git-svn: extract reusable code into utility functions
      git-svn info: implement info command
      git-svn: info --url [path]
      git-svn: Remove unnecessary Git::SVN::Util package

David Kastrup (3):
      diff-delta.c: pack the index structure
      diff-delta.c: Rationalize culling of hash buckets
      git-commit.sh: Shell script cleanup

David Reiss (1):
      git-svn: Fix a typo and add a comma in an error message in git-svn

David Symonds (7):
      gitweb: Provide title attributes for abbreviated author names.
      gitweb: Refactor abbreviation-with-title-attribute code.
      gitweb: Use chop_and_escape_str in more places.
      Rearrange git-format-patch synopsis to improve clarity.
      git-checkout: Support relative paths containing "..".
      git-checkout: Test for relative path use.
      Mention that git-rm can be an appropriate resolution as well as git-add.

Dmitry Potapov (1):
      preserve executable bits in zip archives

Douglas Stockwell (1):
      send-email: Add support for SSL and SMTP-AUTH

Emil Medve (2):
      Fixed a command line option type for builtin-fsck.c
      git-stash: Fix listing stashes

Eric Wong (6):
      git-svn: support for funky branch and project names over HTTP(S)
      git-svn: add tests for command-line usage of init and clone commands
      t9106: fix a race condition that caused svn to miss modifications
      git-svn: allow `info' command to work offline
      git-svn: replace .rev_db with a more space-efficient .rev_map format
      git-svn: reinstate old rev_db optimization in new rev_map

Eygene Ryabinkin (2):
      git-svn: respect Subversion's [auth] section configuration values
      git-svn: use "no warnings 'once'" to disable false-positives

Eyvind Bernhardsen (1):
      Fix mis-markup of the -p, --patch option in git-add(1)

Frederick Akalin (1):
      gtksourceview2 support for gitview

Gerrit Pape (9):
      No longer install git-svnimport, move to contrib/examples
      git-reset: add -q option to operate quietly
      contrib/hooks/post-receive-email: fix typo
      contrib/hooks/post-receive-email: reformat to wrap comments at 76 chars
      contrib/hooks/post-receive-email: make subject prefix configurable
      hooks--update: fix test for properly set up project description file
      hooks--update: decline deleting tags or branches by default, add config options
      contrib/hooks/post-receive-email: remove cruft, $committer is not used
      Don't cache DESTDIR in perl/perl.mak.

Gordon Hopper (1):
      git-cvsimport: fix handling of user name when it is not set in CVSROOT

Guido Ostkamp (2):
      Remove unreachable statements
      Use compat mkdtemp() on Solaris boxes

Gustaf Hendeby (1):
      git-svn now reads settings even if called in subdirectory

H. Merijn Brand (1):
      Do not rely on the exit status of "unset" for unset variables

Harri Ilari Tapio Liusvaara (1):
      git-gui: Disambiguate "commit"

Heikki Orsila (1):
      git-clone: honor "--" to end argument parsing

Irina Riesen (1):
      git-gui: initial version of russian translation

J. Bruce Fields (3):
      git-rebase: support --whitespace=<option>
      git-rebase: fix -C option
      errors: "strict subset" -> "ancestor"

Jakub Narębski (18):
      gitweb: Fix and simplify "split patch" detection
      gitweb: Always set 'from_file' and 'to_file' in parse_difftree_raw_line
      gitweb: Add 'status_str' to parse_difftree_raw_line output
      gitweb: Remove CGI::Carp::set_programname() call from t9500 gitweb test
      gitweb: Easier adding/changing parameters to current URL
      gitweb: Use href(-replay=>1, page=>...) to generate pagination links
      gitweb: Use href(-replay=>1, action=>...) to generate alternate views
      gitweb: Add tests for overriding gitweb config with repo config
      gitweb: Read repo config using 'git config -z -l'
      gitweb: Use config file for repository description and URLs
      gitweb: Style all tables using CSS
      gitweb: Put project README in div.readme, fix its padding
      autoconf: Add tests for memmem, strtoumax and mkdtemp functions
      Add config_int() method to the Git perl module
      gitweb: Update and improve gitweb/README file
      contrib: Make remotes2config.sh script more robust
      autoconf: Add test for OLD_ICONV (squelching compiler warning)
      autoconf: Check asciidoc version to automatically set ASCIIDOC8

James Bowes (3):
      remote: add 'rm' subcommand
      remote: document the 'rm' subcommand
      gc: use parse_options

Jari Aalto (2):
      git-remote: exit with non-zero status after detecting error in "rm".
      On error, do not list all commands, but point to --help option

Jeff King (36):
      contrib/fast-import: add perl version of simple example
      diffcore-rename: cache file deltas
      git-rebase: document suppression of duplicate commits
      send-pack: don't update tracking refs on error
      t5516: test update of local refs on push
      git-gc: improve wording of --auto notification
      Documentation/git-gc: explain --auto in description
      Documentation/git-gc: improve description of --auto
      more terse push output
      receive-pack: don't mention successful updates
      send-pack: require --verbose to show update of tracking refs
      git-ls-files: add --exclude-standard
      send-pack: track errors for each ref
      send-pack: check ref->status before updating tracking refs
      send-pack: assign remote errors to each ref
      make "find_ref_by_name" a public function
      send-pack: tighten remote error reporting
      send-pack: fix "everything up-to-date" message
      avoid "defined but not used" warning for fetch_objs_via_walker
      send-pack: cluster ref status reporting
      git-tag: test that -s implies an annotated tag
      Revert "t5516: test update of local refs on push"
      git-commit: clean up die messages
      Enable rewrite as well as rename detection in git-status
      quote_path: fix collapsing of relative paths
      t9600: require cvsps 2.1 to perform tests
      t7300: add test for clean with wildcard pathspec
      wt-status.c:quote_path(): convert empty path to "./"
      add status.relativePaths config variable
      git-status: documentation improvements
      don't mention index refreshing side effect in git-status docs
      Add git-browse-help to .gitignore
      Support GIT_PAGER_IN_USE environment variable
      git-svn: get color config from --get-colorbool
      shortlog: document -e option
      git-clone: print an error message when trying to clone empty repo

Jeff Muizelaar (1):
      fix contrib/hooks/post-receive-email hooks.recipients error message

Jim Meyering (1):
      hooks-pre-commit: use \t, rather than a literal TAB in regexp

Johannes Schindelin (57):
      Add po/git-gui.pot
      Ignore po/*.msg
      Teach "git remote" a mirror mode
      verify-tag: also grok CR/LFs in the tag signature
      apply: get rid of --index-info in favor of --build-fake-ancestor
      Move bundle specific stuff into bundle.[ch]
      Add bundle transport
      git-gui: Deiconify startup wizard so it raises to the top
      git-gui: add a simple msgfmt replacement
      rebase -i: commit when continuing after "edit"
      rebase -i: style fixes and minor cleanups
      rebase -i: Fix numbers in progress report
      rebase -i: avoid exporting GIT_AUTHOR_* variables
      rebase -i: work on a detached HEAD
      rebase -i: support single-letter abbreviations for the actions
      Introduce remove_dir_recursively()
      fetch/push: readd rsync support
      Support cvs via git-shell
      Fix compilation when NO_CURL is defined
      cvsexportcommit: get rid of temporary directory
      fetch: if not fetching from default remote, ignore default merge
      Deduce exec_path also from calls to git with a relative path
      Add tests for parse-options.c
      parse-options: Allow abbreviated options when unambiguous
      po2msg: ignore entries marked with "fuzzy"
      po2msg: ignore untranslated messages
      po2msg: actually output statistics
      git-reset: do not be confused if there is nothing to reset
      Split off the pretty print stuff into its own file
      parse-options: abbreviation engine fix.
      builtin-reset: do not call "ls-files --unmerged"
      builtin-reset: avoid forking "update-index --refresh"
      Deprecate git-lost-found
      rebase: operate on a detached HEAD
      builtin-blame: set up the work_tree before the first file access
      rebase: fix "rebase --continue" breakage
      Close files opened by lock_file() before unlinking.
      rebase -i: move help to end of todo file
      launch_editor(): read the file, even when EDITOR=:
      builtin-commit: fix reflog message generation
      git status: show relative paths when run in a subdirectory
      builtin-commit: fix --signoff
      builtin-commit --s: add a newline if the last line was not a S-o-b
      builtin-commit: resurrect behavior for multiple -m options
      builtin-commit: Add newline when showing which commit was created
      Replace "runstatus" with "status" in the tests
      filter-branch: fix dirty way to provide the helpers to commit filters
      git checkout's reflog: even when detaching the HEAD, say from where
      bash completion: add diff options
      Replace instances of export VAR=VAL with VAR=VAL; export VAR
      Teach 'git pull' about --rebase
      rebase -i: give rerere a chance
      receive-pack: allow deletion of corrupt refs
      Add "--expire <time>" option to 'git prune'
      Add 'git fast-export', the sister of 'git fast-import'
      fast-export: rename the signed tag mode 'ignore' to 'verbatim'
      Allow ':/<oneline-prefix>' syntax to work with save_commit_buffer == 0

Johannes Sixt (38):
      git-gui: Change main window layout to support wider screens
      gitk: Do not pick up file names of "copy from" lines
      Change git_connect() to return a struct child_process instead of a pid_t.
      Use start_command() in git_connect() instead of explicit fork/exec.
      Use start_command() to run content filters instead of explicit fork/exec.
      Use run_command() to spawn external diff programs instead of fork/exec.
      Use start_comand() in builtin-fetch-pack.c instead of explicit fork/exec.
      Have start_command() create a pipe to read the stderr of the child.
      upload-pack: Use start_command() to run pack-objects in create_pack_file().
      Add infrastructure to run a function asynchronously.
      Use the asyncronous function infrastructure in builtin-fetch-pack.c.
      upload-pack: Move the revision walker into a separate function.
      upload-pack: Run rev-list in an asynchronous function.
      t0021-conversion.sh: Test that the clean filter really cleans content.
      Avoid a dup2(2) in apply_filter() - start_command() can do it for us.
      Use the asyncronous function infrastructure to run the content filter.
      Fix an infinite loop in sq_quote_buf().
      upload-pack: Use finish_{command,async}() instead of waitpid().
      Give git-am back the ability to add Signed-off-by lines.
      git-clean: Fix error message if clean.requireForce is not set.
      Fix preprocessor logic that determines the availablity of strchrnul().
      t5300-pack-object.sh: Split the big verify-pack test into smaller parts.
      t7501-commit.sh: Not all seds understand option -i
      t5302-pack-index: Skip tests of 64-bit offsets if necessary.
      Skip t3902-quoted.sh if the file system does not support funny names.
      Use is_absolute_path() in sha1_file.c.
      Move #include <sys/select.h> and <sys/ioctl.h> to git-compat-util.h.
      builtin run_command: do not exit with -1.
      Allow a relative builtin template directory.
      Introduce git_etc_gitconfig() that encapsulates access of ETC_GITCONFIG.
      Allow ETC_GITCONFIG to be a relative path.
      refs.c: Remove unused get_ref_sha1()
      fetch-pack: Prepare for a side-band demultiplexer in a thread.
      Flush progress message buffer in display().
      git-gui: Improve the application icon on Windows.
      git-commit: Allow to amend a merge commit that does not change the tree
      for-each-ref: Fix quoting style constants.
      Fix a typo in checkout.sh and cleanup one-line help messages

Jonas Fonseca (2):
      Update manpages to reflect new short and long option aliases
      Documentation: Fix references to deprecated commands

Jonathan del Strother (2):
      Fixing path quoting in git-rebase
      gitk: Add support for OS X mouse wheel

Josh England (4):
      Add post-merge hook, related documentation, and tests.
      Added example hook script to save/restore permissions/ownership.
      post-checkout hook, tests, and docs
      Minor usage update in setgitperms.perl

Junio C Hamano (157):
      Keep last used delta base in the delta window
      git-gui po/README: Guide to translators
      Start 1.5.4 cycle
      Implement git gc --auto
      Invoke "git gc --auto" from commit, merge, am and rebase.
      archive - leakfix for format_subst()
      git-commit: Allow partial commit of file removal.
      An additional test for "git-reset -- path"
      Simplify cache API
      git-commit: partial commit of paths only removed from the index
      Document ls-files --with-tree=<tree-ish>
      builtin-pack-objects.c: avoid bogus gcc warnings
      stash: implement "stash create"
      rebase: allow starting from a dirty tree.
      Export matches_pack_name() and fix its return value
      pack-objects --keep-unreachable
      repack -A -d: use --keep-unreachable when repacking
      git-gc --auto: move threshold check to need_to_gc() function.
      git-gc --auto: add documentation.
      git-gc --auto: protect ourselves from accumulated cruft
      git-gc --auto: restructure the way "repack" command line is built.
      git-gc --auto: run "repack -A -d -l" as necessary.
      builtin-apply.c: fix a tiny leak introduced during xmemdupz() conversion.
      builtin-for-each-ref.c::copy_name() - do not overstep the buffer.
      git-remote rm: add tests and minor fix-ups
      Start RelNotes for 1.5.4
      strbuf_setlen(): do not barf on setting length of an empty buffer to 0
      send-email --smtp-server-port: allow overriding the default port
      rerere: Fix use of an empty strbuf.buf
      git-am: make the output quieter.
      bundle transport: fix an alloc_ref() call
      Update stale documentation link in the k.org site
      git-am: fix typo in the previous one.
      dateformat: parse %(xxdate) %(yydate:format) correctly
      builtin-apply: fix conversion error in strbuf series
      Update state documentation link for 1.5.3.4
      k.org git toppage: Add link to 1.5.3 release notes.
      help: remove extra blank line after "See 'git --help'" message
      revert/cherry-pick: work on merge commits as well
      git-fetch: do not fail when remote branch disappears
      RelNotes-1.5.4: describe recent updates
      git-gui: Update Japanese strings (part 2)
      Revert "rebase: allow starting from a dirty tree."
      git-merge: no reason to use cpio anymore
      format-patch -s: add MIME encoding header if signer's name requires so
      cherry-pick/revert -m: add tests
      test format-patch -s: make sure MIME content type is shown as needed
      War on whitespace: first, a bit of retreat.
      git-diff: complain about >=8 consecutive spaces in initial indent
      core.whitespace: add test for diff whitespace error highlighting
      clean: require -f to do damage by default
      gc: --prune prunes unreferenced objects.
      scripts: Add placeholders for OPTIONS_SPEC
      git-rev-parse --parseopt
      git-sh-setup: fix parseopt `eval` string underquoting
      send-pack: segfault fix on forced push
      Style: place opening brace of a function definition at column 1
      git-am: -i does not take a string parameter.
      Update draft release notes for 1.5.4
      Documentation: lost-found is now deprecated.
      Make check-docs target detect removed commands
      Documentation: remove documentation for removed tools.
      git-commit: a bit more tests
      Resurrect git-revert.sh example and add comment to builtin-revert.c
      core.excludesfile clean-up
      Fix per-directory exclude handing for "git add"
      git-bisect: war on "sed"
      git-bisect: use update-ref to mark good/bad commits
      git-bisect: modernize branch shuffling hack
      Update draft release notes for 1.5.4
      Draft release notes: fix clean.requireForce description
      Update draft release notes for 1.5.4
      Move gitk to its own subdirectory
      git-clean: Fix error message if clean.requireForce is not set.
      git-compat-util.h: auto-adjust to compiler support of FLEX_ARRAY a bit better
      Fix "quote" misconversion for rewrite diff output.
      Make test scripts executable.
      file_exists(): dangling symlinks do exist
      builtin-commit: do not color status output shown in the message template
      builtin-commit: run commit-msg hook with correct message file
      Export three helper functions from ls-files
      Fix add_files_to_cache() to take pathspec, not user specified list of files
      builtin-commit: fix partial-commit support
      Addendum to "MaintNotes"
      git-add -i: allow multiple selection in patch subcommand
      git-branch --contains=commit
      git-branch --contains: doc and test
      builtin-tag: accept and process multiple -m just like git-commit
      Add a few more tests for git-commit
      builtin-apply: rename "whitespace" variables and fix styles
      t4119: correct overeager war-on-whitespace
      builtin-apply: teach whitespace_rules
      core.whitespace: documentation updates.
      Deprecate peek-remote
      Update draft release notes for 1.5.4
      builtin-add: fix command line building to call interactive
      add -i: Fix running from a subdirectory
      "git-tag -s" should create a signed annotated tag
      revert/cherry-pick: do not mention the original ref
      "color.diff = true" is not "always" anymore.
      git-config --get-color: get configured color
      dir.c: minor clean-up
      per-directory-exclude: lazily read .gitignore files
      Update draft release notes for 1.5.4
      Resurrect peek-remote
      Consolidate command list to one.
      Update draft release notes for 1.5.4
      rename: Break filepairs with different types.
      git-am: catch missing author date early.
      Fix --signoff in builtin-commit differently.
      git-commit: Allow to amend a merge commit that does not change the tree
      git-commit --allow-empty
      git-commit --allow-empty
      git-commit documentation: fix unfinished sentence.
      Add git-fast-export to list of commands.
      Update draft release notes for 1.5.4
      Run the specified perl in Documentation/
      Formatting fix for Documentation/git-help.txt
      Documentation: rerere is enabled by default these days.
      Documentation/git.txt: typofix
      t5510: add a bit more tests for fetch
      git-cvsserver runs hooks/post-update
      Revert "git-am: catch missing author date early."
      Documentation: color.* = true means "auto"
      git config --get-colorbool
      Color support for "git-add -i"
      git-clean: Honor pathspec.
      config --get-colorbool: diff.color is a deprecated synonym to color.diff
      Use gitattributes to define per-path whitespace rule
      hg-to-git: handle an empty dir in hg.
      do not discard status in fetch_refs_via_pack()
      git-status documentation: mention subdirectory behaviour
      Update draft release notes to 1.5.4
      git-bisect visualize: work in non-windowed environments better
      mailmap: fix bogus for() loop that happened to be safe by accident
      shortlog: code restructuring and clean-up
      git-shortlog -e: show e-mail address as well
      ls-remote: resurrect pattern limit support
      Fix commit-msg hook to allow editing
      Re-fix "builtin-commit: fix --signoff"
      Re-fix ls-remote
      Update draft Release Notes for 1.5.4
      Documentation: add gitman.info target
      git-help -i: invoke info with document and node name
      git-help -i: show info documentation from matching version of git
      send-email: do not muck with initial-reply-to when unset.
      commit: do not add extra LF at the end of the summary.
      Support a merge with conflicting gitlink change
      blame: drop blob data after passing blame to the parent
      shortlog: default to HEAD when the standard input is a tty
      git-diff --numstat -z: make it machine readable
      disable t9119 for now.
      Documentation: rename git.texi to user-manual.texi
      git.spec.in: remove python_path
      git-help -w: do not require to be in git repository
      RPM spec: Adjust htmldir
      GIT 1.5.4-rc0

Kevin Leung (2):
      git-p4: Fix typo in --detect-labels
      git-stash: Display help message if git-stash is run with wrong sub-commands

Kirill (1):
      Updated Russian translation.

Konstantin V. Arkhipov (1):
      git-svn's dcommit must use subversion's config

Kristian Høgsberg (18):
      Enable wt-status output to a given FILE pointer.
      Enable wt-status to run against non-standard index file.
      Add strbuf_read_file().
      Clean up stripspace a bit, use strbuf even more.
      Introduce entry point add_interactive and add_files_to_cache
      Export rerere() and launch_editor().
      Port builtin-add.c to use the new option parser.
      Add testcase for amending and fixing author in git commit.
      Export launch_editor() and make it accept ':' as a no-op editor.
      Port git commit to C.
      builtin-commit: Refresh cache after adding files.
      Call refresh_cache() when updating the user index for --only commits.
      builtin-commit: Clean up an unused variable and a debug fprintf().
      t7501-commit: Add test for git commit <file> with dirty index.
      builtin-commit: Include the diff in the commit message when verbose.
      Fix off-by-one error when truncating the diff out of the commit message.
      Use a strbuf for copying the command line for the reflog.
      Rewrite builtin-fetch option parsing to use parse_options().

Kristof Provost (1):
      makefile: Add a cscope target

Lars Hjemli (11):
      git-svn: add support for --first-parent
      git-svn: always use --first-parent
      Add test-script for git-merge porcelain
      git-merge: fix faulty SQUASH_MSG
      git-merge: refactor option parsing
      git-merge: add support for branch.<name>.mergeoptions
      git-merge: add support for --commit and --no-squash
      git-merge: add --ff and --no-ff options
      Make merge-recursive honor diff.renamelimit
      Teach git-pull about --[no-]ff, --no-squash and --commit
      for-each-ref: fix setup of option-parsing for --sort

Lars Knoll (1):
      Speedup scanning for excluded files.

Linus Torvalds (18):
      optimize diffcore-delta by sorting hash entries.
      Add 'diffcore.h' to LIB_H
      Split out "exact content match" phase of rename detection
      Ref-count the filespecs used by diffcore
      copy vs rename detection: avoid unnecessary O(n*m) loops
      Do linear-time/space rename logic for exact renames
      Do exact rename detection regardless of rename limits
      Fix ugly magic special case in exact rename detection
      Do the fuzzy rename detection limits with the exact renames removed
      Simplify topo-sort logic
      Add "--early-output" log flag for interactive GUI use
      Enhance --early-output format
      revision walker: mini clean-up
      Fix rev-list when showing objects involving submodules
      Fix parent rewriting in --early-output
      Fix a pathological case in git detecting proper renames
      Fix a pathological case in git detecting proper renames
      "git tag -u keyname" broken

Luke Lu (1):
      gitweb: speed up project listing on large work trees by limiting find depth

Marius Storm-Olsen (2):
      Add 'git-p4 commit' as an alias for 'git-p4 submit'
      Teach core.autocrlf to 'git blame'

Mark Levedahl (1):
      git-submodule - allow a relative path as the subproject url

Matt Kraai (2):
      Move convert-objects to contrib.
      rebase -i: create .dotest-merge after validating options.

Matthias Kestenholz (1):
      Documentation: add --patch option to synopsis of git-add

Michael Gebetsroither (1):
      hg-to-git speedup through selectable repack intervals

Michael W. Olson (2):
      git-rebase--interactive.sh: Quote arguments to test
      Documentation/git-tag.txt: Document how to backdate tags

Michael Witten (2):
      git-cvsexportcommit.perl: git-apply no longer needs --binary
      git-cvsserver runs hooks/post-receive

Michal Vitecek (1):
      Don't use "<unknown>" for placeholders and suppress printing of empty user formats.

Michele Ballabio (7):
      git-gui: remove dots in some UI strings
      git-gui: add some strings to translation
      git-gui: fix typo in lib/blame.tcl
      git-gui: update Italian translation
      test-lib.sh: move error line after error() declaration
      git-gui: fix a typo in lib/commit.tcl
      git-gui: update it.po and glossary/it.po

Mike Dalessio (2):
      instaweb: allow for use of auto-generated scripts
      instaweb: support for Ruby's WEBrick server

Mike Hommey (13):
      Reuse previous annotation when overwriting a tag
      Add tests for git tag
      Refactor working tree setup
      Use setup_work_tree() in builtin-ls-files.c
      Don't always require working tree for git-rm
      Make git-blame fail when working tree is needed and we're not in one
      Small code readability improvement in show_reference() in builtin-tag.c
      Do git reset --hard HEAD when using git rebase --skip
      Fix and improve t7004 (git-tag tests)
      git-send-email.perl: Really add angle brackets to In-Reply-To if necessary
      Cleanup variables in http.[ch]
      Fix small memory leaks induced by diff_tree_setup_paths
      Fix XML parser leaks in http-push

Miklos Vajna (4):
      Hungarian translation of git-gui
      git-send-email: add a new sendemail.to configuration variable
      Include diff options in the git-log manpage
      Update Hungarian translation. 100% completed.

Nanako Shiraishi (3):
      Japanese translation of git-gui
      git-gui: Update Japanese strings
      Update ja.po for git-gui

Nguyễn Thái Ngọc Duy (3):
      contrib/fast-import: add simple shell example
      git-sh-setup.sh: use "git rev-parse --show-cdup" to check for SUBDIRECTORY_OK
      Remove repo version check from setup_git_directory

Nicolas Pitre (42):
      straighten the list of objects to deltify
      localize window memory usage accounting
      rearrange delta search progress reporting
      basic threaded delta search
      threaded delta search: refine work allocation
      threaded delta search: better chunck split point
      threaded delta search: specify number of threads at run time
      fix threaded delta search locking
      threaded delta search: add pack.threads config variable
      threaded delta search: proper locking for cache accounting
      more compact progress display
      cope with multiple line breaks within sideband progress messages
      pack-objects: no delta possible with only one object in the list
      pack-objects.c: fix some global variable abuse and memory leaks
      fix const issues with some functions
      fix for more minor memory leaks
      prune-packed: don't call display_progress() for every file
      make struct progress an opaque type
      relax usage of the progress API
      add throughput to progress display
      add throughput display to index-pack
      add some copyright notice to the progress display code
      add throughput display to git-push
      return the prune-packed progress display to the inner loop
      make sure throughput display gets updated even if progress doesn't move
      Show total transferred as part of throughput progress
      make the pack index version configurable
      pack-objects: get rid of an ugly cast
      git-fetch: more terse fetch output
      fix display overlap between remote and local progress
      sideband.c: ESC is spelled '\033' not '\e' for portability.
      make display of total transferred more accurate
      remove dead code from the csum-file interface
      restore fetching with thin-pack capability
      make display of total transferred fully accurate
      nicer display of thin pack completion
      add a howto document about corrupted blob recovery
      rehabilitate some t5302 tests on 32-bit off_t machines
      pack-objects: fix delta cache size accounting
      pack-objects: reverse the delta search sort list
      pack-objects: fix threaded load balancing
      pack-objects: more threaded load balancing fix with often changed paths

Paolo Ciarrocchi (1):
      Italian translation of git-gui

Pascal Obry (2):
      git-stash: do not get fooled with "color.diff = true"
      Set OLD_ICONV on Cygwin.

Paul Mackerras (37):
      gitk: Establish and use global left-to-right ordering for commits
      gitk: Improve the drawing of links to parent lines
      gitk: Eliminate diagonal arrows
      gitk: Get rid of idrowranges and rowrangelist
      gitk: Get rid of idinlist array
      gitk: Fix some problems with the display of ids as links
      gitk: Get rid of the rowchk array
      gitk: Do only the parts of the layout that are needed
      gitk: Fix bug causing incorrect ref list contents when switching view
      gitk: Fix bug causing undefined variable error when cherry-picking
      gitk: Add a cache for the topology info
      gitk: Make it possible to lay out all the rows we have received so far
      gitk: Fix bugs in setting rowfinal
      gitk: Get rid of lookingforhead, use commitinterest instead
      gitk: Fix bug in generating patches
      gitk: Simplify highlighting interface and combine with Find function
      gitk: Fix a couple of bugs
      gitk: Add progress bars for reading in stuff and for finding
      gitk: Fix the tab setting in the diff display window
      gitk: Fix bug causing Tcl error when changing find match type
      gitk: Use named fonts instead of the font specification
      gitk: Keep track of font attributes ourselves instead of using font actual
      gitk: Add a font chooser
      gitk: Fix bug where the last few commits would sometimes not be visible
      gitk: Get rid of the diffopts variable
      gitk: Fix Tcl error: can't unset findcurline
      gitk: Check that we are running on at least Tcl/Tk 8.4
      gitk: Avoid an error when cherry-picking if HEAD has moved on
      gitk: Fix "can't unset prevlines(...)" Tcl error
      gitk: Limit diff display to listed paths by default
      gitk: Ensure tabstop setting gets restored by Cancel button
      gitk: Integrate the reset progress bar in the main frame
      gitk: Use the status window for other functions
      gitk: Fix some bugs with path limiting in the diff display
      gitk: Fix a couple more bugs in the path limiting
      gitk: Simplify the code for finding commits
      gitk: Use the UI font for the diff/old version/new version radio buttons

Pierre Habouzit (80):
      Rework strbuf API and semantics.
      Simplify strbuf uses in archive-tar.c using strbuf API
      fast-import: Use strbuf API, and simplify cmd_data()
      mktree: Simplify write_tree() using strbuf API
      Use strbuf API in apply, blame, commit-tree and diff
      Use strbuf API in buitin-rerere.c
      Use strbuf API in cache-tree.c
      Strbuf API extensions and fixes.
      Change semantics of interpolate to work like snprintf.
      Rework pretty_print_commit to use strbufs instead of custom buffers.
      Use strbuf_read in builtin-fetch-tool.c.
      Use strbufs to in read_message (imap-send.c), custom buffer--.
      Replace all read_fd use with strbuf_read, and get rid of it.
      New strbuf APIs: splice and attach.
      Rewrite convert_to_{git,working_tree} to use strbuf's.
      Now that cache.h needs strbuf.h, remove useless includes.
      builtin-apply: use strbuf's instead of buffer_desc's.
      Refactor replace_encoding_header.
      Remove preemptive allocations.
      Drop strbuf's 'eof' marker, and make read_line a first class citizen.
      fast-import was using dbuf's, replace them with strbuf's.
      fast-import optimization:
      Add xmemdupz() that duplicates a block of memory, and NUL terminates it.
      Use xmemdupz() in many places.
      Fix the expansion pattern of the pseudo-static path buffer.
      nfv?asprintf are broken without va_copy, workaround them.
      strbuf API additions and enhancements.
      Rework unquote_c_style to work on a strbuf.
      Full rework of quote_c_style and write_name_quoted.
      sq_quote_argv and add_to_string rework with strbuf's.
      Add strbuf_cmp.
      Make builtin-rerere use of strbuf nicer and more efficient.
      Small cache_tree_write refactor.
      double free in builtin-update-index.c
      strbuf change: be sure ->buf is never ever NULL.
      strbuf_read_file enhancement, and use it.
      Make read_patch_file work on a strbuf.
      Fix in-place editing functions in convert.c
      Add some fancy colors in the test library when terminal supports it.
      Support a --quiet option in the test-suite.
      fast-import.c: fix regression due to strbuf conversion
      Add a simple option parser.
      parse-options: be able to generate usages automatically
      parse-options: make some arguments optional, add callbacks.
      Add shortcuts for very often used options.
      parse-options: allow callbacks to take no arguments at all.
      Make builtin-rm.c use parse_options.
      Make builtin-mv.c use parse-options
      Make builtin-branch.c use parse_options.
      Make builtin-describe.c use parse_options
      Make builtin-revert.c use parse_options.
      Make builtin-update-ref.c use parse_options
      Make builtin-symbolic-ref.c use parse_options.
      Make builtin-for-each-ref.c use parse-opts.
      Make builtin-fsck.c use parse_options.
      Make builtin-count-objects.c use parse_options.
      Make builtin-name-rev.c use parse_options.
      Make builtin-pack-refs.c use parse_options.
      git-fetch: be even quieter.
      Some better parse-options documentation.
      Add a parseopt mode to git-rev-parse to bring parse-options to shell scripts.
      Update git-sh-setup(1) to allow transparent use of git-rev-parse --parseopt
      Migrate git-clean.sh to use git-rev-parse --parseopt.
      Migrate git-clone to use git-rev-parse --parseopt
      Migrate git-am.sh to use git-rev-parse --parseopt
      Migrate git-merge.sh to use git-rev-parse --parseopt
      Migrate git-instaweb.sh to use git-rev-parse --parseopt
      Migrate git-checkout.sh to use git-rev-parse --parseopt --keep-dashdash
      Migrate git-quiltimport.sh to use git-rev-parse --parseopt
      Migrate git-repack.sh to use git-rev-parse --parseopt
      sh-setup: don't let eval output to be shell-expanded.
      parse-options new features.
      Use OPT_SET_INT and OPT_BIT in builtin-branch
      Use OPT_BIT in builtin-for-each-ref
      Use OPT_BIT in builtin-pack-refs
      Make the diff_options bitfields be an unsigned with explicit masks.
      Reorder diff_opt_parse options more logically per topics.
      parse-options: Allow to hide options from the default usage.
      builtin-commit.c: export GIT_INDEX_FILE for launch_editor as well.
      Invert numbers and names in the git-shortlog summary mode.

Pini Reznik (1):
      Open external merge tool with original file extensions for all three files

Ralf Wildenhues (10):
      manual: Fix or remove em dashes.
      Fix some typos, punctuation, missing words, minor markup.
      Fix wording in push definition.
      manual: Fix example finding commits referencing given content.
      manual: add some markup.
      manual: use 'URL' instead of 'url'.
      git-cherry-pick: improve description of -x.
      Fix minor nits in configure.ac
      git-bisect.sh: Fix sed script to work with AIX and BSD sed.
      Document all help keys in "git add -i" patch mode.

René Scharfe (13):
      Export format_commit_message()
      archive: specfile support (--pretty=format: in archive files)
      Remove unused function convert_sha1_file()
      add memmem()
      archive: specfile syntax change: "$Format:%PLCHLDR$" instead of just "%PLCHLDR" (take 2)
      archive: rename attribute specfile to export-subst
      archive: fix subst file generation
      Correct some sizeof(size_t) != sizeof(unsigned long) typing errors
      Add strchrnul()
      --pretty=format: on-demand format expansion
      --pretty=format: parse commit message only once
      add strbuf_adddup()
      --format=pretty: avoid calculating expensive expansions twice

Robert Boone (1):
      Define NO_MEMMEM of FreeBSD as it lacks the function

Robert Schiele (2):
      git-gui: install-sh from automake does not like -m755
      install-sh from automake does not like -m without delimiting space

Robin Rosenberg (1):
      cvsexportcommit: Add switch to specify CVS workdir

Sam Vilain (6):
      git-svn: fix test for trunk svn (commit message not needed)
      git-svn: fix test for trunk svn (transaction out of date)
      git-svn: handle changed svn command-line syntax
      gitk: disable colours when calling git log
      Allow HTTP proxy to be overridden in config
      Add remote.<name>.proxy

Scott R Parish (7):
      "git" returns 1; "git help" and "git help -a" return 0
      remove unused/unneeded "pattern" argument of list_commands
      "current_exec_path" is a misleading name, use "argv_exec_path"
      list_commands(): simplify code by using chdir()
      use only the $PATH for exec'ing git commands
      include $PATH in generating list of commands for "help -a"
      shell should call the new setup_path() to setup $PATH

Sergei Organov (7):
      core-tutorial.txt: Fix git-show-branch example and its description
      user-manual.txt: fix a few mistakes
      user-manual: minor rewording for clarity.
      Documentation: customize diff-options depending on particular command
      user-manual.txt: minor clarification.
      Documentation: fix git-clone manpage not to refer to itself
      Let git-help prefer man-pages installed with this version of git

Shawn Bohrer (4):
      Add more tests for git-clean
      Make git-clean a builtin
      Teach git clean to use setup_standard_excludes()
      Make git status usage say git status instead of git commit

Shawn O. Pearce (106):
      git-gui: Locate the library directory early during startup
      git-gui: Initialize Tcl's msgcat library for internationalization
      git-gui: Update po/README as symlink process is not necessary
      git-gui: Correct stock message for 'Invalid font specified in %s'
      git-gui: Quiet the msgfmt part of the make process
      git-gui: Ensure msgfmt failure stops GNU make
      Define NO_MEMMEM on Darwin as it lacks the function
      git-gui: Mark revision chooser tooltip for translation
      git-gui: Localize commit/author dates when displaying them
      git-gui: Support context-sensitive i18n
      git-gui: Document the new i18n context support
      git-gui: Make the tree browser also use lightgray selection
      git-gui: Paper bag fix missing translated strings
      Correct builtin-fetch to handle + in refspecs
      Fix off by one bug in reflog messages written by builtin-fetch
      Remove unnecessary debugging from builtin-fetch
      Remove unused unpacklimit variable from builtin-fetch
      Replace custom memory growth allocator with ALLOC_GROW
      Simplify fetch transport API to just one function
      Refactor index-pack "keep $sha1" handling for reuse
      Remove pack.keep after ref updates in git-fetch
      Always ensure the pack.keep file is removed by git-fetch
      Fix builtin-fetch memory corruption by not overstepping array
      Backup the array passed to fetch_pack so we can free items
      Properly cleanup in http_cleanup so builtin-fetch does not segfault
      Don't bother passing ref log details to walker in builtin-fetch
      Cleanup duplicate initialization code in transport_get
      Add transport.h to LIB_H as transport.o is in LIB_OBJS
      Remove unnecessary 'fetch' argument from transport_get API
      Allow builtin-fetch to work on a detached HEAD
      Don't configure remote "." to fetch everything to itself
      Remove more debugging from builtin-fetch
      builtin-fetch: Don't segfault on "fetch +foo"
      Don't attempt to merge non-existant remotes in t5515
      Correct handling of branch.$name.merge in builtin-fetch
      Avoid printing unnecessary warnings during fetch and push
      Use 'unsigned:1' when we mean boolean options
      Rename remote.uri to remote.url within remote handling internals
      Refactor struct transport_ops inlined into struct transport
      Always obtain fetch-pack arguments from struct fetch_pack_args
      Ensure builtin-fetch honors {fetch,transfer}.unpackLimit
      Fix memory leaks when disconnecting transport instances
      git-gui: Fix missing i18n markup in push/fetch windows
      git-gui: Support native Win32 Tcl/Tk under Cygwin
      git-gui: Refactor some UI init to occur earlier
      git-gui: Allow users to choose/create/clone a repository
      git-gui: Avoid console scrollbars unless they are necessary
      git-gui: Don't bother showing OS error message about hardlinks
      git-gui: Keep the UI responsive while counting objects in clone
      git-gui: Copy objects/info/alternates during standard clone
      Cleanup style nit of 'x == NULL' in remote.c
      Cleanup unnecessary break in remote.c
      Prevent send-pack from segfaulting when a branch doesn't match
      git-gui: Don't delete console window namespaces too early
      git-gui: Don't delete scrollbars in console windows
      git-gui: Switch the git-gui logo to Henrik Nyh's logo
      git-gui: Make the status bar easier to read in the setup wizard
      git-gui: Use Henrik Nyh's git logo icon on Windows systems
      git-gui: Support a native Mac OS X application bundle
      git-gui: Refer to ourselves as "Git Gui" and not "git-gui"
      git-gui: Allow forced push into remote repository
      git-gui: Refactor Henrik Nyh's logo into its own procedure
      git-gui: Refactor about dialog code into its own module
      git-gui: Include our Git logo in the about dialog
      git-gui: Use progress meter in the status bar during index updates
      git-gui: Consolidate the Fetch and Push menus into a Remote menu
      git-gui: Bind Cmd-, to Preferences on Mac OS X
      git-gui: Shorten the staged/unstaged changes title bar text
      git-gui: Updated po strings based on current sources
      git-gui: Move load_config procedure below git-version selection
      git-gui: Refactor git-config --list parsing
      git-gui: Support LFs embedded in config file values
      git-gui: Change repository browser radio buttons to hyperlinks
      git-gui: Offer repository management features in menu bar
      git-gui: Fix bind errors when switching repository chooser panels
      git-gui: Disable the text widget in the repository chooser
      git-gui: Bind n/c/o accelerators in repository chooser
      git-gui: Ensure copyright message is correctly read as UTF-8
      git-gui: Use proper Windows shortcuts instead of bat files
      git-gui: Support cloning Cygwin based work-dirs
      git-gui: Collapse $env(HOME) to ~/ in recent repositories on Windows
      git-gui: Honor a config.mak in git-gui's top level
      Fix 'push --all branch...' error handling
      Support 'push --dry-run' for rsync transport
      Support 'push --dry-run' for http transport
      git-gui: Paper bag fix the global config parsing
      Change 'Deltifying objects' to 'Compressing objects'
      Teach prune-packed to use the standard progress meter
      Stop displaying "Pack pack-$ID created." during git-gc
      Avoid scary errors about tagged trees/blobs during git-fetch
      Define compat version of mkdtemp for systems lacking it
      Improved const correctness for strings
      Use PRIuMAX instead of 'unsigned long long' in show-index
      git-gui: Make sure we get errors from git-update-index
      git-gui: Protect against bad translation strings
      git-gui: Allow users to set font weights to bold
      Reteach builtin-ls-remote to understand remotes
      git-gui: Bind Meta-T for "Stage To Commit" menu action
      git-fetch: Always fetch tags if the object they reference exists
      run-command: Support sending stderr to /dev/null
      rev-list: Introduce --quiet to avoid /dev/null redirects
      git-fetch: avoid local fetching from alternate (again)
      Handle broken vsnprintf implementations in strbuf
      Fix warning about bitfield in struct ref
      git-gui 0.9.0
      Remove git-status from list of scripts as it is builtin

Simon Hausmann (10):
      git-p4: Always call 'p4 sync ...' before submitting to Perforce.
      git-p4: After submission to p4 always synchronize from p4 again (into refs/remotes). Whether to rebase HEAD or not is still left as question to the end-user.
      git-p4: Cleanup; moved the code for getting a sorted list of p4 changes for a list of given depot paths into a standalone method.
      git-p4: Cleanup; moved the code to import a list of p4 changes using fast-import into a separate member function of P4Sync.
      git-p4: Cleanup; Turn self.revision into a function local variable (it's not used anywhere outside the function).
      git-p4: Cleanup; moved the code for the initial #head or revision import into a separate function, out of P4Sync.run.
      git-p4: Cleanup; moved the (duplicated) code for turning a branch into a git ref (for example foo -> refs/remotes/p4/<project>/foo) into a separate method.
      git-p4: Added support for automatically importing newly appearing perforce branches.
      git-p4: When skipping a patch as part of "git-p4 submit" make sure we correctly revert to the previous state of the files using "p4 revert".
      git-p4: Fix direct import from perforce after fetching changes through git from origin

Simon Sasburg (1):
      Make mailsplit and mailinfo strip whitespace from the start of the input

Stefan Sperling (1):
      Fix pool handling in git-svnimport to avoid memory leaks.

Steffen Prohaska (16):
      git-gui: add directory git-gui is located in to PATH (on Windows)
      git-gui: set NO_MSGFMT to force using pure tcl replacement in msysgit
      git-gui: add mingw specific startup wrapper
      git-gui: offer a list of recent repositories on startup
      mergetool: use path to mergetool in config var mergetool.<tool>.path
      mergetool: add support for ECMerge
      mergetool: avoid misleading message "Resetting to default..."
      Fix comment in strbuf.h to use correct name strbuf_avail()
      push: mention --verbose option in documentation
      push: teach push to pass --verbose option to transport layer
      push: support pushing HEAD to real branch name
      add refname_match()
      push: use same rules as git-rev-parse to resolve refspecs
      refactor fetch's ref matching to use refname_match()
      Use is_absolute_path() in diff-lib.c, lockfile.c, setup.c, trace.c
      sha1_file.c: Fix size_t related printf format warnings

Steven Grimm (3):
      Add a message explaining that automatic GC is about to start
      builtin-fetch: Add "-q" as a synonym for "--quiet"
      git-svn: Don't create a "master" branch every time rebase is run

Steven Walter (1):
      Don't checkout the full tree if avoidable

Theodore Ts'o (2):
      Make the list of common commands more exclusive
      Remove hint to use "git help -a"

Thomas Harning (1):
      git-merge-ours: make it a builtin.

Uwe Kleine-König (1):
      send-email: apply --suppress-from to S-o-b and cc-cmd

Vineet Kumar (1):
      git-svn: add a show-externals command.

Väinö Järvelä (1):
      Added a test for fetching remote tags when there is not tags.

Wincent Colaiuta (21):
      Further clarify clean.requireForce changes
      Authenticate only once in git-send-email
      Refactor patch_update_cmd
      Teach builtin-add to pass multiple paths to git-add--interactive
      Add path-limiting to git-add--interactive
      Add "--patch" option to git-add--interactive
      Fix typo in draft 1.5.4 release notes
      Highlight keyboard shortcuts in git-add--interactive
      revert/cherry-pick: Allow overriding the help text by the calling Porcelain
      add -i: allow prefix highlighting for "Add untracked" as well.
      git-add -i: add help text for list-and-choose UI
      Silence iconv warnings on Leopard
      Teach "git add -i" to colorize whitespace errors
      Allow --no-verify to bypass commit-msg hook
      Documentation: fix --no-verify documentation for "git commit"
      Add tests for pre-commit and commit-msg hooks
      Interactive editor tests for commit-msg hook
      Style fixes for pre-commit hook tests
      Use "whitespace" consistently
      Documentation: minor grammar fix for "git apply"
      Fix "diff --check" whitespace detection

Xudong Guan (2):
      Initial Chinese translation for git-gui
      git-gui: Added initial version of po/glossary/zh_cn.po

brian m. carlson (1):
      git-gui: Reorder msgfmt command-line arguments

İsmail Dönmez (1):
      gitweb: use Perl built-in utf8 function for UTF-8 decoding.


Version v1.5.3.8; changes since v1.5.3.7:
-----------------------------------------

David Symonds (1):
      Change from using email.com to example.com as example domain, as per RFC 2606.

Eric Wong (2):
      git-svn: support for funky branch and project names over HTTP(S)
      git-svn: clarify the "Ignoring error from SVN" piece

Jeff King (3):
      t9600: test cvsimport from CVS working tree
      clone: correctly report http_fetch errors
      git-send-email: avoid duplicate message-ids

Jim Meyering (1):
      config.c:store_write_pair(): don't read the byte before a malloc'd buffer.

Junio C Hamano (3):
      git grep shows the same hit repeatedly for unmerged paths
      git-am -i: report rewritten title
      GIT 1.5.3.8

Nguyễn Thái Ngọc Duy (3):
      Add missing inside_work_tree setting in setup_git_directory_gently
      Do check_repository_format() early
      Do check_repository_format() early (re-fix)


Version v1.5.3.7; changes since v1.5.3.6:
-----------------------------------------

Björn Steinbrink (3):
      git-commit.sh: Fix usage checks regarding paths given when they do not make sense
      t7005-editor.sh: Don't invoke real vi when it is in GIT_EXEC_PATH
      git-commit: Add tests for invalid usage of -a/--interactive with paths

Brian Downing (2):
      config: correct core.loosecompression documentation
      config: clarify compression defaults

J. Bruce Fields (7):
      git-remote.txt: fix example url
      user-manual: mention "..." in "Generating diffs", etc.
      Documentation: Fix references to deprecated commands
      user-manual: define "branch" and "working tree" at start
      user-manual: failed push to public repository
      user-manual: clarify language about "modifying" old commits
      user-manual: recovering from corruption

Jan Hudec (1):
      Improve description of git-branch -d and -D in man page.

Jeff King (5):
      send-email: add transfer encoding header with content-type
      Add basic cvsimport tests
      cvsimport: use rev-parse to support packed refs
      cvsimport: miscellaneous packed-ref fixes
      cvsimport: fix usage of cvsimport.module

Johannes Schindelin (2):
      bundle create: keep symbolic refs' names instead of resolving them
      Replace the word 'update-cache' by 'update-index' everywhere

Johannes Sixt (1):
      t7003-filter-branch: Fix test of a failing --msg-filter.

Junio C Hamano (11):
      format-patch -s: add MIME encoding header if signer's name requires so
      test format-patch -s: make sure MIME content type is shown as needed
      ce_match_stat, run_diff_files: use symbolic constants for readability
      git-add: make the entry stat-clean after re-adding the same contents
      t2200: test more cases of "add -u"
      Make test scripts executable.
      Fix sample pre-commit hook
      git-checkout: describe detached head correctly
      scripts: do not get confused with HEAD in work tree
      Fix typo in t4008 test title
      GIT 1.5.3.7

Linus Torvalds (1):
      Fix rev-list when showing objects involving submodules

Matthieu Moy (1):
      Doc fix for git-reflog: mention @{...} syntax, and <ref> in synopsys.

Rémi Vanicat (1):
      Make GIT_INDEX_FILE apply to git-commit

Steffen Prohaska (1):
      user-manual: Add section "Why bisecting merge commits can be harder ..."


Version v1.5.3.6; changes since v1.5.3.5:
-----------------------------------------

Alex Riesen (1):
      stop t1400 hiding errors in tests

Ask Bjørn Hansen (1):
      When exec() fails include the failing command in the error message

Benoit Sigoure (2):
      git-send-email: Change the prompt for the subject of the initial message.
      git-svn: prevent dcommitting if the index is dirty.

Brad King (1):
      cvsexportcommit: fix for commits that do not have parents

Christian Couder (1):
      for-each-ref: fix off by one read.

David D. Kilzer (2):
      RelNotes-1.5.3.5: fix typo
      RelNotes-1.5.3.5: fix another typo

David Symonds (1):
      Improve accuracy of check for presence of deflateBound.

Eric Wong (2):
      git-svn: fix dcommit clobbering when committing a series of diffs
      git-svn: t9114: verify merge commit message in test

Gerrit Pape (4):
      git-diff.txt: add section "output format" describing the diff formats
      git-cvsimport: really convert underscores in branch names to dots with -u
      git-daemon: fix remote port number in log entry
      git-mailsplit: with maildirs not only process cur/, but also new/

Jakub Narębski (1):
      gitweb: Update config file example for snapshot feature in gitweb/INSTALL

Jeff King (2):
      git-branch: remove mention of non-existent '-b' option
      git-send-email: add charset header if we add encoded 'From'

Jing Xue (1):
      replace reference to git-rm with git-reset in git-commit doc

Johannes Schindelin (1):
      Add Documentation/CodingGuidelines

Jonas Fonseca (3):
      Remove escaping of '|' in manpage option sections
      instaweb: Minor cleanups and fixes for potential problems
      Documentation: Fix man page breakage with DocBook XSL v1.72

Jonathan del Strother (1):
      Fixing path quoting in git-rebase

Junio C Hamano (12):
      grep with unmerged index
      refresh_index_quietly(): express "optional" nature of index writing better
      Makefile: add missing dependency on wt-status.h
      Start preparing for 1.5.3.6
      t/t3404: fix test for a bogus todo file.
      revert/cherry-pick: allow starting from dirty work tree.
      git-clean: honor core.excludesfile
      core.excludesfile clean-up
      Fix per-directory exclude handing for "git add"
      Update draft release notes for 1.5.3.6
      grep -An -Bm: fix invocation of external grep command
      GIT 1.5.3.6

Kristian Høgsberg (1):
      Remove unecessary hard-coding of EDITOR=':' VISUAL=':' in some test suites.

Marco Costalba (1):
      Remove a couple of duplicated include

Mike Hommey (1):
      Delay pager setup in git blame

Nicolas Pitre (3):
      print warning/error/fatal messages in one shot
      git-hash-object should honor config variables
      fix index-pack with packs >4GB containing deltas on 32-bit machines

Ralf Wildenhues (3):
      git-clone.txt: Improve --depth description.
      Avoid a few unportable, needlessly nested "...`...".
      Fix sed string regex escaping in module_name.

Sergei Organov (6):
      git-filter-branch.txt: fix a typo.
      git-format-patch.txt: fix explanation of an example.
      Documentation: quote commit messages consistently.
      SubmittingPatches: improve the 'Patch:' section of the checklist
      core-tutorial.txt: Fix argument mistake in an example.
      git-remote.txt: fix typo

Shawn O. Pearce (2):
      Fix memory leak in traverse_commit_list
      Don't allow fast-import tree delta chains to exceed maximum depth

Vincent Zanotti (1):
      gitweb: correct month in date display for atom feeds

Wincent Colaiuta (2):
      Grammar fixes for gitattributes documentation
      Fix t9101 test failure caused by Subversion "auto-props"


Version v1.5.3.5; changes since v1.5.3.4:
-----------------------------------------

Alex Bennée (1):
      Ensure we add directories in the correct order

Alex Riesen (1):
      Fix generation of perl/perl.mak

Andrew Clausen (1):
      helpful error message when send-pack finds no refs in common.

Aurelien Bompard (1):
      honor the http.sslVerify option in shell scripts

Benoit Sigoure (1):
      Fix a small memory leak in builtin-add

Björn Steinbrink (3):
      Fix --strategy parsing in git-rebase--interactive.sh
      git-rebase--interactive.sh: Don't pass a strategy to git-cherry-pick.
      git-rebase--interactive.sh: Make 3-way merge strategies work for -p.

Brian Gernhardt (1):
      cvsserver: Use exit 1 instead of die when req_Root fails.

Frank Lichtenheld (1):
      git-config: don't silently ignore options after --list

Gerrit Pape (2):
      git-config: handle --file option with relative pathname properly
      git-config: print error message if the config file cannot be read

Jean-Luc Herren (2):
      git add -i: Fix parsing of abbreviated hunk headers
      git add -i: Remove unused variables

Jeff King (1):
      send-pack: respect '+' on wildcard refspecs

Joakim Tjernlund (1):
      Improve receive-pack error message about funny ref creation

Johannes Schindelin (5):
      clear_commit_marks(): avoid deep recursion
      rebase -i: use diff plumbing instead of porcelain
      Fix setup_git_directory_gently() with relative GIT_DIR & GIT_WORK_TREE
      fix filter-branch documentation
      filter-branch: update current branch when rewritten

Julian Phillips (1):
      fast-import: Fix argument order to die in file_change_m

Junio C Hamano (8):
      git-remote: fix "Use of uninitialized value in string ne"
      sha1_file.c: avoid gcc signed overflow warnings
      merge-recursive.c: mrtree in merge() is not used before set
      RelNotes-1.5.3.5: describe recent fixes
      Prevent send-pack from segfaulting (backport from 'master')
      git-merge: document but discourage the historical syntax
      Update GIT 1.5.3.5 Release Notes
      GIT 1.5.3.5

Lars Hjemli (1):
      Make merge-recursive honor diff.renamelimit

Linus Torvalds (6):
      Fix embarrassing "git log --follow" bug
      Clean up "git log" format with DIFF_FORMAT_NO_OUTPUT
      git-blame shouldn't crash if run in an unmerged tree
      Avoid scary errors about tagged trees/blobs during git-fetch
      Fix directory scanner to correctly ignore files without d_type
      Fix diffcore-break total breakage

Mathias Megyei (1):
      Do not remove distributed configure script

Michael W. Olson (1):
      Documentation/git-cvsexportcommit.txt: s/mgs/msg/ in example

Michele Ballabio (2):
      git-reflog: document --verbose
      git-archive: document --exec

Nicolas Pitre (1):
      cherry-pick/revert: more compact user direction message

Patrick Welche (1):
      Define NI_MAXSERV if not defined by operating system

Ralf Wildenhues (1):
      gitk.txt: Fix markup.

Robert Schiele (1):
      fixing output of non-fast-forward output of post-receive-email

Sergei Organov (1):
      core-tutorial: Use new syntax for git-merge.

Shawn O. Pearce (17):
      git-gui: Display message box when we cannot find git in $PATH
      git-gui: Handle starting on mapped shares under Cygwin
      git-gui: Ensure .git/info/exclude is honored in Cygwin workdirs
      git-gui: Allow gitk to be started on Cygwin with native Tcl/Tk
      git-gui: Don't crash when starting gitk from a browser session
      Whip post 1.5.3.4 maintenance series into shape.
      Correct typos in release notes for 1.5.3.5
      Avoid 'expr index' on Mac OS X as it isn't supported
      Document additional 1.5.3.5 fixes in release notes
      Yet more 1.5.3.5 fixes mentioned in release notes
      Avoid invoking diff drivers during git-stash
      Further 1.5.3.5 fixes described in release notes
      Paper bag fix diff invocation in 'git stash show'
      git-gui: Correctly report failures from git-write-tree
      git-gui: Handle progress bars from newer gits
      git-gui: Don't display CR within console windows
      Describe more 1.5.3.5 fixes in release notes

Simon Sasburg (1):
      git-gui: Avoid using bold text in entire gui for some fonts

Steffen Prohaska (2):
      git-gui: accept versions containing text annotations, like 1.5.3.mingw.1
      attr: fix segfault in gitattributes parsing code


Version v1.5.3.4; changes since v1.5.3.3:
-----------------------------------------

Andy Parkins (1):
      post-receive-hook: Remove the From field from the generated email header so that the pusher's name is used

Carl Worth (1):
      Add test case for ls-files --with-tree

Federico Mena Quintero (4):
      Say when --track is useful in the git-checkout docs.
      Add documentation for --track and --no-track to the git-branch docs.
      Note that git-branch will not automatically checkout the new branch
      Make git-pull complain and give advice when there is nothing to merge with

Jari Aalto (1):
      git-remote: exit with non-zero status after detecting errors.

Jean-Luc Herren (2):
      git-add--interactive: Allow Ctrl-D to exit
      git-add--interactive: Improve behavior on bogus input

Jeff King (1):
      diffcore-rename: cache file deltas

Johan Herland (1):
      Mention 'cpio' dependency in INSTALL

Johannes Schindelin (2):
      rebase -i: squash should retain the authorship of the _first_ commit
      Fix typo in config.txt

Junio C Hamano (5):
      Whip post 1.5.3.3 maintenance series into shape.
      git-commit: initialize TMP_INDEX just to be sure.
      for-each-ref: fix %(numparent) and %(parent)
      rename diff_free_filespec_data_large() to diff_free_filespec_blob()
      GIT 1.5.3.4

Keith Packard (1):
      Must not modify the_index.cache as it may be passed to realloc at some point.

Miklos Vajna (1):
      git stash: document apply's --index switch

Robert Schiele (1):
      the ar tool is called gar on some systems

Steffen Prohaska (1):
      fixed link in documentation of diff-options


Version v1.5.3.3; changes since v1.5.3.2:
-----------------------------------------

Carlos Rica (1):
      Move make_cache_entry() from merge-recursive.c into read-cache.c

Dan Nicholson (1):
      quiltimport: Skip non-existent patches

David Brown (1):
      Detect exec bit in more cases.

David Kastrup (1):
      Supplant the "while case ... break ;; esac" idiom

Eric Wong (1):
      git-svn: don't attempt to spawn pager if we don't want one

Glenn Rempe (1):
      Fixed minor typo in t/t9001-send-email.sh test command line.

J. Bruce Fields (1):
      user-manual: don't assume refs are stored under .git/refs

Jakub Narębski (2):
      gitweb: Remove parse_from_to_diffinfo code from git_patchset_body
      gitweb: No difftree output for trivial merge

Jim Meyering (2):
      unexpected Make output (e.g. from --debug) causes build failure
      Do not over-quote the -f envelopesender value.

Johannes Schindelin (1):
      apply: get rid of --index-info in favor of --build-fake-ancestor

Johannes Sixt (2):
      gitattributes.txt: Remove a duplicated paragraph about 'ident' and 'crlf' interaction.
      gitattributes.txt: Be more to the point in the filter driver description.

Junio C Hamano (3):
      Documentation/git-lost-found.txt: drop unnecessarily duplicated name.
      Mergetool generating blank files (1.5.3)
      GIT 1.5.3.3

Linus Torvalds (1):
      Fix revision log diff setup, avoid unnecessary diff generation

Matt Kraai (2):
      Move the paragraph specifying where the .idx and .pack files should be
      Conjugate "search" correctly in the git-prune-packed man page.

Michael Smith (1):
      user-manual: Explain what submodules are good for.

Miklos Vajna (2):
      User Manual: add a chapter for submodules
      git-bundle: fix commandline examples in the manpage

Randy Dunlap (1):
      core-tutorial: correct URL

Shawn Bohrer (1):
      Fix spelling of overridden in documentation

Theodore Ts'o (2):
      mergetool: fix emerge when running in a subdirectory
      mergetool: Fix typo in options passed to kdiff3


Version v1.5.3.2; changes since v1.5.3.1:
-----------------------------------------

Alexandre Julliard (1):
      hooks--update: Explicitly check for all zeros for a deleted ref.

Benoit Sigoure (1):
      Add test to check recent fix to "git add -u"

Carlos Rica (1):
      git-tag -s must fail if gpg cannot sign the tag.

David Kastrup (1):
      git-send-email.perl: Add angle brackets to In-Reply-To if necessary

Dmitry V. Levin (2):
      Makefile: Add cache-tree.h to the headers list
      git-commit: Disallow amend if it is going to produce an empty non-merge commit

Eric Wong (3):
      git-svn: fix "Malformed network data" with svn:// servers
      git-svn: understand grafts when doing dcommit
      Documentation/git-svn: updated design philosophy notes

Gerrit Pape (2):
      git-gui: lib/index.tcl: handle files with % in the filename properly
      git-clone: improve error message if curl program is missing or not executable

J. Bruce Fields (13):
      user-manual: adjust section levels in "git internals"
      user-manual: move object format details to hacking-git chapter
      user-manual: rename "git internals" to "git concepts"
      user-manual: create new "low-level git operations" chapter
      user-manual: rewrite index discussion
      user-manual: reorder commit, blob, tree discussion
      user-manual: rewrite object database discussion
      user-manual: move packfile and dangling object discussion
      user-manual: fix introduction to packfiles
      user-manual: todo updates and cleanup
      documentation: replace Discussion section by link to user-manual chapter
      core-tutorial: minor cleanup
      git-apply: fix whitespace stripping

Jari Aalto (1):
      Documentation/git-archive.txt: a couple of clarifications.

Jean-Luc Herren (1):
      stash: end index commit log with a newline

Jeff King (1):
      git-push: documentation and tests for pushing only branches

Johannes Schindelin (2):
      revision walker: --cherry-pick is a limited operation
      apply --index-info: fall back to current index for mode changes

Junio C Hamano (13):
      git-apply: do not read past the end of buffer
      git-add -u: do not barf on type changes
      git-format-patch --in-reply-to: accept <message@id> with angle brackets
      diff --no-index: do not forget to run diff_setup_done()
      Documentation/git-config.txt: AsciiDoc tweak to avoid leading dot
      Split grep arguments in a way that does not requires to add /dev/null.
      git-sh-setup: typofix in comments
      send-email: make message-id generation a bit more robust
      git-commit: Allow partial commit of file removal.
      git-commit: partial commit of paths only removed from the index
      Document ls-files --with-tree=<tree-ish>
      t/t4014: test "am -3" with mode-only change.
      GIT 1.5.3.2

Linus Torvalds (1):
      Fix the rename detection limit checking

Matthias Urlichs (1):
      git-svnimport: Use separate arguments in the pipe for git-rev-parse

Michael Smith (1):
      (cvs|svn)import: Ask git-tag to overwrite old tags.

Michele Ballabio (2):
      git-gui: show unstaged symlinks in diff viewer
      git-gui: handle "deleted symlink" diff marker

Mike Ralphson (1):
      Documentation / grammer nit

Nicolas Pitre (1):
      fix doc for --compression argument to pack-objects

Pierre Habouzit (1):
      Fix lapsus in builtin-apply.c

Ramsay Jones (1):
      Fix a test failure (t9500-*.sh) on cygwin

Shawn O. Pearce (17):
      git-gui: Correct starting of git-remote to handle -w option
      git-gui: Fix detaching current branch during checkout
      git-gui: Properly set the state of "Stage/Unstage Hunk" action
      Don't allow contrib/workdir/git-new-workdir to trash existing dirs
      Cleanup unnecessary file modifications in t1400-update-ref
      Include a git-push example for creating a remote branch
      git-gui: Disable Tk send in all git-gui sessions
      git-gui: Avoid use of libdir in Makefile
      git-gui: Assume untracked directories are Git submodules
      git-gui: Trim trailing slashes from untracked submodule names
      Make --no-thin the default in git-push to save server resources
      git-gui: Don't delete send on Windows as it doesn't exist
      git-gui: Make backporting changes from i18n version easier
      git-gui: Font chooser to handle a large number of font families
      git-gui: Provide 'uninstall' Makefile target to undo an installation
      git-gui: Paper bag fix "Commit->Revert" format arguments
      git-gui: Disable native platform text selection in "lists"

Sven Verdoolaege (1):
      git-diff: don't squelch the new SHA1 in submodule diffs

Ulrik Sverdrup (1):
      Remove duplicate note about removing commits with git-filter-branch

Väinö Järvelä (1):
      Fixed update-hook example allow-users format.


Version v1.5.3.1; changes since v1.5.3:
---------------------------------------

Junio C Hamano (2):
      Typofix: 1.5.3 release notes
      GIT 1.5.3.1: obsolete git-p4 in RPM spec file.


Version v1.5.3; changes since v1.5.3-rc7:
-----------------------------------------

Alex Riesen (1):
      Temporary fix for stack smashing in mailinfo

Carlos Rica (1):
      git-tag: Fix -l option to use better shell style globs.

Eric Wong (1):
      git-svn: fix dcommit clobbering upstream when committing multiple changes

Giuseppe Bilotta (2):
      git-filter-branch: more detailed USAGE
      git-filter-branch: document --original option

Joe Perches (1):
      git-send-email --cc-cmd

Johannes Schindelin (5):
      completion: also complete git-log's --left-right and --cherry-pick option
      filter-branch: fix remnants of old syntax in documentation
      rebase -i: mention the option to split commits in the man page
      filter-branch: provide the convenience functions also for commit filters
      filter-branch: introduce convenience function "skip_commit"

Johannes Sixt (1):
      rebase -m: Fix incorrect short-logs of already applied commits.

Junio C Hamano (13):
      git-daemon(1): assorted improvements.
      ls-files --error-unmatch: do not barf if the same pattern is given twice.
      Makefile: do not allow gnu make to remove test-*.o files
      filter-branch: make sure orig_namespace ends with a single slash.
      git-init: autodetect core.symlinks
      Make "git-log --" without paths behave the same as "git-log" without --
      Hopefully the final update to draft release notes for 1.5.3.
      git-svn: Protect against "diff.color = true".
      git-diff: resurrect the traditional empty "diff --git" behaviour
      Avoid one-or-more (\+) non BRE in sed scripts.
      Documentation: minor AsciiDoc mark-up fixes.
      Update my contact address as the maintainer.
      GIT 1.5.3

Luben Tuikov (1):
      URL: allow port specification in ssh:// URLs

Miles Bader (1):
      Make git-archimport log entries more consistent

Nicolas Pitre (1):
      fix same sized delta logic

Paul Mackerras (1):
      gitk: Fix bug causing undefined variable error when cherry-picking

Robin Rosenberg (1):
      Mention -m as an abbreviation for --merge

Shawn O. Pearce (1):
      Teach bash about completing arguments for git-tag

Tom Clarke (1):
      Fixing comment in merge strategies


Version v1.5.3-rc7; changes since v1.5.3-rc6:
---------------------------------------------

Alex Riesen (1):
      Fix git-remote for ActiveState Perl

Alexandre Julliard (1):
      git.el: Avoid a lisp error when there's no current branch (detached HEAD).

Brian Hetro (5):
      Documentation: For consistency, use CVS instead of cvs.
      Documentation: Correct various misspellings and typos.
      Make usage documentation for git-am consistent.
      Make usage documentation for git-add consistent.
      When nothing to git-commit, honor the git-status color setting.

David Kastrup (4):
      diff-delta.c: Fix broken skip calculation.
      Documentation/user-manual.txt: fix a few omissions of gitlink commands.
      Documentation/user-manual.txt: fix a few omissions of gitlink commands.
      git-svn.txt: fix an obvious misspelling.

David Kågedal (1):
      git.el: Added colors for dark background

Eric Wong (2):
      git-svn: update documentation with CAVEATS section
      git-svn: dcommit prints out the URL to be committed to

J. Bruce Fields (5):
      user-manual: edit "ignoring files" for conciseness
      user-manual: minor editing for conciseness
      user-manual: introduce the word "commit" earlier
      user-manual: use pithier example commit
      user-manual: fix incorrect header level

Jakub Narębski (1):
      gitweb: Fix escaping HTML of project owner in 'projects_list' and 'summary' views

Jari Aalto (1):
      git-tag(1): Remove duplicate text

Johannes Schindelin (2):
      rebase -i: fix squashing corner case
      name-rev: Fix non-shortest description

Junio C Hamano (11):
      blame: check return value from read_sha1_file()
      pack-objects: check return value from read_sha1_file()
      RelNotes draft for 1.5.3 update.
      Fix initialization of a bare repository
      git --bare cmd: do not unconditionally nuke GIT_DIR
      git-merge: do up-to-date check also for all strategies
      Porcelain level "log" family should recurse when diffing.
      "format-patch --root rev" is the way to show everything.
      Documentation/git-diff: A..B and A...B cannot take tree-ishes
      format-patch documentation: reword to hint "--root <one-commit>" more clearly
      GIT 1.5.3-rc7

Linus Torvalds (1):
      Fix racy-git handling in git-write-tree.

Mike Hommey (1):
      Describe two-dot and three-dot notation for diff endpoints.

Petr Baudis (4):
      gitweb: Fix searchbox positioning
      gitweb: Lift any characters restriction on searched strings
      git-add: Make the "tried to add ignored file" error message less confusing
      git-add: Make the filename globbing note a bit clearer

Quy Tonthat (1):
      Fix breakage in git-rev-list.txt

René Scharfe (1):
      Documentation: update tar.umask default

Sean Estabrooks (1):
      Reset terminal attributes when terminating git send-email

Shawn O. Pearce (13):
      git-gui: Fix window manager problems on ion3
      git-gui: Allow git-merge to use branch names in conflict markers
      git-gui: Paper bag fix "Stage Hunk For Commit" in diff context menu
      git-gui: Fix "unoptimized loading" to not cause git-gui to crash
      Fix new-workdir (again) to work on bare repositories
      Suggest unsetting core.bare when using new-workdir on a bare repository
      Update bash completion with new 1.5.3 command line options
      Teach bash to complete ref arguments to git-describe
      Teach bash about git-submodule and its subcommands
      git-gui: Refactor diff pane popup support for future improvements
      git-gui: Do not offer to stage three-way diff hunks into the index
      git-gui: Correct 'git gui blame' in a subdirectory
      Don't segfault if we failed to inflate a packed delta

Simon Hausmann (2):
      git-p4: Make 'git-p4 branches' work after an initial clone with git clone from an origin-updated repository.
      git-p4: Fix warnings about non-existant refs/remotes/p4/HEAD ref when running git-p4 sync the first time after a git clone.

Stefan Sperling (1):
      Document -u option in git-svnimport man page

martin f. krafft (2):
      git-svn init/clone --stdlayout option to default-init trunk/tags/branches
      Install man3 manpages to $PREFIX/share/man/man3 even for site installs


Version v1.5.3-rc6; changes since v1.5.3-rc5:
---------------------------------------------

Alex Riesen (2):
      Fix whitespace in "Format of STDIN stream" of fast-import
      Avoid using va_copy in fast-import: it seems to be unportable.

Arjen Laarhoven (2):
      gitk: Make the date/time display configurable
      t1301-shared-repo.sh: fix 'stat' portability issue

Brian Downing (1):
      Clarify actual behavior of 'git add' and ignored files

Brian Gernhardt (1):
      Minor clarifications to git-filter-branch usage and doc

Dave Watson (1):
      Fix misspelling of 'suppress' in docs

Eric Wong (1):
      git-svn: fix log with single revision against a non-HEAD branch

Johannes Sixt (1):
      gitk: Handle 'copy from' and 'copy to' in diff headers.

Junio C Hamano (10):
      Fix "git add -u" data corruption.
      GIT 1.5.2.5
      Fix read-tree merging more than 3 trees using 3-way merge
      Update documentation links for older releases.
      git-clone: allow --bare clone
      Documentation/git-rebase: fix an example
      Clean-up read-tree error condition.
      fast-import pull request
      git clone: do not issue warning while cloning locally across filesystems
      GIT 1.5.3-rc6

Lars Hjemli (1):
      git-submodule: re-enable 'status' as the default subcommand

Linus Torvalds (2):
      Make thin-pack generation subproject aware.
      Take binary diffs into account for "git rebase"

Lukas Sandström (1):
      Add the word reflog to Documentation/config.txt:core.logAllRefUpdates

Mark Levedahl (1):
      git-completion.bash - add support for git-bundle

Matthieu Moy (1):
      Add and document a global --no-pager option for git.

Mike Hommey (1):
      Clarify commit-tree documentation

Nicolas Pitre (1):
      pack-objects: remove bogus arguments to delta_cacheable()

Paul Mackerras (3):
      gitk: Fix warning when removing a branch
      gitk: Fix bug in fix for warning when removing a branch
      gitk: Add a window to list branches, tags and other references

René Scharfe (1):
      path-list.c: always free strdup'ed paths

Salikh Zakirov (1):
      git-add -u paths... now works from subdirectory

Sean Estabrooks (1):
      Fix small typo in git send-email man page.

Shawn O. Pearce (11):
      git-gui: Avoid Tcl error in popup menu on diff viewer
      Actually allow TAG_FIXUP branches in fast-import
      Use handy ALLOC_GROW macro in fast-import when possible
      Teach fast-import to ignore lines starting with '#'
      Make trailing LF following fast-import `data` commands optional
      Make trailing LF optional for all fast-import commands
      Allow frontends to bidirectionally communicate with fast-import
      Generate crash reports on die in fast-import
      Include recent command history in fast-import crash reports
      Correct documentation of 'reflog show' to explain it shows HEAD
      Don't allow combination of -g and --reverse as it doesn't work

Steffen Prohaska (1):
      gitk: Let user easily specify lines of context in diff view

Steven Grimm (1):
      Document what the stage numbers in the :$n:path syntax mean.

Sven Verdoolaege (1):
      git-apply: apply submodule changes

Väinö Järvelä (1):
      git-gui: Added support for OS X right click


Version v1.5.3-rc5; changes since v1.5.3-rc4:
---------------------------------------------

Adam Roben (1):
      Documentation/git-svn: how to clone a git-svn-created repository

Alberto Bertogli (1):
      Allow git-svnimport to take "" as the trunk directory.

Alex Riesen (3):
      Fix filehandle leak in "git branch -D"
      gitk: Continue and show error message in new repos
      gitk: Show an error and exit if no .git could be found

Alexandre Julliard (3):
      git.el: Add support for interactive diffs.
      git.el: Always set the current directory in the git-diff buffer.
      git-add: Add support for --refresh option.

Brian Downing (2):
      cvsserver: Fix for work trees
      Add read_cache to builtin-check-attr

Brian Gernhardt (1):
      Fix t5701-clone-local for white space from wc

Carlos Rica (3):
      Make git tag a builtin.
      builtin-tag.c: Fix two memory leaks and minor notation changes.
      Make verify-tag a builtin.

David Kastrup (6):
      Documentation/git-commit.txt: correct bad list formatting.
      Add support for an info version of the user manual
      INSTALL: explain info installation and dependencies.
      Documentation/Makefile: remove cmd-list.made before redirecting to it.
      git-sh-setup.sh: make GIT_DIR absolute
      Add a test for git-commit being confused by relative GIT_DIR

Gerrit Pape (1):
      git-am: initialize variable $resume on startup

J. Bruce Fields (4):
      user-manual: update for new default --track behavior
      user-manual: mention git-gui
      documentation: use the word "index" in the git-add manual page
      documentation: use the word "index" in the git-commit man page

Jakub Narębski (1):
      gitweb: Fix handling of $file_name in feed generation

Johannes Schindelin (4):
      launch_editor(): Heed GIT_EDITOR and core.editor settings
      Teach "git stripspace" the --strip-comments option
      checkout-index needs a working tree
      Reinstate the old behaviour when GIT_DIR is set and GIT_WORK_TREE is unset

Junio C Hamano (24):
      git-clone: aggressively optimize local clone behaviour.
      git-completion: add "git stash"
      INSTALL: add warning on docbook-xsl 1.72 and 1.73
      unpack-trees.c: assume submodules are clean during check-out
      Fix install-doc-quick target
      user-manual: mention git stash
      setup.c:verify_non_filename(): don't die unnecessarily while disambiguating
      pager: find out pager setting from configuration
      Fix "make GZ=1 quick-install-doc"
      Reorder the list of commands in the manual.
      Fix formatting of git-blame documentation.
      Fix an illustration in git-rev-parse.txt
      tweak manpage formatting
      Revert "tweak manpage formatting"
      Optimize "diff --cached" performance.
      allow git-bundle to create bottomless bundle
      allow git-bundle to create bottomless bundle
      t3404: fix "fake-editor"
      builtin-bundle create - use lock_file
      git-diff: squelch "empty" diffs
      merge-recursive: do not rudely die on binary merge
      attr.c: refactoring
      attr.c: read .gitattributes from index as well.
      GIT 1.5.3-rc5

Jyotirmoy Bhattacharya (1):
      Fixed git-push manpage

Linus Torvalds (8):
      connect: accept file:// URL scheme
      apply: remove directory that becomes empty by renaming the last file away
      Start moving unpack-trees to "struct tree_desc"
      Fix "git commit directory/" performance anomaly
      Move old index entry removal from "unpack_trees()" into the individual functions
      Optimize the common cases of git-read-tree
      Optimize the two-way merge of git-read-tree too
      Optimize the three-way merge of git-read-tree

Luiz Fernando N. Capitulino (3):
      Avoid ambiguous error message if pack.idx header is wrong
      Introduces xmkstemp()
      Use xmkstemp() instead of mkstemp()

Marco Costalba (1):
      Add --log-size to git log to print message size

Mark Levedahl (5):
      builtin-bundle.c - use stream buffered input for rev-list
      builtin-bundle - use buffered reads for bundle header
      gitk: Enable selected patch text on Windows
      gitk: Handle MouseWheel events on Windows
      t3902 - skip test if file system doesn't support HT in names

Paul Mackerras (4):
      gitk: Add a context menu for file list entries
      gitk: Fix bug causing the "can't unset idinlist(...)" error
      gitk: Fix bug introduced in commit 67a4f1a7
      gitk: Fix bug causing Tcl error when updating graph

Randal L. Schwartz (1):
      add "test-absolute-path" to .gitignore

Reece H. Dunn (1):
      git-p4: Fix the sorting of changelists when cloning a Perforce repository.

René Scharfe (2):
      diff: don't run pager if user asked for a diff style exit code
      diff: squelch empty diffs even more

Shawn O. Pearce (4):
      Document GIT_SSH environment variable alongside other variables
      Teach update-paranoid how to store ACLs organized by groups
      Teach the update-paranoid to look at file differences
      Use the empty tree for base diff in paranoid-update on new branches

Simon Hausmann (2):
      git-p4: Fix support for symlinks.
      git-p4: Fix git-p4 submit to include only changed files in the perforce submit template.

Steffen Prohaska (1):
      Improved hint on how to set identity

Steve Hoelzer (2):
      git-stash documentation: stash numbering starts at zero, not one
      git-stash documentation: add missing backtick

Steven Grimm (1):
      Add a note about the index being updated by git-status in some cases

Uwe Kleine-König (3):
      send-email: teach sanitize_address to do rfc2047 quoting
      send-email: rfc822 forbids using <address@domain> without a non-empty "phrase"
      send-email: get all the quoting of realnames right


Version v1.5.3-rc4; changes since v1.5.3-rc3:
---------------------------------------------

Alex Riesen (4):
      Add an option to specify a file to config builtin
      Add a test for git-config --file
      Make verse of git-config manpage more readable
      Hack git-add--interactive to make it work with ActiveState Perl

Alexandre Julliard (2):
      git.el: Avoid using ewoc-set-data for compatibility with Emacs 21.
      git.el: Take into account the core.excludesfile config option.

Bradford C. Smith (2):
      fully resolve symlinks when creating lockfiles
      use lockfile.c routines in git_commit_set_multivar()

Brian Gernhardt (1):
      Document commit.template configuration variable.

Christian Couder (1):
      rev-list --bisect: fix allocation of "int*" instead of "int".

Christian Stimming (1):
      git-gui: Unify wording to say "to stage" instead of "to add"

David Kastrup (3):
      Makefile: use $(FIND) instead of find
      git-sh-setup.sh: make GIT_EDITOR/core.editor/VISUAL/EDITOR accept commands
      When generating manpages, delete outdated targets first.

David Soria Parra (1):
      Documentation/gitattributes.txt: typofix

David Symonds (1):
      Fix documentation for core.gitproxy to reflect code

Han-Wen Nienhuys (2):
      Sort output of "p4 change" in incremental import before further
      Fix style nit in Python slicing.

Jakub Narębski (3):
      gitweb: Show submodule entries in the 'tree' view
      gitweb: Simplify 'opt' parameter validation, add "no merges" feeds
      gitweb: Allow for multivalued parameters passed to href subroutine

Jeff King (2):
      Documentation/git-diff: remove -r from --name-status example
      git-diff: turn on recursion by default

Jens Axboe (1):
      --base-path-relaxed option

Johannes Schindelin (11):
      rebase -i: fix overzealous output redirection
      rebase -i: fix interrupted squashing
      white space fixes in setup.c
      Add is_absolute_path() and make_absolute_path()
      Add functions get_relative_cwd() and is_inside_dir()
      Add set_git_dir() function
      Clean up work-tree handling
      get_relative_cwd(): clarify why it handles dir == NULL
      rebase -i: ignore patches that are already in the upstream
      rebase -i: fix for optional [branch] parameter
      read-tree: remove unnecessary call to setup_git_directory()

Julian Phillips (1):
      git-gui: Handle git versions of the form n.n.n.GIT

Junio C Hamano (23):
      Make sure git-stash works from subdirectory.
      gitweb: fix broken snapshot
      git-submodule module_name: avoid using unwieldy "value_regexp" feature.
      git-submodule: remove redundant call to git-describe
      When locking in a symlinked repository, try to lock the original.
      git_mkstemp(): be careful not to overflow the path buffer.
      Update description of -z option.
      git-stash: do not remove a ref by hand.
      Add test for symlinked configuration file updates.
      Fix git-stash apply --index
      git-stash apply --index: optimize postprocessing
      log_ref_write() -- do not chomp reflog message at the first LF
      symbolic-ref, update-ref: do not refuse reflog message with LF
      rebase: try not to munge commit log message
      add_file_to_index: skip rehashing if the cached stat already matches
      Unset GIT_EDITOR while running tests.
      git.c: execution path
      git-commit.sh: Permit the --amend message to be given with -m/-c/-C/-F.
      RelNotes 1.5.3 updates before -rc4
      Fix work-tree related breakages
      gitweb: do not choke on recursive symlink
      Fix bogus use of printf in t3700 test
      GIT 1.5.3-rc4

Kristian Høgsberg (1):
      Add test case for basic commit functionality.

Mark Levedahl (1):
      gitk: Ignore ctrl-z as EOF on windows

Nanako Shiraishi (1):
      git-stash: Make sure reflog is created for refs/stash

Nguyễn Thái Ngọc Duy (1):
      git-write-tree should not crash if prefix does not exist

Paul Mackerras (4):
      gitk: Show changes in index and changes in working directory separately
      gitk: Make the fake commit for the index changes green rather than magenta
      gitk: Wait for the window to become visible after creating it
      gitk: Fix bugs in the Find function

Robert Ewald (1):
      git-svn: Translate invalid characters in refname

Robert Schiele (2):
      add option to find zlib in custom path
      make the name of the library directory a config option

Robin Rosenberg (1):
      Document --unified/-U option

Seth Falcon (1):
      Rename git-rebase interactive buffer: todo => git-rebase-todo

Shawn O. Pearce (49):
      git-gui: Skip -dirty suffix on core git versions
      git-gui: Brown paper bag "dirty git version fix"
      git-gui: Always disable the Tcl EOF character when reading
      git-gui: Delay searching for 'nice' until its really asked for
      git-gui: Don't crash in ask_popup if we haven't mapped main window yet
      git-gui: Change our initial GC hint to be an estimate
      git-gui: Let the user continue even if we cannot understand git version
      git-gui: Delay the GC hint until after we are running
      git-gui: Move feature option selection before GIT_DIR init
      git-gui: Allow blame/browser subcommands on bare repositories
      git-gui: Allow browser subcommand to start in subdirectory
      git-gui: Allow users to browse any branch, not just the current one
      git-gui: Clarify the visualize history menu options
      git-gui: Increase the default height of the revision picker
      git-gui: Convert merge dialog to use class system
      Don't offer my special Tools/Migrate hack unless in multicommit
      git-gui: Bind Ctrl/Cmd-M to merge action
      git-gui: Avoid unnecessary global statements when possible
      git-gui: Translate standard encoding names to Tcl ones
      git-gui: Don't show blame tooltips that we have no data for
      git-gui: Completely remove support for creating octopus merges
      git-gui: Automatically backup the user's commit buffer
      git-gui: Save the merge base during checkout_op processing
      git-gui: Factor out common fast-forward merge case
      git-gui: Simplify error case for unsupported merge types
      git-gui: Skip unnecessary read-tree work during checkout
      git-gui: Internally allow fetch without storing for future pull support
      git-gui: Completely remove my Tools/Migrate hack
      git-gui: Fix unnecessary fast-forward during checkout
      gitk: Bind keyboard actions to the command key on Mac OS
      git-gui: Clarify meaning of add tracked menu option
      git-gui: Paper bag fix quitting crash after commit
      git-gui: Refactor diff popup into a procedure to ease i18n work
      git-gui: Refactor current branch menu items to make i18n easier
      git-gui: Avoid unnecessary symbolic-ref call during checkout
      git-gui: Save remote urls obtained from config/remotes setup
      git-gui: Display commit/tag/remote info in tooltip of revision picker
      git-gui: Show ref last update times in revision chooser tooltips
      git-gui: Replace merge dialog with our revision picker widget
      git-gui: Cleanup bindings within merge dialog
      git-gui: Format tracking branch merges as though they were pulls
      git-gui: Remove usernames from absolute SSH urls during merging
      git-gui: Don't kill modified commit message buffer with merge templates
      git-gui: Honor core.excludesfile when listing extra files
      git-gui: Use progress bar while resetting/aborting files
      git-gui: Make sure remotes are loaded when picking revisions
      git-gui: Don't offer to stage hunks from untracked files
      git-gui: Use more modern looking icons in the tree browser
      git-gui: Minor refactoring of merge command line in merge support

Simon Hausmann (1):
      git-p4: Fix p4 user cache population on Windows.

Steve Hoelzer (1):
      Try to be consistent with capitalization in the documentation

Thomas Schwinge (2):
      Don't rely on unspecified behavior
      Support building on GNU/Hurd


Version v1.5.3-rc3; changes since v1.5.3-rc2:
---------------------------------------------

Adam Roben (1):
      Add GIT_EDITOR environment and core.editor configuration variables

Alexandre Julliard (2):
      git.el: Support for incremental status updates.
      git.el: Pass an explicit argument to enable smerge-mode.

Carlos Rica (1):
      Rename read_pipe() with read_fd() and make its buffer nul-terminated.

David Kastrup (2):
      contrib/emacs/Makefile: Also install .el files.
      Documentation/gitignore.txt: Fix the seriously misleading priority explanation

Eric Wong (1):
      git-svn: fix commiting renames over DAV with funky file names

Francis Moreau (1):
      Fix git-branch documentation when using remote refs

Jakub Narębski (3):
      gitweb cleanup: Move @diff_opts declaration earlier
      gitweb: Fix support for legacy gitweb config for snapshots
      gitweb: More detailed error messages for snapshot format

Jim Meyering (1):
      pretty-options.txt: tiny doc fix

Johannes Schindelin (11):
      filter-branch: get rid of "set -e"
      rebase -i: call editor just once for a multi-squash
      fsck --lost-found: write blob's contents, not their SHA-1
      mailinfo: fix 'fatal: cannot convert from utf-8 to utf-8'
      Shut "git rebase -i" up when no --verbose was given
      rebase -i: exchange all "if [ .. ]" by "if test .."
      filter-branch: Big syntax change; support rewriting multiple refs
      Teach revision machinery about --no-walk
      git log -g: Complain, but do not fail, when no reflogs are there
      Teach approxidate() to understand "never"
      git am: skip pine's internal folder data

Julian Phillips (1):
      Force listingblocks to be monospaced in manpages

Junio C Hamano (8):
      Update INSTALL
      Do not expect unlink(2) to fail on a directory.
      Fix VISUAL/EDITOR preference order in Documentation/config.txt.
      Synonyms: -i == --regexp-ignore-case, -E == --extended-regexp
      Mark user-manual as UTF-8
      user-manual: fix typolets.
      t9200: Be careful when checking CVS/Entries
      GIT 1.5.3-rc3

Kumar Gala (1):
      send-email: Update regex parsing for pine aliases

Linus Torvalds (2):
      Do a better job at guessing unknown character sets
      Fix up duplicate parents removal

Marco Costalba (1):
      Avoid to duplicate commit message when is not encoded

Matt McCutchen (1):
      gitweb: snapshot cleanups & support for offering multiple formats

Nanako Shiraishi (1):
      Document "git stash message..."

René Scharfe (2):
      filter-branch: fix dash complaining about "Missing '))'"
      cleanup unpack-trees.c: shrink struct tree_entry_list

Richard MUSIL (1):
      git-svn: Minimalistic patch which allows svn usernames with space(s).

Robin Rosenberg (1):
      cvsexportcommit: avoid racy CVS problem.

Scott Lamb (2):
      git-p4: use subprocess in p4CmdList
      git-p4: input to "p4 files" by stdin instead of arguments

Simon Hausmann (3):
      git-p4: Cleanup, make listExistingP4Branches a global function for later use.
      git-p4: Fix upstream branch detection for submit/rebase with multiple branches.
      git-p4: Cleanup, used common function for listing imported p4 branches

Steven Grimm (2):
      Document how to tell git to not launch a pager
      Teach git-commit about commit message templates.

Sven Verdoolaege (1):
      unpack-trees.c: assume submodules are clean during check-out


Version v1.5.3-rc2; changes since v1.5.3-rc1:
---------------------------------------------

Alex Riesen (1):
      Fix git-rebase -i to allow squashing of fast-forwardable commits

Emil Medve (1):
      Use $(RM) in Makefiles instead of 'rm -f'

Eric Wong (1):
      git-svn: remove leading slashes from fetch lines in the generate config

Greg KH (1):
      make git-send-email.perl handle email addresses with no names when Email::Valid is present

Jakub Narębski (3):
      Update git-merge documentation.
      Document long options '--message=<msg>' and '--no-commit'
      Document git commit --untracked-files and --verbose

Jim Meyering (1):
      git-cvsserver: detect/diagnose write failure, etc.

Josh Triplett (1):
      Remove useless uses of cat, and replace with filename arguments

Junio C Hamano (7):
      Make show_rfc2822_date() just another date output format.
      Wire new date formats to --date=<format> parser.
      Document new --date=<format>
      Add contrib/stats/mailmap.pl script
      Update .mailmap
      Documentation/git-commit-tree: remove description of a nonexistent limitation
      GIT v1.5.3-rc2

Marius Storm-Olsen (1):
      Fix git-p4 on Windows to not use the Posix sysconf function.

Matthieu Moy (1):
      More permissive "git-rm --cached" behavior without -f.

Nicolas Pitre (1):
      Pack-objects: properly initialize the depth value

Paul Mackerras (1):
      gitk: Fix bug introduced by previous commit

Peter Hagervall (1):
      Make every builtin-*.c file #include "builtin.h"

Robin Rosenberg (1):
      Support output ISO 8601 format dates

Sean Estabrooks (3):
      Remove "WITH_P4IMPORT" knob from the Makefile
      Remove p4 rpm from git.spec.in.
      Demote git-p4import to contrib status.

Shawn O. Pearce (2):
      Correct trivial typo in fast-import documentation
      Teach fast-import to recursively copy files/directories

Stephen Rothwell (1):
      send-email: discard blank around address in extract_valid_address as well.

Sven Verdoolaege (1):
      lockfile.c: schedule remove_lock_file only once.


Version v1.5.3-rc1; changes since v1.5.3-rc0:
---------------------------------------------

Alecs King (1):
      fix remote.origin.url in tutorial.txt

Alex Riesen (4):
      Handle missing prefix for "Subject:" as if no prefix given
      Handle format.subjectprefix for every command which accepts --pretty
      Fix t5516 to create test repo without hooks
      Add -v|--verbose to git remote to show remote url

Andrew Ruder (2):
      Remove USE_PAGER from git-pickaxe and git-annotate
      Add urls.txt to git-clone man page

Andy Parkins (1):
      user-manual: grammar and style fixes

Brian Downing (10):
      pack-objects: Prefer shallower deltas if the size is equal
      gitk: Fix for tree view ending in nested directories
      Pack information tool
      Correct shebang line for contrib/stats/packinfo.pl
      Don't try to delta if target is much smaller than source
      Support fetching the memory usage of a delta index
      Add functions for parsing integers with size suffixes
      Add pack-objects window memory usage limit
      Add --window-memory option to git-repack
      Add documentation for --window-memory, pack.windowMemory

Brian Gernhardt (1):
      Add core.pager config variable.

CJ van den Berg (1):
      git-submodule: Fix two instances of the same typo

Carlos Rica (5):
      t7004: Skip tests for signed tags in an old version of gpg.
      t0030: Remove repeated instructions and add missing &&
      t0030: Add tests with consecutive text lines and others with spaces added.
      t7004: Add tests for the git tag -n option.
      Function stripspace now gets a buffer instead file descriptors.

Daniel Barkalow (2):
      Add allocation and freeing functions for struct refs
      Some cosmetic changes to remote library

David Kastrup (1):
      Add missing functions to contrib/emacs/vc-git.el

Eric Wong (1):
      git-svn: fix blocking with svn:// servers after do_switch

Frank Lichtenheld (1):
      cvsserver: always initialize state in argsplit()

Gerrit Pape (2):
      git-gui: properly popup error if gitk should be started but is not installed
      git-commit: don't add multiple Signed-off-by: from the same identity

J. Bruce Fields (2):
      tutorial: Fix typo
      user-manual: more explanation of push and pull usage

James Bowes (1):
      stash: allow running from a subdirectory

Jim Meyering (1):
      Don't smash stack when $GIT_ALTERNATE_OBJECT_DIRECTORIES is too long

Johannes Schindelin (24):
      diff --no-index: fix --name-status with added files
      glossary: add 'reflog'
      Document git-filter-branch
      Add diff-option --ext-diff
      filter-branch: add a test for the commit removal example
      filter-branch: make output nicer
      filter-branch: a few more touch ups to the man page
      filter-branch documentation: clarify which filters are eval'ed
      filter-branch: fail gracefully when a filter fails
      Future-proof source for changes in xdemitconf_t
      Teach git-stash to "apply --index"
      Enable "git rerere" by the config variable rerere.enabled
      git-branch: default to --track
      Fix "apply --reverse" with regard to whitespace
      branch.autosetupmerge: allow boolean values, or "all"
      rebase -i: handle --continue more like non-interactive rebase
      rebase -i: actually show the diffstat when being verbose
      rebase -i: remember the settings of -v, -s and -p when interrupted
      rebase -i: put a nice warning into the todo list
      rerere: record resolution even if file is not in merge base
      Fix core.sharedRepository = 2
      Fix --cherry-pick with given paths
      Add for_each_remote() function, and extend remote_find_tracking()
      branch --track: code cleanup and saner handling of local branches

Johannes Sixt (3):
      filter-branch: Avoid an error message in the map function.
      filter-branch documentation: some more touch-ups.
      Allow rebase to run if upstream is completely merged

Jonas Fonseca (1):
      fsck --lost-found writes to subdirectories in .git/lost-found/

Junio C Hamano (22):
      Update draft Release Notes for 1.5.3
      Update reflog message created for stashes
      Do not check if getcwd() result begins with a slash.
      Fix git-stash(1) markup.
      git-stash: allow more descriptive reminder message when saving
      Introduce diff_filespec_is_binary()
      Per-path attribute based hunk header selection.
      Fix configuration syntax to specify customized hunk header patterns.
      diff: honor binariness specified in attributes
      gitweb: make repeated calls to git_get_project_owner() bearable
      diff.c: make built-in hunk header pattern a separate table
      git-gui: use "blame -w -C -C" for "where did it come from, originally?"
      git-stash: try reusing cached stat info as much as possible
      Fix merge-one-file for our-side-added/our-side-removed cases
      Document custom hunk header selection
      revision.c: remove duplicated parents after history simplification
      Revert 88494423 (removal of duplicate parents in the output codepath)
      Re-code builtin-branch.c in UTF-8
      Teach read-tree 2-way merge to ignore intermediate symlinks
      GIT 1.5.2.4
      Update list of older git docs
      GIT v1.5.3-rc1

Lars Hjemli (1):
      git-submodule(1): update description and key names

Marcus Fritzsch (1):
      Fixed a formulation mistake in Documentation/user-manual.txt

Matt Kraai (3):
      Prefer EMAIL to username@hostname.
      Change "added.moved or removed" to "added, moved or removed" in
      Add [verse] to the SYNOPSIS section of git-submodule.txt.

Matt McCutchen (3):
      gitweb: make search form generate pathinfo-style URLs
      gitweb: make "No commits" in project list gray, not bold green
      Makefile: rebuild git.o on version change, clean up git$X flags

Matthias Lederhofer (3):
      git-init: set core.worktree if GIT_WORK_TREE is specified
      git-clone: split up long &&-command-chain and use a function for cleanup
      make git-clone GIT_WORK_TREE aware

Michael Hendricks (2):
      git-send-email: allow an email alias for --from
      gitweb: configurable width for the projects list Description column

Miklos Vajna (3):
      Document -<n> for git-format-patch
      gitweb: prefer git_get_project_owner() over get_file_owner()
      gitweb: new cgi parameter: opt

Nicolas Pitre (3):
      apply delta depth bias to already deltified objects
      script to display a distribution of longest common hash prefixes
      reduce git-pack-objects memory usage a little more

Paul Mackerras (6):
      gitk: Fix the find and highlight functions
      gitk: Fix bug in the anc_or_desc routine
      gitk: Remove the unused stopfindproc function
      gitk: Fix bug causing "can't read commitrow(0,n)" error
      gitk: Use git log and add support for --left-right
      gitk: Improve handling of -- and ambiguous arguments

René Scharfe (1):
      diff-lib.c: don't strdup twice

Sean Estabrooks (1):
      Alter git-checkout reflog message to include "from" branch

Shawn O. Pearce (46):
      git-gui: Unlock the index when cancelling merge dialog
      git-gui: Start blame windows as tall as possible
      git-gui: Correct resizing of remote branch delete dialog
      git-gui: Don't bind F5/M1-R in all windows
      git-gui: Bind M1-P to push action
      git-gui: Include a Push action on the left toolbar
      git-gui: Ensure windows shortcuts always have .bat extension
      git-gui: Honor rerere.enabled configuration option
      git-gui: New Git version check support routine
      git-gui: Skip nicknames when selecting author initials
      git-gui: Teach class system to support [$this cmd] syntax
      git-gui: Abstract the revision picker into a mega widget
      git-gui: Refactor the delete branch dialog to use class system
      git-gui: Optimize for newstyle refs/remotes layout
      git-gui: Maintain remote and source ref for tracking branches
      git-gui: Allow users to match remote branch names locally
      git-gui: Fast-forward existing branch in branch create dialog
      git-gui: Enhance choose_rev to handle hundreds of branches
      git-gui: Sort tags descending by tagger date
      git-gui: Option to default new branches to match tracking branches
      git-gui: Automatically refresh tracking branches when needed
      git-gui: Better handling of detached HEAD
      git-gui: Refactor our ui_status_value update technique
      git-gui: Refactor branch switch to support detached head
      git-gui: Unabbreviate commit SHA-1s prior to display
      git-gui: Default selection to first matching ref
      git-gui: Allow double-click in checkout dialog to start checkout
      git-gui: Extract blame viewer status bar into mega-widget
      git-gui: Change the main window progress bar to use status_bar
      git-gui: Show a progress meter for checking out files
      git-gui: Always use absolute path to all git executables
      git-gui: Correct gitk installation location
      git-gui: Assume unfound commands are known by git wrapper
      git-gui: Treat `git version` as `git --version`
      git-gui: Perform our own magic shbang detection on Windows
      git-gui: Teach console widget to use git_read
      git-gui: Improve the Windows and Mac OS X shortcut creators
      git-gui: Correct ls-tree buffering problem in browser
      git-gui: Don't linewrap within console windows
      git-gui: Paper bag fix for Cygwin shortcut creation
      git-gui: Use sh.exe in Cygwin shortcuts
      git-gui: Include a space in Cygwin shortcut command lines
      Clarify documentation of fast-import's D subcommand
      Support wholesale directory renames in fast-import
      git-gui: Work around bad interaction between Tcl and cmd.exe on ^{tree}
      git-gui: Change prior tree SHA-1 verification to use git_read

Steffen Prohaska (1):
      filter-branch: added missing warn function

Steven Walter (1):
      Documentation for git-log --follow

Uwe Kleine-König (2):
      stash: end commit log with a newline
      repack: don't report "Nothing new to pack." if -q is given

William Pursell (1):
      user-manual: fix directory name in git-archive example


Version v1.5.3-rc0; changes since v1.5.2.5:
-------------------------------------------

Adam Roben (3):
      git-send-email: Add --threaded option
      git-send-email: make options easier to configure.
      format-patch: Add format.subjectprefix config option

Alex Riesen (11):
      Fix the progress code to output LF only when it is really needed
      Add run_command_v_opt_cd: chdir into a directory before exec
      Add ability to specify environment extension to run_command
      Allow environment variables to be unset in the processes started by run_command
      Verbose connect messages to show the IP addresses used
      Add another verbosity level to git-fetch
      Add a configuration option to control diffstat after merge
      Fix push with refspecs containing wildcards
      Do not use h_errno after connect(2): the function does not set it
      cvsserver: Actually implement --export-all
      Avoid perl in t1300-repo-config

Alexandre Julliard (1):
      pack-check: Sort entries by pack offset before unpacking them.

Alexandre Vassalotti (1):
      git-tag: Fix "can't shift that many".

Andy Whitcroft (3):
      cvsimport: add support for new style remote layout
      cvsimport: update documentation to include separate remotes option
      cvsimport: add <remote>/HEAD reference in separate remotes more

Aneesh Kumar K.V (2):
      gitview: Fix the blame interface.
      gitview: run blame with -C -C

Benjamin Sergeant (1):
      git-p4 fails when cloning a p4 depo.

Brian Gernhardt (1):
      Fix t5516-fetch for systems where `wc -l` outputs whitespace.

Carlos Rica (3):
      Fix git-stripspace to process correctly long lines and spaces.
      Add test script for git-stripspace.
      Add test-script for git-tag

Dan McGee (1):
      git-mergetool: Allow gvimdiff to be used as a mergetool

Dana L. How (8):
      Custom compression levels for objects and packs
      Alter sha1close() 3rd argument to request flush only
      git-repack --max-pack-size: new file statics and code restructuring
      git-repack --max-pack-size: write_{object,one}() respect pack limit
      git-repack --max-pack-size: split packs as asked by write_{object,one}()
      git-repack --max-pack-size: add option parsing to enable feature
      pack-objects: clarification & option checks for --max-pack-size
      Ensure git-repack -a -d --max-pack-size=N deletes correct packs

Daniel Barkalow (6):
      Move remote parsing into a library file out of builtin-push.
      Move refspec parser from connect.c and cache.h to remote.{c,h}
      Add handlers for fetch-side configuration of remotes.
      Update local tracking refs when pushing
      Move refspec pattern matching to match_refs().
      Fix pushing to a pattern with no dst

Dave O'Neill (1):
      Generate tags with correct timestamp (git-svnimport)

Elvis Pranskevichus (1):
      Use git-tag in git-cvsimport

Emil Medve (1):
      git-submodule: Instead of using only annotated tags, use any tags.

Eric Wong (4):
      git-svn: cleanup: factor out longest_common_path() function
      git-svn: test for creating new directories over svn://
      git-svn: reduce stat() calls for a backwards compatibility check
      git-svn: allow dcommit to retain local merge information

Fernando J. Pereda (1):
      Teach mailsplit about Maildir's

Frank Lichtenheld (11):
      t9400: Add test cases for config file handling
      t9400: Add some more cvs update tests
      t9400: Add some basic pserver tests
      t9400: Work around CVS' deficiencies
      cvsserver: Handle 'cvs login'
      cvsserver: Make req_Root more critical of its input data
      cvsserver: Add some useful commandline options
      cvsserver: Let --base-path and pserver get along just fine
      cvsserver: Actually implement --export-all
      config: Add --null/-z option for null-delimted output
      config: add support for --bool and --int while setting values

Geert Bosch (1):
      Unify write_index_file functions

Gerrit Pape (3):
      git-branch: cleanup config file when deleting branches
      git-svn: trailing slash in prefix is mandatory with --branches/-b
      git-cvsimport: force checkout of working tree after initial import

Han-Wen Nienhuys (28):
      Cleanups
      reformatting: break long lines.
      rename apply() to applyCommit(); apply is a python builtin
      add .dotest to .gitignore
      Robustness fixes for pipes
      cleanup
      minor cleanups
      clone and sync --keep-path to keep perforce path to module.
      use string.strip() iso. slicing.
      use strip() iso. slicing for removing \n
      add --verbose to all commands.
      Extract multiple paths concurrently.
      Diverse cleanups
      remove global .gitdir
      Read p4 files in one batch.
      Thinko, fix buglet.
      store p4 user cache in home directory.
      thinko.
      read files before creating the commit.
      don't p4 print deleted files.
      only run p4 print if necessary
      use p4CmdList() to get file contents in Python dicts. This is more robust.
      Cleanups & import into p4/master for local import
      remove debug print
      thinko: really ignore deleted files.
      look for 'text' and 'binary' files.
      print error message when p4 print fails (eg. due to permission problems)
      also strip p4/ from local imports.

Jakub Narębski (16):
      gitweb: Add test t9500 for gitweb (as standalone script)
      Add an option to git-ls-tree to display also the size of blob
      gitweb: Provide links to commitdiff to each parent in 'commitdiff' view
      gitweb: Improve "next" link in commitdiff view
      gitweb: Split git_patchset_body into separate subroutines
      gitweb: Create special from-file/to-file header for combined diff
      gitweb: Add links to blobdiffs in from-file/to-file header for merges
      gitweb: '--cc' for merges in 'commitdiff' view
      Document git rev-list --full-history
      Document git read-tree --trivial
      Document git rev-parse --is-inside-git-dir
      Document git reflog --stale-fix
      Document git rev-list --timestamp
      Use tabs for indenting definition list for options in git-log.txt
      Document git log --abbrev-commit, as a kind of pretty option
      Document git log --full-diff

James Bowes (2):
      Add colour support in rebase and merge tree diff stats output.
      rev-parse: Identify short sha1 sums correctly.

Jeff King (12):
      cmd_log_init: remove parsing of --encoding command line parameter
      refactor dir_add_name
      dir_struct: add collect_ignored option
      builtin-add: simplify (and increase accuracy of) exclude handling
      Fix ALLOC_GROW off-by-one
      Fix ALLOC_GROW calls with obsolete semantics
      git-stash: fix "no arguments" case in documentation
      git-stash: fix "can't shift that many" with no arguments
      git-stash: don't complain when listing in a repo with no stash
      Documentation: quote {non-attributes} for asciidoc
      Documentation: quote {non-attributes} for asciidoc
      Documentation: minor cleanups to branch/checkout wording

Jeffrey C. Ollie (2):
      Add an option to quiet git-init.
      Quiet the output from git-init when cloning, if requested.

Jim Meyering (4):
      Don't dereference a strdup-returned NULL
      detect close failure on just-written file handles
      Don't ignore a pack-refs write failure
      git-log: detect dup and fdopen failure

Johan Herland (1):
      Remove unnecessary code and comments on non-existing 8kB tag object restriction

Johannes Schindelin (23):
      Update to SubmittingPatches
      Add git-filter-branch
      git-fsck: learn about --verbose
      Move buffer_is_binary() to xdiff-interface.h
      merge-recursive: refuse to merge binary files
      git-merge-file: refuse to merge binary files
      filter-branch: use $(($i+1)) instead of $((i+1))
      filter-branch: fix behaviour of '-k'
      t5000: skip ZIP tests if unzip was not found
      Teach filter-branch about subdirectory filtering
      Teach diff to imply --find-copies-harder upon -C -C
      pp_header(): work around possible memory corruption
      diffcore-rename: favour identical basenames
      filter-branch: add example to move everything into a subdirectory
      Move the pick_author code to git-sh-setup
      Teach rebase an interactive mode
      rebase -i: several cleanups
      rebase -i: provide reasonable reflog for the rebased branch
      Teach rebase -i about --preserve-merges
      t7004: ship trustdb to avoid gpg warnings
      git add: respect core.filemode with unmerged entries
      Make '!' aliases more useful
      git-fsck: add --lost-found option

Johannes Sixt (9):
      filter-branch: Use rev-list arguments to specify revision ranges.
      filter-branch: also don't fail in map() if a commit cannot be mapped
      Makefile: Remove git-merge-base from PROGRAMS.
      filter-branch: Simplify parent computation.
      filter-branch: subdirectory filter needs --full-history
      Avoid double-slash in path names that depend on $(sharedir).
      Remove trailing slash from $(template_dir).
      git-remote show: Also shorten non-fast-forward refs in the 'push' listing
      Test 'git add' for unmerged entries when core.symlinks=false.

Jon Loeliger (1):
      Add the --numbered-files option to git-format-patch.

Jonas Fonseca (2):
      Fix git-am(1) synopsis formatting
      git-rebase: suggest to use git-add instead of git-update-index

Josh Triplett (1):
      Fix typo in git-mergetool

Julian Phillips (2):
      Makefile: Use generic rule to build test programs
      new-workdir: handle rev-parse --git-dir not always giving full path

Junio C Hamano (48):
      git-apply: Fix removal of new trailing blank lines.
      pack-objects: pass fullname down to add_object_entry()
      Teach "delta" attribute to pack-objects.
      builtin-pack-objects: remove unnecessary code for no-delta
      Fix command line parameter parser of revert/cherry-pick
      Remove git-applypatch
      mailsplit: fix for more than one input files
      Add DLH to .mailmap
      Release Notes: start preparing for 1.5.3
      git-apply: what is detected and fixed is not just trailing spaces.
      t7003: make test repeatable
      git-branch --track: fix tracking branch computation.
      War on whitespace
      Test wildcard push/fetch
      More missing static
      More missing static
      Even more missing static
      remote.c: refactor match_explicit_refs()
      remote.c: refactor creation of new dst ref
      remote.c: minor clean-up of match_explicit()
      remote.c: fix "git push" weak match disambiguation
      remote.c: "git-push frotz" should update what matches at the source.
      git-push: Update description of refspecs and add examples
      git-blame: do not indent with spaces.
      git-blame -w: ignore whitespace
      mktag: minimally update the description.
      Lift 16kB limit of log message output
      Extend --pretty=oneline to cover the first paragraph,
      Makefile: common-cmds.h depends on generate-cmdlist.sh script
      Makefile: allow generating git.o for debugging purposes
      -Wold-style-definition fix
      More static
      Documentation: update "stale" links for 1.5.2.2
      INSTALL: explain how to build documentation
      Two trivial -Wcast-qual fixes
      git-send-email: Do not make @-less message ID
      Add core.quotepath configuration variable.
      Update draft Release Notes for 1.5.3
      diffcore_count_changes: pass diffcore_filespec
      diffcore_filespec: add is_binary
      diffcore-delta.c: update the comment on the algorithm.
      diffcore-delta.c: Ignore CR in CRLF for text files
      git-stash: require "save" to be explicit and update documentation
      Update public documentation links for 1.5.2.3
      "git-push $URL" without refspecs pushes only matching branches
      Rewrite "git-frotz" to "git frotz"
      git-stash: make "save" the default action again.
      Mark disused commit walkers officially deprecated.

Kevin Green (1):
      git-p4: check for existence of repo dir before trying to create

Lars Hjemli (10):
      Add git-submodule command
      Add basic test-script for git-submodule
      git-submodule: move cloning into a separate function
      git-submodule: clone during update, not during init
      t7400: barf if git-submodule removes or replaces a file
      git-submodule: remember to checkout after clone
      Rename sections from "module" to "submodule" in .gitmodules
      git-submodule: give submodules proper names
      Add gitmodules(5)
      gitmodules(5): remove leading period from synopsis

Linus Torvalds (9):
      Make "git gc" pack all refs by default
      Make the pack-refs interfaces usable from outside
      Makefile: add an explicit rule for building assembly output
      Finally implement "git log --follow"
      Fix up "git log --follow" a bit..
      Clean up internal command handling
      Check for IO errors after running a command
      git: Try a bit harder not to lose errno in stdio
      Start deprecating "git-command" in favor of "git command"

Marco Costalba (1):
      Teach 'git-apply --whitespace=strip' to remove empty lines at the end of file

Marius Storm-Olsen (7):
      Make the command call silent
      Replace \r\n with \n when importing from p4 on Windows
      Ensure that the commit message is Windows formated (CRLF) before invoking the editor.
      Fix git-p4 clone (defaultDestination)
      Fix single branch import into remotes
      Exclude the HEAD symbolic ref from the list of known branches
      Only use double quotes on Windows

Mark Levedahl (6):
      gitk: Make selection highlight color configurable
      gitk: Update fontsize in patch / tree list
      gitk: Allow specifying tabstop as other than default 8 characters.
      gitweb.perl - Optionally send archives as .zip files
      gitk: Use a spinbox for setting tabstop settings
      gitk: Update selection background colorbar in prefs dialog

Martin Koegler (5):
      builtin-pack-objects: don't fail, if delta is not possible
      git-pack-objects: cache small deltas between big objects
      builtin-pack-object: cache small deltas
      diff-delta: use realloc instead of xrealloc
      gitweb: Handle non UTF-8 text better

Martin Waitz (1):
      rename dirlink to gitlink.

Matthias Lederhofer (18):
      add git-filter-branch to .gitignore
      make clean should remove all the test programs too
      filter-branch: prevent filters from reading from stdin
      chmod +x git-filter-branch.sh
      rev-parse: document --is-inside-git-dir
      rev-parse: introduce --is-bare-repository
      test git rev-parse
      introduce GIT_WORK_TREE to specify the work tree
      Use new semantics of is_bare/inside_git_dir/inside_work_tree
      extend rev-parse test for --is-inside-work-tree
      test GIT_WORK_TREE
      setup_git_directory: fix segfault if repository is found in cwd
      filter-branch: always export GIT_DIR if it is set
      gitweb: change filename/directory name of snapshots
      make git barf when an alias changes environment variables
      make dist: include configure script in tarball
      ignore git-rebase--interactive
      getenv/setenv: use constants if available

Matthijs Melchior (1):
      Teach git-tag about showing tag annotations.

Michael Ellerman (2):
      gitview: Use new-style classes
      gitview: Define __slots__ for Commit

Michael Krelin (1):
      git-svn: honor ~/.subversion/ client cert file settings.

Michael S. Tsirkin (1):
      connect: display connection progress

Nanako Shiraishi (3):
      Cloning from a repo without "current branch"
      Add git-stash script
      Document git-stash

Nicolas Pitre (8):
      allow for undeltified objects not to be reused
      make "repack -f" imply "pack-objects --no-reuse-object"
      deprecate the new loose object header format
      fixes to output of git-verify-pack -v
      improve delta long block matching with big files
      update diff-delta.c copyright
      fix repack with --max-pack-size
      always start looking up objects in the last used pack first

Paul Mackerras (18):
      gitk: Use the -q flag to git checkout
      gitk: New infrastructure for working out branches & previous/next tags
      gitk: Don't try to list large numbers of tags or heads in the details pane
      gitk: Add some more comments to the optimize_rows procedure
      gitk: Improve the behaviour of the initial selection
      gitk: Implement a simple scheduler for the compute-intensive stuff
      gitk: Cope with commit messages with carriage-returns and initial blank lines
      gitk: Disable the head context menu entries for the checked-out branch
      gitk: Store ids in rowrangelist and idrowranges rather than row numbers
      gitk: New algorithm for drawing the graph lines
      gitk: Show local uncommitted changes as a fake commit
      gitk: Speed up the reading of references
      gitk: Get rid of the childlist variable
      gitk: Add a "reset branch to here" row context-menu operation
      gitk: Limit how often we change the canvas scrolling region
      gitk: Fix bug causing nearby tags/heads to sometimes not be displayed
      gitk: Improve handling of whitespace and special chars in filenames
      gitk: Add a progress bar to show progress while resetting

Petr Baudis (2):
      git-rev-list: Add regexp tuning options
      git-applymbox: Remove command

Pierre Habouzit (3):
      $EMAIL is a last resort fallback, as it's system-wide.
      Active_nr is unsigned, hence can't be < 0
      Missing statics.

Quy Tonthat (1):
      git.spec: RPM failed, looking for wrong files.

Randal L. Schwartz (1):
      Add test-sha1 to .gitignore.

René Scharfe (3):
      t5000: silence unzip availability check
      diffcore-rename: don't change similarity index based on basename equality
      diff: round down similarity index

Robin Rosenberg (1):
      Add option to cvs update before export

Sam Vilain (3):
      git-svn: avoid string eval for defining functions
      git-svn: use git-log rather than rev-list | xargs cat-file
      git-svn: cache max revision in rev_db databases

Shawn O. Pearce (24):
      Teach git-describe how to run name-rev
      Lazily open pack index files on demand
      Micro-optimize prepare_alt_odb
      Attempt to delay prepare_alt_odb during get_sha1
      git gui 0.8.0
      git-gui: GUI support for running 'git remote prune <name>'
      git-gui: Show the git-gui library path in 'About git-gui'
      git-gui: Enable verbose Tcl loading earlier
      git-gui: Provide fatal error if library is unavailable
      git-gui: Disable tearoff menus on Windows, Mac OS X
      git-gui: Allow users to rename branches through 'branch -m'
      git-gui: Allow users to delete remote branches
      git-gui: Expose the merge.diffstat configuration option
      Allow contrib new-workdir to link into bare repositories
      Test for recent rev-parse $abbrev_sha1 regression
      Simplify index access condition in count-objects, pack-redundant
      Ensure the pack index is opened before access
      Style nit - don't put space after function names
      git-gui: Internalize symbolic-ref HEAD reading logic
      git-gui: Quiet our installation process
      Avoid src:dst syntax as default bash completion for git push
      Document git-gui, git-citool as mainporcelain manual pages
      Teach bash how to complete +refspec on git-push
      Correct usages of sed in git-tag for Mac OS X

Simon Hausmann (223):
      Initial import of a python script to import changesets from Perforce into git.
      Added basic support for specifying the depot path to import from as well as the range of perforce changes.
      Slightly improved help usage output and made specifying the trailing slash for the depot path optional.
      Implemented basic support for converting the date of the perforce change to the git format. The timezone isn't correctly set up yet though.
      Some fixes to the timezone conversion between the date of a perforce change and the git commit.
      Speed up the import of individual files from Perforce into git by passing the output of "p4 print" directly to git fast-import. Also try to set the mode of the file in git correctly based on file type heuristics.
      Removed unused p4cat function and added helper function for the perforce python interface (p4Cmd).
      Changed the import mechanism to write to git fast-import through a pipe instead of having p4-fast-export write to stdout and let the caller connect it to git fast-import.
      Minor code cleanups and ported some p4 interfacing code over to the p4 python mode.
      Instead of parsing the output of "p4 users" use the python objects of "p4 -G users".
      Ported the remaining functions that parsed p4 shell output over to the p4 python interface.
      Avoid calling fstat for every imported file (slow!) and instead read the file data first into the python process and use the length of the bytes read for the size field of git fast-import.
      Permit calling p4-fast-export with a depot path that has the typical ... wildcard at the end.
      Fixed displaying import progress by calling flush on stdout.
      Create a git tag for every changeset imported from perforce.
      Fix file permissions of p4-fast-export.py to be executable.
      Started working on incremental imports from Perforce.
      Simplify the incremental import by elimination the need for a temporary import branch.
      Code cleanups, move the code to create a commit with fast-import into a separate function out of the main loop.
      Initial support for importing a directory from Perforce at a specified revision.
      Minor cleanups and print an error message of git fast-import if it fails.
      Fixed incremental imports by using the correct "from" command instead of "merge" with git fast-import.
      Make incremental imports easier to use by storing the p4 depot path after an import in .git/config and re-using it when we're invoked again later.
      Make specifying the revision ranges more convenient.
      Fix calculation of the newest imported revision for #head imports.
      Catch io exceptions from git fast-import again and print the error message.
      Made the name of the git branch used for the perforce import configurable through a new --branch=<name> commandline option.
      Added a little helper script to debug the output of the p4 python interface.
      Minor code cleanups.
      Avoid the excessive use of git tags for every perforce change and instead just create one git tag for the last imported change.
      Changed the default git import branch from "p4" to "master".
      Added a little helper script to remove unused tags from the perforce import.
      Create lightweight git tags (using the "reset" trick) for the incremental import instead of full-blown ones. Also fix parsing the output of git name-rev for figuring out the last imported p4 change number.
      Cleanups, remove unused variable.
      Code cleanups.
      Started work on p4 branch detection (experimental!).
      More fixes in heuristic p4 branch detection based on common path components.
      After marking a p4 branch as merged don't ever merge it in git again.
      Set git fast-import marks for every imported change for future use.
      When trying to map p4 integrations to git merges just record it as a single merge with the newest p4 change as secondary parent.
      Make it possible to specify the p4 changes to import through a text file (for debugging) and made various improvements to the branch/merge heuristic detection.
      Use sets.Set() instead of set() to run also with older versions of Python.
      Fix single-branch imports by skipping the branch/merge detection correctly.
      Added p4 delete behavioural emulation as todo item.
      Added support for --silent so that p4-fast-export can be called from cronjobs.
      More work in --silent support.
      Don't print a plain newline at the end of the execution (avoids bogus cron error mails).
      Adjust the output parsing of git name-rev to handle the output of the latest git version.
      Work in progress on detecting branches.
      Changed --known-branches to take a file as argument instead of a comma separated list.
      Fixed p4-debug file extension.
      Make the p4 data/command cache configurable through the --cache-debug commandline option.
      Minor code cleanups.
      More code cleanups and preparations for more branch detection heuristics.
      More work on branch detection by implementing changeIsBranchMerge().
      Reduce the number of false "merges" by skipping "branch from" entries in the integrated output as well as by ignoring integrations of future (newer) changes.
      Split up the cache commandline options into (command) cache and data cache.
      First version of a new script to submit changes back to perforce from git repositories.
      Fix git-dir option and allow reading log substitutions from a file
      Lots of bugfixes to p4-git-sync.
      Automatically operate on a temporary branch, needed for cherry-pick to work when applying changes to
      Be nice and use /usr/bin/env python for the git-p4 scripts
      Ignore Apple resource files when importing from perforce to git.
      Auto-detect the current git branch before submitting back to perforce.
      Use p4 revert ... instead of revert -a ... after submitting, to make sure the p4 checkout is clean.
      Default to interactive syncing
      Improved the git dir detection.
      Pass the right number of arguments to commit, fixes single-branch imports.
      Start moving the git-p4 tools into one single script.
      Provide a little bit of help description for the git-p4 "tools".
      First (untested) attempt at migrating p4-git-sync into the final git-p4 script
      Part of the code is copyright by Trolltech ASA.
      sync-to-perforce is now called submit and fixed the gitdir check a little bit
      Completely untested "merge" of p4-fast-export.py into git-p4.py
      Added missing "self"s to make the script evaluate correctly.
      Fixed the initial version import by getting the file index correct by correctly skipping deleted files.
      Removed p4-fast-export and p4-git-sync as they've been integrated into git-p4 now.
      Start of the git-p4 documentation.
      Documentation enhancements.
      Added experimental but super-fast --apply-as-patch option to git-p4 submit
      Fix support for deletions in git-p4 submit when using --apply-as-patch by filtering out deletions in the diff-tree output.
      Made --apply-as-patch the default for git-p4 submit as it's significantly faster.
      Make it possible to invoke git-p4 from within subdirectories of a git working tree.
      Don't show the submit template and the diff first in less but show it in $editor right away
      Removed the .py extension from git-p4 as it's annoying to type every time.
      Changed the format of the imported log message slightly, so that it's easier to parse again.
      Changed the default branch for imports from "master" to "p4"
      Added some helper function(s) to parse the depot path and change number from the log message
      Helper function to check the existance of a revision
      Set the default branch in run, not in the constructor
      Brand new smart incremental import that doesn't need tags or git repo-config :)
      Make it possible to run git-p4 submit from within the git repository
      Use the new incremental import style by default
      Different versions of p4 have different output for the where command ;(
      Minor cosmetic fixlet for the git-p4 submit sync question.
      Prefer git command over git-command.
      Don't try to parse any options with git-p4 debug but pass it straight on to p4
      git-p4 debug doesn't need a git repository
      Added support for mapping p4 labels to git tags
      Fix variable usage in tag import
      Fix the docs for git-p4 submit and turn git-p4 submit --master=foo into simply git-p4 submit mytopicbranch.
      Fix "compilation" :)
      Clean up python class names.
      Added git-p4 rebase convenience
      Provide a tree summary after git-p4 rebase
      Turn off potentially slow label detection by default
      Honor --silent for labels
      Added git-p4 clone convenience command
      Fix file determination for #head imports
      fix variable usage (oops)
      Added a simple example of usage to the "documentation" :)
      Allow for convenient rebasing after git-p4 submit
      Print an error message of some sort if git fast-import fails.
      Fix the timezone formatting. Now qgit also displays (parses) it correctly.
      Removed the old patch apply code from git-p4 submit.
      Slightly improved formatting of the raw_input questions.
      A new attempt at fixing the child-fast-import-process-not-finished race condition in the clone command
      Handle patch errors in git-p4 submit better.
      Doc cleanups.
      Micro cleanup
      cleanup, renamed self.globalPrefix to self.depotPath
      Cleanup, removed the old tagging code
      Document some implementation details, for the curious... :)
      Use the subprocess module instead of popen2 to make it work on Windows.
      Added a little .bat wrapper from Marius
      Make sure all popen calls use binary mode (for Windows) and
      Make submitting work on Windows.
      Converted to unix newlines
      Fix git-p4 clone //depot/project (head import)
      Make git-p4 work with bare repositories.
      Added the possibility of skipping patches during git-p4 submit
      Give a better hint if git-p4 submit fails
      Fix calling git-p4 rebase from within a subdirectory (git rebase wants to be in toplevel)
      A little todo note before I forget it :), based on a suggestion from Lars.
      Fixing syncing (gitdir discovery / cd) for bare repositories
      Always pass a sha1 for the initial parent so that git-fast-import doesn't think it's creating a new branch from itself. It's a sensible error in general but in the case of incremental imports we have to apply force :)
      Clean up code duplication for revision parsing and fix previous commit to not import into remotes/p4 (yet!).
      Removed cleantags command. It doesn't have any meaning anymore.
      Removed ancient and unused code to find the last imported revision from previous imports to use for the current import by looking at the p4 tags. The current approach of using the log message works better.
      Create the origin based import branch using git update-ref instead of git branch so that it's possible to have the import branch in refs/remotes.
      Changed the default p4 import branch to be refs/remotes/p4/{HEAD,master} instead of refs/heads/p4.
      Bite the bullet and automatically convert old style refs/heads/p4 repositories to the new style refs/remotes/p4 branching.
      Added support for git-p4 sync/rebase --with-origin. See git-p4.txt for details :)
      Removed todo item that is implemented :)
      Fix branch setup after initial clone.
      Removed unused cache variables.
      Started rewriting the branch detection, based on "p4 branches" and "p4 branch -o foo".
      Give branches a nice project prefix and don't bail out on clone if we failed to detect the master branch.
      More work on the incremental importing of multiple branches. Improved error detection by checking the exit code of git-fast-import.
      Cleanup/speed up the branch<> file split and removed change range limitation that I added for debugging (oops).
      More cleanups and speedups for labels and branches
      Removed unused variable, more cleanups
      Cache the output of "p4 users" for faster syncs on high latency links.
      Fix gitdir not being set when cloning. Needed for writing the p4 users cache.
      Oops, not only /set/ gitdir on clone, also set it /correctly/ :)
      Use git format-patch and git apply --apply when extracting patches from git and applying them to a Perforce checkout. This should make it possible to apply git commits with binary files that cannot be handled by path.
      Added support for git-p4 submit --direct (experimental)
      Specifying --detect-branches is now only needed for the initial clone/sync. Afterwards it's turned on implicitly if more p4 branches than remotes/p4/master are found.
      Had an idea for debugging, record it :)
      Another (potentially life-saving) idea for submit --direct
      Improved output for multi branch imports and noted another little todo item
      Fix conversion from old style heads/p4 to remotes/p4/master
      Fix error detection with git-p4 submit when the requested depot path is not in the client view.
      Fix git symbolic-ref warning on initial clone
      Detect with git-p4 submit --direct when there are no changes in the working directory
      Make git-p4 submit --direct safer by also creating a git commit
      Added a rollback command for debugging. It sets back the heads of the p4 branches to the specified p4 change number or earlier.
      Fix branch detection in multi-branch imports
      Fixes for rollback, delete branches that did not exist at the specified p4 change
      Added support for importing multiple branches into refs/heads instead of just refs/remotes using --import-local. Needs some further microfix but seems to work otherwise.
      Added support for --max-changes=<count> to ease import debugging
      Use refs/heads/* instead of refs/heads/p4/* for local imports
      Doc updates
      Avoid calling git symbolic-ref refs/heads/p4//HEAD (double slash)
      Make rollback work with locally imported branches
      Don't make len(p4Cmd("p4 changes -m 1 //foo/...")) == 0 succeed when the p4 command itself failed.
      Oops, fill the /list/ correct with the p4 exit code.
      Catch p4 errors in rollback early enough (before deleting refs!)
      Fix p4 execution in git-p4 rollback.
      Fix multi-branch import with --silent.
      Load the user map from p4 only once at run-time.
      Fix creating the remotes/p4 branches based on origin/* for the multi-branch import
      Forgot to remove this return statement from debugging
      Added support for --with-origin with multi-branch imports
      Oops, fix --with-origin to /really/ also call git fetch :)
      Avoid creating non-p4 branches in remotes/p4 off of remotes/origin
      Make git-p4 work with packed refs (don't use os.path.exists to check for the existance of a ref)
      Make --with-origin also work without origin :)
      Make --with-origin the default for syncing.
      Shortcut the case where we have no origin branch
      Forgot to remove this TODO item when I made --with-origin the default :)
      Added git-p4 submit --trust-me-like-a-fool for the adventurous users :)
      Fix creation of refs/remotes/p4/HEAD symbolic ref
      Fix my email address, this isn't really KDE related :)
      In *_pipe print the command that failed if it fails. Fixed old calls to mypopen.
      Fix typo in listExistingP4Branches that broke sync.
      Fix support for "depot-path" in older git-p4 imports
      Fix common path "calculation" from logs of multiple branches. Need to use min instead of max for prev/cur to avoid out-of-bounds string access. Also treat "i" as index of the last match instead of a length because in case of a complete match of the two strings i was off by one.
      Don't attempt to set the initialParent on multi-branch imports (useless). At some point the code paths should be unified, but for now I need a working git-p4 :)
      Hack to make the multi-branch import work again with self.depotPaths now that self.depotPath is gone
      Fix git-p4 rebase
      Fix git-p4 submit
      Fix depot-path determination for git-p4 submit
      Make clone behave like git clone by default again.
      Make git-p4 submit detect the correct reference (origin) branch when working with multi-branch imports.
      Only get the expensive branch mapping from the p4 server when not syncing with the help of an origin remote (which we instead then use to get new branches from).
      Fixed the check to make sure to exclude the HEAD symbolic refs when updating the remotes/p4 branches from origin.
      Fix updating/creating remotes/p4/* heads from origin/p4/*
      Fix project name guessing
      Fix depot-paths encoding for multi-path imports (don't split up //depot/path/foo)
      Fix support for explicit disabling of syncing with the origin
      Write out the options tag in the log message of imports only if we actually have options
      Provide some information for single branch imports where the commits go
      Mention remotes/p4/master also in the documentation.
      git-p4 submit: Fix missing quotes around p4 commands to make them work with spaces in filenames
      Moved the code from git-p4 submit to figure out the upstream branch point into a separate helper method.
      Fix git-p4 rebase to detect the correct upstream branch instead of unconditionally always rebasing on top of remotes/p4/master
      Fix initial multi-branch import.
      Fix the branch mapping detection to be independent from the order of the "p4 branches" output.
      Warn about conflicting p4 branch mappings and use the first one found.
      Added git-p4 branches command that shows the mapping of perforce depot paths to imported git branches.
      Make it possible to specify the HEAD for the internal findUpstreamBranchPoint function.
      git-new-workdir: Fix shell warning about operator == used with test.

Sven Verdoolaege (4):
      git-update-ref: add --no-deref option for overwriting/detaching ref
      t9500: skip gitweb tests if perl version is too old
      git-submodule: provide easy way of adding new submodules
      git-clone: fetch possibly detached HEAD over dumb http

Theodore Ts'o (4):
      Add --aggressive option to 'git gc'
      Fix minor grammatical typos in the git-gc man page
      git-mergetool: Make default selection of merge-tool more intelligent
      Don't fflush(stdout) when it's not helpful

İsmail Dönmez (1):
      Change default man page path to /usr/share/man


Version v1.5.2.5; changes since v1.5.2.4:
-----------------------------------------

Christian Couder (1):
      rev-list --bisect: fix allocation of "int*" instead of "int".

Julian Phillips (1):
      Force listingblocks to be monospaced in manpages

Junio C Hamano (4):
      Do not expect unlink(2) to fail on a directory.
      setup.c:verify_non_filename(): don't die unnecessarily while disambiguating
      Fix "git add -u" data corruption.
      GIT 1.5.2.5

Linus Torvalds (1):
      apply: remove directory that becomes empty by renaming the last file away

Salikh Zakirov (1):
      git-add -u paths... now works from subdirectory


Version v1.5.2.4; changes since v1.5.2.3:
-----------------------------------------

Andy Parkins (2):
      Make git-prune submodule aware (and fix a SEGFAULT in the process)
      user-manual: grammar and style fixes

Gerrit Pape (1):
      git-gui: properly popup error if gitk should be started but is not installed

J. Bruce Fields (2):
      tutorial: Fix typo
      user-manual: more explanation of push and pull usage

Jim Meyering (1):
      Don't smash stack when $GIT_ALTERNATE_OBJECT_DIRECTORIES is too long

Johannes Schindelin (3):
      diff --no-index: fix --name-status with added files
      glossary: add 'reflog'
      Fix "apply --reverse" with regard to whitespace

Junio C Hamano (2):
      Teach read-tree 2-way merge to ignore intermediate symlinks
      GIT 1.5.2.4

Michael Hendricks (1):
      Correctly document the name of the global excludes file configuration

Miklos Vajna (1):
      Document -<n> for git-format-patch

Shawn O. Pearce (10):
      git-gui: Unlock the index when cancelling merge dialog
      git-gui: Don't bind F5/M1-R in all windows
      git-gui: Bind M1-P to push action
      git-gui: Include a Push action on the left toolbar
      git-gui: Ensure windows shortcuts always have .bat extension
      git-gui: Skip nicknames when selecting author initials
      git-gui: Correct ls-tree buffering problem in browser
      git-gui: Don't linewrap within console windows
      Clarify documentation of fast-import's D subcommand
      git-gui: Work around bad interaction between Tcl and cmd.exe on ^{tree}

William Pursell (1):
      user-manual: fix directory name in git-archive example


Version v1.5.2.3; changes since v1.5.2.2:
-----------------------------------------

Frank Lichtenheld (2):
      config: Complete documentation of --get-regexp
      config: Change output of --get-regexp for valueless keys

Junio C Hamano (1):
      GIT 1.5.2.3

Linus Torvalds (1):
      Fix zero-object version-2 packs

Matt Kraai (1):
      Correct the name of NO_R_TO_GCC_LINKER in the comment describing it.

Sam Vilain (3):
      cleanup merge-base test script
      repack: improve documentation on -a option
      git-remote: document -n

Shawn O. Pearce (5):
      git-gui: Correctly install to /usr/bin on Cygwin
      git-gui: Bind Tab/Shift-Tab to cycle between panes in blame
      git-gui: Don't require $DISPLAY just to get --version
      git-gui: Don't nice git blame on MSYS as nice is not supported
      git-gui: Don't require a .pvcsrc to create Tools/Migrate menu hack

Sven Verdoolaege (1):
      Ignore submodule commits when fetching over dumb protocols


Version v1.5.2.2; changes since v1.5.2.1:
-----------------------------------------

Alex Riesen (3):
      Make the installation target of git-gui a little less chatty
      Fix clone to setup the origin if its name ends with .git
      Add a local implementation of hstrerror for the system which do not have it

Gerrit Pape (1):
      Fix typo in remote branch example in git user manual

J. Bruce Fields (4):
      user-manual: quick-start updates
      user-manual: add a missing section ID
      Documentation: user-manual todo
      tutorial: use "project history" instead of "changelog" in header

Jakub Narębski (1):
      Generated spec file to be ignored is named git.spec and not git-core.spec

Johannes Schindelin (2):
      Move buffer_is_binary() to xdiff-interface.h
      merge-recursive: refuse to merge binary files

Johannes Sixt (1):
      Accept dates before 2000/01/01 when specified as seconds since the epoch

Junio C Hamano (6):
      checkout: do not get confused with ambiguous tag/branch names
      $EMAIL is a last resort fallback, as it's system-wide.
      git-branch --track: fix tracking branch computation.
      Avoid diff cost on "git log -z"
      Documentation: adjust to AsciiDoc 8
      GIT 1.5.2.2

Kristian Høgsberg (1):
      Unquote From line from patch before comparing with given from address.

Luiz Fernando N. Capitulino (1):
      git-cherry: Document 'limit' command-line option

Matthijs Melchior (1):
      New selection indication and softer colors

Michael Milligan (1):
      git-cvsimport: Make sure to use $git_dir always instead of .git sometimes

Sam Vilain (2):
      fix documentation of unpack-objects -n
      Don't assume tree entries that are not dirs are blobs

Shawn O. Pearce (47):
      git-gui: Allow creating a branch when none exists
      git-gui: Allow as few as 0 lines of diff context
      git-gui: Don't quit when we destroy a child widget
      git-gui: Attach font_ui to all spinbox widgets
      git-gui: Verify Tcl/Tk is new enough for our needs
      Revert "Make the installation target of git-gui a little less chatty"
      git-gui: Add a 4 digit commit abbreviation to the blame viewer
      git-gui: Cleanup blame::new widget initialization
      git-gui: Remove empty blank line at end of blame
      git-gui: Improve the coloring in blame viewer
      git-gui: Simplify consecutive lines that come from the same commit
      git-gui: Use arror cursor in blame viewer file data
      git-gui: Display tooltips in blame viewer
      git-gui: Highlight the blame commit header from everything else
      git-gui: Remove unnecessary reshow of blamed commit
      git-gui: Cleanup minor style nit
      git-gui: Space the commit group continuation out in blame view
      git-gui: Show author initials in blame groups
      git-gui: Allow the user to control the blame/commit split point
      git-gui: Display a progress bar during blame annotation gathering
      git-gui: Allow digging through history in blame viewer
      git-gui: Combine blame groups only if commit and filename match
      git-gui: Show original filename in blame tooltip
      git-gui: Use a label instead of a button for the back button
      git-gui: Clip the commit summaries in the blame history menu
      git-gui: Remove the loaded column from the blame viewer
      git-gui: Remove unnecessary space between columns in blame viewer
      git-gui: Use lighter colors in blame view
      git-gui: Make the line number column slightly wider in blame
      git-gui: Automatically expand the line number column as needed
      git-gui: Remove unused commit_list from blame viewer
      git-gui: Better document our blame variables
      git-gui: Cleanup redundant column management in blame viewer
      git-gui: Switch internal blame structure to Tcl lists
      git-gui: Label the uncommitted blame history entry
      git-gui: Rename fields in blame viewer to better descriptions
      git-gui: Display the "Loading annotation..." message in italic
      git-gui: Run blame twice on the same file and display both outputs
      git-gui: Display both commits in our tooltips
      git-gui: Jump to original line in blame viewer
      git-gui: Use three colors for the blame viewer background
      git-gui: Improve our labeling of blame annotation types
      git-gui: Favor the original annotations over the recent ones
      git-gui: Changed blame header bar background to match main window
      git-gui: Include 'war on whitespace' fixes from git.git
      git-gui: Give amend precedence to HEAD over MERGE_MSG
      git-gui: Save geometry before the window layout is damaged

William Pursell (1):
      Make command description imperative statement, not third-person present.


Version v1.5.2.1; changes since v1.5.2:
---------------------------------------

Andy Parkins (2):
      Fix mishandling of $Id$ expanded in the repository copy in convert.c
      Add test case for $Id$ expanded in the repository

Carlos Rica (1):
      fix memory leak in parse_object when check_sha1_signature fails

Eric Wong (1):
      git-svn: avoid md5 calculation entirely if SVN doesn't provide one

Fernando J. Pereda (1):
      Use PATH_MAX instead of TEMPFILE_PATH_LEN

Frank Lichtenheld (7):
      t1300: Add tests for git-config --bool --get
      git-config: Correct asciidoc documentation for --int/--bool
      cvsserver: Correct inetd.conf example in asciidoc documentation
      cvsserver: Note that CVS_SERVER can also be specified as method variable
      cvsserver: Fix some typos in asciidoc documentation
      git-config: Various small fixes to asciidoc documentation
      git-config: Improve documentation of git-config file handling

Jakub Narębski (3):
      Documentation: Clean up links in GIT Glossary
      Replace the last 'dircache's by 'index'
      Documentation: Add definition of "evil merge" to GIT Glossary

James Bowes (1):
      Documentation: fix git-config.xml generation

James Y Knight (1):
      Fix git-svn to handle svn not reporting the md5sum of a file, and test.

Jeff King (3):
      git-am: use printf instead of echo on user-supplied strings
      More echo "$user_message" fixes.
      Documentation: robustify asciidoc GIT_VERSION replacement

Jerald Fitzjerald (1):
      decode_85(): fix missing return.

Jim Meyering (1):
      git-daemon: don't ignore pid-file write failure

Johan Herland (1):
      Fix stupid typo in lookup_tag()

Johannes Schindelin (2):
      SubmittingPatches: mention older C compiler compatibility
      git-status: respect core.excludesFile

Jonas Fonseca (2):
      branch: fix segfault when resolving an invalid HEAD
      Update bash completion to ignore some more plumbing commands

Josh Triplett (1):
      Create a new manpage for the gitignore format, and reference it elsewhere

Junio C Hamano (6):
      annotate: make it work from subdirectories.
      git-cvsserver: fix disabling service via per-method config
      name-rev: tolerate clock skew in committer dates
      git-commit: use printf '%s\n' instead of echo on user-supplied strings
      Add tests for the last two fixes.
      GIT 1.5.2.1

Kristian Høgsberg (1):
      Use =20 when rfc2047 encoding spaces.

Linus Torvalds (1):
      fix signed range problems with hex conversions

Nguyễn Thái Ngọc Duy (1):
      Makefile: Remove git-fsck and git-verify-pack from PROGRAMS

Paolo Bonzini (1):
      Document branch.autosetupmerge.

Shawn O. Pearce (12):
      git-gui: Tighten internal pattern match for lib/ directory
      Refactor fast-import branch creation from existing commit
      Fix possible coredump with fast-import --import-marks
      Hide the plumbing diff-{files,index,tree} from bash completion
      Teach bash completion about git-shortlog
      Remove a duplicate --not option in bash completion
      Update bash completion header documentation
      Teach bash completion about 'git remote update'
      Teach bash completion about recent log long options
      Update bash completion for git-config options
      Correct key bindings to Control-<foo>
      git-gui: Guess our share/git-gui/lib path at runtime if possible

Simon Hausmann (2):
      fast-import: Fix uninitialized variable
      fast-import: Fix crash when referencing already existing objects

Steffen Prohaska (1):
      user-manual: fixed typo in example

Stephan Springl (1):
      Use git-for-each-ref to check whether the origin branch exists.

Sven Verdoolaege (1):
      unpack-trees.c: verify_uptodate: remove dead code


Version v1.5.2; changes since v1.5.2-rc3:
-----------------------------------------

Alex Riesen (1):
      Allow fetching references from any namespace

Andy Parkins (2):
      Use $Id$ as the ident attribute keyword rather than $ident$ to be consistent with other VCSs
      Fix crlf attribute handling to match documentation

Andy Whitcroft (1):
      git name-rev writes beyond the end of malloc() with large generations

Eric Wong (6):
      git-svn: don't drop the username from URLs when dcommit is run
      git-svn: clean up caching of SVN::Ra functions
      git-svn: fix segfaults due to initial SVN pool being cleared
      git-svn: don't attempt to minimize URLs by default
      git-svn: avoid crashing svnserve when creating new directories
      git-svn: don't minimize-url when doing an init that tracks multiple paths

Frank Lichtenheld (5):
      cvsserver: Limit config parser to needed options
      cvsserver: Don't send mixed messages to clients
      builtin-log.c: Fix typo in comment
      Documentation: format-patch has no --mbox option
      git-am: Clean up the asciidoc documentation

J. Bruce Fields (14):
      user-manual: revise birdseye-view chapter
      glossary: expand and clarify some definitions, prune cross-references
      user-manual: move quick-start to an appendix
      Documentation: remove howto's now incorporated into manual
      user-manual: move howto/make-dist.txt into user manual
      user-manual: move howto/using-topic-branches into manual
      user-manual: add a "counting commits" example
      user-manual: introduce git
      user-manual: listing commits reachable from some refs not others
      user-manual: reorganize public git repo discussion
      tutorials: add user-manual links
      tutorial: revise index introduction
      user-manual: discourage shared repository
      user-manual: finding commits referencing given file content

Jakub Narębski (10):
      gitweb: Test if $from_id and $to_id are defined before comparison
      gitweb: Check if requested object exists
      gitweb: Fix "Use of unitialized value" warnings in empty repository
      Documentation: Split description of pretty formats of commit log
      gitweb: Add a few comments about %feature hash
      gitweb: Do not use absolute font sizes
      gitweb: Separate search regexp from search text
      gitweb: Empty patch for merge means trivial merge, not no differences
      gitweb: Fix error in git_patchset_body for deletion in merge commit
      gitweb: Fix "Use of uninitialized value" warning in git_feed

Jan Hudec (2):
      Updated documentation of hooks in git-receive-pack.
      Minor fixup to documentation of hooks in git-receive-pack.

Jeff King (3):
      git-add: allow path limiting with -u
      Documentation/git-add: clarify -u with path limiting
      format-patch: add MIME-Version header when we add content-type.

Johan Herland (3):
      Fix signedness on return value from xread()
      Ensure return value from xread() is always stored into an ssize_t
      user-manual: Add section on ignoring files

Johannes Schindelin (2):
      import-tars: Use the "Link indicator" to identify directories
      Add a birdview-on-the-source-code section to the user manual

Junio C Hamano (17):
      Minor copyediting on Release Notes for 1.5.2
      Add has_symlink_leading_path() function.
      apply: do not get confused by symlinks in the middle
      read-tree -m -u: avoid getting confused by intermediate symlinks.
      t9400: Use the repository config and nothing else.
      checkout: allow detaching to HEAD even when switching to the tip of a branch
      git-config: do not forget seeing "a.b.var" means we are out of "a.var" section.
      Link to HTML version of external doc if available
      Fix git-clone buglet for remote case.
      Prepare for 1.5.1.5 Release Notes
      gitweb: fix another use of undefined value
      GIT v1.5.1.5
      Add link to 1.5.1.5 release notes.
      Documentation/git.txt: Update links to older documentation pages.
      GIT 1.5.1.6
      git-cvsserver: exit with 1 upon "I HATE YOU"
      GIT 1.5.2

Lars Hjemli (1):
      git-archive: don't die when repository uses subprojects

Marco Costalba (1):
      Fix an unmatched comment end in arm/sha1_arm.S

Matthias Kestenholz (2):
      Documentation: Added [verse] to SYNOPSIS where necessary
      Documentation: Reformatted SYNOPSIS for several commands

Matthieu Castet (1):
      Remove stale non-static-inline prototype for tree_entry_extract()

Michael Hendricks (2):
      git-send-email: allow leading white space on mutt aliases
      Document core.excludesfile for git-add

Petr Baudis (5):
      gitweb: Normalize searchbar font size
      gitweb: Add support for grep searches
      gitweb: Allow arbitrary strings to be dug with pickaxe
      Documentation: git-rev-list's "patterns"
      gitweb: Remove redundant $searchtype setup

Quy Tonthat (2):
      RPM spec: include files in technical/ to package.
      Documentation/branch: fix small typo in -D example

René Scharfe (1):
      git-archive: convert archive entries like checkouts do

Shawn O. Pearce (1):
      git-gui: Gracefully handle bad TCL_PATH at compile time

Steffen Prohaska (4):
      tiny fix in documentation of git-clone
      git-config: test for 'do not forget "a.b.var" ends "a.var" section'.
      Optimized cvsexportcommit: calling 'cvs status' once instead of once per touched file.
      Fixed link in user-manual


Version v1.5.2-rc3; changes since v1.5.2-rc2:
---------------------------------------------

Alex Riesen (1):
      Use GIT_OBJECT_DIR for temporary files of pack-objects

Amos Waterland (1):
      wcwidth redeclaration

Frank Lichtenheld (1):
      cvsserver: Add test cases for git-cvsserver

Gerrit Pape (1):
      gitweb: choose appropriate view for file type if a= parameter missing

J. Bruce Fields (7):
      user-manual: more discussion of detached heads, fix typos
      user-manual: add section ID's
      user-manual: clean up fast-forward and dangling-objects sections
      user-manual: fix .gitconfig editing examples
      user-manual: miscellaneous editing
      user-manual: stop deprecating the manual
      user-manual: fix clone and fetch typos

Jakub Narębski (6):
      gitweb: Add parsing of raw combined diff format to parse_difftree_raw_line
      gitweb: Add combined diff support to git_difftree_body
      gitweb: Add combined diff support to git_patchset_body
      gitweb: Make it possible to use pre-parsed info in git_difftree_body
      gitweb: Show combined diff for merge commits in 'commitdiff' view
      gitweb: Show combined diff for merge commits in 'commit' view

Jari Aalto (1):
      SPECIFYING RANGES typo fix: it it => it is

Jeff King (1):
      Documentation: don't reference non-existent 'git-cvsapplycommit'

Johannes Sixt (1):
      git-gui: Call changes "Staged" and "Unstaged" in file list titles.

Junio C Hamano (10):
      diff: release blobs after generating textual diff.
      diff.c: do not use a separate "size cache".
      diff -M: release the preimage candidate blobs after rename detection.
      diff -S: release the image after looking for needle in it
      GIT v1.5.1.4
      Update documentation links to point at 1.5.1.4
      t9400: skip cvsserver test if Perl SQLite interface is unavailable
      git-clone: don't get fooled by $PWD
      .mailmap: add some aliases
      GIT v1.5.2-rc3

Matthieu Moy (2):
      Document git add -u introduced earlier.
      Added a reference to git-add in the documentation for git-update-index

Michael Hendricks (1):
      Document 'git-log --decorate'

Michael Spang (3):
      dir.c: Omit non-excluded directories with dir->show_ignored
      t7300: Basic tests for git-clean
      Fix minor documentation errors

Paul Mackerras (1):
      gitk: Allow user to choose whether to see the diff, old file, or new file

Petr Baudis (2):
      Git.pm: config_boolean() -> config_bool()
      gitweb: Do not use absolute font sizes

Quy Tonthat (2):
      Add howto files to rpm packages.
      Added new git-gui library files to rpm spec

Richard P. Curnow (2):
      Fix documentation of tag in git-fast-import.txt
      Fix documentation of tag in git-fast-import.txt

Shawn O. Pearce (32):
      git-gui: Correctly handle UTF-8 encoded commit messages
      git-gui: Allow spaces in path to 'wish'
      git-gui: Include the subject in the status bar after commit
      git-gui: Warn users before making an octopus merge
      git-gui: Correct line wrapping for too many branch message
      git-gui: Cleanup common font handling for font_ui
      git-gui: Use option database defaults to set the font
      git-gui: Refactor to use our git proc more often
      git-gui: Track our own embedded values and rebuild when they change
      Properly handle '0' filenames in import-tars
      git-gui: Refactor into multiple files to save my sanity
      git-gui: Move console procs into their own namespace
      git-gui: Allow vi keys to scroll the diff/blame regions
      git-gui: Move merge support into a namespace
      git-gui: Show all possible branches for merge
      git-gui: Include commit id/subject in merge choices
      git-gui: Use vi-like keys in merge dialog
      Remove duplicate exports from Makefile
      git-gui: Allow shift-{k,j} to select a range of branches to merge
      git-gui: Define a simple class/method system
      git-gui: Convert browser, console to "class" format
      git-gui: Don't attempt to inline array reads in methods
      git-gui: Convert blame to the "class" way of doing things
      git-gui: Use prefix if blame is run in a subdirectory
      git-gui: Smarter command line parsing for browser, blame
      git-gui: Generate blame on uncommitted working tree file
      git-gui: Cleanup minor nits in blame code
      git-gui: Format author/committer times in ISO format
      Use .git/MERGE_MSG in cherry-pick/revert
      git-gui: Paperbag fix blame in subdirectory
      git gui 0.7.0
      Correct error message in revert/cherry-pick

Theodore Ts'o (2):
      Add pack.depth option to git-pack-objects.
      Increase pack.depth default to 50


Version v1.5.2-rc2; changes since v1.5.2-rc1:
---------------------------------------------

Alex Riesen (2):
      Small correction in reading of commit headers
      Handle return code of parse_commit in revision machinery

Alexandre Julliard (1):
      http-fetch: Disable use of curl multi support for libcurl < 7.16.

Arjen Laarhoven (1):
      Document 'opendiff' value in config.txt and git-mergetool.txt

Bryan Larsen (2):
      Allow PERL_PATH="/usr/bin/env perl"
      posix compatibility for t4200

Carl Worth (1):
      Mention version 1.5.1 in tutorial and user-manual

Dana L. How (1):
      Create pack-write.c for common pack writing code

Daniel Barkalow (1):
      Make xstrndup common

Frank Lichtenheld (1):
      cvsserver: Handle re-added files correctly

Jakub Narębski (1):
      diff format documentation: describe raw combined diff format

James Bowes (1):
      Documentation: fix typo in git-remote.txt

Johannes Schindelin (1):
      Teach import-tars about GNU tar's @LongLink extension.

Jonas Fonseca (1):
      git-tag(1): -v option is a subcommand; fix code block

Junio C Hamano (6):
      blame: use .mailmap unconditionally
      diff.c: fix "size cache" handling.
      blame: Notice a wholesale incorporation of an existing file.
      blame: -C -C -C
      Add test for blame corner cases.
      GIT v1.5.2-rc2

Karl Wiberg (2):
      Fix markup in git-svn man page
      Add --no-rebase option to git-svn dcommit

Linus Torvalds (1):
      Fix --boundary output

Martin Koegler (1):
      Fix compilation of test-delta

Shawn O. Pearce (3):
      Reuse fixup_pack_header_footer in index-pack
      Don't use seq in tests, not everyone has it
      Improve request-pull to handle non-rebased branches

İsmail Dönmez (1):
      gitweb: use decode_utf8 directly


Version v1.5.2-rc1; changes since v1.5.2-rc0:
---------------------------------------------

Adam Roben (5):
      Remove usernames from all commit messages, not just when using svmprops
      git-svn: Don't rely on $_ after making a function call
      git-svn: Ignore usernames in URLs in find_by_url
      git-svn: Added 'find-rev' command
      git-svn: Add 'find-rev' command

Alex Riesen (8):
      Fix handle leak in write_tree
      Avoid excessive rewrites in merge-recursive
      Add a test for merging changed and rename-changed branches
      Ignore merged status of the file-level merge
      Use strlcpy instead of strncpy in mailmap.c
      Fix read_mailmap to handle a caller uninterested in repo abbreviation
      Remove pointless calls to access(2) when checking for .mailmap
      Include mailmap.h in mailmap.c to catch mailmap interface changes

Andrew Ruder (8):
      Removing -n option from git-diff-files documentation
      Document additional options for git-fetch
      Update git-fmt-merge documentation
      Update git-grep documentation
      Update -L documentation for git-blame/git-annotate
      Update git-http-push documentation
      Update git-local-fetch documentation
      Update git-http-fetch documentation

Andy Parkins (3):
      post-receive-email example hook: fastforward should have been fast_forward
      post-receive-email example hook: detect rewind-only updates and output sensible message
      post-receive-email example hook: sed command for getting description was wrong

Brian Gernhardt (2):
      Reverse the order of -b and --track in the man page.
      Ignore all man sections as they are generated files.

Gerrit Pape (1):
      Documentation/git-reset.txt: suggest git commit --amend in example.

Jari Aalto (3):
      Clarify SubmittingPatches Checklist
      git.7: Mention preformatted html doc location
      send-email documentation: clarify --smtp-server

Johannes Schindelin (3):
      dir.c(common_prefix): Fix two bugs
      t4201: Do not display weird characters on the terminal
      import-tars: be nice to wrong directory modes

Josh Triplett (5):
      Add clean.requireForce option, and add -f option to git-clean to override it
      Fix typo in git-am: s/Was is/Was it/
      Create a sysconfdir variable, and use it for ETC_GITCONFIG
      Add missing reference to GIT_COMMITTER_DATE in git-commit-tree documentation
      Fall back to $EMAIL for missing GIT_AUTHOR_EMAIL and GIT_COMMITTER_EMAIL

Julian Phillips (1):
      http.c: Fix problem with repeated calls of http_init

Junio C Hamano (25):
      Move index-related variables into a structure.
      Make read-cache.c "the_index" free.
      Document "diff=driver" attribute
      t5302: avoid using tail -c
      t6030: grab commit object name as we go
      Build RPM with ETC_GITCONFIG=/etc/gitconfig
      Diff between two blobs should take mode changes into account now.
      t/test-lib.sh: Protect ourselves from common misconfiguration that exports CDPATH to the environment
      gitattributes documentation: clarify overriding
      applymbox & quiltimport: typofix.
      Add 'ident' conversion.
      Add 'filter' attribute and external filter driver definition.
      Add --date={local,relative,default}
      Start preparing for 1.5.1.3
      Do not barf on too long action description
      Update .mailmap with "Michael"
      Fix import-tars fix.
      blame -s: suppress author name and time.
      Split out mailmap handling out of shortlog
      Apply mailmap in git-blame output.
      Make macros to prevent double-inclusion in headers consistent.
      Make sure test-genrandom and test-chmtime are builtas part of the main build.
      Fix symlink handling in git-svn, related to PerlIO
      GIT v1.5.1.3
      GIT v1.5.2-rc1

Luiz Fernando N. Capitulino (5):
      remove_subtree(): Use strerror() when possible
      entry.c: Use const qualifier for 'struct checkout' parameters
      read_cache_from(): small simplification
      core-tutorial: minor fixes
      init_buffer(): Kill buf pointer

Martin Koegler (5):
      Add S_IFINVALID mode
      add get_sha1_with_mode
      add add_object_array_with_mode
      store mode in rev_list, if <tree>:<filename> syntax is used
      use mode of the tree in git-diff, if <tree>:<file> syntax is used

Michele Ballabio (1):
      git shortlog documentation: add long options and fix a typo

Nicolas Pitre (1):
      add file checkout progress

OGAWA Hirofumi (1):
      git-fetch: Fix "argument list too long"

Robin H. Johnson (10):
      Document --dry-run parameter to send-email.
      Prefix Dry- to the message status to denote dry-runs.
      Debugging cleanup improvements
      Change the scope of the $cc variable as it is not needed outside of send_message.
      Perform correct quoting of recipient names.
      Validate @recipients before using it for sendmail and Net::SMTP.
      Ensure clean addresses are always used with Net::SMTP
      Allow users to optionally specify their envelope sender.
      Document --dry-run and envelope-sender for git-send-email.
      Sanitize @to recipients.

Sami Farin (1):
      fast-import: size_t vs ssize_t

Shawn O. Pearce (4):
      Don't repack existing objects in fast-import
      Actually handle some-low memory conditions
      Don't allow empty pathnames in fast-import
      Catch empty pathnames in trees during fsck

Uwe Kleine-König (1):
      fix importing of subversion tars


Version v1.5.2-rc0; changes since v1.5.1.6:
-------------------------------------------

Alex Riesen (7):
      Fix passing of TCLTK_PATH to git-gui
      Fix t4201: accidental arithmetic expansion
      Fix permissions on test scripts
      Tests for core subproject support
      Simplify calling of CR/LF conversion routines
      Fix a typo in crlf conversion code
      Fix crash in t0020 (crlf conversion)

Alexandre Julliard (1):
      git.el: Add a commit description to the reflog.

Andrew Ruder (1):
      Add policy on user-interface changes

Andy Parkins (1):
      Show binary file size change in diff --stat

Aneesh Kumar K.V (1):
      gitview: annotation support

Brian Gernhardt (2):
      Remove unused WITH_OWN_SUBPROCESS_PY from RPM spec
      Remove case-sensitive file in t3030-merge-recursive.

Christian Couder (4):
      Bisect: teach "bisect start" to optionally use one bad and many good revs.
      Documentation: bisect: "start" accepts one bad and many good commits
      Bisect: simplify "bisect start" logging.
      Bisect: rename "t/t6030-bisect-run.sh" to "t/t6030-bisect-porcelain.sh".

Eric Wong (1):
      git-svn: bail out on incorrect command-line options

Eygene Ryabinkin (11):
      Add the WITH_P4IMPORT knob to the Makefile.
      Added git-p4 package to the list of git RPMs.
      Added correct Python path to the RPM specfile.
      NO_TCLTK
      Add --with-tcltk and --without-tcltk to configure.
      Rewrite Tcl/Tk interpreter path for the GUI tools.
      Eliminate checks of user-specified Tcl/Tk interpreter.
      Allow wish interpreter to be defined with TCLTK_PATH
      Teach git-gui to use the user-defined UI font everywhere.
      Improve look-and-feel of the git-gui tool.
      Do not break git-gui messages into multiple lines.

Fernando J. Pereda (1):
      Makefile: Add '+' to QUIET_SUBDIR0 to fix parallel make.

Frank Lichtenheld (16):
      cvsserver: Introduce new state variable 'method'
      cvsserver: Handle three part keys in git config correctly
      cvsserver: Allow to override the configuration per access method
      cvsserver: Make the database backend configurable
      cvsserver: Abort if connect to database fails
      Documentation: Replace @@GIT_VERSION@@ in documentation
      Documentation: Add version information to man pages
      cvsserver: Use DBI->table_info instead of DBI->tables
      cvsserver: Corrections to the database backend configuration
      cvsserver: Add asciidoc documentation for new database backend configuration
      gitweb: Allow forks with project list file
      gitweb: Allow configuring the default projects order and add order 'none'
      cvsserver: Allow to "add" a removed file
      cvsserver: Reword documentation on necessity of write access
      cvsserver: Document the GIT branches -> CVS modules mapping more prominently
      config.txt: Add gitcvs.db* variables

Jakub Narębski (2):
      gitweb: Whitespace cleanup - tabs are for indent, spaces are for align (3)
      gitweb: Quote hash keys, and do not use barewords keys

James Bowes (1):
      Document git-check-attr

Jim Meyering (1):
      sscanf/strtoul: parse integers robustly

Johannes Schindelin (1):
      Use print_wrapped_text() in shortlog

Julian Phillips (1):
      refs.c: add a function to sort a ref list, rather then sorting on add

Junio C Hamano (83):
      git-fetch: add --quiet
      t6002: minor spelling fix.
      git-rev-list: add --bisect-vars option.
      git-rev-list --bisect: optimization
      t6004: add a bit more path optimization test.
      rev-list --bisect: Fix "halfway" optimization.
      make the previous optimization work also on path-limited rev-list --bisect
      Documentation: unbreak user-manual.
      Optional Tck/Tk: ignore generated files.
      checkout: allow detaching to HEAD even when switching to the tip of a branch
      _GIT_INDEX_OUTPUT: allow plumbing to output to an alternative index file.
      git-read-tree --index-output=<file>
      add_cache_entry(): removal of file foo does not conflict with foo/bar
      unpack_trees.c: pass unpack_trees_options structure to keep_entry() as well.
      unpack-trees: get rid of *indpos parameter.
      Fix read-tree --prefix=dir/.
      Fix twoway_merge that passed d/f conflict marker to merged_entry().
      Fix switching to a branch with D/F when current branch has file D.
      RPM spec: include git-p4 in the list of all packages.
      Fix bogus error message from merge-recursive error path
      Propagate cache error internal to refresh_cache() via parameter.
      Rename internal function "add_file_to_cache" in builtin-update-index.c
      Rename static variable write_index to update_index in builtin-apply.c
      Rename add_file_to_index() to add_file_to_cache()
      git-bisect: modernization
      t6030: add a bit more tests to git-bisect
      git-bisect: allow bisecting with only one bad commit.
      git-push reports the URL after failing.
      git-push to multiple locations does not stop at the first failure
      A new merge stragety 'subtree'.
      Start 1.5.2 cycle by prepareing RelNotes for it.
      shortlog -w: make wrap-line behaviour optional.
      t1000: fix case table.
      Treat D/F conflict entry more carefully in unpack-trees.c::threeway_merge()
      merge-recursive: do not barf on "to be removed" entries.
      merge-recursive: handle D/F conflict case more carefully.
      t3030: merge-recursive backend test.
      git-fetch--tool pick-rref
      git-fetch: use fetch--tool pick-rref to avoid local fetch from alternate
      Add %m to '--pretty=format:'
      Refactor patch-id filtering out of git-cherry and git-format-patch.
      git-log --cherry-pick A...B
      Documentation: --cherry-pick
      Fix git {log,show,...} --pretty=email
      Add basic infrastructure to assign attributes to paths
      Define 'crlf' attribute.
      Teach 'diff' about 'diff' attribute.
      Fix 'crlf' attribute semantics.
      Fix 'diff' attribute semantics.
      Makefile: add patch-ids.h back in.
      attribute macro support
      Define a built-in attribute macro "binary".
      Change attribute negation marker from '!' to '-'.
      send-email: do not leave an empty CC: line if no cc is present.
      Make sure quickfetch is not fooled with a previous, incomplete fetch.
      Allow more than true/false to attributes.
      merge-recursive: separate out xdl_merge() interface.
      git-gui: Honor TCLTK_PATH if supplied
      Allow specifying specialized merge-backend per path.
      Add a demonstration/test of customized merge.
      Update draft release notes for 1.5.2 with accumulated changes.
      Custom low-level merge driver support.
      Allow the default low-level merge driver to be configured.
      Custom low-level merge driver: change the configuration scheme.
      Allow low-level driver to specify different behaviour during internal merge.
      Fix funny types used in attribute value representation
      Counto-fix in merge-recursive
      Simplify code to find recursive merge driver.
      Documentation: support manual section (5) - file formats.
      Update 'crlf' attribute semantics.
      Document gitattributes(5)
      git-add -u: match the index with working tree.
      Fix bogus linked-list management for user defined merge drivers.
      convert.c: restructure the attribute checking part.
      lockfile: record the primary process.
      Update documentation links to point at v1.5.1.2
      Documentation/Makefile: fix section (5) installation
      Update draft release notes for v1.5.2
      pack-objects: quickfix for permission modes.
      Fix 'quickfix' on pack-objects.
      Update tests not to assume that generated packfiles are writable.
      pack-objects: make generated packfile read-only
      Support 'diff=pgm' attribute

Linus Torvalds (24):
      Optimize directory listing with pathspec limiter.
      diff-lib: use ce_mode_from_stat() rather than messing with modes manually
      Avoid overflowing name buffer in deep directory structures
      Add 'resolve_gitlink_ref()' helper function
      Add "S_IFDIRLNK" file mode infrastructure for git links
      Teach "fsck" not to follow subproject links
      Teach core object handling functions about gitlinks
      Fix thinko in subproject entry sorting
      Teach directory traversal about subprojects
      Teach git-update-index about gitlinks
      Don't show gitlink directories when we want "other" files
      Teach git list-objects logic not to follow gitlinks
      Teach "git-read-tree -u" to check out submodules as a directory
      Fix gitlink index entry filesystem matching
      Teach git list-objects logic to not follow gitlinks
      Teach "git-read-tree -u" to check out submodules as a directory
      Fix some "git ls-files -o" fallout from gitlinks
      Expose subprojects as special files to "git diff" machinery
      Add a generic "object decorator" interface, and make object refs use it
      Add support for "commit name decorations" to log family of commands
      Use proper object allocators for unknown object nodes too
      Clean up object creation to use more common code
      Fix working directory errno handling when unlinking a directory
      Fix a copy-n-paste bug in the object decorator code.

Luiz Fernando N. Capitulino (2):
      ident.c: Use const qualifier for 'struct passwd' parameters
      ident.c: Use size_t (instead of int) to store sizes

Martin Koegler (1):
      gitweb: Show "no difference" message for empty diff

Michael S. Tsirkin (1):
      Display the subject of the commit just made.

Nicolas Pitre (32):
      clean up and optimize nth_packed_object_sha1() usage
      get rid of num_packed_objects()
      make overflow test on delta base offset work regardless of variable size
      add overflow tests on pack offset variables
      compute a CRC32 for each object as stored in a pack
      compute object CRC32 with index-pack
      pack-objects: learn about pack index version 2
      index-pack: learn about pack index version 2
      sha1_file.c: learn about index version 2
      show-index.c: learn about index v2
      pack-redundant.c: learn about index v2
      allow forcing index v2 and 64-bit offset treshold
      validate reused pack data with CRC when possible
      simple random data generator for tests
      use test-genrandom in tests instead of /dev/urandom
      tests for various pack index features
      clean up add_object_entry()
      pack-objects: optimize preferred base handling a bit
      pack-objects: equal objects in size should delta against newer objects
      pack-objects: rework check_delta_limit usage
      pack-objects: clean up list sorting
      pack-objects: get rid of reuse_cached_pack
      pack-objects: get rid of create_final_object_list()
      pack-objects: make in_pack_header_size a variable of its own
      add get_size_from_delta()
      pack-objects: better check_object() performances
      pack-objects: remove obsolete comments
      document --index-version for index-pack and pack-objects
      common progress display support
      make progress "title" part of the common progress interface
      provide a facility for "delayed" progress reporting
      delay progress display when checking out files

René Scharfe (1):
      git-archive: make tar the default format

Robin H. Johnson (2):
      Add custom subject prefix support to format-patch (take 3)
      Add testcase for format-patch --subject-prefix (take 3)

Shawn O. Pearce (8):
      Always bind the return key to the default button
      Fix lost-found to show commits only referenced by reflogs
      Don't yap about merge-subtree during make
      git-gui: Display the directory basename in the title
      Revert "Allow wish interpreter to be defined with TCLTK_PATH"
      Contribute a fairly paranoid update hook
      Kill the useless progress meter in merge-recursive
      Cleanup variables in cat-file

Steven Grimm (3):
      Add --quiet option to suppress output of "rm" commands for removed files.
      git-rm: Trivial fix for a comment typo.
      Add --ignore-unmatch option to exit with zero status when no files are removed.

Xavier Maillard (2):
      git-blame.el: separate git-blame-mode to ease maintenance
      git-blame.el: pick a set of random colors for each git-blame turn


Version v1.5.1.6; changes since v1.5.1.5:
-----------------------------------------

Eric Wong (2):
      git-svn: avoid crashing svnserve when creating new directories
      git-svn: don't minimize-url when doing an init that tracks multiple paths

J. Bruce Fields (4):
      tutorials: add user-manual links
      tutorial: revise index introduction
      user-manual: discourage shared repository
      user-manual: finding commits referencing given file content

Johan Herland (1):
      user-manual: Add section on ignoring files

Junio C Hamano (1):
      GIT 1.5.1.6

Matthias Kestenholz (2):
      Documentation: Added [verse] to SYNOPSIS where necessary
      Documentation: Reformatted SYNOPSIS for several commands


Version v1.5.1.5; changes since v1.5.1.4:
-----------------------------------------

Alex Riesen (1):
      Allow fetching references from any namespace

Andy Whitcroft (1):
      git name-rev writes beyond the end of malloc() with large generations

Eric Wong (4):
      git-svn: don't drop the username from URLs when dcommit is run
      git-svn: clean up caching of SVN::Ra functions
      git-svn: fix segfaults due to initial SVN pool being cleared
      git-svn: don't attempt to minimize URLs by default

Frank Lichtenheld (3):
      builtin-log.c: Fix typo in comment
      Documentation: format-patch has no --mbox option
      git-am: Clean up the asciidoc documentation

J. Bruce Fields (10):
      user-manual: revise birdseye-view chapter
      glossary: expand and clarify some definitions, prune cross-references
      user-manual: move quick-start to an appendix
      Documentation: remove howto's now incorporated into manual
      user-manual: move howto/make-dist.txt into user manual
      user-manual: move howto/using-topic-branches into manual
      user-manual: add a "counting commits" example
      user-manual: introduce git
      user-manual: listing commits reachable from some refs not others
      user-manual: reorganize public git repo discussion

Jakub Narębski (1):
      gitweb: Add a few comments about %feature hash

Jan Hudec (1):
      Updated documentation of hooks in git-receive-pack.

Jari Aalto (1):
      SPECIFYING RANGES typo fix: it it => it is

Jeff King (1):
      format-patch: add MIME-Version header when we add content-type.

Johannes Schindelin (2):
      import-tars: Use the "Link indicator" to identify directories
      Add a birdview-on-the-source-code section to the user manual

Junio C Hamano (7):
      git-clone: don't get fooled by $PWD
      .mailmap: add some aliases
      checkout: allow detaching to HEAD even when switching to the tip of a branch
      git-config: do not forget seeing "a.b.var" means we are out of "a.var" section.
      Fix git-clone buglet for remote case.
      Prepare for 1.5.1.5 Release Notes
      GIT v1.5.1.5

Marco Costalba (1):
      Fix an unmatched comment end in arm/sha1_arm.S

Matthieu Castet (1):
      Remove stale non-static-inline prototype for tree_entry_extract()

Michael Hendricks (2):
      git-send-email: allow leading white space on mutt aliases
      Document core.excludesfile for git-add

Petr Baudis (1):
      Documentation: git-rev-list's "patterns"

Quy Tonthat (2):
      RPM spec: include files in technical/ to package.
      Documentation/branch: fix small typo in -D example

Richard P. Curnow (2):
      Fix documentation of tag in git-fast-import.txt
      Fix documentation of tag in git-fast-import.txt

Shawn O. Pearce (1):
      Properly handle '0' filenames in import-tars

Steffen Prohaska (3):
      tiny fix in documentation of git-clone
      git-config: test for 'do not forget "a.b.var" ends "a.var" section'.
      Fixed link in user-manual


Version v1.5.1.4; changes since v1.5.1.3:
-----------------------------------------

Alex Riesen (1):
      Small correction in reading of commit headers

Alexandre Julliard (1):
      http-fetch: Disable use of curl multi support for libcurl < 7.16.

Amos Waterland (1):
      wcwidth redeclaration

Arjen Laarhoven (1):
      Document 'opendiff' value in config.txt and git-mergetool.txt

Bryan Larsen (2):
      Allow PERL_PATH="/usr/bin/env perl"
      posix compatibility for t4200

Carl Worth (1):
      Mention version 1.5.1 in tutorial and user-manual

Daniel Barkalow (1):
      Make xstrndup common

Frank Lichtenheld (1):
      cvsserver: Handle re-added files correctly

J. Bruce Fields (7):
      user-manual: more discussion of detached heads, fix typos
      user-manual: add section ID's
      user-manual: clean up fast-forward and dangling-objects sections
      user-manual: fix .gitconfig editing examples
      user-manual: miscellaneous editing
      user-manual: stop deprecating the manual
      user-manual: fix clone and fetch typos

Jakub Narębski (1):
      diff format documentation: describe raw combined diff format

James Bowes (1):
      Documentation: fix typo in git-remote.txt

Jeff King (1):
      Documentation: don't reference non-existent 'git-cvsapplycommit'

Johannes Schindelin (1):
      Teach import-tars about GNU tar's @LongLink extension.

Junio C Hamano (5):
      diff.c: fix "size cache" handling.
      blame: Notice a wholesale incorporation of an existing file.
      blame: -C -C -C
      Add test for blame corner cases.
      GIT v1.5.1.4

Karl Wiberg (2):
      Fix markup in git-svn man page
      Add --no-rebase option to git-svn dcommit

Linus Torvalds (1):
      Fix --boundary output

Martin Koegler (1):
      Fix compilation of test-delta

Paul Mackerras (1):
      gitk: Allow user to choose whether to see the diff, old file, or new file

Quy Tonthat (1):
      Add howto files to rpm packages.

Shawn O. Pearce (1):
      git-gui: Allow spaces in path to 'wish'

İsmail Dönmez (1):
      gitweb: use decode_utf8 directly


Version v1.5.1.3; changes since v1.5.1.2:
-----------------------------------------

Adam Roben (5):
      Remove usernames from all commit messages, not just when using svmprops
      git-svn: Don't rely on $_ after making a function call
      git-svn: Ignore usernames in URLs in find_by_url
      git-svn: Added 'find-rev' command
      git-svn: Add 'find-rev' command

Alex Riesen (1):
      Fix handle leak in write_tree

Andrew Ruder (8):
      Removing -n option from git-diff-files documentation
      Document additional options for git-fetch
      Update git-fmt-merge documentation
      Update git-grep documentation
      Update -L documentation for git-blame/git-annotate
      Update git-http-push documentation
      Update git-local-fetch documentation
      Update git-http-fetch documentation

Brian Gernhardt (2):
      Reverse the order of -b and --track in the man page.
      Ignore all man sections as they are generated files.

Gerrit Pape (1):
      Documentation/git-reset.txt: suggest git commit --amend in example.

Jari Aalto (3):
      Clarify SubmittingPatches Checklist
      git.7: Mention preformatted html doc location
      send-email documentation: clarify --smtp-server

Johannes Schindelin (2):
      dir.c(common_prefix): Fix two bugs
      import-tars: be nice to wrong directory modes

Josh Triplett (3):
      Fix typo in git-am: s/Was is/Was it/
      Create a sysconfdir variable, and use it for ETC_GITCONFIG
      Add missing reference to GIT_COMMITTER_DATE in git-commit-tree documentation

Julian Phillips (1):
      http.c: Fix problem with repeated calls of http_init

Junio C Hamano (8):
      Build RPM with ETC_GITCONFIG=/etc/gitconfig
      applymbox & quiltimport: typofix.
      Start preparing for 1.5.1.3
      Do not barf on too long action description
      Update .mailmap with "Michael"
      Fix import-tars fix.
      Fix symlink handling in git-svn, related to PerlIO
      GIT v1.5.1.3

Michele Ballabio (1):
      git shortlog documentation: add long options and fix a typo

Robin H. Johnson (10):
      Document --dry-run parameter to send-email.
      Prefix Dry- to the message status to denote dry-runs.
      Debugging cleanup improvements
      Change the scope of the $cc variable as it is not needed outside of send_message.
      Perform correct quoting of recipient names.
      Validate @recipients before using it for sendmail and Net::SMTP.
      Ensure clean addresses are always used with Net::SMTP
      Allow users to optionally specify their envelope sender.
      Document --dry-run and envelope-sender for git-send-email.
      Sanitize @to recipients.

Shawn O. Pearce (3):
      Actually handle some-low memory conditions
      Don't allow empty pathnames in fast-import
      Catch empty pathnames in trees during fsck


Version v1.5.1.2; changes since v1.5.1.1:
-----------------------------------------

Alex Riesen (3):
      Use rev-list --reverse in git-rebase.sh
      Document -g (--walk-reflogs) option of git-log
      Fix overwriting of files when applying contextually independent diffs

Andrew Ruder (8):
      Update git-am documentation
      Update git-applymbox documentation
      Update git-apply documentation
      Update git-annotate/git-blame documentation
      Update git-archive documentation
      Update git-cherry-pick documentation
      Fix unmatched emphasis tag in git-tutorial
      Update git-config documentation

Andy Whitcroft (1):
      fix up strtoul_ui error handling

Carlos Rica (1):
      Use const qualifier for 'sha1' parameter in delete_ref function

Eric Wong (4):
      git-svn: respect lower bound of -r/--revision when following parent
      git-svn: quiet some warnings when run only with --version/--help
      git-svn: don't allow globs to match regular files
      perl: install private Error.pm if the site version is older than our own

Eygene Ryabinkin (2):
      Teach gitk to use the user-defined UI font everywhere.
      Improve look-and-feel of the gitk tool.

Frank Lichtenheld (5):
      config.txt: Document gitcvs.allbinary
      config.txt: Document core.autocrlf
      config.txt: Change pserver to server in description of gitcvs.*
      config.txt: Fix grammatical error in description of http.noEPSV
      git-shortlog: Fix two formatting errors in asciidoc documentation

Gerrit Pape (2):
      variable $projectdesc needs to be set before checking against unchanged default.
      Have sample update hook not refuse deleting a branch through push.

J. Bruce Fields (7):
      Documentation: minor edits of git-lost-found manpage
      Documentation: clarify git-checkout -f, minor editing
      Documentation: clarify track/no-track option.
      user-manual: fix discussion of default clone
      user-manual: detached HEAD
      user-manual: start revising "internals" chapter
      user-manual: use detached head when rewriting history

Jim Meyering (1):
      sscanf/strtoul: parse integers robustly

Junio C Hamano (4):
      Do not default to --no-index when given two directories.
      Start preparing for 1.5.1.2
      git-clone: fix dumb protocol transport to clone from pack-pruned ref
      GIT 1.5.1.2

Linus Torvalds (1):
      git-quiltimport complaining yet still working

Matthias Lederhofer (1):
      handle_options in git wrapper miscounts the options it handled.

Michael Spang (1):
      git-blame: Fix overrun in fake_working_tree_commit()

Sam Vilain (1):
      git-tar-tree: complete deprecation conversion message

Shawn O. Pearce (1):
      git-gui: Brown paper bag fix division by 0 in blame


Version v1.5.1.1; changes since v1.5.1:
---------------------------------------

Arjen Laarhoven (4):
      usermanual.txt: some capitalization nits
      t3200-branch.sh: small language nit
      t5300-pack-object.sh: portability issue using /usr/bin/stat
      Makefile: iconv() on Darwin has the old interface

Brian Gernhardt (3):
      Fix t4200-rerere for white-space from "wc -l"
      Document --left-right option to rev-list.
      Distinguish branches by more than case in tests.

Dana L. How (1):
      Fix lseek(2) calls with args 2 and 3 swapped

Eric Wong (3):
      git-svn: bail out on incorrect command-line options
      git-svn: dcommit/rebase confused by patches with git-svn-id: lines
      git-svn: fix log command to avoid infinite loop on long commit messages

Frank Lichtenheld (7):
      cvsimport: sync usage lines with existing options
      cvsimport: Improve documentation of CVSROOT and CVS module determination
      cvsimport: Improve usage error reporting
      cvsimport: Reorder options in documentation for better understanding
      cvsimport: Improve formating consistency
      cvsserver: small corrections to asciidoc documentation
      cvsserver: Fix handling of diappeared files on update

Geert Bosch (1):
      Fix renaming branch without config file

Gerrit Pape (1):
      rename contrib/hooks/post-receieve-email to contrib/hooks/post-receive-email.

Jakub Narębski (1):
      gitweb: Fix bug in "blobdiff" view for split (e.g. file to symlink) patches

Jim Meyering (1):
      (encode_85, decode_85): Mark source buffer pointer as "const".

Julian Phillips (1):
      Documentation: show-ref: document --exclude-existing

Junio C Hamano (7):
      rerere: make sorting really stable.
      Fix dependency of common-cmds.h
      Documentation: tighten dependency for git.{html,txt}
      Prepare for 1.5.1.1
      Add Documentation/cmd-list.made to .gitignore
      fsck: do not complain on detached HEAD.
      GIT 1.5.1.1

Lars Hjemli (2):
      rename_ref(): only print a warning when config-file update fails
      Make builtin-branch.c handle the git config file

René Scharfe (1):
      Revert "builtin-archive: use RUN_SETUP"

Shawn O. Pearce (1):
      Honor -p<n> when applying git diffs

Tomash Brechko (1):
      cvsexportcommit -p : fix the usage of git-apply -C.

Ville Skyttä (1):
      DESTDIR support for git/contrib/emacs

YOSHIFUJI Hideaki (1):
      Avoid composing too long "References" header.


Version v1.5.1; changes since v1.5.1-rc3:
-----------------------------------------

Alex Riesen (1):
      Keep rename/rename conflicts of intermediate merges while doing recursive merge

Andy Parkins (1):
      Reimplement emailing part of hooks--update in contrib/hooks/post-receive-email

Christian Couder (1):
      Bisect: Improve error message in "bisect_next_check".

Don Zickus (1):
      git-mailinfo fixes for patch munging

Eric Wong (2):
      git-svn: avoid respewing similar error messages for missing paths
      git-svn: fail on rebase if we are unable to find a ref to rebase against

Francis Daly (1):
      git-quiltimport /bin/sh-ism fix

Frank Lichtenheld (1):
      cvsserver: Don't lie about binary mode in asciidoc documentation

Gerrit Pape (2):
      Documentation/git-svnimport.txt: fix typo.
      Documentation/git-rev-parse.txt: fix example in SPECIFYING RANGES.

H. Peter Anvin (1):
      git-upload-pack: make sure we close unused pipe ends

Jakub Narębski (2):
      gitweb: Support comparing blobs (files) with different names
      Documentation: A few minor fixes to Git User's Manual

Julian Phillips (1):
      contrib/workdir: add a simple script to create a working directory

Junio C Hamano (6):
      Update draft release notes for 1.5.1
      Do not bother documenting fetch--tool
      Hopefully final update to the draft Release Notes, preparing for 1.5.1
      rerere should not repeat the earlier hunks in later ones
      GIT 1.5.0.7
      GIT 1.5.1

Nicolas Pitre (1):
      Plug memory leak in index-pack collision checking codepath.

Theodore Ts'o (12):
      Fix minor formatting issue in man page for git-mergetool
      mergetool: Replace use of "echo -n" with printf(1) to be more portable
      mergetool: Don't error out in the merge case where the local file is deleted
      mergetool: portability fix: don't assume true is in /bin
      mergetool: portability fix: don't use reserved word function
      mergetool: factor out common code
      mergetool: Remove spurious error message if merge.tool config option not set
      mergetool: Fix abort command when resolving symlinks and deleted files
      mergetool: Add support for Apple Mac OS X's opendiff command
      mergetool: Make git-rm quiet when resolving a deleted file conflict
      mergetool: Clean up description of files and prompts for merge resolutions
      Rename warn() to warning() to fix symbol conflicts on BSD and Mac OS


Version v1.5.1-rc3; changes since v1.5.1-rc2:
---------------------------------------------

Alexandre Julliard (1):
      git.el: Display some information about the HEAD commit.

Christian Couder (2):
      Bisect: Use "git-show-ref --verify" when reseting.
      Bisect: add checks at the beginning of "git bisect run".

Gerrit Pape (3):
      Makefile: remove test-chmtime program in target clean.
      http-fetch: don't use double-slash as directory separator in URLs
      http-fetch: remove path_len from struct alt_base, it was computed but never used

H. Peter Anvin (1):
      git-upload-pack: make sure we close unused pipe ends

Jakub Narębski (2):
      gitweb: Add example of config file and how to generate projects list to gitweb/INSTALL
      gitweb: Cleanup and uniquify die_error calls

James Bowes (2):
      read-tree: use xcalloc
      use xrealloc in help.c

Jeff King (6):
      git-rm: don't remove newly added file without -f
      --pretty=format: fix broken %ct and %at interpolation
      Add some basic tests of rev-list --pretty=format
      Fix "--pretty=format:" encoding item
      t/t6006: add tests for a slightly more complex commit messages
      commit: fix pretty-printing of messages with "\nencoding "

Jim Meyering (1):
      sha1_file.c (write_sha1_from_fd): Detect close failure.

Johannes Schindelin (1):
      t4118: be nice to non-GNU sed

Junio C Hamano (7):
      Document git-log --first-parent
      sha1_file.c (write_sha1_file): Detect close failure
      git-commit: "read-tree -m HEAD" is not the right way to read-tree quickly
      Fix "--pretty=format:" for parent related items.
      GIT 1.5.0.6
      Update main git.html page to point at 1.5.0.6 documentation
      GIT 1.5.1-rc3

Linus Torvalds (1):
      Fix "getaddrinfo()" buglet


Version v1.5.1-rc2; changes since v1.5.1-rc1:
---------------------------------------------

Alex Riesen (2):
      Document --quiet option to git-diff
      Use diff* with --exit-code in git-am, git-rebase and git-merge-ours

Andy Parkins (2):
      update-hook: abort early if the project description is unset
      update-hook: remove e-mail sending hook.

Brandon Casey (1):
      prefer "git COMMAND" over "git-COMMAND" in gitk

Chris Wright (1):
      make git clone -q suppress the noise with http fetch

Christian Couder (6):
      Bisect: implement "git bisect run <cmd>..." to automatically bisect.
      Documentation: bisect: reformat some paragraphs.
      Documentation: bisect: reword one paragraph.
      Documentation: bisect: reformat more paragraphs.
      Documentation: bisect: add some titles to some paragraphs.
      Documentation: bisect: make a comment fit better in the man page.

Eric Wong (2):
      gitk: bind <F5> key to Update (reread commits)
      git-svn: fix rel_path() when not connected to the repository root

J. Bruce Fields (5):
      user-manual: run xsltproc without --nonet option
      user-manual: Use def_ instead of ref_ for glossary references.
      glossary: stop generating automatically
      glossary: clean up cross-references
      user-manual: introduce "branch" and "branch head" differently

Jakub Narębski (4):
      gitweb: Fix "next" link in commit view
      gitweb: Don't escape attributes in CGI.pm HTML methods
      gitweb: Fix not marking signoff lines in "log" view
      gitweb: Add some installation notes in gitweb/INSTALL

James Bowes (2):
      Replace remaining instances of strdup with xstrdup.
      use xmalloc in git.c and help.c

Jim Meyering (1):
      user-manual.txt: fix a tiny typo.

Johannes Schindelin (5):
      xdiff/xutils.c(xdl_hash_record): factor out whitespace handling
      Add a HOWTO for setting up a standalone git daemon
      Provide some technical documentation for shallow clones
      t4118: be nice to non-GNU sed
      git-revert: Revert revert message to old behaviour

Johannes Sixt (1):
      Teach git-remote to list pushed branches.

Junio C Hamano (15):
      git-log --first-parent: show only the first parent log
      blame: micro-optimize cmp_suspect()
      blame: cmp_suspect is not "cmp" anymore.
      Teach tree_entry_interesting() that the tree entries are sorted.
      tree-diff: avoid strncmp()
      tree_entry_interesting(): allow it to say "everything is interesting"
      git-rebase: make 'rebase HEAD branch' work as expected.
      git-apply: Do not free the wrong buffer when we convert the data for writeout
      checkout: report where the new HEAD is upon detaching HEAD
      git-bisect: typofix
      git-bisect.sh: properly dq $GIT_DIR
      Fix path-limited "rev-list --bisect" termination condition.
      git-am documentation: describe what is taken from where.
      Update README to point at a few key periodical messages to the list
      GIT 1.5.1-rc2

Li Yang (1):
      gitweb: Change to use explicitly function call cgi->escapHTML()

Linus Torvalds (6):
      Fix loose object uncompression check.
      Don't ever return corrupt objects from "parse_object()"
      Be more careful about zlib return values
      Remove "pathlen" from "struct name_entry"
      Initialize tree descriptors with a helper function rather than by hand.
      Switch over tree descriptors to contain a pre-parsed entry

Michael S. Tsirkin (2):
      fix typo in git-am manpage
      git-merge: Put FETCH_HEAD data in merge commit message

Nicolas Pitre (10):
      clean up the delta base cache size a bit
      use a LRU eviction policy for the delta base cache
      don't ever allow SHA1 collisions to exist by fetching a pack
      index-pack: use hash_sha1_file()
      index-pack: more validation checks and cleanups
      improve checkout message when asking for same branch
      minor git-prune optimization
      update HEAD reflog when branch pointed to by HEAD is directly modified
      make it more obvious that temporary files are temporary files
      write_sha1_from_fd() should make new objects read-only

Peter Eriksen (1):
      Documentation/pack-format.txt: Clear up description of types.

Santi Béjar (1):
      git-fetch: Fix single_force in append_fetch_head

Shawn O. Pearce (1):
      contrib/continuous: a continuous integration build manager

Uwe Kleine-König (1):
      Bisect: convert revs given to good and bad to commits


Version v1.5.1-rc1; changes since v1.5.0.7:
-------------------------------------------

Alex Riesen (7):
      disable t4016-diff-quote.sh on some filesystems
      git-gui: Support of "make -s" in: do not output anything of the build itself
      More build output cleaning up
      Support of "make -s": do not output anything of the build itself
      Allow "make -w" generate its usual output
      Allow git-diff exit with codes similar to diff(1)
      Add tests for --quiet option of diff programs

Alexandre Julliard (1):
      git.el: Add support for commit hooks.

Andy Parkins (7):
      Only show log entries for new revisions in hooks--update
      Have git-cvsserver call hooks/update before really altering the ref
      The "table-of-contents" in the update hook script should match the body
      cvsserver: Remove trailing "\n" from commithash in checkin function
      cvsserver: Make always-binary mode a config file option
      Sample update hook: typofix and modernization to use "git log"
      update-hook: fix incorrect use of git-describe and sed for finding previous tag

Aneesh Kumar K.V (1):
      Documentation: document remote.<name>.tagopt

Avi Kivity (1):
      git-send-email: configurable bcc and chain-reply-to

Don Zickus (3):
      builtin-mailinfo.c infrastrcture changes
      restrict the patch filtering
      Add a couple more test cases to the suite.

Eric Wong (119):
      git-svn: move authentication prompts into their own namespace
      git-svn: cleanup: move process_rm around
      git-svn: cleanup: put SVN workarounds into their own namespace
      git-svn: cleanup: avoid re-use()ing Git.pm in sub-packages
      git-svn: add Git::SVN module (to avoid global variables)
      git-svn: convert 'init' to use Git::SVN
      git-svn: convert multi-init over to using Git::SVN
      git-svn: make multi-init capable of reusing the Ra connection
      git-svn: add a test for show-ignore
      git-svn: convert show-ignore over to Git::SVN
      git-svn: moved the 'log' command into its own namespace
      git-svn: port the 'rebuild' command to use Git::SVN objects
      git-svn: do not let Git.pm warn if we prematurely close pipes
      git-svn: convert the 'commit-diff' command to Git::SVN
      git-svn: get rid of Memoize for now...
      git-svn: fetch/multi-fetch converted over to Git::SVN module
      git-svn: switch dcommit to using Git::SVN code
      git-svn: convert 'set-tree' command to use Git::SVN
      git-svn: remove graft-branches command
      git-svn: add support for metadata in .git/config
      git-svn: fix a regression in dcommit that caused empty log messages
      git-svn: reuse open SVN::Ra connections by URL
      git-svn: enable --minimize to simplify the config and connections
      git-svn: fix --follow-parent to work with Git::SVN
      git-svn: --follow-parent works with svn-remotes multiple branches
      git-svn: disallow ambigious local refspecs
      git-svn: allow --follow-parent on deleted directories
      git-svn: get rid of additional fetch-arguments
      git-svn: allow 'init' to work outside of tests
      git-svn: better error reporting if --follow-parent fails
      git-svn: 'init' attempts to connect to the repository root if possible
      git-svn: --follow-parent now works on sub-directories of larger branches
      git-svn: track writes writes to the index in fetch
      git-svn: add an odd test case that seems to cause segfaults over HTTP
      git-svn: avoid tracking change-less revisions
      git-svn: correctly track revisions made to deleted branches
      git-svn: fix segfaults from accessing svn_log_changed_path_t
      git-svn: fix committing to subdirectories, add tests
      git-svn: avoid an extra svn_ra connection during commits
      git-svn: simplify usage of the SVN::Git::Editor interface
      git-svn: cleanup remove unused function
      git-svn: allow multi-fetch to fetch things chronologically
      git-svn: correctly track diff-less copies with do_switch
      git-svn: correctly handle do_{switch,update} in deep directories
      git-svn: stop using path names as refnames with --follow-parent
      git-svn: cleanup: move editor-specific variables into the editor namespace
      git-svn: just use Digest::MD5 instead of requiring it
      git-svn: reinstate the default SVN error handler after using get_log
      git-svn: don't rely on do_switch + reparenting with svn(+ssh)://
      git-svn: fetch tracks initial change with --follow-parent
      git-svn: remove the 'rebuild' command and make the functionality automatic
      git-svn: fix several fetch bugs related to repeated invocations
      git-svn: reinstate --no-metadata, add --svn-remote=, variable cleanups
      git-svn: gracefully handle --follow-parent failures
      git-svn: make (multi-)fetch safer but slower
      git-svn: avoid a huge memory spike with high-numbered revisions
      git-svn: re-enable repacking flags
      git-svn: do our best to ensure that our ref and rev_db are consistent
      git-svn: avoid redundant get_log calls between invocations
      git-svn: use sys* IO functions for reading rev_db
      git-svn: don't write to the config file from --follow-parent
      git-svn: save paths to tags/branches with for future reuse
      git-svn: migrations default to [svn-remote "git-svn"]
      git-svn: get rid of revisions_eq check for --follow-parent
      git-svn: avoid extra get_log calls when refspecs are added for fetching
      git-svn: just name the default svn-remote "svn" instead of "git-svn"
      git-svn: prepare multi-init for wildcard support
      git-svn: reintroduce using a single get_log() to fetch
      git-svn: run get_log() on a sub-directory if possible
      git-svn: implement auto-discovery of branches/tags
      git-svn: --follow-parent tracks multi-parent paths
      git-svn: remove check_path calls before calling do_update
      git-svn: remove some noisy debugging messages
      git-svn: enable follow-parent functionality by default
      git-svn: fix buggy regular expression usage in several places
      git-svn: correctly handle the -q flag in SVN::Git::Fetcher
      git-svn: correctly handle globs with a right-hand-side path component
      git-svn: remove optimized commit stuff for set-tree
      git-svn: add support for SVN::Mirror/svk using revprops for metadata
      git-svn: add support for per-[svn-remote "..."] options
      git-svn: use private $GIT_DIR/svn/config file more
      git-svn: extra safety for noMetadata and useSvmProps users
      git-svn: use separate, per-repository .rev_db files
      git-svn: write the highest maxRex out for branches and tags
      git-svn: handle multi-init without --trunk, UseSvmProps fixes
      git-svn: make dcommit usable for glob users
      git-svn: include merges when calling rev-list for decommit
      git-svn: usability fixes for the 'git svn log' command
      t910*: s/repo-config/config/g; poke around possible race conditions
      git-svn: hopefully make 'fetch' more user-friendly
      git-svn: allow 'init' to act as multi-init
      git-svn: brown paper bag fixes
      git-svn: simplify the (multi-)init methods of fetching
      git-svn: allow --log-window-size to be specified, default to 100
      git-svn: remember to check for clean indices on globbed refs, too
      git-svn: error checking for invalid [svn-remote "..."] sections
      git-svn: allow dcommit for those who only fetch from SVM with useSvmProps
      git-svn: documentation updates for new functionality
      git-svn: add support for --stat in the log command
      git-svn: checkout files on new fetches
      git-svn: add a 'rebase' command
      git-svn: fix some issues for people migrating from older versions
      git-svn: hide the private git-svn 'config' file as '.metadata'
      git-svn: add 'clone' command, an alias for init + fetch
      git-svn: allow overriding of the SVN repo root in metadata
      git-svn: add support for using svnsync properties
      git-svn: fix useSvmProps, hopefully for the last time
      git-svn: add test for useSvnsyncProps
      git-svn: documentation updates
      git-svn: allow metadata options to be specified with 'init' and 'clone'
      git-svn: give show-ignore HEAD smarts, like dcommit and log
      git-svn: ensure we're at the top-level and can access $GIT_DIR
      git-svn: fix clone when a target directory has been specified
      git-svn: fix reconnections to different paths of svn:// repositories
      git-svn: fix some potential bugs with --follow-parent
      Add test-chmtime: a utility to change mtime on files
      Update tests to use test-chmtime
      git-svn: fix show-ignore when not connected to the repository root
      git-svn: add -l/--local command to "git svn rebase"

Frank Lichtenheld (3):
      cvsserver: Use Merged response instead of Update-existing for merged files
      cvsserver: Be more chatty
      cvsserver: further improve messages on commit and status

Fredrik Kuivinen (1):
      New autoconf test for iconv

J. Bruce Fields (1):
      Make git-send-email aware of Cc: lines.

Jakub Narębski (1):
      gitweb: Don't escape attributes in CGI.pm HTML methods

James Bowes (3):
      add: Support specifying an excludes file with a configuration variable
      Make gc a builtin.
      mergetool: Add support for vimdiff.

Jeff King (1):
      New fast-import test case for valid tree sorting

Jim Meyering (2):
      I like the idea of the new ':/<oneline prefix>' notation, and gave it a try, but all I could get was a segfault.  It was dereferencing a NULL commit list.  Fix below.  With it, this example now works:
      git-grep: don't use sscanf

Johannes Schindelin (42):
      Teach revision machinery about --reverse
      teach diff machinery about --ignore-space-at-eol
      name-rev: introduce the --refs=<pattern> option
      diff --check: use colour
      apply: fix memory leak in prefix_one()
      name-rev: avoid "^0" when unneeded
      rev-list --max-age, --max-count: support --boundary
      fetch & clone: do not output progress when not on a tty
      config: read system-wide defaults from /etc/gitconfig
      git grep: use pager
      Teach diff -B about colours
      apply: make --verbose a little more useful
      Teach git-diff-files the new option `--no-index`
      pretty-formats: add 'format:<string>'
      Make tests independent of global config files
      Add git-bundle: move objects and references by archive
      git-bundle: assorted fixes
      git-bundle: avoid fork() in verify_bundle()
      git-bundle: fix 'create --all'
      git-bundle: record commit summary in the prerequisite data
      Fixup no-progress for fetch & clone
      object name: introduce ':/<oneline prefix>' notation
      Fix typo: do not show name1 when name2 fails
      diff --no-index: also imitate the exit status of diff(1)
      Actually make print_wrapped_text() useful
      show_date(): rename the "relative" parameter to "mode"
      diff: make more cases implicit --no-index
      print_wrapped_text: fix output for negative indent
      Make git-revert & git-cherry-pick a builtin
      diff: support reading a file from stdin via "-"
      diff --no-index: support /dev/null as filename
      Get rid of the dependency to GNU diff in the tests
      cherry-pick: Suggest a better method to retain authorship
      format-patch: add --inline option and make --attach a true attachment
      bundle: fix wrong check of read_header()'s return value & add tests
      git-bundle: avoid packing objects which are in the prerequisites
      git-bundle: Make thin packs
      git-bundle: handle thin packs in subcommand "unbundle"
      git-bundle: die if a given ref is not included in bundle
      git-bundle: prevent overwriting existing bundles
      git-bundle: only die if pack would be empty, warn if ref is skipped
      Do not output "GEN " when generating perl.mak

Johannes Sixt (3):
      Add core.symlinks to mark filesystems that do not support symbolic links.
      Handle core.symlinks=false case in merge-recursive.
      Tell multi-parent diff about core.symlinks.

Julian Phillips (5):
      Allow fetch--tool to read from stdin
      Use stdin reflist passing in parse-remote
      Use stdin reflist passing in git-fetch.sh
      git-branch: improve abbreviation of sha1s in verbose mode
      git-branch: document new --no-abbrev option

Junio C Hamano (80):
      git-diff/git-apply: make diff output a bit friendlier to GNU patch (part 2)
      Make merge-base a built-in.
      Allow in_merge_bases() to take more than one reference commits.
      Remove git-resolve.
      Remove git-diff-stages.
      Add link to v1.5.0 documentation.
      blame: --show-stats for easier optimization work.
      git-fetch: split fetch_main into fetch_dumb and fetch_native
      git-fetch--tool: start rewriting parts of git-fetch in C.
      git-fetch: move more code into C.
      git-fetch: rewrite another shell loop in C
      git-fetch: rewrite expand_ref_wildcard in C
      Document --ignore-space-at-eol option.
      Add RelNotes 1.5.1
      Point top-level RelNotes link at 1.5.1 release notes being prepared.
      t0020: add test for auto-crlf
      remotes.not-origin.tagopt
      Teach 'git apply' to look at $GIT_DIR/config
      Teach core.autocrlf to 'git apply'
      Update draft release notes for 1.5.1
      Teach 'git apply' to look at $HOME/.gitconfig even outside of a repository
      git-apply: do not lose cwd when run from a subdirectory.
      git-apply: require -p<n> when working in a subdirectory.
      Link 1.5.0.1 documentation from the main page.
      Add prefixcmp()
      Mechanical conversion to use prefixcmp()
      prefixcmp(): fix-up mechanical conversion.
      prefixcmp(): fix-up leftover strncmp().
      t4119: add test for traditional patch and different p_value
      Fix botched "leak fix"
      git-apply: notice "diff --git" patch again
      git-apply: guess correct -p<n> value for non-git patches.
      t4119: test autocomputing -p<n> for traditional diff input.
      git-status: do not be totally useless in a read-only repository.
      update-index: do not die too early in a read-only repository.
      run_diff_{files,index}(): update calling convention.
      .mailmap maintenance after pulling from git-svn
      bundle: reword missing prerequisite error message
      git-fetch--tool takes flags before the subcommand.
      diff --cached: give more sensible error message when HEAD is yet to be created.
      Documentation: link in 1.5.0.2 material to the top documentation page.
      builtin-fetch--tool: adjust to updated sha1_object_info().
      Make 'cvs ci' lockless in git-cvsserver by using git-update-ref
      fetch--tool: fix uninitialized buffer when reading from stdin
      builtin-fetch--tool: make sure not to overstep ls-remote-result buffer.
      index_fd(): use enum object_type instead of type name string.
      index_fd(): pass optional path parameter as hint for blob conversion
      index_fd(): convert blob only if it is a regular file.
      Add recent changes to draft 1.5.1 release notes.
      git-fetch: retire update-local-ref which is not used anymore.
      builtin-fetch--tool: fix reflog notes.
      diff-ni: allow running from a subdirectory.
      diff-ni: fix the diff with standard input
      .gitignore: add git-fetch--tool
      format-patch --attach: not folding some long headers.
      Post 1.5.0.3 cleanup
      fsck: fix broken loose object check.
      unpack_sha1_file(): detect corrupt loose object files.
      fsck: exit with non-zero status upon errors
      git-bundle: fix pack generation.
      revision walker: Fix --boundary when limited
      revision traversal: retire BOUNDARY_SHOW
      git-bundle: various fixups
      revision traversal: SHOWN means shown
      git-bundle: make verify a bit more chatty.
      revision --boundary: fix stupid typo
      revision --boundary: fix uncounted case.
      Fix broken create_branch() in builtin-branch.
      prepare_packed_git(): sort packs by age and localness.
      Documentation: add git-mergetool to the command list.
      shortlog: prompt when reading from terminal by mistake
      Remove unused diffcore_std_no_resolve
      diff --quiet
      Teach --quiet to diff backends.
      revision.c: explain what tree_difference does
      try-to-simplify-commit: use diff-tree --quiet machinery.
      applymbox: brown paper bag fix.
      Update main git.html page to point at 1.5.0.5 documentation
      Fix merge-index
      GIT 1.5.1-rc1

Li Yang (1):
      gitweb: Change to use explicitly function call cgi->escapHTML()

Linus Torvalds (8):
      Lazy man's auto-CRLF
      Make AutoCRLF ternary variable.
      Re-fix get_sha1_oneline()
      Make trivial wrapper functions around delta base generation and freeing
      Implement a simple delta_base cache
      Avoid unnecessary strlen() calls
      Trivial cleanup of track_tree_refs()
      Set up for better tree diff optimizations

Martin Waitz (1):
      Support for large files on 32bit systems.

Michael Coleman (2):
      git-send-email: abort/usage on bad option
      fix various doc typos

Nicolas Pitre (12):
      sha1_file.c: cleanup hdr usage
      sha1_file.c: cleanup "offset" usage
      sha1_file.c: don't ignore an error condition in sha1_loose_object_info()
      formalize typename(), and add its reverse type_from_string()
      convert object type handling from a string to a number
      get rid of lookup_object_type()
      make sure enum object_type is signed
      local-fetch.c: some error printing cleanup
      fix t5300-pack-object.sh
      add test for OFS_DELTA objects
      clean up pack index handling a bit
      Reuse cached data out of delta base cache.

Paolo Bonzini (5):
      git-config: document --rename-section, provide --remove-section
      git-archimport: allow remapping branch names
      git-commit: add a --interactive option
      git-branch, git-checkout: autosetup for remote branch tracking
      git-fetch, git-branch: Support local --track via a special remote '.'

Pavel Roskin (1):
      git-remote: support remotes with a dot in the name

Sam Vilain (3):
      git-svn: make test for SVK mirror path import
      git-svn: don't consider SVN URL usernames significant when comparing
      git-svn: document --username

Santi Béjar (2):
      t/t5515-fetch-merge-logic.sh: Added tests for the merge login in git-fetch
      t/t5515-fetch-merge-logic.sh: Add two more tests

Sergey Vlasov (1):
      Documentation/git-svn.txt: Fix formatting errors

Shawn O. Pearce (43):
      Cleanup check_valid in commit-tree.
      cherry-pick: Bug fix 'cherry picked from' message.
      Make 'make' quieter while building git
      Make 'make' quiet by default
      Display the null SHA-1 as the base for an OBJ_OFS_DELTA.
      Fix mmap leak caused by reading bad indexes.
      Don't build external_grep if its not used
      General const correctness fixes
      Use uint32_t for all packed object counts.
      Use uint32_t for pack-objects counters.
      Use off_t when we really mean a file offset.
      Use off_t in pack-objects/fast-import when we mean an offset
      Cast 64 bit off_t to 32 bit size_t
      Preallocate memory earlier in fast-import
      Move post-update hook to after all other activity
      Don't run post-update hook unless a ref changed
      Refactor run_update_hook to be more useful
      Refactor handling of error_string in receive-pack
      Teach receive-pack to run pre-receive/post-receive hooks
      Use atomic updates to the fast-import mark file
      Allow fast-import frontends to reload the marks table
      Switch to run_command_v_opt in revert
      Remove unused run_command variants
      Start defining a more sophisticated run_command
      Split run_command into two halves (start/finish)
      Teach run_command how to setup a stdin pipe
      Refactor run_command error handling in receive-pack
      Split back out update_hook handling in receive-pack
      Change {pre,post}-receive hooks to use stdin
      Remove unnecessary casts from fast-import
      Simplify closing two fds at once in run-command.c
      Fix t5510-fetch's use of sed
      Teach run-command about stdout redirection
      Teach run-command to redirect stdout to /dev/null
      Replace fork_with_pipe in bundle with run_command
      Correct new compiler warnings in builtin-revert
      Use RUN_GIT_CMD to run push backends
      Use run_command for proxy connections
      Use run_command within merge-index
      Use run_command within receive-pack to invoke index-pack
      Use run_command within send-pack
      use xstrdup please
      Limit the size of the new delta_base_cache

Simon 'corecode' Schubert (1):
      Allow passing of an alternative CVSROOT via -d.

Theodore Ts'o (5):
      Teach git-remote to update existing remotes by fetching from them
      Add config_boolean() method to the Git perl module
      Allow git-remote to update named groups of remotes
      Add git-mergetool to run an appropriate merge conflict resolution program
      mergetool: print an appropriate warning if merge.tool is unknown

Xavier Maillard (1):
      contrib/emacs: Use non-interactive function to byte-compile files


Version v1.5.0.7; changes since v1.5.0.6:
-----------------------------------------

Gerrit Pape (2):
      Documentation/git-svnimport.txt: fix typo.
      Documentation/git-rev-parse.txt: fix example in SPECIFYING RANGES.

H. Peter Anvin (1):
      git-upload-pack: make sure we close unused pipe ends

Junio C Hamano (2):
      rerere should not repeat the earlier hunks in later ones
      GIT 1.5.0.7


Version v1.5.0.6; changes since v1.5.0.5:
-----------------------------------------

J. Bruce Fields (5):
      user-manual: run xsltproc without --nonet option
      user-manual: Use def_ instead of ref_ for glossary references.
      glossary: stop generating automatically
      glossary: clean up cross-references
      user-manual: introduce "branch" and "branch head" differently

Jakub Narębski (4):
      gitweb: Fix "next" link in commit view
      gitweb: Don't escape attributes in CGI.pm HTML methods
      gitweb: Fix not marking signoff lines in "log" view
      gitweb: Add some installation notes in gitweb/INSTALL

Jeff King (1):
      commit: fix pretty-printing of messages with "\nencoding "

Jim Meyering (1):
      user-manual.txt: fix a tiny typo.

Johannes Schindelin (1):
      t4118: be nice to non-GNU sed

Junio C Hamano (2):
      git-commit: "read-tree -m HEAD" is not the right way to read-tree quickly
      GIT 1.5.0.6

Li Yang (1):
      gitweb: Change to use explicitly function call cgi->escapHTML()

Michael S. Tsirkin (1):
      fix typo in git-am manpage

Peter Eriksen (1):
      Documentation/pack-format.txt: Clear up description of types.


Version v1.5.0.5; changes since v1.5.0.4:
-----------------------------------------

Junio C Hamano (1):
      GIT 1.5.0.5

Santi Béjar (1):
      git-merge: finish when git-read-tree fails


Version v1.5.0.4; changes since v1.5.0.3:
-----------------------------------------

Alexandre Julliard (2):
      git.el: Avoid appending a signoff line that is already present.
      git.el: Retrieve commit log information from .dotest directory.

Avi Kivity (1):
      git-send-email: Document configuration options

Brian Gernhardt (1):
      Fix diff-options references in git-diff and git-format-patch

Frank Lichtenheld (1):
      cvsserver: asciidoc formatting changes

J. Bruce Fields (7):
      glossary: fix overoptimistic automatic linking of defined terms
      user-manual: fix inconsistent example
      user-manual: fix inconsistent use of pull and merge
      user-manual: fix missing colon in git-show example
      user-manual: fix rendering of history diagrams
      user-manual: install user manual stylesheet with other web documents
      git-merge: warn when -m provided on a fast forward

Jeff King (2):
      Documentation: s/seperator/separator/
      fast-import: grow tree storage more aggressively

Johannes Schindelin (2):
      Begin SubmittingPatches with a check list
      make t8001 work on Mac OS X again

Junio C Hamano (3):
      git-commit: cd to top before showing the final stat
      git-checkout: fix "eval" used for merge labelling.
      GIT 1.5.0.4

Matthias Kestenholz (1):
      Adjust reflog filemode in shared repository

Matthias Lederhofer (1):
      setup_git_directory_gently: fix off-by-one error

Shawn O. Pearce (13):
      git-gui: Relocate the menu/transport menu code.
      git-gui: Add Reset to the Branch menu.
      git-gui: Don't create empty (same tree as parent) commits.
      git-gui: Remove unnecessary /dev/null redirection.
      fast-import: Avoid infinite loop after reset
      fast-import: Fail if a non-existant commit is used for merge
      git-gui: Make 'make' quieter by default
      Catch write_ref_sha1 failure in receive-pack
      git-gui: Allow committing empty merges
      git-gui: Revert "Don't modify CREDITS-FILE if it hasn't changed." This reverts commit 92446aba47b0e0db28f7b858ea387efcca30ab44.
      git-gui: Revert "git-gui: Display all authors of git-gui." This reverts commit 871f4c97ad7e021d1a0a98c80c5da77fcf70e4af.
      git-gui: Allow 'git gui version' outside of a repository
      Don't package the git-gui credits file anymore

Theodore Ts'o (1):
      Add definition of <commit-ish> to the main git man page.

Yann Dirson (1):
      Clarify doc for git-config --unset-all.


Version v1.5.0.3; changes since v1.5.0.2:
-----------------------------------------

Alexandre Julliard (1):
      git.el: Set the default commit coding system from the repository config.

Aneesh Kumar K.V (1):
      blameview: Fix the browse behavior in blameview

Christian Schlotter (1):
      Documentation: Correct minor typo in git-add documentation.

Eygene Ryabinkin (2):
      http-push.c::lock_remote(): validate all remote refs.
      Another memory overrun in http-push.c

Gerrit Pape (2):
      git-cvsexportcommit: don't cleanup .msg if not yet committed to cvs.
      Fix quoting in update hook template

J. Bruce Fields (6):
      Documentation: mention module option to git-cvsimport
      user-manual: reset to ORIG_HEAD not HEAD to undo merge
      user-manual: ensure generated manual references stylesheet
      user-manual: insert earlier of mention content-addressable architecture
      user-manual: how to replace commits older than most recent
      user-manual: more detailed merge discussion

Jim Meyering (1):
      diff --cc: integer overflow given a 2GB-or-larger file

Johannes Schindelin (3):
      fetch.o depends on the headers, too.
      builtin-archive: use RUN_SETUP
      Document the config variable format.suffix

Junio C Hamano (5):
      git-apply: do not fix whitespaces on context lines.
      Documentation: git-remote add [-t <branch>] [-m <branch>] [-f] name url
      Start preparing Release Notes for 1.5.0.3
      git-merge: fail correctly when we cannot fast forward.
      GIT 1.5.0.3

Linus Torvalds (2):
      mailinfo: do not get confused with logical lines that are too long.
      git-show: Reject native ref

Matthias Kestenholz (1):
      Fix git-gc usage note

Michael Coleman (2):
      Fix minor typos/grammar in user-manual.txt
      builtin-fmt-merge-msg: fix bugs in --file option

Michael Poole (1):
      Correct ordering in git-cvsimport's option documentation

Paolo Bonzini (1):
      git-archimport: support empty summaries, put summary on a single line.

Ramsay Jones (5):
      Fix a "label defined but unreferenced" warning.
      Fix an "implicit function definition" warning.
      Fix some "comparison is always true/false" warnings.
      Fix a "pointer type missmatch" warning.
      Unset NO_C99_FORMAT on Cygwin.

Sergey Vlasov (3):
      Documentation/build-docdep.perl: Fix dependencies for included asciidoc files
      Documentation/git-quiltimport.txt: Fix labeled list formatting
      Documentation/git-send-email.txt: Fix labeled list formatting

Shawn O. Pearce (1):
      index-pack: Loop over pread until data loading is complete.

Theodore Ts'o (1):
      Fix git-show man page formatting in the EXAMPLES section

Uwe Kleine-König (1):
      Include config.mak in doc/Makefile

Yasushi SHOJI (1):
      glossary: Add definitions for dangling and unreachable objects


Version v1.5.0.2; changes since v1.5.0.1:
-----------------------------------------

Christian Schlotter (1):
      git-clone: Sync documentation to usage note.

Dmitry V. Levin (1):
      git-show-ref --verify: Fail if called without a reference

Fredrik Kuivinen (1):
      Fix 'git commit -a' in a newly initialized repository

Jason Riedy (3):
      Add a compat/strtoumax.c for Solaris 8.
      Obey NO_C99_FORMAT in fast-import.c.
      Check for PRIuMAX rather than NO_C99_FORMAT in fast-import.c.

Johannes Schindelin (1):
      git-diff: fix combined diff

Junio C Hamano (11):
      Reword git-am 3-way fallback failure message.
      diff-patch: Avoid emitting double-slashes in textual patch.
      Don't modify CREDITS-FILE if it hasn't changed.
      rerere: do not skip two conflicted paths next to each other.
      rerere: do not deal with symlinks.
      Add Release Notes to prepare for 1.5.0.2
      merge-index: fix longstanding bug in merging symlinks
      merge-recursive: fix longstanding bug in merging symlinks
      diff --cc: fix display of symlink conflicts during a merge.
      Documentation: describe "-f/-t/-m" options to "git-remote add"
      GIT 1.5.0.2

Martin Koegler (1):
      git-gui: Create new branches from a tag.

Michael Loeffler (1):
      Use gunzip -c over gzcat in import-tars example.

Pavel Roskin (1):
      git-remote: support remotes with a dot in the name

Robin Rosenberg (1):
      Limit filename for format-patch

Roland Dreier (1):
      Allow arbitrary number of arguments to git-pack-objects

Santi Béjar (1):
      core.legacyheaders: Use the description used in RelNotes-1.5.0

Shawn O. Pearce (16):
      git-gui: Refactor 'exec git subcmd' idiom.
      git-gui: Basic version check to ensure git 1.5.0 or later is used.
      git-gui: Permit merging tags into the current branch.
      git-gui: More consistently display the application name.
      git-gui: Print version on the console.
      git-gui: Prefer version file over git-describe.
      git-gui: Expose the browser as a subcommand.
      git-gui: Correct crash when saving options in blame mode.
      git-gui: Use mixed path for docs on Cygwin.
      git-gui: Display all authors of git-gui.
      git-gui: Change summary of git-gui.
      git-gui: Include browser in our usage message.
      git-gui: Remove TODO list.
      git-gui: Don't crash in citool mode on initial commit.
      Document the new core.bare configuration option.
      Include git-gui credits file in dist.


Version v1.5.0.1; changes since v1.5.0:
---------------------------------------

Alexandre Julliard (2):
      git-daemon: Avoid leaking the listening sockets into child processes.
      sha1_file.c: Round the mmap offset to half the window size.

Fredrik Kuivinen (2):
      Read the config in rev-list
      Documentation/i18n.txt: it is i18n.commitencoding not core.commitencoding

Junio C Hamano (15):
      Documentation: Drop full-stop from git-fast-import title.
      cmd-list: add git-remote
      Makefile: update check-docs target
      Clarify two backward incompatible repository options.
      Still updating 1.5.0 release notes.
      Add RelNotes 1.5.0.1
      Make sure packedgitwindowsize is multiple of (pagesize * 2)
      Make gitk work reasonably well on Cygwin.
      gitk: Use show-ref instead of ls-remote
      GIT-VERSION-FILE: check ./version first.
      pretend-sha1: grave bugfix.
      git-merge: minor fix for no_trivial_merge_strategies.
      Do not take mode bits from index after type change.
      Update draft release notes for 1.5.0.1
      GIT 1.5.0.1

Mark Levedahl (3):
      gitk - remove trailing whitespace from a few lines.
      Make gitk save and restore the user set window position.
      Make gitk save and restore window pane position on Linux and Cygwin.

Nicolas Pitre (1):
      Minor corrections to release notes

Paul Mackerras (1):
      Change git repo-config to git config

Shawn O. Pearce (2):
      Attempt to improve git-rebase lead-in description.
      Convert update-index references in docs to add.

Tommi Kyntola (1):
      git-blame: prevent argument parsing segfault


Version v1.5.0; changes since v1.5.0-rc4:
-----------------------------------------

Alexandre Julliard (3):
      diff.c: Reuse the pprint_rename function for diff --summary output.
      diff.c: Properly quote file names in diff --summary output.
      diff.c: More logical file name quoting for renames in diffstat.

Andy Parkins (2):
      git-gui: fix typo in GIT-VERSION-GEN, "/dev/null" not "/devnull"
      Fix potential command line overflow in hooks--update

Aneesh Kumar K.V (1):
      blameview: Move the commit info to a pane below the blame window.

David Kågedal (5):
      Handle uncommitted changes and cache descriptions
      git-blame.el: improve color handling
      git-blame.el: blame unsaved changes
      git-blame.el: Doc fixes and cleanup
      git-blame.el: Autoupdate while editing

Dotan Barak (1):
      Make it easier to override path to asciidoc command

Eric Wong (1):
      git-svn: correctly handle boolean options via git-config

Jakub Narębski (2):
      git-blame: Add Emacs Lisp file headers and GNU GPL boilerplate
      git-blame: Change installation instructions

James Bowes (1):
      Read cvsimport options from repo-config

Johannes Schindelin (5):
      for_each_reflog_ent: be forgiving about missing message
      log --reflog: honour --relative-date
      format-patch -n: make sorting easier by padding number
      log --reflog: use dwim_log
      git-gc: run pack-refs by default unless the repo is bare

Junio C Hamano (17):
      create_symref(): create leading directories as needed.
      reflog: handle $name => remotes/%s/HEAD mapping consistently for logs
      Documentation/git-pull: describe default behaviour and config interactions
      git-fetch: document automatic tag following.
      wt_status_prepare(): clean up structure initialization.
      diff_flush_name(): take struct diff_options parameter.
      t4016: test quoting funny pathnames in diff output
      Documentation: git-rebase -C<n>
      Teach git-am to pass -p option down to git-apply
      Add discussion section to git-tag documentation.
      Add RPM target for git-gui
      Do not forget to pack objects reachable from HEAD reflog.
      for-each-reflog: not having $GIT_DIR/logs directory is not an error.
      "git-fetch --tags $URL" should not overwrite existing tags
      Documentation: Moving out of detached HEAD does not warn anymore.
      Add release notes to the distribution.
      GIT 1.5.0

Linus Torvalds (2):
      git reflog show
      Mark places that need blob munging later for CRLF conversion.

Mark Levedahl (2):
      Make gitk save and restore the user set window position.
      Make gitk save and restore window pane position on Linux and Cygwin.

Matthias Lederhofer (1):
      git merge documentation: -m is optional

Michael Loeffler (1):
      import-tars: brown paper bag fix for file mode.

Michael S. Tsirkin (3):
      Update git-log and git-show documentation
      add -C[NUM] to git-am
      Document that git-am can read standard input.

Michael Spang (1):
      Work around Subversion race in git-svn tests.

Mukund (1):
      Fixed some typos in git-repack docs

Nicolas Pitre (2):
      remove mailmap.linux
      Update RPM core package description

Pavel Roskin (1):
      Clarify that git-update-server-info should be run for every git-push

René Scharfe (1):
      Avoid ugly linewrap in git help

Shawn O. Pearce (313):
      git-gui: Initial revision.
      git-gui: Additional early feature development.
      git-gui: Fixed UI layout problems on Windows.
      git-gui: Corrected keyboard bindings on Windows, improved state management.
      git-gui: Verify we should actually perform a commit when asked to do so.
      git-gui: Finished commit implementation.
      git-gui: Implemented amended commits.
      git-gui: Misc. nit type of bug fixes.
      git-gui: Started construction of fetch and push operations.
      git-gui: Worked around environment variable problems on Windows.
      git-gui: Reorganized startup procedure to ensure gitdir is right.
      git-gui: Fix menu item accelerator display on Mac OS X.
      git-gui: Correctly handle CR vs. LF within the console of fetch.
      git-gui: Check for fetch or push command failure and denote it.
      git-gui: Don't complain if no .git/remotes exist.
      git-gui: Added current TODO list.
      git-gui: Last minute idea about fetch shortcuts.
      git-gui: Automatically reopen any console closed by the user.
      git-gui: Cache all repo-config data in an array.
      git-gui: Added support for pulling from default branch of a remote.
      git-gui: Updated TODO list now that pull is starting to work.
      git-gui: Corrected diff-index/diff-files protocol parsing errors.
      git-gui: Performance improvements for large file sets.
      git-gui: More performance improvements to rescan logic.
      git-gui: Flip commit message buffer and diff area.
      git-gui: Added repack database menu option, to invoke git repack.
      git-gui: Allow the user to disable update-index --refresh during rescan.
      git-gui: Grab the index lock while running pull.
      git-gui: Pluralize timestamps within the options menu.
      git-gui: Disable pull menu items when the index is locked.
      git-gui: Don't let the user pull into an uncommitted working directory.
      git-gui: Update TODO list.
      git-gui: Bug fix for bad variable reference in display_file.
      git-gui: Changed term 'check-in' to 'include'.
      git-gui: Show only the abbreviated SHA1 after committing.
      git-gui: Cache the GIT_COMMITTER_IDENT value on first sign-off.
      git-gui: Save window geometry to .git/config during exit.
      git-gui: Change accelerator for "Include All" to M1-I.
      git-gui: Created edit menu and basic editing bindings.
      git-gui: Clear undo/redo stack when loading a message file from disk.
      git-gui: Updated TODO list now that geometry is stored.
      git-gui: Always indicate the file in the diff viewer.
      git-gui: Correctly handle files containing LF in their name.
      git-gui: Efficiently update the UI after committing.
      git-gui: Use catch rather than array names to check file.
      git-gui: Rename difffont/mainfont variables.
      git-gui: Use native tk_messageBox for errors.
      git-gui: Cleaned up error message formatting.
      git-gui: Simplified format of geometry configuration.
      git-gui: Misc. formatting cleanups.
      git-gui: Misc. bug fixes for mouse click crashes.
      git-gui: Added context menus for consoles and commit message buffer.
      git-gui: Fix mouse cursor behavior when in widgets.
      git-gui: Teach sign off to be more intelligent.
      git-gui: Corrected font used for options menu items.
      git-gui: Honor system font and let user configure fonts.
      git-gui: Allow the user to change the diff viewer font size.
      git-gui: Refresh a file if it has an empty diff.
      git-gui: Make use of the Tk font system rather than faking it.
      git-gui: Improve right click context menu binding on all platforms.
      git-gui: Rename quitting global to is_quitting.
      git-gui: Use arrow cursor rather than left_ptr.
      git-gui: Refactor options menu into an options dialog.
      git-gui: Allow the user to manipulate the fonts from the options panel.
      git-gui: Supply progress feedback when running update-index.
      git-gui: Minor options dialog UI cleanups.
      git-gui: Added Options... menu item to end of diff context menu.
      git-gui: Use 'after 1' to post UI rather than tkwait.
      git-gui: Correct bugs in font config handling.
      git-gui: Hide non-commit related commands when invoked as git-citool.
      git-gui: Don't load the global options unless necessary.
      git-gui: Allow the user to disable diff stat summary during pull.
      git-gui: Run the pre-commit hook in the background.
      git-gui: Remove the commit_active global variable.
      git-gui: Added post-commit invocation after the commit is done.
      git-gui: Always use eq/ne for string comparsions.
      git-gui: Reshow diff if we sent the file to update-index.
      git-gui: Cleanup diff construction code to prepare for more options.
      git-gui: Allow the user to control the number of context lines in a diff.
      git-gui: Sort the list of paths being updated in the index.
      git-gui: Use a smaller pipe buffer for update-index.
      git-gui: Allow the user to copy name of the file in the diff viewer.
      git-gui: Correct language for M_/A_ status codes.
      git-gui: Display status on left in diff header.
      git-gui: Minor UI layout improvements for console windows.
      git-gui: Reverted file name text field to a label.
      git-gui: By default don't allow partially included files.
      git-gui: Refactor mouse clicking on file names/icons.
      git-gui: Narrow the no differences information message.
      git-gui: Implemented multiple selection in file lists.
      git-gui: Refactor update_status -> rescan.
      git-gui: Provide an after-rescan script to rescan.
      git-gui: Allow update_index to also run a script when it completes.
      git-gui: Automatically update-index all included files before commit.
      git-gui: Disable diff actions when no diff is active.
      git-gui: Created makefile to install the program.
      git-gui: Correctly handle GIT_DIR environment variable.
      git-gui: Create Windows shortcut icons for git-gui.
      git-gui: Protect ourselves from funny GIT_DIR/working directory setups.
      git-gui: Handle ' within paths when creating Windows shortcuts.
      git-gui: Only populate a fetch or push if we have an action.
      git-gui: Create a .app file on MacOS X if requested.
      git-gui: Display error dialog on Mac OS X when no .git found.
      git-gui: Make initial commits work properly.
      git-gui: Only reshow diff when really necessary.
      git-gui: Refactor file state representations.
      git-gui: Add menu option to include only selected files.
      git-gui: Misc. comment formatting cleanups.
      git-gui: Start UI with the index locked.
      git-gui: Remove completed items from TODO list.
      git-gui: Toggle between new commit and amend commit modes.
      git-gui: Verify the user has GIT_COMMITTER_IDENT before comitting.
      git-gui: Rephrase rescan before commit informational message.
      git-gui: Allow adding untracked files in selection.
      git-gui: Don't create PkgInfo on Mac OS X "desktop icons".
      git-gui: Teach the gui how to uninclude a file.
      git-gui: Make consecutive icon clicks toggle included status of a file.
      git-gui: Correct toggling of deleted file status.
      git-gui: Fix list loading corruption introduced by 1461c5f3.
      git-gui: Describe deleted symlinks in a more friendly way.
      git-gui: Correct toggling of added/untracked status for new files.
      git-gui: Updated TODO list now that a task is complete.
      git-gui: Refactored diff line display formatting logic.
      git-gui: Restore the all important shebang line.
      git-gui: Update in memory states after commit.
      git-gui: Correct some state matchings for include/remove.
      git-gui: Improve handling of merge commits.
      git-gui: Allow users to run fsck-objects from the gui.
      git-gui: Don't save amended commit message buffer.
      git-gui: Reworded verify console title.
      git-gui: Seperate out the database operations in project menu.
      git-gui: Rename Project menu to Repository.
      git-gui: Added about dialog box.
      git-gui: Be more Macintosh like.
      git-gui: Make the copyright notice serve double duty.
      git-gui: Include the Tcl/Tk version in the about dialog.
      git-gui: Abstract out windows platform test to is_Windows proc.
      git-gui: Correct is_MacOSX platform test.
      git-gui: Warn Cygwin users about possible environment issues.
      git-gui: Added configuration editor TODO list.
      git-gui: Refactor M1 binding selection.
      git-gui: Added menu command to visualize all branches.
      git-gui: Don't start 'gitk --all' on Mac OS X.
      git-gui: Improve pull error dialogs.
      git-gui: Added revert changes command.
      git-gui: Display the current branch.
      git-gui: Support file state MD (modified/deleted).
      git-gui: Created Branch menu.
      git-gui: Parse off refs/remotes when showing current branch.
      git-gui: Abort on not implemented branch switching.
      git-gui: Automatically skip tracking branches in branch menu.
      git-gui: Rename all_branches -> all_heads.
      git-gui: Misc. comment and formatting cleanups.
      git-gui: Started implementation of switch_branch.
      git-gui: Set a proper title on our revert confirm dialog box.
      git-gui: Updated todo list.
      git-gui: Enable resolution of merge conflicts.
      git-gui: Auto-update any A? or M? files during rescan.
      git-gui: Reworded 'Include' to 'Add' to match core Git.
      git-gui: Created very crude Tools menu, to support miga.
      git-gui: Show all fetched branches for remote pulls.
      git-gui: Run git-gc rather than git-repack.
      git-gui: Corrected behavior of deleted (but existing in HEAD) files.
      git-gui: Correct wording of the revert confirmation dialog.
      git-gui: Work around odd cygpath bug on Windows.
      git-gui: Change more 'include' language to 'add'.
      git-gui: Hide the ugly bash command line from the windows desktop icon.
      git-gui: Modified makefile to embed version into git-gui script.
      git-gui: Display the git-gui version in the Help->About dialog.
      git-gui: Display the full GPL copyright notice in about dialog.
      git-gui: Ensure version number is always current.
      git-gui: Allow the user to copy the version data to the clipboard.
      git-gui: Don't offer my miga hack if its configuration file isn't present.
      git-gui: Suggest when running 'git gc' may be worthwhile.
      git-gui: Refactor reponame computation.
      git-gui: Cleanup usage of gitdir global variable.
      git-gui: Allow [gitdir ...] to act as [file join [gitdir] ...].
      git-gui: Make the gitk starting message match our usual format.
      git-gui: Display the directory we are entering during startup.
      git-gui: Start file status display refactoring.
      git-gui: Convert UI to use 'staged for commit' interface.
      git-gui: Correct DD file state to be only D_.
      git-gui: Remove invalid DM state.
      git-gui: Cleanup state descriptions.
      git-gui: Refactor add/remove proc names to align with reality.
      git-gui: Add or unstage based on the specific icon used.
      git-gui: Refactor the revert (aka checkout-index) implementation.
      git-gui: Refactor the add to commit state filters.
      git-gui: Simplify printing of index info to update-index.
      git-gui: Only permit selection in one list at a time.
      git-gui: Pad the cancel/save buttons in the options window.
      git-gui: Implemented create branch GUI.
      git-gui: Bind M1-N to create branch.
      git-gui: Implemented local branch deletion.
      git-gui: Allow users to delete branches merged upstream.
      git-gui: Allow creating branches from tracking heads.
      git-gui: Use borders on text fields in branch dialog.
      git-gui: Remove 'Allow Partially Added Files' option.
      git-gui: Move commit_prehook into commit_tree.
      git-gui: Improve the branch delete confirmation dialogs.
      git-gui: Don't delete the test target branch.
      git-gui: Attempt to checkout the new branch after creation.
      git-gui: Refactor current_diff -> current_diff_path.
      git-gui: Remove combined diff showing behavior.
      git-gui: Improve the display of merge conflicts.
      git-gui: Improve diff --cc viewing for unmerged files.
      git-gui: Fix bug in unmerged file display.
      git-gui: Clear diff from viewer if the side changed.
      git-gui: Correct disappearing unstaged files.
      git-gui: Add Refresh to diff viewer context menu.
      git-gui: Correct unmerged file detection at commit time.
      git-gui: Pad new branch name input box.
      git-gui: Use a grid layout for branch dialog.
      git-gui: Improve the merge check interface for branch deletion.
      git-gui: Change rude error popup to info popup.
      git-gui: Correctly ignore '* Unmerged path' during diff.
      git-gui: Make diff viewer colors match gitk's defaults.
      git-gui: Never line wrap in file lists.
      git-gui: Don't offer tracking branches if none exist.
      git-gui: Give a better error message on an empty branch name.
      git-gui: Allow user to specify a branch name pattern.
      git-gui: Improve keyboard traversal in dialogs.
      git-gui: Fully select a field when entering into it.
      git-gui: Automatically toggle the relevant radio buttons.
      git-gui: Correctly categorize tracking branches and heads.
      git-gui: Update todo list with finished and new items.
      git-gui: Slightly tweak new window geometry.
      git-gui: Create missing branch head on initial commit.
      git-gui: Don't format the mode line of a diff.
      git-gui: Force an update-index --refresh on unchanged files.
      git-gui: Don't attempt to tag new file/deleted file headers in diffs.
      git-gui: Fix 'Select All' action on Windows.
      git-gui: Ignore 'No newline at end of file' marker line.
      git-gui: Always start a rescan on an empty diff.
      git-gui: Don't show content of untracked binary files.
      git-gui: Limit display of large untracked files.
      git-gui: When possible show the type of an untracked file.
      git-gui: Don't try to tag the 'Binary files * and * differ' line.
      git-gui: Remove spurious newline in untracked file display.
      git-gui: Honor system encoding for filenames.
      git-gui: Handle commit encoding better.
      git-gui: Display database stats (count-objects -v) on demand.
      git-gui: Implement basic branch switching through read-tree.
      git-gui: Use system default labelframe bordering.
      git-gui: Display the size of the pack directory.
      git-gui: Only allow Refresh in diff context menu when we have a diff.
      git-gui: Allow staging/unstaging individual diff hunks.
      git-gui: Elide CRs appearing in diff output from display.
      git-gui: Cleanup end-of-line whitespace in commit messages.
      git-gui: Unset unnecessary UI setup variable.
      git-gui: Force focus to the diff viewer on mouse click.
      git-gui: Support 'Visualize All Branches' on Mac OS X.
      git-gui: Pad the database statistics dialog window.
      git-gui: Prefer Tk's entry widget over a 1 line text field.
      git-gui: Remove Pull menu and cleanup Branch/Fetch/Push menus.
      git-gui: Don't switch branches if changing to the current branch.
      git-gui: Maintain the same file list for diff during refresh.
      git-gui: Always use lsearch -exact, to prevent globbing.
      git-gui: Added arbitrary branch pushing support.
      git-gui: Remove no longer used pull from remote code.
      git-gui: Always use -v option to push.
      git-gui: Refactor console success/failure handling.
      git-gui: Use builtin version of 'git gc'.
      git-gui: Implement local merge operations.
      git-gui: Let users abort with `reset --hard` type logic.
      git-gui: Update status bar during a merge.
      git-gui: Don't allow users to commit a bad octopus merge.
      git-gui: Don't allow merges in the middle of other things.
      git-gui: Always offer scrollbars for branch lists.
      git-gui: Support merge.summary, merge.verbosity.
      git-gui: Reword meaning of merge.summary.
      git-gui: Offer quick access to the HTML formatted documentation.
      git-gui: Test for Cygwin differently than from Windows.
      git-gui: Implemented file browser and incremental blame.
      git-gui: Improve the icons used in the browser display.
      git-gui: Display the current branch name in browsers.
      git-gui: Allow users to edit user.name, user.email from options.
      git-gui: Use -M and -C when running blame.
      git-gui: Correctly handle spaces in filepaths.
      git-gui: Display original filename and line number in blame.
      git-gui: Install column headers in blame viewer.
      git-gui: Use a grid layout for the blame viewer.
      git-gui: Assign background colors to each blame hunk.
      Correct ^0 asciidoc syntax in fast-import docs.
      Correct some language in fast-import documentation.
      Correct spelling of fast-import in docs.
      tar archive frontend for fast-import.
      git-gui: Update known branches during rescan.
      git-gui: Support keyboard traversal in browser.
      git-gui: Replace \ with \\ when showing paths.
      git-gui: Refactor single_commit to a proc.
      git-gui: Separate transport/branch menus from multicommit.
      git-gui: Optionally save commit buffer on exit.
      git-gui: View blame from the command line.
      git-gui: Select subcommands like git does.
      git-gui: Relabel the Add All action.
      git-gui: Use git-config now over git-repo-config.
      git-gui: Redesign the display of annotated files.
      git-gui: Jump to the first annotation block as soon as its available.
      git-gui: Improve annotated file display.
      git-gui: Focus into blame panels on Mac OS.
      git-gui: Stop deleting gitk preferences.
      fast-import: Hide the pack boundary commits by default.
      fast-import: Add tip about importing renames.
      bash: Hide git-fast-import.
      fast-import: Support reusing 'from' and brown paper bag fix reset.
      git-gui: Allow gitexecdir, INSTALL to be set by the caller.
      git-gui: Rename GIT_VERSION to GITGUI_VERSION.
      git-gui: Generate a version file on demand.
      git-gui: Handle gitgui tags in version gen.
      git-gui: Guess our version accurately as a subproject.
      git-gui: Change base version to 0.6.
      Link git-gui into the master Makefile.

Theodore Ts'o (2):
      Print a sane error message if an alias expands to an invalid git command
      Allow aliases to expand to shell commands


Version v1.5.0-rc4; changes since v1.5.0-rc3:
---------------------------------------------

Alex Riesen (1):
      Avoid ActiveState Perl IO in t800[12]

Andy Parkins (2):
      doc: hooks.txt said post-commit default sends an email, it doesn't
      git-for-each-ref doesn't return "the bit after $GIT_DIR/refs"

Aneesh Kumar K.V (1):
      blameview: Support browsable functionality to blameview.

David Kågedal (1):
      git-blame: an Emacs minor mode to view file with git-blame output.

Eric Wong (2):
      git-svn: do not let Git.pm warn if we prematurely close pipes
      Disallow invalid --pretty= abbreviations

Gerrit Pape (1):
      git-archimport: initial import needs empty directory

Horst H. von Brand (1):
      Call make always with CFLAGS in git.spec

Johannes Schindelin (4):
      Teach the '@{...}' notation to git-log -g
      Update the documentation for the new '@{...}' syntax
      Commands requiring a work tree must not run in GIT_DIR
      fast-import: Fix compile warnings

Junio C Hamano (36):
      create_symref(): do not assume pathname from git_path() persists long enough
      detached HEAD -- finishing touches
      Use "git checkout -q" in git-bisect
      Tutorial: fix asciidoc formatting of "git add" section.
      Tutorial-2: Adjust git-status output to recent reality.
      core-tutorial: http reference link fix
      fix reflog entries for "git-branch"
      honor GIT_REFLOG_ACTION in git-commit
      Why is it bad to rewind a branch that has already been pushed out?
      combine-diff: special case --unified=0
      show-branch -g: default to the current branch.
      git-clone --reference: saner handling of borrowed symrefs.
      Revert "Allow branch.*.merge to talk about remote tracking branches."
      Rename get_ident() to fmt_ident() and make it available to outside
      t9200: Work around HFS+ issues.
      bisect: it needs to be done in a working tree.
      git-blame: no rev means start from the working tree file.
      Add pretend_sha1_file() interface.
      Use pretend_sha1_file() in git-blame and git-merge-recursive.
      blame: document --contents option
      Teach git-remote add to fetch and track
      Fix longstanding mismerge of ALL_CFLAGS vs BASIC_CFLAGS
      gitk: Use show-ref instead of ls-remote
      git-push: allow globbing wildcard refspec.
      gitweb: fix mismatched parenthesis
      annotate: fix for cvsserver.
      S_IFLNK != 0140000
      Remove contrib/colordiff
      Add deprecation notices.
      Remove git-merge-recur
      git-clone --reference: work well with pack-ref'ed reference repository
      for-each-reflog: fix case for empty log directory
      t4200: skip gc-rerere test on systems with non GNU date.
      git-add -i: update removed path correctly.
      Documentation: Add gfi to the main command list.
      GIT v1.5.0-rc4

Linus Torvalds (2):
      pager: Work around window resizing bug in 'less'
      Fix "git log -z" behaviour

Mark Levedahl (2):
      gitk - remove trailing whitespace from a few lines.
      Make gitk work reasonably well on Cygwin.

Michael Coleman (1):
      Fix some documentation typos and grammar

Michele Ballabio (1):
      Documentation: add KMail in SubmittingPatches

Nicolas Pitre (14):
      make reflog filename independent from struct ref_lock
      lock_ref_sha1_basic(): remember the original name of a ref when resolving it
      enable separate reflog for HEAD
      add reflog entries for HEAD when detached
      move create_symref() past log_ref_write()
      add logref support to git-symbolic-ref
      add reflog when moving HEAD to a new branch
      reword the detached head message a little again
      add a quiet option to git-checkout
      prevent HEAD reflog to be interpreted as current branch reflog
      provide a nice @{...} syntax to always mean the current branch reflog
      scan reflogs independently from refs
      Enable HEAD@{...} and make it independent from the current branch
      Let git-checkout always drop any detached head

Pavel Roskin (2):
      git-config --rename-section could rename wrong section
      Assorted typo fixes

Robin Rosenberg (1):
      Why is it bad to rewind a branch that has already been pushed out?

Shawn O. Pearce (113):
      Created fast-import, a tool to quickly generating a pack from blobs.
      Added automatic index generation to fast-import.
      Cleaned up memory allocation for object_entry structs.
      Refactored fast-import's internals for future additions.
      Added basic command handler to fast-import.
      Implemented branch handling and basic tree support in fast-import.
      Added tree and commit writing to fast-import.
      Implement blob ID validation in fast-import.
      Converted fast-import to a text based protocol.
      Changed fast-import's pack header creation to use pack.h
      Allow symlink blobs in trees during fast-import.
      Fixed segfault in fast-import after growing a tree.
      Converted fast-import to accept standard command line parameters.
      Added mark store/find to fast-import.
      Added branch load counter to fast-import.
      Implemented 'tag' command in fast-import.
      Implemented tree reloading in fast-import.
      Round out memory pool allocations in fast-import to pointer sizes.
      Remove branch creation command from fast-import.
      Moved from command to after data to help cvs2svn.
      Account for tree entry memory costs in fast-import.
      Added option to export the marks table when fast-import terminates.
      Added --branch-log to option to fast-import.
      Fixed GPF in fast-import caused by unterminated linked list.
      Fixed compile error in fast-import.
      Map only part of the generated pack file at any point in time.
      Added 'reset' command to clear a branch's tree.
      Don't crash fast-import if no branch log was requested.
      Converted hash memcpy/memcmp to new hashcpy/hashcmp/hashclr.
      Implemented tree delta compression in fast-import.
      Recycle data buffers for tree generation in fast-import.
      Reuse the same buffer for all commits/tags in fast-import.
      Replace ywrite in fast-import with the standard write_or_die.
      Correct tree corruption problems in fast-import.
      Additional fast-import tree delta corruption cleanups.
      Fix repository corruption when using marks for modified blobs.
      Support creation of merge commits in fast-import.
      Allow creating branches without committing in fast-import.
      Improve reuse of sha1_file library within fast-import.
      Misc. type cleanups within fast-import.
      Restructure fast-import to support creating multiple packfiles.
      Remove unnecessary duplicate_count in fast-import.
      Implemented manual packfile switching in fast-import.
      Don't create a final empty packfile in fast-import.
      Optimize index creation on large object sets in fast-import.
      Implemented automatic checkpoints within fast-import.
      Print the packfile names to stdout from fast-import.
      Corrected buffer overflow during automatic checkpoint in fast-import.
      Use uintmax_t for marks in fast-import.
      Replace redundant yread() with read_in_full() in fast-import.
      Reuse sha1 in packed_git in fast-import.
      Use .keep files in fast-import during processing.
      Ensure we close the packfile after creating it in fast-import.
      Remove unnecessary pack_fd global in fast-import.
      Correct max_packsize default in fast-import.
      Correct object_count type and stat output in fast-import.
      Print out the edge commits for each packfile in fast-import.
      Corrected BNF input documentation for fast-import.
      Correct a few types to be unsigned in fast-import.
      Declare no-arg functions as (void) in fast-import.
      Correct packfile edge output in fast-import.
      Always use struct pack_header for pack header in fast-import.
      Use fixed-size integers when writing out the index in fast-import.
      Remove unnecessary options from fast-import.
      Support delimited data regions in fast-import.
      Create test case for fast-import.
      Reduce value duplication in t9300-fast-import.
      Accept 'inline' file data in fast-import commit structure.
      Pull out remote listing functions in git-remote.
      Teach 'git remote' how to cleanup stale tracking branches.
      Cleanup prepare_packed_git_one to reuse install_packed_git.
      Correct comment in prepare_packed_git_one.
      Refactor open_packed_git to return an error code.
      Don't find objects in packs which aren't available anymore.
      Don't leak file descriptors from unavailable pack files.
      Cleanup subcommand documentation for git-remote.
      Keep untracked files not involved in a merge.
      Default GIT_MERGE_VERBOSITY to 5 during tests.
      bash: Remove short option completions for branch/checkout/diff.
      bash: Classify cat-file and reflog as plumbing.
      bash: Complete long options to git-add.
      bash: Add space after unique command name is completed.
      bash: Classify more commends out of completion.
      bash: Support unique completion on git-config.
      bash: Support unique completion when possible.
      bash: Support internal revlist options better.
      Include checkpoint command in the BNF.
      Reduce memory usage of fast-import.
      Show an example of deleting commits with git-rebase.
      bash: Support completion on git-cherry.
      bash: Hide diff-stages from completion.
      bash: Offer --prune completion for git-gc.
      bash: Hide git-resolve, its deprecated.
      bash: Support --add completion to git-config.
      bash: Support git-bisect and its subcommands.
      Don't support shell-quoted refnames in fast-import.
      Initial draft of fast-import documentation.
      bash: Support git-rebase -m continuation completion.
      bash: Complete git-remote subcommands.
      Remove --branch-log from fast-import.
      Correct compiler warnings in fast-import.
      Correct minor style issue in fast-import.
      Correct fast-import timezone documentation.
      Remove unnecessary null pointer checks in fast-import.
      Minor fast-import documentation corrections.
      Support RFC 2822 date parsing in fast-import.
      Don't do non-fastforward updates in fast-import.
      Minor timestamp related documentation corrections for fast-import.
      Teach fast-import how to clear the internal branch content.
      Teach fast-import how to sit quietly in the corner.
      Dump all refs and marks during a checkpoint in fast-import.
      Don't crash fast-import if the marks cannot be exported.
      Add a Tips and Tricks section to fast-import's manual.

Simon 'corecode' Schubert (1):
      Allow forcing of a parent commit, even if the parent is not a direct one.

Stelian Pop (1):
      Add hg-to-git conversion utility.

Uwe Kleine-König (1):
      add replay and log to the usage string of git-bisect

Yasushi SHOJI (1):
      gitweb: Convert project name to UTF-8


Version v1.5.0-rc3; changes since v1.5.0-rc2:
---------------------------------------------

Alex Riesen (5):
      Insert ACTIVESTATE_STRING in Git.pm
      Force Activestate Perl to tie git command pipe handle to a handle class
      Cleanup uninitialized value in chomp
      Allow default core.logallrefupdates to be overridden with template's config
      Fix git-update-index to work with relative pathnames.

Alexandre Julliard (1):
      vc-git.el: Take into account the destination name in vc-checkout.

Andy Parkins (5):
      New files in git weren't being downloaded during CVS update
      If abbrev is set to zero in git-describe, don't add the unique suffix
      Allow the tag signing key to be specified in the config file
      UNIX reference time of 1970-01-01 00:00 is UTC timezone, not local time zone
      Heavily expanded update hook to send more useful emails than the old hook

Aneesh Kumar K.V (2):
      blameview: Use git-cat-file to read the file content.
      Update git-cat-file documentation

Bill Lear (1):
      Document --check option to git diff.

David Kågedal (1):
      Improved error message from git-rebase

Eric Wong (1):
      git-svn: remove leading slash when printing removed directories

J. Bruce Fields (31):
      Documentation: add git user's manual
      Documentation: expand preface and todo's
      Documentation: git-rebase discussion, miscellaneous user-manual updates
      Documentation: more user-manual todo's
      Documentation: reorder development section, todo's
      Documentation: begin discussion of git-remote in user manual
      Documentation: rev-list -> rev-parse, other typos, start examples
      user manual: answer some comments from Junio
      user-manual: replace init-db by init
      user-manual: reindent
      user-manual:  rewrap, fix heading levels
      user-manual: add "quick start" as chapter 1
      user-manual: minor quickstart reorganization
      user-manual: clarify difference between tag and branch
      user-manual: update references discussion
      user-manual: update git-gc discussion
      user-manual: stub discussion of fsck and reflog
      user-manual: reorganize fetch discussion, add internals, etc.
      user-manual: git-fsck, dangling objects
      user-manual: fsck-objects -> fsck
      user-manual: repo-config -> config
      user-manual: add references to git-config man page
      user-manual: typo fix
      user-manual: fix a header level
      user-manual: reflogs, other recovery
      user-manual: rewrap a few long lines
      user-manual: minor "TODO" updates
      user-manual: document git-show-branch example
      user-manual: SHA1 -> object name
      user-manual: point to README for gitweb information
      user-manual: todo's

Jakub Narębski (3):
      Documentation/config.txt: Document config file syntax better
      t/t1300-repo-config.sh: value continued on next line
      Documentation/config.txt: Correct info about subsection name

Jason Riedy (1):
      Use inttypes.h rather than stdint.h.

Jeff King (4):
      format-patch: fix bug with --stdout in a subdirectory
      contrib/vim: update syntax for changed commit template
      diffcore-pickaxe: fix infinite loop on zero-length needle
      Add a sample program 'blameview' to show how to use git-blame --incremental

Johannes Schindelin (2):
      annotate: use pager
      reflog inspection: introduce shortcut "-g"

Johannes Sixt (1):
      Add a missing fork() error check.

Junio C Hamano (43):
      User manual: fix typos in examples
      Documentation/tutorial-2: Fix interesting typo in an example.
      Revert "prune: --grace=time"
      Make sure git_connect() always give two file descriptors.
      is_repository_shallow(): prototype fix.
      shallow repository: disable unsupported operations for now.
      git-gc: do not run git-prune by default.
      cvsimport: activate -a option, really.
      .mailmap: fix screw-ups in Uwe's name
      honor --author even with --amend, -C, and -c.
      reflog gc: a tag that does not point at a commit is not a crime.
      git-checkout -m: fix merge case
      git-daemon documentation on enabling services.
      ls-remote and clone: accept --upload-pack=<path> as well.
      Refactor the pack header reading function out of receive-pack.c
      Allow fetch-pack to decide keeping the fetched pack without exploding
      fetch-pack: remove --keep-auto and make it the default.
      Consolidate {receive,fetch}.unpackLimit
      Allow non-developer to clone, checkout and fetch more easily.
      parse-remote: do not barf on a remote shorthand without any refs to fetch.
      show-branch -g: default to HEAD
      Documentation: pack-refs --all vs default behaviour
      Make sure we do not write bogus reflog entries.
      git-merge: leave sensible reflog message when used as the first level UI.
      create_symref: check error return from open().
      write_in_full: size_t is unsigned.
      Don't force everybody to call setup_ident().
      git-blame --porcelain: quote filename in c-style when needed.
      Update describe documentation.
      Document 'git-blame --incremental'
      git-fsck-objects is now synonym to git-fsck
      Two small typofixes.
      lock_any_ref_for_update(): do not accept malformatted refs.
      git-commit -s: no extra space when sign-offs appear at the end already.
      git-blame: somewhat better commenting.
      git-send-email: remove debugging output.
      Fix git-tag -u
      Documentation: "git-checkout <tree> <path>" takes any tree-ish
      t9200: Re-code non-ascii path test in UTF-8
      t9200: do not test -x bit if the filesystem does not support it.
      git main documentation: point at the user's manual.
      Do not use hardcoded path to xhmtl.xsl to generate user's manual
      GIT v1.5.0-rc3

Linus Torvalds (5):
      fsck-objects: refactor checking for connectivity
      Fix seriously broken "git pack-refs"
      Add dangling objects tips.
      git-blame --incremental
      git-push through git protocol

Mark Wooding (3):
      wt-status: Actually accept `color.status.BLAH' configuration variables.
      Documentation/config.txt: Fix documentation of colour config tweaks.
      Make fsck and fsck-objects be builtins.

Nicolas Pitre (3):
      fix suggested branch creation command when detaching head
      git-log -g --pretty=oneline should display the reflog message
      tone down the detached head warning

Peter Eriksen (2):
      sha1_file.c: Avoid multiple calls to find_pack_entry().
      Documentation: --amend cannot be combined with -c/-C/-F.

René Scharfe (1):
      git-blame --incremental: don't use pager

Sam Vilain (1):
      contrib/emacs/vc-git.el: support vc-version-other-window

Santi Béjar (1):
      git-fetch: Allow fetching the remote HEAD

Shawn O. Pearce (6):
      Remove unnecessary found variable from describe.
      Teach git-describe to display distances from tags.
      Compute accurate distances in git-describe before output.
      Teach for-each-ref about a little language called Tcl.
      Don't coredump on bad refs in update-server-info.
      Escape --upload-pack from expr.

Simon 'corecode' Schubert (1):
      Replace perl code with pure shell code

Tom Prince (1):
      Rename git-repo-config to git-config.

Uwe Kleine-König (2):
      rename --exec to --upload-pack for fetch-pack and peek-remote
      make --upload-pack option to git-fetch configurable


Version v1.5.0-rc2; changes since v1.5.0-rc1:
---------------------------------------------

Bob Proulx (1):
      git-revert: Fix die before git-sh-setup defines it.

Chris Wedgwood (1):
      cache.h; fix a couple of prototypes

David Kågedal (2):
      Shell syntax fix in git-reset
      Document --ignore-if-in-upstream in git-format-patch

Doug Maxey (1):
      gitk: add current directory to main window title

Eric Wong (2):
      git-svn: fix tests to work with older svn
      git-svn: print and flush authentication prompts to STDERR

Jason Riedy (4):
      Start all test scripts with /bin/sh.
      Set _ALL_SOURCE for AIX, but avoid its struct list.
      Replace "echo -n" with printf in shell scripts.
      Solaris 5.8 returns ENOTDIR for inappropriate renames.

Jeff King (1):
      git-pull: disallow implicit merging to detached HEAD

Johannes Schindelin (9):
      Fix spurious compile error
      config_set_multivar(): disallow newlines in keys
      show_date(): fix relative dates
      apply --cached: fix crash in subdirectory
      Do not verify filenames in a bare repository
      Teach the revision walker to walk by reflogs with --walk-reflogs
      --walk-reflogs: disallow uninteresting commits
      --walk-reflogs: actually find the right commit by date.
      --walk-reflogs: do not crash with cyclic reflog ancestry

Junio C Hamano (69):
      reflog-expire: brown paper bag fix.
      merge-recursive: do not report the resulting tree object name
      Explain "Not a git repository: '.git'".
      glossary typofix
      Make git-prune-packed a bit more chatty.
      Define cd_to_toplevel shell function in git-sh-setup
      Use cd_to_toplevel in scripts that implement it by hand.
      Allow whole-tree operations to be started from a subdirectory
      Use log output encoding in --pretty=email headers.
      t3901: test "format-patch | am" pipe with i18n
      git-commit documentation: -a adds and also removes
      Consistent message encoding while reusing log from an existing commit.
      More tests in t3901.
      git log documentation: teach -<n> form.
      Add describe test.
      Documentation: merge-output is not too verbose now.
      Use merge-recursive in git-revert/git-cherry-pick
      git reflog expire: document --stale-fix option.
      Fix git-fetch while on detached HEAD not to give needlessly alarming errors
      git-push documentation: remaining bits
      git-rm documentation: remove broken behaviour from the example.
      tutorial: shorthand for remotes but show distributed nature of git
      git-commit documentation: remove comment on unfixed git-rm
      Use merge-recursive in git-checkout -m (branch switching)
      Document where configuration files are in config.txt
      git-commit: document log message formatting convention
      Documentation/SubmittingPatches: Gnus tips
      Documentation/git-tag: the command can be used to also verify a tag.
      Documentation/git-tools.txt: mention tig and refer to wiki
      Documentation/git-tar-tree.txt: default umask is now 002
      Documentation/git-status.txt: mention color configuration
      Documentation/git-whatchanged.txt: show -<n> instead of --max-count.
      Documentation/git-sh-setup.txt: programmer's docs
      Documentation: detached HEAD
      Make a short-and-sweet "git-add -i" synonym for "git-add --interactive"
      Documentation: describe shallow repository
      Documentation/glossary.txt: unpacked objects are loose.
      Documentation/glossary.txt: describe remotes/ tracking and packed-refs
      Introduce 'git-format-patch --suffix=.patch'
      git-format-patch: do not crash with format.headers without value.
      Documentation/git-resolve: deprecated.
      Documentation: suggest corresponding Porcelain-level in plumbing docs.
      Documentation: m can be relative in "git-blame -Ln,m"
      Documentation/git-parse-remote.txt: we deal with config vars as well
      git-format-patch -3
      Add --summary to git-format-patch by default
      git-format-patch: make --binary on by default
      git-format-patch: the default suffix is now .patch, not .txt
      Use fixed-size integers for .idx file I/O
      Documentation: move command list in git.txt into separate files.
      Documentation: sync git.txt command list and manual page title
      Documentation: Generate command lists.
      for_each_reflog_ent: do not leak FILE *
      refs.c::read_ref_at(): fix bogus munmap() call.
      Documentation: generated cmds-*.txt does not depend on git.txt
      Documentation/git.txt: command re-classification
      dwim_ref(): Separate name-to-ref DWIM code out.
      Extend read_ref_at() to be usable from places other than sha1_name.
      show-branch --reflog: show the reflog message at the top.
      show-branch --reflog: tighten input validation.
      show-branch --reflog: fix show_date() call
      Stop ignoring Documentation/README
      git-tag -d: allow deleting multiple tags at once.
      branch -f: no reason to forbid updating the current branch in a bare repo.
      git-rebase: allow rebasing a detached HEAD.
      log --walk-reflog: documentation
      reflog-walk: build fixes
      Fix --walk-reflog with --pretty=oneline
      GIT v1.5.0-rc2

Linus Torvalds (2):
      Clean up write_in_full() users
      Fix up totally buggered read_or_die()

Matthias Lederhofer (2):
      prune-packed: add -q to usage
      prune: --grace=time

Michael S. Tsirkin (1):
      fix documentation for git-commit --no-verify

Nicolas Pitre (4):
      use 'init' instead of 'init-db' for shipped docs and tools
      simplify the "no changes added to commit" message
      some doc updates
      sanitize content of README file

Peter Baumann (1):
      Make gitk work when launched in a subdirectory

Quy Tonthat (1):
      git-remote: no longer silent on unknown commands.

René Scharfe (1):
      Documentation: a few spelling fixes

Santi Béjar (1):
      tutorial: Use only separate layout

Shawn O. Pearce (18):
      Improve merge performance by avoiding in-index merges.
      Hide output about SVN::Core not being found during tests.
      Remove read_or_die in favor of better error messages.
      Remove unnecessary call_depth parameter in merge-recursive.
      Allow the user to control the verbosity of merge-recursive.
      Enable output buffering in merge-recursive.
      Display a progress meter during merge-recursive.
      Convert output messages in merge-recursive to past tense.
      Always perfer annotated tags in git-describe.
      Hash tags by commit SHA1 in git-describe.
      Use binary searching on large buckets in git-describe.
      Improve git-describe performance by reducing revision listing.
      Correct priority of lightweight tags in git-describe.
      Remove hash in git-describe in favor of util slot.
      Use nice names in conflict markers during cherry-pick/revert.
      Document the master@{n} reflog query syntax.
      Refer users to git-rev-parse for revision specification syntax.
      Document pack .idx file format upgrade strategy.

Simon 'corecode' Schubert (2):
      Use fixed-size integers for the on-disk pack structure.
      Use standard -t option for touch.

Uwe Kleine-König (4):
      document --exec for git-push
      Update documentation of fetch-pack, push and send-pack
      make --exec=... option to git-push configurable
      rename --exec to --receive-pack for push and send-pack


Version v1.5.0-rc1; changes since v1.5.0-rc0:
---------------------------------------------

Alex Riesen (1):
      Speed-up recursive by flushing index only once for all entries

Alexandre Julliard (12):
      Shallow clone: do not ignore shallowness when following tags
      fetch-pack: Properly remove the shallow file when it becomes empty.
      upload-pack: Check for NOT_SHALLOW flag before sending a shallow to the client.
      git-fetch: Reset shallow_depth before auto-following tags.
      get_shallow_commits: Avoid memory leak if a commit has been reached already.
      fetch-pack: Do not fetch tags for shallow clones.
      git-clean: Fix the -q option.
      git.el: Don't use --info-only when resolving a file.
      git.el: Avoid setting font lock keywords before entering log-edit mode.
      git-apply: Remove directories that have become empty after deleting a file.
      git-clone: Make sure the master branch exists before running cat on it.
      git.el: Define the propertize function if needed, for XEmacs compatibility.

Andy Parkins (1):
      hooks/commit-msg: add example to add Signed-off-by line to message

Andy Whitcroft (6):
      send pack check for failure to send revisions list
      ssh-upload: prevent buffer overrun
      short i/o: clean up the naming for the write_{in,or}_xxx family
      short i/o: fix calls to read to use xread or read_in_full
      short i/o: fix calls to write to use xwrite or write_in_full
      short i/o: fix config updates to use write_in_full

Brian Gernhardt (3):
      Add documentation for git-branch's color configuration.
      Ignore git-init and git-remote
      Auto-quote config values in config.c:store_write_pair()

Eric Wong (21):
      git-svn: quiet down tests and fix some unportable shell constructs
      git-svn: dcommit should diff against the current HEAD after committing
      t6024-recursive-merge: quiet down this test
      test-lib: quiet down init-db output for tests
      t9200-git-cvsexportcommit.sh: quiet down commit
      git-svn: remove non-delta fetch code paths
      git-svn: print out the SVN library version in --version, too
      git-svn: verify_ref() should actually --verify
      git-svn: sort multi-init output
      git-svn: remove svnadmin dependency from the tests
      git-svn: t/t9100-git-svn-basic: remove old check for NO_SYMLINK
      git-svn: t/t91??-*: optimize the tests a bit
      instaweb: load Apache mime and dir modules if they are needed
      git-svn: make multi-init less confusing
      git-svn: update documentation for multi-{init|fetch}
      git-svn: make --repack work consistently between fetch and multi-fetch
      Documentation/git-svn: clarify dcommit, rebase vs pull/merge
      git-svn: fix show-ignore
      git-svn: add --prefix= option to multi-init
      git-svn: pass an unambiguous ref to rev-list when grafting-branches
      Avoid errors and warnings when attempting to do I/O on zero bytes

Fredrik Kuivinen (1):
      instaweb: Nicer error message when the http daemon isn't found

J. Bruce Fields (9):
      Docs: update cvs-migration.txt to reflect clone's new default behavior
      Documentation: update git-clone.txt for clone's new default behavior
      Documentation: update glossary entry for "origin"
      Documentation: update tutorial's discussion of origin
      Documentation: update git-pull.txt for new clone behavior
      Documentation: remove master:origin example from pull-fetch-param.txt
      Documentation: tutorial editing
      Documentation: clarify definition of "reachable"
      Documentation: add git-remote man page

Jakub Narębski (14):
      gitweb: Add mod_perl version string to "generator" meta header
      gitweb: Precompile CGI routines for mod_perl
      Add info about new test families (8 and 9) to t/README
      gitweb: Fix error in git_project_index subroutine
      gitweb: Fix bug in git_difftree_body (was '!=' instead of 'ne')
      gitweb: There can be empty patches (in git_patchset_body)
      gitweb: Fix "Use of uninitialized value" warning in git_tags_body
      gitweb: Fix error in git_patchest_body for file creation/deletion patch
      gitweb: Fix error in "rename to"/"copy to" git diff header output
      gitweb: Fix errors in git_patchset_body for empty patches
      Revert "gitweb: There can be empty patches (in git_patchset_body)"
      gitweb: Fix split patches output (e.g. file to symlink)
      gitweb: Remove superfluous "|" in "commit" view
      gitweb: Fix git_patchset_body not closing <div class="patch">

Jeff King (1):
      get_tree_entry: map blank requested entry to tree root

Jim Meyering (1):
      update hook: redirect _both_ diagnostic lines to stderr upon tag failure

Johannes Schindelin (9):
      upload-pack: no longer call rev-list
      support fetching into a shallow repository
      allow cloning a repository "shallowly"
      allow deepening of a shallow repository
      add tests for shallow stuff
      xdl_merge(): fix a segmentation fault when refining conflicts
      Fix yet another subtle xdl_merge() bug
      Sanitize for_each_reflog_ent()
      Fix t1410 for core.filemode==false

Junio C Hamano (106):
      We should make sure that the protocol is still extensible.
      Why does it mean we do not have to register shallow if we have one?
      Why didn't we mark want_obj as ~UNINTERESTING in the old code?
      shallow clone: unparse and reparse an unshallowed commit
      add for_each_reflog_ent() iterator
      Protect commits recorded in reflog from pruning.
      Teach git-repack to preserve objects referred to by reflog entries.
      reflog: fix warning message.
      Move in_merge_bases() to commit.c
      git reflog expire
      reflog expire: prune commits that are not incomplete
      reflog expire: do not punt on tags that point at non commits.
      show-branch --reflog: add documentation.
      Document --numstat in git-apply and git-diff
      Document git-reset <commit> -- <paths>...
      Move encoding conversion routine out of mailinfo to utf8.c
      i18n.logToUTF8: convert commit log message to UTF-8
      Teach log family --encoding
      everyday: update for v1.5.0
      count-objects -v: show number of packs as well.
      rerere gc: honor configuration and document it
      git-reflog: gc.* configuration and documentation.
      everyday: replace a few 'prune' and 'repack' with 'gc'
      Use 'repack -a -d -l' instead of 'repack -a -d' in git-gc
      Set NO_MMAP for Cygwin by default
      UTF-8: introduce i18n.logoutputencoding.
      gcc does not necessarily pass runtime libpath with -R
      Work around http-fetch built with cURL 7.16.0
      Rename t3900 test vector file
      t3900: test conversion to non UTF-8 as well
      GIT_SKIP_TESTS: allow users to omit tests that are known to break
      core.logallrefupdates: log remotes/ tracking branches.
      Allow non-fast-forward of remote tracking branches in default clone
      t5400 send-pack test: try a bit more nontrivial transfer.
      Revert "read_directory: show_both option."
      Fix 'git add' with .gitignore
      pack-objects: fix use of use_pack().
      mmap: set FD_CLOEXEC for file descriptors we keep open for mmap()
      send-pack: fix pipeline.
      Documentation: illustrate send-pack pipeline.
      commit re-encoding: fix confusion between no and default conversion.
      t3900: test log --encoding=none
      Documentation: i18n commit log message notes.
      Documentation: minor rewording for git-log and git-show pages.
      Move commit reencoding parameter parsing to revision.c
      commit-tree: cope with different ways "utf-8" can be spelled.
      i18n: drop "encoding" header in the output after re-coding.
      Documentation/config.txt (and repo-config manpage): mark-up fix.
      Update documentation for update hook.
      send-pack.c: use is_null_sha1()
      send-pack: tell pack-objects to use its internal rev-list.
      Do not merge random set of refs out of wildcarded refs
      i18n: do not leak 'encoding' header even when we cheat the conversion.
      Update send-pack pipeline documentation.
      fail pull/merge early in the middle of conflicted merge
      git-fetch: remove .keep file at the end.
      Strongly discourage --update-head-ok in fetch-options documentation.
      Update clone/fetch documentation with --depth (shallow clone) option
      Remove unused variable (git-commit.sh)
      fetch-pack: do not use lockfile structure on stack.
      Fix infinite loop when deleting multiple packed refs.
      tutorial: misc updates.
      git-verify-tag: make sure we remove temporary file.
      pack-check.c::verify_packfile(): don't run SHA-1 update on huge data
      rerere: Fix removal of already resolved path.
      git-remote
      builtin-prune: memory diet.
      Fix timestamp for test-tick
      builtin-prune: make file-scope static struct to an argument.
      builtin-prune: separate ref walking from reflog walking.
      Move traversal of reachable objects into a separate library.
      reflog expire --fix-stale
      reflog --fix-stale: do not check the same trees and commits repeatedly.
      diff-index --cached --raw: show tree entry on the LHS for unmerged entries.
      git-reset <tree> -- <path> restores absense of <path> in <tree>
      Spell default packedgitlimit slightly differently
      Move initialization of log_all_ref_updates
      Introduce is_bare_repository() and core.bare configuration variable
      git-fetch: allow updating the current branch in a bare repository.
      git-status: show detached HEAD
      Detached HEAD (experimental)
      git-checkout: do not warn detaching HEAD when it is already detached.
      git-checkout: rewording comments regarding detached HEAD.
      git-checkout: safety when coming back from the detached HEAD state.
      git-checkout: fix branch name output from the command
      --utf8 is now default for 'git-am'
      --prune is now default for 'pack-refs'
      rm git-rerere.perl -- it is now a built-in.
      merge-base: do not leak commit list
      Do not ignore a detected patchfile brokenness.
      Fix "Do not ignore a detected patchfile brokenness."
      builtin-archive: do not free a tree held by the object layer.
      git-checkout: safety check for detached HEAD checks existing refs
      git-checkout: handle local changes sanely when detaching HEAD
      git-am: should work when "--no-utf8 --utf8" is given
      -u is now default for 'git-applymbox'
      -u is now default for 'git-mailinfo'.
      Makefile: remove $foo when $foo.exe is built/installed.
      merge-recursive: do not use on-file index when not needed.
      Document git-init
      index-pack: write-or-die instead of unchecked write-in-full.
      config-set: check write-in-full returns in set_multivar
      git-rm: do not fail on already removed file.
      git-status: wording update to deal with deleted files.
      plug a few leaks in revision walking used in describe.
      GIT v1.5.0-rc1

Jürgen Rühle (7):
      Clarify syntax and role of git-add in status output
      Improve "nothing to commit" part of status output
      Support --amend on initial commit in status output
      Improve cached content header of status output
      Remove unnecessary git-rm --cached reference from status output
      send-email: work around double encoding of in-body From field.
      Provide better feedback for the untracked only case in status output

Lars Hjemli (3):
      Skip excessive blank lines before commit body
      Refactor print-functions in builtin-branch
      git-branch: show detached HEAD

Linus Torvalds (3):
      write-cache: do not leak the serialized cache-tree data.
      write_in_full: really write in full or return error on disk full.
      Better error messages for corrupt databases

Luben Tuikov (1):
      Blame "linenr" link jumps to previous state at "orig_lineno"

Martin Langhoff (6):
      cvsimport: skip commits that are too recent
      cvsimport: skip commits that are too recent (option and documentation)
      cvsimport: document -S and -L options
      cvsimport: cleanup temporary cvsps file
      cvsserver: detect early of we are up to date and avoid costly rev-list
      cvsserver: fix revision number during file adds

Michael Loeffler (1):
      git-commit: do not fail to print the diffstat even if there is a file named HEAD

Nicolas Pitre (5):
      add .mailmap for git-shortlog output with the git repository
      Add git-reflog to .gitignore
      move git-blame to its place in .gitignore
      "init-db" can really be just "init"
      Add git-init documentation.

Pavel Roskin (1):
      Fix warnings in sha1_file.c - use C99 printf format if available

Quy Tonthat (1):
      git-send-email: default value for "From:" field.

René Scharfe (3):
      Make check target depend on common-cmds.h
      Remove shadowing variable from traverse_trees()
      Set default "tar" umask to 002 and owner.group to root.root

Robert Fitzsimons (2):
      gitweb: Re-enable rev-list --parents for parse_commit.
      gitweb: Fix shortlog only showing HEAD revision.

Santi Béjar (2):
      Documentation/tutorial: misc updates
      git-tag: add flag to verify a tag

Sasha Khapyorsky (3):
      git-svnimport: support for incremental import
      git-svnimport: clean svn path when accessing SVN repo
      git-svnimport: fix edge revisions double importing

Shawn O. Pearce (49):
      Don't crash during repack of a reflog with pruned commits.
      Create 'git gc' to perform common maintenance operations.
      Use GIT_REFLOG_ACTION environment variable instead.
      Honor GIT_REFLOG_ACTION in git-rebase.
      Use branch names in 'git-rebase -m' conflict hunks.
      Ensure `git-pull` fails if `git-merge` fails.
      Honor pull.{twohead,octopus} in git-merge.
      Allow git-merge to select the default strategy.
      Move better_branch_name above get_ref in merge-recursive.
      Allow merging bare trees in merge-recursive.
      Use merge-recursive in git-am -3.
      Replace unpack_entry_gently with unpack_entry.
      Introduce new config option for mmap limit.
      Refactor packed_git to prepare for sliding mmap windows.
      Use off_t for index and pack file lengths.
      Create read_or_die utility routine.
      Refactor how we open pack files to prepare for multiple windows.
      Replace use_packed_git with window cursors.
      Loop over pack_windows when inflating/accessing data.
      Document why header parsing won't exceed a window.
      Unmap individual windows rather than entire files.
      Fully activate the sliding window pack access.
      Load core configuration in git-verify-pack.
      Ensure core.packedGitWindowSize cannot be less than 2 pages.
      Improve error message when packfile mmap fails.
      Support unmapping windows on 'temporary' packfiles.
      Create pack_report() as a debugging aid.
      Test suite for sliding window mmap implementation.
      Default core.packdGitWindowSize to 1 MiB if NO_MMAP.
      Release pack windows before reporting out of memory.
      Replace mmap with xmmap, better handling MAP_FAILED.
      Cleanup read_cache_from error handling.
      Fix random segfaults in pack-objects.
      Force core.filemode to false on Cygwin.
      Use PATH_MAX constant for --bare.
      Replace "GIT_DIR" with GIT_DIR_ENVIRONMENT.
      Automatically detect a bare git repository.
      Remove unnecessary argc parameter from run_command_v.
      Redirect update hook stdout to stderr.
      Use /dev/null for update hook stdin.
      Teach Git how to parse standard power of 2 suffixes.
      Update packedGit config option documentation.
      Add test case for update hooks in receive-pack.
      Increase packedGit{Limit,WindowSize} on 64 bit systems.
      Don't die in git-http-fetch when fetching packs.
      Don't save the commit buffer in git-describe.
      Make git-describe a builtin.
      Disallow working directory commands in a bare repository.
      Chose better tag names in git-describe after merges.

Stefan-W. Hahn (1):
      Replacing the system call pread() with lseek()/xread()/lseek() sequence.

Steven Grimm (3):
      Describe git-clone's actual behavior in the summary
      Print a more accurate error message when we fail to create a lock file.
      Update git-svn manpage to remove the implication that SVN::* is optional.

Theodore Ts'o (2):
      Fix formatting for urls section of fetch, pull, and push manpages
      Fix formatting for urls section of fetch, pull, and push manpages


Version v1.5.0-rc0; changes since v1.4.4.5:
-------------------------------------------

Alex Riesen (1):
      Make perl/ build procedure ActiveState friendly.

Alexandre Julliard (1):
      vc-git: Ignore errors caused by a non-existent directory in vc-git-registered.

Andreas Ericsson (2):
      ls-files: Give hints when errors happen.
      git-diff: Introduce --index and deprecate --cached.

Andy Parkins (8):
      Improve git-prune -n output
      Add support to git-branch to show local and remote branches
      Use .git/config for storing "origin" shortcut repository
      De-emphasise the symbolic link documentation.
      Explicitly add the default "git pull" behaviour to .git/config on clone
      Colourise git-branch output
      Allow subcommand.color and color.subcommand color configuration
      git-status always says what branch it's on

Aneesh Kumar K.V (1):
      Add config example with respect to branch

Brian Gernhardt (6):
      Add --add option to git-repo-config
      Make git-diff documentation use [--] when it should.
      Add documentation for show-branch --topics
      Remove COLLISION_CHECK from Makefile since it's not used.
      Keep "git --git-dir" from causing a bus error.
      Make git-show-branch options similar to git-branch.

David S. Miller (1):
      Pass -M to diff in request-pull

Eric Wong (29):
      git-svn: handle authentication without relying on cached tokens on disk
      git-svn: correctly access repos when only given partial read permissions
      git-svn: exit with status 1 for test failures
      git-svn: allow SVN:: lib users to track the root of the repository (again)
      git-svn: use ~/.subversion config files when using SVN:: libraries
      git-svn: enable delta transfers during fetches when using SVN:: libs
      git-svn: update tests for recent changes
      git-svn: error out when the SVN connection fails during a fetch
      git-svn: fix output reporting from the delta fetcher
      git-svn: color support for the log command
      git-svn: documentation updates
      git-svn: fix multi-init
      git-svn: avoid network timeouts for long-running fetches
      git-svn: extra error check to ensure we open a file correctly
      git-svn: use do_switch for --follow-parent if the SVN library supports it
      rerere: add clear, diff, and status commands
      rerere: record (or avoid misrecording) resolved, skipped or aborted rebase/am
      git-svn: enable logging of information not supported by git
      git-svn: allow dcommit to take an alternate head
      git-svn: correctly display fatal() error messages
      git-svn: correctly handle packed-refs in refs/remotes/
      git-svn: correctly handle "(no author)" when using an authors file
      git-svn: convert to using Git.pm
      git-svn: remove support for the svn command-line client
      git-svn: rename 'commit' command to 'set-tree'
      git-cvsserver: fix breakage when calling git merge-file
      Remove NO_ACCURATE_DIFF options from build systems
      git-svn: enable common fetch/commit options for dcommit
      Makefile: add quick-install-doc for installing pre-built manpages

Han-Wen Nienhuys (2):
      git-tag: allow empty tag message if -m is given explicitly.
      ident.c: Trim hint printed when gecos is empty.

Iñaki Arenaza (1):
      git-cvsimport: add support for CVS pserver method HTTP/1.x proxying

J. Bruce Fields (5):
      Documentation: clarify tutorial pull/merge discussion
      cvs-migration: improved section titles, better push/commit explanation
      Documentation: reorganize cvs-migration.txt
      Documentation: update git-clone man page with new behavior
      Documentation: simpler shared repository creation

Jakub Narębski (26):
      gitweb: Protect against possible warning in git_commitdiff
      gitweb: Buffer diff header to deal with split patches + git_patchset_body refactoring
      gitweb: Default to $hash_base or HEAD for $hash in "commit" and "commitdiff"
      gitweb: New improved formatting of chunk header in diff
      gitweb: Add an option to href() to return full URL
      gitweb: Refactor feed generation, make output prettier, add Atom feed
      gitweb: Finish restoring "blob" links in git_difftree_body
      gitweb: Replace SPC with &nbsp; also in tag comment
      gitweb: Do not use esc_html in esc_path
      gitweb: Use git-show-ref instead of git-peek-remote
      gitweb: Add author and committer email extraction to parse_commit
      gitweb: Add author and contributor email to Atom feed
      gitweb: Use author_epoch for pubdate in gitweb feeds
      gitweb: Make project description in projects list link to summary view
      gitweb: Fix Atom feed <logo>: it is $logo, not $logo_url
      git-clone: Rename --use-immingled-remote option to --no-separate-remote
      Document git-diff whitespace flags -b and -w
      gitweb: Allow PNG, GIF, JPEG images to be displayed in "blob" view
      gitweb: Don't use Content-Encoding: header in git_snapshot
      gitweb: Show target of symbolic link in "tree" view
      gitweb: Add generic git_object subroutine to display object of any type
      gitweb: Hyperlink target of symbolic link in "tree" view (if possible)
      gitweb: SHA-1 in commit log message links to "object" view
      gitweb: Do not show difftree for merges in "commit" view
      gitweb: Add title attribute to ref marker with full ref name
      gitweb: Add "next" link to commit view

Jeff King (2):
      shortlog: fix segfault on empty authorname
      vim syntax: follow recent changes to commit template

Jim Meyering (1):
      Set permissions of each new file before "cvs add"ing it.

Johannes Schindelin (30):
      Build in shortlog
      shortlog: do not crash on parsing "[PATCH"
      shortlog: read mailmap from ./.mailmap again
      shortlog: handle email addresses case-insensitively
      shortlog: fix "-n"
      shortlog: use pager
      sha1_object_info(): be consistent with read_sha1_file()
      xdiff: add xdl_merge()
      xdl_merge(): fix an off-by-one bug
      xdl_merge(): fix thinko
      diff -b: ignore whitespace at end of line
      xdl_merge(): fix and simplify conflict handling
      cvs-migration document: make the need for "push" more obvious
      Add builtin merge-file, a minimal replacement for RCS merge
      merge-file: support -p and -q; fix compile warnings
      Get rid of the dependency on RCS' merge program
      merge-recursive: add/add really is modify/modify with an empty base
      INSTALL: no need to have GNU diff installed
      git-show: grok blobs, trees and tags, too
      Document git-merge-file
      add a function to rename sections in the config
      git-branch: rename config vars branch.<branch>.*, too
      Introduce GIT_TEMPLATE_DIR
      Use git-merge-file in git-merge-one-file, too
      git-tag: support -F <file> option
      git-reset --hard: tell the user what the HEAD was reset to
      move read_mmfile() into xdiff-interface
      Add a test for git-rerere
      Make git-rerere a builtin
      commit-tree: encourage UTF-8 commit messages.

Josef Weidendorfer (2):
      Add branch.*.merge warning and documentation update
      Move "no merge candidate" warning into git-pull

Junio C Hamano (115):
      upload-pack: stop the other side when they have more roots than we do.
      apply --numstat: mark binary diffstat with - -, not 0 0
      pack-objects: tweak "do not even attempt delta" heuristics
      Store peeled refs in packed-refs file.
      remove merge-recursive-old
      git-merge: make it usable as the first class UI
      merge: allow merging into a yet-to-be-born branch.
      Store peeled refs in packed-refs (take 2).
      git-fetch: reuse ls-remote result.
      git-fetch: fix dumb protocol transport to fetch from pack-pruned ref
      git-fetch: allow glob pattern in refspec
      refs outside refs/{heads,tags} match less strongly.
      Typefix builtin-prune.c::prune_object()
      Allow git push to delete remote ref.
      gitweb: (style) use chomp without parentheses consistently.
      git-clone: stop dumb protocol from copying refs outside heads/ and tags/.
      git-branch -D: make it work even when on a yet-to-be-born branch
      git-shortlog: fix common repository prefix abbreviation.
      git-shortlog: make common repository prefix configurable with .mailmap
      git-commit: show --summary after successful commit.
      git-fetch: exit with non-zero status when fast-forward check fails
      git-fetch: allow forcing glob pattern in refspec
      fetch-pack: do not barf when duplicate re patterns are given
      grep: do not skip unmerged entries when grepping in the working tree.
      git-merge: tighten error checking.
      git-merge: do not leak rev-parse output used for checking internally.
      cvsimport: style fixup.
      git-merge: fix confusion between tag and branch
      xmerge: make return value from xdl_merge() more usable.
      merge-recursive: use xdl_merge().
      read-tree: further loosen "working file will be lost" check.
      Loosen "working file will be lost" check in Porcelain-ish
      read-tree: document --exclude-per-directory
      git-merge: squelch needless error message.
      git-merge: fix "fix confusion between tag and branch" for real
      Fix perl/ build.
      git-rerere: add 'gc' command.
      Documentation/git-commit: rewrite to make it more end-user friendly.
      git-commit: allow --only to lose what was staged earlier.
      shortlog: remove "[PATCH]" prefix from shortlog output
      shortlog: fix segfault on empty authorname
      diff --numstat: show binary with '-' to match "apply --numstat"
      add test case for recursive merge
      git-push: document removal of remote ref with :<dst> pathspec
      Revert "git-diff: Introduce --index and deprecate --cached."
      git merge: reword failure message.
      spurious .sp in manpages
      git-push: accept tag <tag> as advertised.
      send-pack: tighten checks for remote names
      branch --color: change default color selection.
      git-blame: show lines attributed to boundary commits differently.
      config documentation: group color items together.
      git-svn: allow both diff.color and color.diff
      Update git-diff documentation
      git-fetch: make it work from within a subdirectory.
      git-reset: make it work from within a subdirectory.
      git-reset [--mixed] <tree> [--] <paths>...
      merge: give a bit prettier merge message to "merge branch~$n"
      git-clone: use wildcard specification for tracking branches
      git-pull: refuse default merge without branch.*.merge
      git-clone: lose the artificial "first" fetch refspec
      git-clone: lose the traditional 'no-separate-remote' layout
      update-index: make D/F conflict error a bit more verbose.
      git-add: remove conflicting entry when adding.
      Fix check_file_directory_conflict().
      Fix mis-mark-up in git-merge-file.txt documentation
      markup fix in svnimport documentation.
      rev-list --left-right
      Teach all of log family --left-right output.
      Make left-right automatic.
      Teach show-branch how to show ref-log data.
      git-fetch: Avoid reading packed refs over and over again
      avoid accessing _all_ loose refs in git-show-ref --verify
      show-ref: fix --quiet --verify
      show-ref: fix --verify --hash=length
      parse-remote::expand_refs_wildcard()
      show-ref: fix --exclude-existing
      racy-git: documentation updates.
      rerere: fix breakage of resolving.
      fix testsuite: make sure they use templates freshly built from the source
      Teach git-branch to delete tracking branches with -r -d
      blame: -b (blame.blankboundary) and --root (blame.showroot)
      git-add --interactive
      git-add --interactive: hunk splitting
      Revert "fix testsuite: make sure they use templates freshly built from the source"
      Do not create $GIT_DIR/remotes/ directory anymore.
      Use preprocessor constants for environment variable names.
      Revert "Make left-right automatic."
      fix populate-filespec
      config_rename_section: fix FILE* leak
      simplify inclusion of system header files.
      revision: --skip=<n>
      git-add: error out when given no arguments.
      compat/inet_ntop: do not use u_int
      diff documentation: mostly talk about <commit>
      Revert "git-pull: refuse default merge without branch.*.merge"
      parse-remote: mark all refs not for merge only when fetching more than one
      _XOPEN_SOURCE problem also exists on FreeBSD
      commit-tree: do not overflow MAXPARENT
      merge and reset: adjust for "reset --hard" messages
      default pull: forget about "newbie protection" for now.
      Do not support "partial URL shorthand" anymore.
      Really fix headers for __FreeBSD__
      git-tag: lose exit after die
      Allow branch.*.merge to talk about remote tracking branches.
      git-add --interactive: add documentation
      match_pathspec() -- return how well the spec matched
      git-rm: update to saner semantics
      t3600: update the test for updated git rm
      git-rm: Documentation
      read_directory: show_both option.
      git-add: add ignored files when asked explicitly.
      git-add: warn when adding an ignored file with an explicit request.
      git-add -f: allow adding otherwise ignored files.
      GIT v1.5.0 preview

Lars Hjemli (4):
      Add -v and --abbrev options to git-branch
      git-branch: add options and tests for branch renaming
      rename_ref: use lstat(2) when testing for symlink
      git-branch: let caller specify logmsg

Luben Tuikov (1):
      Export PERL_PATH

Michael Loeffler (1):
      git-fetch: ignore dereferenced tags in expand_refs_wildcard

Nicolas Pitre (11):
      builtin git-shortlog is broken
      pack-objects: remove redundent status information
      make 'git add' a first class user friendly interface to the index
      change the unpack limit treshold to a saner value
      repacked packs should be read-only
      make commit message a little more consistent and conforting
      make patch_delta() error cases a bit more verbose
      make git a bit less cryptic on fetch errors
      index-pack usage of mmap() is unacceptably slower on many OSes other than Linux
      clarify some error messages wrt unknown object types
      checkout: make the message about the need for a new branch a bit clearer

Paul Mackerras (1):
      gitk: Fix enabling/disabling of menu items on Mac OS X

Peter Baumann (1):
      config option log.showroot to show the diff of root commits

Petr Baudis (1):
      Make git-clone --use-separate-remote the default

Quy Tonthat (4):
      git-clone documentation
      Documentation: new option -P for git-svnimport
      git-branch -d: do not stop at the first failure.
      Documentation/git-branch: new -r to delete remote-tracking branches.

René Scharfe (1):
      shortlog: remove range check

Robert Fitzsimons (17):
      gitweb: Show '...' links in "summary" view only if there are more items
      gitweb: Add missing show '...' links change.
      gitweb: optimize git_get_last_activity.
      gitweb: optimize git_shortlog_body.
      gitweb: optimize git_summary.
      gitweb: Use rev-list pattern search options.
      gitweb: Require a minimum of two character for the search text.
      gitweb: Allow search to be disabled from the config file.
      gitweb: Paginate commit/author/committer search output
      gitweb: Add parse_commits, used to bulk load commit objects.
      gitweb: We do longer need the --parents flag in rev-list.
      gitweb: Change summary, shortlog actions to use parse_commits.
      gitweb: Change log action to use parse_commits.
      gitweb: Change header search action to use parse_commits.
      gitweb: Change atom, rss actions to use parse_commits.
      gitweb: Change history action to use parse_commits.
      gitweb: Use rev-list --skip option.

Robin Rosenberg (1):
      Make cvsexportcommit work with filenames with spaces and non-ascii characters.

Sean Estabrooks (1):
      Update documentation to remove incorrect GIT_DIFF_OPTS example.

Shawn O. Pearce (30):
      Teach git-completion.bash how to complete git-merge.
      Hide plumbing/transport commands from bash completion.
      Teach bash how to complete options for git-name-rev.
      Add current branch in PS1 support to git-completion.bash.
      Teach bash how to complete git-format-patch.
      Teach bash how to complete git-cherry-pick.
      Teach bash how to complete git-rebase.
      Teach bash about git log/show/whatchanged options.
      Support bash completion of refs/remote.
      Teach bash about git-repo-config.
      Support --strategy=x completion in addition to --strategy x.
      Cache the list of merge strategies and available commands during load.
      Teach bash about git-am/git-apply and their whitespace options.
      Teach bash how to complete long options for git-commit.
      Fix broken bash completion of local refs.
      Remove uncontested renamed files during merge.
      Avoid accessing a slow working copy during diffcore operations.
      Provide more meaningful output from 'git init-db'.
      Enable reflogs by default in any repository with a working directory.
      Teach bash the new features of 'git show'.
      Suggest use of "git add file1 file2" when there is nothing to commit.
      Align section headers of 'git status' to new 'git add'.
      Default GIT_COMMITTER_NAME to login name in recieve-pack.
      Suggest 'add' in am/revert/cherry-pick.
      Rename imap-send's internal info/warn functions.
      Introduce a global level warn() function.
      Use extended SHA1 syntax in merge-recursive conflicts.
      Display 'theirs' branch name when possible in merge.
      Rename gitfakemmap to git_mmap.
      Switch git_mmap to use pread.

Terje Sten Bjerkseth (1):
      Fix system header problems on Mac OS X

Uwe Kleine-König (1):
      Fix documentation copy&paste typo


Version v1.4.4.5; changes since v1.4.4.4:
-----------------------------------------

Nicolas Pitre (5):
      clean up pack index handling a bit
      clean up and optimize nth_packed_object_sha1() usage
      get rid of num_packed_objects()
      pack-objects: learn about pack index version 2
      sha1_file.c: learn about index version 2


Version v1.4.4.4; changes since v1.4.4.3:
-----------------------------------------

Johannes Schindelin (1):
      diff --check: fix off by one error

Junio C Hamano (3):
      spurious .sp in manpages
      Fix infinite loop when deleting multiple packed refs.
      pack-check.c::verify_packfile(): don't run SHA-1 update on huge data


Version v1.4.4.3; changes since v1.4.4.2:
-----------------------------------------

Alex Riesen (1):
      Clarify fetch error for missing objects.

Brian Gernhardt (1):
      Move Fink and Ports check to after config file

Chris Wright (1):
      no need to install manpages as executable

Eric Wong (2):
      git-svn: exit with status 1 for test failures
      git-svn: correctly display fatal() error messages

Jim Meyering (1):
      Don't use memcpy when source and dest. buffers may overlap

Junio C Hamano (1):
      GIT 1.4.4.3

Martin Langhoff (1):
      cvsserver: Avoid miscounting bytes in Perl v5.8.x

Shawn O. Pearce (2):
      Make sure the empty tree exists when needed in merge-recursive.
      Bypass expensive content comparsion during rename detection.


Version v1.4.4.2; changes since v1.4.4.1:
-----------------------------------------

Alex Riesen (1):
      git-blame: fix rev parameter handling.

Andy Parkins (2):
      Increase length of function name buffer
      Document git-repo-config --bool/--int options.

Eric Wong (4):
      git-svn: error out from dcommit on a parent-less commit
      git-svn: correctly handle revision 0 in SVN repositories
      git-svn: preserve uncommitted changes after dcommit
      git-svn: avoid fetching files twice in the same revision

Johannes Schindelin (1):
      git-mv: search more precisely for source directory in index

Junio C Hamano (5):
      git blame -C: fix output format tweaks when crossing file boundary.
      tutorial: talk about user.name early and don't start with commit -a
      receive-pack: do not insist on fast-forward outside refs/heads/
      unpack-trees: make sure "df_conflict_entry.name" is NUL terminated.
      git-reset to remove "$GIT_DIR/MERGE_MSG"

René Scharfe (1):
      archive-zip: don't use sizeof(struct ...)


Version v1.4.4.1; changes since v1.4.4:
---------------------------------------

Alexandre Julliard (1):
      gitweb: Put back shortlog instead of graphiclog in the project list.

Chris Riddoch (1):
      Move --pretty options into Documentation/pretty-formats.txt

Jim Meyering (1):
      Run "git repack -a -d" once more at end, if there's 1MB or more of not-packed data.

Johannes Schindelin (1):
      Seek back to current filepos when mmap()ing with NO_MMAP

Junio C Hamano (7):
      git-checkout: do not allow -f and -m at the same time.
      git-checkout: allow pathspec to recover lost working tree directory
      convert-objects: set _XOPEN_SOURCE to 600
      git-fetch: follow lightweit tags as well.
      do_for_each_ref: perform the same sanity check for leftovers.
      trust-executable-bit: fix breakage for symlinks
      GIT 1.4.4.1

Linus Torvalds (2):
      git-pull: allow pulling into an empty repository
      "git fmt-merge-msg" SIGSEGV

Michal Rokos (1):
      archive: use setvbuf() instead of setlinebuf()

Paolo Ciarrocchi (2):
      Teach SubmittingPatches about git-commit -s
      Doc: Make comment about merging in tutorial.txt more clear

Petr Baudis (4):
      Fix git-for-each-refs broken for tags
      git-apply: Documentation typo fix
      Documentation: Define symref and update HEAD description
      Documentation: Correct alternates documentation, document http-alternates

René Scharfe (4):
      sparse fix: non-ANSI function declaration
      sparse fix: Using plain integer as NULL pointer
      git-apply: slightly clean up bitfield usage
      Document git-runstatus


Version v1.4.4; changes since v1.4.4-rc2:
-----------------------------------------

Johannes Sixt (2):
      test-lib.sh: A command dying due to a signal is an unexpected failure.
      Catch errors when writing an index that contains invalid objects.

Jonas Fonseca (1):
      git-update-index(1): fix use of quoting in section title

Junio C Hamano (1):
      GIT 1.4.4

Robin Rosenberg (1):
      Rework cvsexportcommit to handle binary files for all cases.


Version v1.4.4-rc2; changes since v1.4.4-rc1:
---------------------------------------------

Eric Wong (3):
      git-svn: avoid printing filenames of files we're not tracking
      git-svn: don't die on rebuild when --upgrade is specified
      git-svn: fix dcommit losing changes when out-of-date from svn

Jakub Narębski (3):
      gitweb: Better git-unquoting and gitweb-quoting of pathnames
      gitweb: Use character or octal escape codes (and add span.cntrl) in esc_path
      gitweb: New improved patchset view

Junio C Hamano (14):
      gitweb: fix disabling of "forks"
      gitweb: minimally fix "fork" support.
      gitweb: do not give blame link unconditionally in diff-tree view
      git-status: quote LF in its output
      git-pickaxe: retire pickaxe
      gitweb: protect blob and diff output lines from controls.
      gitweb: protect commit messages from controls.
      gitweb: fix unmatched div in commitdiff
      Documentation: move blame examples
      git-annotate: no need to exec blame; it is built-in now.
      git-annotate: fix -S on graft file with comments.
      path-list: fix path-list-insert return value
      git-cvsserver: read from git with -z to get non-ASCII pathnames.
      GIT 1.4.4-rc2

OGAWA Hirofumi (1):
      gitk: Fix nextfile() and add prevfile()

Petr Baudis (1):
      Nicer error messages in case saving an object to db goes wrong

Robert Shearman (1):
      git-rebase: Use --ignore-if-in-upstream option when executing git-format-patch.


Version v1.4.4-rc1; changes since v1.4.3.5:
-------------------------------------------

Alan Chandler (1):
      Gitweb - provide site headers and footers

Alexandre Julliard (5):
      pack-refs: Store the full name of the ref even when packing only tags.
      git.el: Added functions for moving to the next/prev unmerged file.
      git.el: Added a function to open the current file in another window.
      git.el: Move point after the log message header when entering log-edit mode.
      git.el: Include MERGE_MSG in the log-edit buffer even when not committing a merge.

Andy Parkins (2):
      Make filenames line up in git-status output
      Remove uneccessarily similar printf() from print_ref_list() in builtin-branch

Andy Whitcroft (2):
      cvsimport: move over to using git-for-each-ref to read refs.
      git-for-each-ref: improve the documentation on scripting modes

Aneesh Kumar K.V (1):
      gitweb: Remove extra "/" in path names for git_get_project_list

Christian Couder (12):
      Add [-s|--hash] option to Linus' show-ref.
      Use Linus' show ref in "git-branch.sh".
      Document git-show-ref [-s|--hash] option.
      Fix show-ref usage for --dereference.
      Add pack-refs and show-ref test cases.
      When creating branch c/d check that branch c does not already exists.
      Uncomment test case: git branch c/d should barf if branch c exists.
      Fix a remove_empty_dir_recursive problem.
      Clean up "git-branch.sh" and add remove recursive dir test cases.
      Use git-update-ref to delete a tag instead of rm()ing the ref file.
      Check that a tag exists using show-ref instead of looking for the ref file.
      Do not create tag leading directories since git update-ref does it.

Dennis Stosberg (3):
      lock_ref_sha1_basic does not remove empty directories on BSD
      Remove bashism from t3210-pack-refs.sh
      Bash completion support for aliases

Dmitry V. Levin (1):
      git-clone: define die() and use it.

Edgar Toernig (1):
      Use memmove instead of memcpy for overlapping areas

Eric Wong (3):
      git-send-email: do not pass custom Date: header
      git-svn: avoid printing filenames of files we're not tracking
      git-svn: don't die on rebuild when --upgrade is specified

Jakub Narębski (14):
      gitweb: Improve git_print_page_path
      gitweb: Add '..' (up directory) to tree view if applicable
      gitweb: Get rid of git_print_simplified_log
      gitweb: Filter out commit ID from @difftree in git_commit and git_commitdiff
      gitweb: Print commit message without title in commitdiff only if there is any
      gitweb: Use --no-commit-id in git_commit and git_commitdiff
      Documentation: Update information about <format> in git-for-each-ref
      gitweb: Move git_get_last_activity subroutine earlier
      gitweb: Add "next" link to commitdiff view
      gitweb: Secure against commit-ish/tree-ish with the same name as path
      gitweb: Use 's' regexp modifier to secure against filenames with LF
      gitweb: Use git-for-each-ref to generate list of heads and/or tags
      gitweb: Output also empty patches in "commitdiff" view
      gitweb: Better support for non-CSS aware web browsers

Jeff King (4):
      wt-status: use simplified resolve_ref to find current branch
      gitignore: git-pack-refs is a generated file.
      gitignore: git-show-ref is a generated file.
      git-pickaxe: work properly in a subdirectory.

Jim Meyering (1):
      Don't use $author_name undefined when $from contains no /\s</.

Johannes Schindelin (3):
      Fix git-update-index --again
      show-branch: mark active branch with a '*' again
      Turn on recursive with --summary

Jonas Fonseca (1):
      Add man page for git-show-ref

Junio C Hamano (96):
      Add git-for-each-ref: helper for language bindings
      Fix t1400-update-ref test minimally
      fsck-objects: adjust to resolve_ref() clean-up.
      symbolit-ref: fix resolve_ref conversion.
      Add callback data to for_each_ref() family.
      Tell between packed, unpacked and symbolic refs.
      pack-refs: do not pack symbolic refs.
      git-pack-refs --prune
      pack-refs: fix git_path() usage.
      lock_ref_sha1_basic: remove unused parameter "plen".
      Clean-up lock-ref implementation
      update-ref: -d flag and ref creation safety.
      update a few Porcelain-ish for ref lock safety.
      Teach receive-pack about ref-log
      receive-pack: call setup_ident before git_config
      grep --all-match
      teach revision walker about --all-match.
      git-diff/git-apply: make diff output a bit friendlier to GNU patch (part 1)
      ref locking: allow 'foo' when 'foo/bar' used to exist but not anymore.
      refs: minor restructuring of cached refs data.
      lock_ref_sha1(): do not sometimes error() and sometimes die().
      lock_ref_sha1(): check D/F conflict with packed ref when creating.
      delete_ref(): delete packed ref
      git-branch: remove D/F check done by hand.
      show-ref --hash=len, --abbrev=len, and --abbrev
      git-fetch: adjust to packed-refs.
      Fix refs.c;:repack_without_ref() clean-up path
      gitweb: make leftmost column of blame less cluttered.
      git-fetch: do not look into $GIT_DIR/refs to see if a tag exists.
      pack-refs: use lockfile as everybody else does.
      gitweb: prepare for repositories with packed refs.
      Revert 954a6183756a073723a7c9fd8d2feb13132876b0
      pack-refs: call fflush before fsync.
      blame.c: whitespace and formatting clean-up.
      git-blame: --show-name (and -f)
      git-blame: --show-number (and -n)
      blame.c: move code to output metainfo into a separate function.
      git-send-email: do not drop custom headers the user prepared
      ref-log: allow ref@{count} syntax.
      git-send-email: real name with period need to be dq-quoted on From: line
      git-blame --porcelain
      gitweb: use blame --porcelain
      Make git-send-email detect mbox-style patches more readily
      core.logallrefupdates create new log file only for branch heads.
      git-pack-refs --all
      core.logallrefupdates thinko-fix
      pack-objects: document --delta-base-offset option
      blame: Document and add help text for -f, -n, and -p
      gitweb: spell "blame --porcelain" with -p
      git-repack: repo.usedeltabaseoffset
      diff --numstat
      gitweb: use for-each-ref to show the latest activity across branches
      ref-log: fix D/F conflict coming from deleted refs.
      git-pickaxe: blame rewritten.
      git-pickaxe -M: blame line movements within a file.
      git-pickaxe -C: blame cut-and-pasted lines.
      git-pickaxe: pagenate output by default.
      git-pickaxe: fix nth_line()
      git-pickaxe: improve "best match" heuristics
      git-pickaxe: introduce heuristics to avoid "trivial" chunks
      git-pickaxe: do not keep commit buffer.
      git-pickaxe: do not confuse two origins that are the same.
      git-pickaxe: get rid of wasteful find_origin().
      git-pickaxe: swap comparison loop used for -C
      sha1_name.c: avoid compilation warnings.
      t3200: git-branch testsuite update
      tests: merge-recursive is usable without Python
      merge: loosen overcautious "working file will be lost" check.
      merge-recursive: use abbreviated commit object name.
      merge-recursive: make a few functions static.
      merge-recursive: adjust to loosened "working file clobbered" check
      t6022: ignoring untracked files by merge-recursive when they do not matter
      Documentation: fix git-format-patch mark-up and link it from git.txt
      send-pack --keep: do not explode into loose objects on the receiving end.
      git-pickaxe: WIP to refcount origin structure.
      git-pickaxe: allow -Ln,m as well as -L n,m
      git-pickaxe: refcount origin correctly in find_copy_in_parent()
      git-pickaxe: tighten sanity checks.
      Revert "send-pack --keep: do not explode into loose objects on the receiving end."
      git-pickaxe: split find_origin() into find_rename() and find_origin().
      git-pickaxe: cache one already found path per commit.
      Introduce a new revision set operator <rev>^!
      branch: work in subdirectories.
      for-each-ref: "creator" and "creatordate" fields
      git-pickaxe: rename detection optimization
      git-pickaxe: simplify Octopus merges further
      git-pickaxe: re-scan the blob after making progress with -M
      git-pickaxe: re-scan the blob after making progress with -C
      git-pickaxe: fix origin refcounting
      cherry is built-in, do not ship git-cherry.sh
      git-blame: add internal statistics to count read blobs.
      git-pickaxe: optimize by avoiding repeated read_sha1_file().
      Document git-pack-refs and link it to git(7).
      git-pickaxe: -L /regexp/,/regexp/
      git-pickaxe: allow "-L <something>,+N"
      GIT 1.4.3-rc1

Karl Wiberg (1):
      ignore-errors requires cl

Lars Hjemli (2):
      Make git-branch a builtin
      Fix show-ref usagestring

Linus Torvalds (8):
      Add "git show-ref" builtin command
      Teach "git checkout" to use git-show-ref
      Start handling references internally as a sorted in-memory list
      Add support for negative refs
      Make ref resolution saner
      Enable the packed refs file format
      Allow '-' in config variable names
      git push: add verbose flag and allow overriding of default target repository

Luben Tuikov (5):
      gitweb: blame: print commit-8 on the leading row of a commit-block
      gitweb: blame: Mouse-over commit-8 shows author and date
      gitweb: blame porcelain: lineno and orig lineno swapped
      git-revert with conflicts to behave as git-merge with conflicts
      gitweb: esc_html() author in blame

Martin Waitz (2):
      gitweb: start to generate PATH_INFO URLs.
      gitweb: warn if feature cannot be overridden.

Matthew Wilcox (1):
      Add --dry-run option to git-send-email

Nicolas Pitre (24):
      introduce delta objects with offset to base
      teach git-unpack-objects about deltas with offset to base
      teach git-index-pack about deltas with offset to base
      make git-pack-objects able to create deltas with offset to base
      make pack data reuse compatible with both delta types
      let the GIT native protocol use offsets to delta base when possible
      zap a debug remnant
      allow delta data reuse even if base object is a preferred base
      index-pack: compare only the first 20-bytes of the key.
      add the capability for index-pack to read from a stream
      enable index-pack streaming capability
      make index-pack able to complete thin packs.
      add progress status to index-pack
      mimic unpack-objects when --stdin is used with index-pack
      enhance clone and fetch -k experience
      index-pack: minor fixes to comment and function name
      missing small substitution
      make git-push a bit more verbose
      Allow pack header preprocessing before unpack-objects/index-pack.
      git-fetch can use both --thin and --keep with fetch-pack now
      improve fetch-pack's handling of kept packs
      have index-pack create .keep file more carefully
      remove .keep pack lock files when done with refs update
      git-pack-objects progress flag documentation and cleanup

Petr Baudis (11):
      Fix broken sha1 locking
      Fix buggy ref recording
      gitweb: Document features better
      gitweb: Fix search form when PATH_INFO is enabled
      bisect reset: Leave the tree in usable state if git-checkout failed
      gitweb: Restore object-named links in item lists
      gitweb: Make search type a popup menu
      gitweb: Do not automatically append " git" to custom site name
      gitweb: Show project's README.html if available
      gitweb: Support for 'forks'
      gitweb: Fix up bogus $stylesheet declarations

René Scharfe (4):
      git-archive --format=zip: use default version ID
      git-archive --format=zip: add symlink support
      Built-in cherry
      Make git-cherry handle root trees

Robert Shearman (2):
      git-rebase: Use --ignore-if-in-upstream option when executing git-format-patch.
      git-rebase: Add a -v option to show a diffstat of the changes upstream at the start of a rebase.

Robin Rosenberg (2):
      Mention that pull can work locally in the synopsis
      Swap the porcelain and plumbing commands in the git man page

Ryan Anderson (1):
      Remove git-annotate.perl and create a builtin-alias for git-blame

Santi Béjar (2):
      fetch: Misc output cleanup
      merge and resolve: Output short hashes and .. in "Updating ..."

Sasha Khapyorsky (2):
      git-svnimport.perl: copying directory from original SVN place
      git-svnimport: support for partial imports

Sean Estabrooks (1):
      Add --global option to git-repo-config.

Sergey Vlasov (2):
      git-send-email: Document support for local sendmail instead of SMTP server
      git-send-email: Read the default SMTP server from the GIT config file

Shawn O. Pearce (15):
      Use column indexes in git-cvsserver where necessary.
      Allow short pack names to git-pack-objects --unpacked=.
      Only repack active packs by skipping over kept packs.
      Teach git-index-pack how to keep a pack file.
      Remove unused variable in receive-pack.
      Move deny_non_fast_forwards handling completely into receive-pack.
      Teach receive-pack how to keep pack files based on object count.
      Added completion support for git-branch.exe.
      Added bash completion support for git-reset.
      Added missing completions for show-branch and merge-base.
      Only load .exe suffix'd completions on Cygwin.
      Bash completion support for remotes in .git/config.
      Take --git-dir into consideration during bash completion.
      Support bash completion on symmetric difference operator.
      Remove more sed invocations from within bash completion.


Version v1.4.3.5; changes since v1.4.3.4:
-----------------------------------------

Alex Riesen (1):
      merge-recursive implicitely depends on trust_executable_bit

Eric Wong (3):
      git-svn: avoid printing filenames of files we're not tracking
      git-svn: don't die on rebuild when --upgrade is specified
      git-svn: fix dcommit losing changes when out-of-date from svn

Jakub Narębski (1):
      Documentation: Transplanting branch with git-rebase --onto

Jeff King (1):
      Fix git-runstatus for repositories containing a file named HEAD

Junio C Hamano (3):
      adjust_shared_perm: chmod() only when needed.
      path-list: fix path-list-insert return value
      git-cvsserver: read from git with -z to get non-ASCII pathnames.

Petr Baudis (1):
      Nicer error messages in case saving an object to db goes wrong

Robert Shearman (1):
      git-rebase: Use --ignore-if-in-upstream option when executing git-format-patch.

Tero Roponen (1):
      remove an unneeded test


Version v1.4.3.4; changes since v1.4.3.3:
-----------------------------------------

Andy Parkins (2):
      Minor grammar fixes for git-diff-index.txt
      git-clone documentation didn't mention --origin as equivalent of -o

Christian Couder (3):
      Remove --syslog in git-daemon inetd documentation examples.
      Documentation: add upload-archive service to git-daemon.
      Documentation: add git in /etc/services.

Edgar Toernig (1):
      Use memmove instead of memcpy for overlapping areas

J. Bruce Fields (1):
      Documentation: updates to "Everyday GIT"

Jakub Narębski (3):
      diff-format.txt: Combined diff format documentation supplement
      diff-format.txt: Correct information about pathnames quoting in patch format
      gitweb: Check git base URLs before generating URL from it

Jan Harkes (1):
      Continue traversal when rev-list --unpacked finds a packed commit.

Johannes Schindelin (1):
      link_temp_to_file: call adjust_shared_perm() only when we created the directory

Junio C Hamano (9):
      Documentation: clarify refname disambiguation rules.
      combine-diff: a few more finishing touches.
      combine-diff: fix hunk_comment_line logic.
      combine-diff: honour --no-commit-id
      Surround "#define DEBUG 0" with "#ifndef DEBUG..#endif"
      quote.c: ensure the same quoting across platforms.
      revision traversal: --unpacked does not limit commit list anymore.
      link_temp_to_file: don't leave the path truncated on adjust_shared_perm failure
      apply: handle "traditional" creation/deletion diff correctly.

Nicolas Pitre (1):
      pack-objects doesn't create random pack names

René Scharfe (1):
      git-cherry: document limit and add diagram

Shawn O. Pearce (3):
      Use ULONG_MAX rather than implicit cast of -1.
      Remove SIMPLE_PROGRAMS and make git-daemon a normal program.
      Remove unsupported C99 style struct initializers in git-archive.


Version v1.4.3.3; changes since v1.4.3.2:
-----------------------------------------

Eric Wong (1):
      git-svn: fix symlink-to-file changes when using command-line svn 1.4.0

Gerrit Pape (1):
      Set $HOME for selftests

Junio C Hamano (5):
      Documentation: note about contrib/.
      RPM package re-classification.
      Refer to git-rev-parse:Specifying Revisions from git.txt
      Update cherry documentation.
      Documentation/SubmittingPatches: 3+1 != 6

Petr Baudis (1):
      xdiff: Match GNU diff behaviour when deciding hunk comment worthiness of lines

Tuncer Ayaz (1):
      git-fetch.sh printed protocol fix


Version v1.4.3.2; changes since v1.4.3.1:
-----------------------------------------

Alexandre Julliard (1):
      prune-packed: Fix uninitialized variable.

J. Bruce Fields (1):
      Make prune also run prune-packed

Jakub Narębski (2):
      gitweb: Whitespace cleanup - tabs are for indent, spaces are for align (2)
      gitweb: Do not esc_html $basedir argument to git_print_tree_entry

Jim Meyering (2):
      git-clone: honor --quiet
      xdiff/xemit.c (xdl_find_func): Elide trailing white space in a context header.

Junio C Hamano (2):
      pager: default to LESS=FRSX not LESS=FRS
      daemon: do not die on older clients.

Karl Wiberg (1):
      git-vc: better installation instructions

Lars Hjemli (1):
      Fix usagestring for git-branch

Petr Baudis (1):
      gitweb: Fix setting $/ in parse_commit()

René Scharfe (1):
      git-merge: show usage if run without arguments

Santi Béjar (1):
      Documentation for the [remote] config


Version v1.4.3.1; changes since v1.4.3:
---------------------------------------

Junio C Hamano (1):
      pager: default to LESS=FRS

Lars Hjemli (1):
      Fix typo in show-index.c

Linus Torvalds (1):
      git-apply: prepare for upcoming GNU diff -u format change.

Nguyễn Thái Ngọc Duy (2):
      Reject hexstring longer than 40-bytes in get_short_sha1()
      Add revspec documentation for ':path', ':[0-3]:path' and git-describe

Nicolas Pitre (1):
      reduce delta head inflated size


Version v1.4.3; changes since v1.4.3-rc3:
-----------------------------------------

Andy Whitcroft (1):
      add proper dependancies on the xdiff source

Junio C Hamano (1):
      Revert "move pack creation to version 3"

Linus Torvalds (1):
      Fix hash function in xdiff library

Markus Amsler (1):
      git-imap-send: Strip smtp From_ header from imap message.

Petr Baudis (1):
      svnimport: Fix broken tags being generated

René Scharfe (2):
      Make write_sha1_file_prepare() void
      Replace open-coded version of hash_sha1_file()


Version v1.4.3-rc3; changes since v1.4.3-rc2:
---------------------------------------------

Christian Couder (1):
      Fix tracing when GIT_TRACE is set to an empty string.

Eric Wong (8):
      git-svn: multi-init saves and reuses --tags and --branches arguments
      git-svn: log command fixes
      Documentation/git-svn: document some of the newer features
      git-svn: -h(elp) message formatting fixes
      commit: fix a segfault when displaying a commit with unreachable parents
      git-svn: add a message encouraging use of SVN::* libraries
      git-svn: fix commits over svn+ssh://
      git-svn: reduce memory usage for large commits

Johannes Schindelin (3):
      diff: fix 2 whitespace issues
      cvsserver: Show correct letters for modified, removed and added files
      cvsserver: fix "cvs diff" in a subdirectory

Junio C Hamano (6):
      Add WEBDAV timeout to http-fetch.
      git-fetch --update-head-ok typofix
      git-pull: we say commit X, not X commit.
      git.spec.in: perl subpackage is installed in perl_vendorlib not vendorarch
      apply --numstat -z: line termination fix.
      t4015: work-around here document problem on Cygwin.

Martin Waitz (1):
      paginate git-diff by default

Nicolas Pitre (1):
      atomic write for sideband remote messages

René Scharfe (3):
      Documentation: add missing second colons and remove a typo
      Add hash_sha1_file()
      Make write_sha1_file_prepare() static

Yasushi SHOJI (1):
      clone: the given repository dir should be relative to $PWD


Version v1.4.3-rc2; changes since v1.4.3-rc1:
---------------------------------------------

Alan Chandler (2):
      Update the gitweb/README file to include setting the GITWEB_CONFIG environment
      Fix usage string to match that given in the man page

Alexandre Julliard (2):
      git.el: Fixed inverted "renamed from/to" message.
      vc-git.el: Switch to using git-blame instead of git-annotate.

Dennis Stosberg (2):
      lock_ref_sha1_basic does not remove empty directories on BSD
      Add default values for --window and --depth to the docs

Franck Bui-Huu (1):
      Add git-upload-archive to the main git man page

Jakub Narębski (1):
      gitweb: Cleanup Git logo and Git logo target generation

Junio C Hamano (9):
      Makefile: install and clean merge-recur, still.
      git-mv: invalidate the removed path properly in cache-tree
      git-push: .git/remotes/ file does not require SP after colon
      escape tilde in Documentation/git-rev-parse.txt
      tar-tree deprecation: we eat our own dog food.
      gitweb: Make the Git logo link target to point to the homepage
      git-send-email: avoid uninitialized variable warning.
      cherry-pick: make -r the default
      Fix git-revert

Luben Tuikov (3):
      gitweb: Escape ESCAPE (\e) character
      gitweb: Do not print "log" and "shortlog" redundantly in commit view
      gitweb: blame: Minimize vertical table row padding

Martin Waitz (4):
      gitweb: document webserver configuration for common gitweb/repo URLs.
      git-commit: cleanup unused function.
      git-commit: fix coding style.
      test-lib: separate individual test better in verbose mode.

Nicolas Pitre (1):
      add commit count options to git-shortlog

Petr Baudis (4):
      Show snapshot link in shortlog only if have_snapsho
      gitweb: Separate (new) and (deleted) in commitdiff by a space
      gitweb: Handle commits with empty commit messages more reasonably
      gitweb: [commit view] Do not suppress commitdiff link in root commit

René Scharfe (1):
      git-tar-tree: don't RUN_SETUP

Robin Rosenberg (1):
      Error in test description of t1200-tutorial

Yasushi SHOJI (1):
      gitweb: refactor decode() for utf8 conversion


Version v1.4.3-rc1; changes since v1.4.2.4:
-------------------------------------------

Alex Riesen (3):
      Use const for interpolate arguments
      fix daemon.c compilation for NO_IPV6=1
      do not discard constness in interp_set_entry value argument

Andy Whitcroft (3):
      send-pack: remove remote reference limit
      send-pack: switch to using git-rev-list --stdin
      svnimport: add support for parsing From: lines for author

Aneesh Kumar K.V (4):
      gitweb: Support for snapshot
      gitweb: fix snapshot support
      gitweb: Make blame and snapshot a feature.
      gitweb: Fix git_blame

Art Haas (1):
      Patch for http-fetch.c and older curl releases

Christian Couder (8):
      Trace into open fd and refactor tracing code.
      Trace into a file or an open fd and refactor tracing code.
      Update GIT_TRACE documentation.
      Fix memory leak in prepend_to_path (git.c).
      Move add_to_string to "quote.c" and make it extern.
      Fix a memory leak in "connect.c" and die if command too long.
      Fix space in string " false" problem in "trace.c".
      Remove empty ref directories that prevent creating a ref.

David Rientjes (18):
      blame.c return cleanup
      builtin-grep.c cleanup
      builtin-push.c cleanup
      diff.c cleanup
      http-push.c cleanup
      read-cache.c cleanup
      Make pprint_tag void and cleans up call in cmd_cat_file.
      Make show_entry void
      Make checkout_all void.
      Make fsck_dir void.
      Make pack_objects void.
      Make track_tree_refs void.
      Make upload_pack void and remove conditional return.
      Make sha1flush void and remove conditional return.
      make inline is_null_sha1 global
      use appropriate typedefs
      remove unnecessary initializations
      Do not use memcmp(sha1_1, sha1_2, 20) with hardcoded length.

Dennis Stosberg (10):
      "test" in Solaris' /bin/sh does not support -e
      Makefile fix for Solaris
      Add possibility to pass CFLAGS and LDFLAGS specific to the perl subdir
      Solaris has strlcpy() at least since version 8
      Look for sockaddr_storage in sys/socket.h
      Fix detection of ipv6 on Solaris
      Fix compilation with Sun CC
      gitweb: Use --git-dir parameter instead of setting $ENV{'GIT_DIR'}
      gitweb: Remove forgotten call to git_to_hash
      use do() instead of require() to include configuration

Dmitry V. Levin (3):
      Make count-objects, describe and merge-tree work in subdirectory
      Documentation: Fix broken links
      Handle invalid argc gently

Eric Wong (5):
      pass DESTDIR to the generated perl/Makefile
      git-svn: establish new connections on commit after fork
      git-svn: recommend rebase for syncing against an SVN repo
      git-svn: add the 'dcommit' command
      git-svn: stop repeatedly reusing the first commit message with dcommit

Franck Bui-Huu (10):
      Add a newline before appending "Signed-off-by: " line
      log-tree.c: cleanup a bit append_signoff()
      Add git-archive
      git-archive: wire up TAR format.
      git-archive: wire up ZIP format.
      Add git-upload-archive
      connect.c: finish_connect(): allow null pid parameter
      Test return value of finish_connect()
      upload-archive: monitor child communication even more carefully.
      git-archive: update documentation

Haavard Skinnemoen (1):
      git-send-email: Don't set author_not_sender from Cc: lines

Jakub Narębski (138):
      gitweb: whitespace cleanup
      gitweb: Use list for of open for running git commands, thorougly.
      gitweb: simplify git_get_hash_by_path
      gitweb: More explicit error messages for open "-|"
      gitweb: Cleanup - chomp $line in consistent style
      gitweb: Cleanup - chomp @lines in consistent style
      gitweb: Add git_page_nav for later use
      gitweb: Navbar refactoring - use git_page_nav to generate navigation bar
      gitweb: Replace form-feed character by ^L
      gitweb: Show project descriptions with utf-8 characters in project list correctly
      gitweb: Add "\n" after <br/> in git_page_nav
      gitweb: Pager refactoring - use git_get_paging_nav for pagination
      gitweb: Remove $project from git_get_paging_nav arguments
      gitweb: Headers refactoring - use git_header_div for header divs
      gitweb: Remove characters entities entirely when shortening string
      gitweb: Ref refactoring - use git_get_referencing for marking tagged/head commits
      gitweb: Refactor generation of shortlog, tags and heads body
      gitweb: do not quote path for list version of open "-|"
      gitweb: Remove characters entities entirely when shortening string -- correction
      gitweb: Reordering code and dividing it into categories
      gitweb: Refactoring git_project_list
      autoconf: Add support for setting SHELL_PATH and PERL_PATH
      autoconf: Move site configuration section earlier in configure.ac
      autoconf: Add support for setting PYTHON_PATH or NO_PYTHON
      autoconf: Check for ll hh j z t size specifiers introduced by C99
      autoconf: Typo cleanup, reordering etc.
      Copy description of new build configuration variables to configure.ac
      autoconf: Set NEEDS_LIBICONV unconditionally if there is no iconv in libc
      gitweb: Separate input validation and dispatch, add comment about opml action
      gitweb: die_error first (optional) parameter is HTTP status
      gitweb: Use undef for die_error to use default first (status) parameter value
      gitweb: Don't undefine query parameter related variables before die_error
      gitweb: Cleanup and uniquify error messages
      gitweb: No periods for error messages
      gitweb: No error messages with unescaped/unprotected user input
      gitweb: PATH_INFO=/ means no project
      gitweb: Inline $rss_link
      gitweb: Refactor untabifying - converting tabs to spaces
      gitweb: fix commitdiff for root commits
      gitweb: Skip nonmatching lines in difftree output, consistently
      autoconf: Unset NO_STH and NEED_STH when it is detected not needed
      gitweb: Remove unused variables in git_shortlog_body and git_heads
      autoconf: Add configure target to main Makefile
      autoconf: Error out on --without-shell and --without-perl
      autoconf: Improvements in NO_PYTHON/PYTHON_PATH handling
      autoconf: Move variables which we always set to config.mak.in
      autoconf: It is --without-python, not --no-python
      autoconf: Add support for setting CURLDIR, OPENSSLDIR, EXPATDIR
      gitweb: Whitespace cleanup - tabs are for indent, spaces are for align
      gitweb: Great subroutines renaming
      gitweb: Separate ref parsing in git_get_refs_list into parse_ref
      gitweb: Refactor printing shortened title in git_shortlog_body and git_tags_body
      gitweb: Separate main part of git_history into git_history_body
      gitweb: Separate finding project owner into git_get_project_owner
      gitweb: Change appereance of marker of refs pointing to given object
      gitweb: Skip comments in mime.types like file
      gitweb: True fix: Support for the standard mime.types map in gitweb
      gitweb: Separate printing difftree in git_commit into git_difftree_body
      gitweb: Show project's git URL on summary page
      gitweb: Add support for per project git URLs
      gitweb: Uniquify version info output, add meta generator in page header
      gitweb: Refactor printing commit message
      gitweb: Added parse_difftree_raw_line function for later use
      gitweb: Use parse_difftree_raw_line in git_difftree_body
      gitweb: bugfix: a.list formatting regression
      gitweb: Replace some presentational HTML by CSS
      gitweb: Whitespace cleanup: realign, reindent
      gitweb: Use underscore instead of hyphen to separate words in HTTP headers names
      gitweb: Route rest of action subroutines through %actions
      gitweb: Use here-doc
      gitweb: Drop the href() params which keys are not in %mapping
      gitweb: Sort CGI parameters returned by href()
      gitweb: Use git-diff-tree patch output for commitdiff
      gitweb: Show information about incomplete lines in commitdiff
      gitweb: Remove invalid comment in format_diff_line
      gitweb: Streamify patch output in git_commitdiff
      gitweb: Add git_get_{following,preceding}_references functions
      gitweb: Faster return from git_get_preceding_references if possible
      gitweb: Add git_get_rev_name_tags function
      gitweb: Use git_get_name_rev_tags for commitdiff_plain X-Git-Tag: header
      gitweb: Add support for hash_parent_base parameter for blobdiffs
      gitweb: Allow for pre-parsed difftree info in git_patchset_body
      gitweb: Parse two-line from-file/to-file diff header in git_patchset_body
      gitweb: Add invisible hyperlink to from-file/to-file diff header
      gitweb: Always display link to blobdiff_plain in git_blobdiff
      gitweb: Change here-doc back for style consistency in git_blobdiff
      gitweb: Use git-diff-tree or git-diff patch output for blobdiff
      gitweb: git_blobdiff_plain is git_blobdiff('plain')
      gitweb: Remove git_diff_print subroutine
      gitweb: Remove creating directory for temporary files
      gitweb: git_annotate didn't expect negative numeric timezone
      gitweb: Remove workaround for git-diff bug fixed in f82cd3c
      gitweb: Improve comments about gitweb features configuration
      gitweb: blobs defined by non-textual hash ids can be cached
      gitweb: Fix typo in git_difftree_body
      gitweb: Fix typo in git_patchset_body
      gitweb: Remove unused git_get_{preceding,following}_references
      gitweb: Remove git_to_hash function
      gitweb: Use @diff_opts, default ('M'), as git-diff and git-diff-tree paramete
      gitweb: Make git_print_log generic; git_print_simplified_log uses it
      gitweb: Do not remove signoff lines in git_print_simplified_log
      gitweb: Add author information to commitdiff view
      gitweb: git_print_log: signoff line is non-empty line
      gitweb: Add diff tree, with links to patches, to commitdiff view
      gitweb: Add local time and timezone to git_print_authorship
      gitweb: Move git-ls-tree output parsing to parse_ls_tree_line
      gitweb: Separate printing of git_tree row into git_print_tree_entry
      gitweb: Extend parse_difftree_raw_line to save commit info
      gitweb: Change the name of diff to parent link in "commit" view to "diff
      gitweb: Add GIT favicon, assuming image/png type
      gitweb: Correct typo: '==' instead of 'eq' in git_difftree_body
      gitweb: Divide page path into directories -- path's "breadcrumbs"
      autoconf: Add -liconv to LIBS when NEEDS_LIBICONV
      autoconf: Check for subprocess.py
      autoconf: Quote AC_CACHE_CHECK arguments
      autoconf: Fix copy'n'paste error
      autoconf: Set NO_ICONV if iconv is found neither in libc, nor in libiconv
      autoconf: Add support for setting NO_ICONV and ICONVDIR
      autoconf: Add config.cache to .gitignore
      gitweb: Make pickaxe search a feature
      gitweb: Paginate history output
      gitweb: Use File::Find::find in git_get_projects_list
      gitweb: Do not parse refs by hand, use git-peek-remote instead
      gitweb: Add git_project_index for generating index.aux
      gitweb: Allow for href() to be used for links without project param
      gitweb: Add link to "project_index" view to "project_list" page
      gitweb: Fix mimetype_guess_file for files with multiple extensions
      gitweb: Even more support for PATH_INFO based URLs
      gitweb: Require project for almost all actions
      gitweb: Always use git-peek-remote in git_get_references
      gitweb: Make git_get_refs_list do work of git_get_references
      gitweb: Fix thinko in git_tags and git_heads
      gitweb: Make git_get_hash_by_path check type if provided
      gitweb: Strip trailing slashes from $path in git_get_hash_by_path
      gitweb: Use "return" instead of "return undef" for some subs
      gitweb: Split validate_input into validate_pathname and validate_refname
      gitweb: Add git_url subroutine, and use it to quote full URLs
      gitweb: Quote filename in HTTP Content-Disposition: header

Jeff King (9):
      gitweb: optionally read config from GITWEB_CONFIG
      diff: support custom callbacks for output
      Move color option parsing out of diff.c and into color.[ch]
      git-commit.sh: convert run_status to a C builtin
      git-status: document colorization config options
      contrib/vim: add syntax highlighting file for commits
      wt-status: remove extraneous newline from 'deleted:' output
      rev-list: fix segfault with --{author,committer,grep}
      git-repack: allow git-repack to run in subdirectory

Johannes Schindelin (35):
      Git.xs: older perl do not know const char *
      Status update on merge-recursive in C
      Cumulative update of merge-recursive in C
      merge-recur: Convert variable names to lower_case
      merge-recur: Get rid of debug code
      merge-recur: Remove dead code
      merge-recur: Fix compiler warning with -pedantic
      merge-recur: Cleanup last mixedCase variables...
      merge-recur: Explain why sha_eq() and struct stage_data cannot go
      merge-recur: fix thinko in unique_path()
      read-trees: refactor the unpack_trees() part
      read-tree: move merge functions to the library
      merge-recur: use the unpack_trees() interface instead of exec()ing read-tree
      merge-recur: virtual commits shall never be parsed
      merge-recursive: fix rename handling
      http-push: avoid fork() by calling merge_bases() directly
      merge-recur: do not call git-write-tree
      merge-recur: do not setenv("GIT_INDEX_FILE")
      merge-recur: if there is no common ancestor, fake empty one
      merge-recur: try to merge older merge bases first
      merge-recur: do not die unnecessarily
      discard_cache(): discard index, even if no file was mmap()ed
      Add the --color-words option to the diff options family
      builtin-mv: readability patch
      unpack-objects: remove unused variable "eof"
      Makefile: fix typo
      Remove uneeded #include
      fmt-merge-msg: fix off-by-one bug
      Teach runstatus about --untracked
      add receive.denyNonFastforwards config variable
      receive-pack: plug memory leak in fast-forward checking code.
      Document receive.denyNonFastforwards
      runstatus: do not recurse into subdirectories if not needed
      daemon: default to 256 for HOST_NAME_MAX if it is not defined
      diff --stat: ensure at least one '-' for deletions, and one '+' for additions

Jon Loeliger (3):
      Add virtualization support to git-daemon
      Cleaned up git-daemon virtual hosting support.
      Removed memory leaks from interpolation table uses.

Jonas Fonseca (21):
      git-apply(1): document missing options and improve existing ones
      git-ls-remote(1): document --upload-pack
      git-blame(1): mention options in the synopsis and advertise pickaxe
      gitk(1): expand the manpage to look less like a template
      git(7): put the synopsis in a verse style paragraph
      gitview.txt: improve asciidoc markup
      git-svn(1): improve asciidoc markup
      describe: fix off-by-one error in --abbrev=40 handling
      Use PATH_MAX instead of MAXPATHLEN
      Use xrealloc instead of realloc
      Use fstat instead of fseek
      Use xcalloc instead of calloc
      Add --relative-date option to the revision interface
      git(7): move gitk(1) to the list of porcelain commands
      Use xmalloc instead of malloc
      Include config.mak.autogen in the doc Makefile
      git-rev-list(1): group options; reformat; document more options
      git-apply(1): document --unidiff-zero
      git-repack(1): document --window and --depth
      Fix trivial typos and inconsistencies in hooks documentation
      gitk(1): mention --all

Junio C Hamano (125):
      Perl interface: add build-time configuration to allow building with -fPIC
      Perl interface: make testsuite work again.
      perl: fix make clean
      Git.pm: tentative fix to test the freshly built Git.pm
      Perly Git: arrange include path settings properly.
      Makefile: Set USE_PIC on x86-64
      Perly git: work around buggy make implementations.
      Git.pm: clean generated files.
      Perly Git: make sure we do test the freshly built one.
      INSTALL: a tip for running after building but without installing.
      Work around sed and make interactions on the backslash at the end of line.
      upload-pack: use object pointer not copy of sha1 to keep track of has/needs.
      upload-pack: lift MAX_NEEDS and MAX_HAS limitation
      recur vs recursive: help testing without touching too many stuff.
      sha1_file.c: expose map_sha1_file() interface.
      pack-objects: reuse deflated data from new-style loose objects.
      unpack-objects: read configuration data upon startup.
      Makefile: git-merge-recur depends on xdiff libraries.
      gitweb: There can be more than two levels of subdirectories
      gitweb: an obvious cut and paste error.
      gitweb: fix use of uninitialized value.
      gitweb: when showing history of a tree, show tree link not blob
      gitweb: avoid undefined value warning in print_page_path
      gitweb/README: do not bug Kay with gitweb questions anymore
      Makefile: gitweb/gitweb.cgi is now generated.
      gitweb: do not use @@FOO@@ for replaced tokens
      .gitignore: git-merge-recur is a built file.
      Make git-checkout-index a builtin
      builtins: Makefile clean-up
      git.c: Rename NEEDS_PREFIX to RUN_SETUP
      autoconf: fix NEEDS_SSL_WITH_CRYPTO
      autoconf: NO_IPV6
      Racy git: avoid having to be always too careful
      read-cache: tweak racy-git delay logic
      autoconf: clean temporary file mak.append
      git-grep: show pathnames relative to the current directory
      upload-pack: minor clean-up in multi-ack logic
      Fix type of combine-diff.c::show_patch_diff()
      Remove combine-diff.c::uninteresting()
      t4116 apply --reverse test
      git-apply --reverse: simplify reverse option.
      git-apply --binary: clean up and prepare for --reverse
      avoid nanosleep(2)
      Documentation/technical/racy-git.txt
      Add check program "git-check-racy"
      Remove the "delay writing to avoid runtime penalty of racy-git avoidance"
      builtin-grep: remove unused debugging cruft.
      builtin-apply --reverse: two bugfixes.
      diff.c: make binary patch reversible.
      apply --reverse: tie it all together.
      git-apply --reject
      git-apply --reject: send rejects to .rej files.
      git-apply --verbose
      apply --reject: count hunks starting from 1, not 0
      Convert memset(hash,0,20) to hashclr(hash).
      hashcpy/hashcmp remaining bits.
      builtin-grep.c: remove unused debugging piece.
      update-index -g
      git-apply --reject: finishing touches.
      free(NULL) is perfectly valid.
      daemon: prepare for multiple services.
      daemon: add upload-tar service.
      multi-service daemon: documentation
      t5710: fix two thinkos.
      Constness tightening for move/link_temp_to_file()
      consolidate two copies of new style object header parsing code.
      pack-objects: re-validate data we copy from elsewhere.
      Revert "Convert git-annotate to use Git.pm"
      Revert "Git.pm: Introduce fast get_object() method"
      Revert "Make it possible to set up libgit directly (instead of from the environment)"
      pack-objects: fix thinko in revalidate code
      more lightweight revalidation while reusing deflated stream in packing
      unpack-objects desperately salvages objects from a corrupt pack
      revision.c: allow injecting revision parameters after setup_revisions().
      Teach rev-list an option to read revs from the standard input.
      Revert "daemon: add upload-tar service."
      Make apply --binary a no-op.
      diff --binary generates full index on binary files.
      Separate object listing routines out of rev-list
      pack-objects: run rev-list equivalent internally.
      pack-objects: further work on internal rev-list logic.
      pack-objects --unpacked=<existing pack> option.
      get_sha1_hex() micro-optimization
      archive: allow remote to have more formats than we understand.
      Move sideband client side support into reusable form.
      Move sideband server side support into reusable form.
      archive: force line buffered output to stderr
      Add --verbose to git-archive
      Teach --exec to git-archive --remote
      Prepare larger packet buffer for upload-pack protocol.
      Add sideband status report to git-archive protocol
      upload-archive: monitor child communication more carefully.
      builtin-archive.c: rename remote_request() to extract_remote_arg()
      pack-objects: document --revs, --unpacked and --all.
      http-fetch: fix alternates handling.
      unpack-objects -r: call it "recover".
      Document git-grep -[Hh]
      Define fallback PATH_MAX on systems that do not define one in <limits.h>
      Fix git-am safety checks
      http-fetch.c: consolidate code to detect missing fetch target
      Add ftp:// protocol support for git-http-fetch
      t1400: make test debuggable.
      apply --unidiff-zero: loosen sanity checks for --unidiff=0 patches
      builtin-grep: make pieces of it available as library.
      revision traversal: prepare for commit log match.
      revision traversal: --author, --committer, and --grep.
      repack: use only pack-objects, not rev-list.
      Update grep internal for grepping only in head/body
      git log: Unify header_filter and message_filter into one.
      Make hexval() available to others.
      sha1_name.c: understand "describe" output as a valid object name
      diff.c: second war on whitespace.
      git-apply: second war on whitespace.
      Add t5510 to test per branch configuration affecting git-fetch.
      Remove upload-tar and make git-tar-tree a thin wrapper to git-archive
      Deprecate merge-recursive.py
      diff --stat: allow custom diffstat output width.
      diff --stat: color output.
      An illustration of rev-list --parents --pretty=raw
      grep: free expressions and patterns when done.
      grep: fix --fixed-strings combined with expression.
      Contributed bash completion support for core Git tools.
      git-diff -B output fix.
      Remove -fPIC which was only needed for Git.xs
      GIT 1.4.3-rc1

Linus Torvalds (10):
      Relative timestamps in git log
      git-fsck-objects: lacking default references should not be fatal
      Fix git-fsck-objects SIGSEGV/divide-by-zero
      Add "-h/-H" parsing to "git grep"
      Allow multiple "git_path()" uses
      git-log --author and --committer are not left-anchored by default
      Clean up approxidate() in preparation for fixes
      Fix approxidate() to understand more extended numbers
      diff --stat=width[,name-width]: allow custom diffstat output width.
      Fix approxidate() to understand 12:34 AM/PM are 00:34 and 12:34

Liu Yubao (1):
      Fix duplicate xmalloc in builtin-add

Luben Tuikov (19):
      gitweb: git_tree displays blame based on repository config
      gitweb: bugfix: git_commit and git_commitdiff parents
      gitweb: blame table row no highlight fix
      gitweb: bugfix: commitdiff regression
      gitweb: bugfix: git_print_page_path() needs the hash base
      gitweb: tree view: eliminate redundant "blob"
      gitweb: Remove redundant "tree" link
      gitweb: extend blame to show links to diff and previous
      Revert "gitweb: extend blame to show links to diff and previous"
      gitweb: Remove excessively redundant entries from git_difftree_body
      gitweb: Add history and blame to git_difftree_body()
      gitweb: "alternate" starts with shade (i.e. 1)
      gitweb: Remove redundant "commit" link from shortlog
      gitweb: Factor out gitweb_have_snapshot()
      gitweb: Add snapshot to shortlog
      gitweb: Don't use quotemeta on internally generated strings
      gitweb: Remove redundant "commit" from history
      gitweb: History: blob and tree are first, then commitdiff, etc
      gitweb: tree view: hash_base and hash are now context sensitive

Martin Langhoff (1):
      git-repack: create new packs inside $GIT_DIR, not cwd

Martin Waitz (11):
      gitweb: fill in gitweb configuration by Makefile
      gitweb: use out-of-line GIT logo.
      gitweb: provide function to format the URL for an action link.
      gitweb: consolidate action URL generation.
      gitweb: continue consolidation of URL generation.
      gitweb: support for "fp" parameter.
      gitweb: support for / as home_link.
      gitweb: fix project list if PATH_INFO=="/".
      gitweb: more support for PATH_INFO based URLs
      gitweb: fix uninitialized variable warning.
      gitweb: fix display of trees via PATH_INFO.

Matthias Kestenholz (6):
      Make git-name-rev a builtin
      Make git-pack-objects a builtin
      Make git-unpack-objects a builtin
      Make git-symbolic-ref a builtin
      Add gitweb.cgi to .gitignore
      Check if pack directory exists prior to descending into it

Matthias Lederhofer (12):
      pager: environment variable GIT_PAGER to override PAGER
      gitweb: use a hash to lookup the sub for an action
      gitweb: require $ENV{'GITWEB_CONFIG'}
      gitweb: check if HTTP_ACCEPT is really set
      gitweb: fix commitdiff_plain for root commits
      gitweb: fix $project usage
      gitweb: do not use 'No such directory' error message
      gitweb: export options
      gitweb: fix warnings in PATH_INFO code and add export_ok/strict_export
      gitweb fix validating pg (page) parameter
      format-patch: use cwd as default output directory
      git-format-patch: fix bug using -o in subdirectories

Nicolas Pitre (2):
      move pack creation to version 3
      many cleanups to sha1_file.c

Paul Mackerras (10):
      gitk: Minor cleanups
      gitk: Recompute ancestor/descendent heads/tags when rereading refs
      gitk: Add a row context-menu item for creating a new branch
      gitk: Add a context menu for heads
      gitk: Fix a couple of buglets in the branch head menu items
      gitk: Add a menu item for cherry-picking commits
      gitk: Update preceding/following tag info when creating a tag
      gitk: Improve responsiveness while reading and layout out the graph
      gitk: Fix some bugs in the new cherry-picking code
      diff-index --cc shows a 3-way diff between HEAD, index and working tree.

Pavel Roskin (3):
      Fix probing for already installed Error.pm
      Delete manuals if compiling without docs
      Make perl interface a separate package

Petr Baudis (43):
      Introduce Git.pm (v4)
      Git.pm: Implement Git::exec_path()
      Git.pm: Call external commands using execv_git_cmd()
      Git.pm: Implement Git::version()
      Add Error.pm to the distribution
      Git.pm: Better error handling
      Git.pm: Handle failed commands' output
      Git.pm: Enhance the command_pipe() mechanism
      Git.pm: Implement options for the command interface
      Git.pm: Add support for subdirectories inside of working copies
      Convert git-mv to use Git.pm
      Git.pm: assorted build related fixes.
      Git.pm: Try to support ActiveState output pipe
      Git.pm: Swap hash_object() parameters
      Git.pm: Fix Git->repository("/somewhere/totally/elsewhere")
      Git.pm: Support for perl/ being built by a different compiler
      Git.pm: Remove PerlIO usage from Git.xs
      Git.pm: Avoid ppport.h
      Git.pm: Don't #define around die
      Use $GITPERLLIB instead of $RUNNING_GIT_TESTS and centralize @INC munging
      Git.pm: Add config() method
      Convert git-send-email to use Git.pm
      Git.pm: Introduce ident() and ident_person() methods
      Make it possible to set up libgit directly (instead of from the environment)
      Git.pm: Introduce fast get_object() method
      Convert git-annotate to use Git.pm
      Eliminate Scalar::Util usage from private-Error.pm
      Fix showing of path in tree view
      gitweb: Link (HEAD) tree for each project from projects list
      gitweb: More per-view navigation bar links
      gitweb: Link to tree instead of snapshot in shortlog
      gitweb: Link to latest tree from the head line in heads list
      gitweb: Link to associated tree from a particular log item in full log view
      gitweb: Rename "plain" labels to "raw"
      gitweb: Relabel "head" as "HEAD"
      Make path in tree view look nicer
      gitweb: Fix tree link associated with each commit log entry.
      gitweb: Fix @git_base_url_list usage
      Fix snapshot link in tree view
      Git.pm: Kill Git.xs for now
      Deprecate git-resolve.sh
      gitweb: Consolidate escaping/validation of query string
      gitweb: fix over-eager application of esc_html().

Pierre Habouzit (7):
      Fix a comparison bug in diff-delta.c
      avoid to use error that shadows the function name, use err instead.
      git_dir holds pointers to local strings, hence MUST be const.
      missing 'static' keywords
      remove ugly shadowing of loop indexes in subloops.
      use name[len] in switch directly, instead of creating a shadowed variable.
      n is in fact unused, and is later shadowed.

Randal L. Schwartz (1):
      builtin-upload-archive.c broken on openbsd

René Scharfe (15):
      git-verify-pack: make builtin
      Axe the last ent
      Add write_or_die(), a helper function
      Add git-zip-tree
      git-cherry: remove unused variable
      git-reset: remove unused variable
      Add git-zip-tree to .gitignore
      git-archive: make compression level of ZIP archives configurable
      Use xstrdup instead of strdup in builtin-{tar,zip}-tree.c
      git-archive: inline default_parse_extra()
      git-tar-tree: devolve git-tar-tree into a wrapper for git-archive
      Remove git-zip-tree
      Rename builtin-zip-tree.c to archive-zip.c
      git-tar-tree: Remove duplicate git_config() call
      git-tar-tree: Move code for git-archive --format=tar to archive-tar.c

Robin Rosenberg (2):
      Quote arguments to tr in test-lib
      Make cvsexportcommit remove files.

Santi Béjar (4):
      Fetch: default remote repository from branch properties
      fetch: get the remote branches to merge from the branch properties
      Add test for the default merges in fetch.
      fetch: Reset remote refs list each time fetch_main is called

Sasha Khapyorsky (3):
      Trivial support for cloning and fetching via ftp://.
      git-svnimport: Parse log message for Signed-off-by: lines
      http/ftp: optionally ask curl to not use EPSV command

Sergey Vlasov (2):
      Documentation: Fix howto/revert-branch-rebase.html generation
      git-svn: Fix fetch --no-ignore-externals with GIT_SVN_NO_LIB=1

Shawn O. Pearce (15):
      Verify we know how to read a pack before trying to using it.
      Remove unnecessary forward declaration of unpack_entry.
      Convert memcpy(a,b,20) to hashcpy(a,b).
      Convert memcpy(a,b,20) to hashcpy(a,b).
      Reorganize/rename unpack_non_delta_entry to unpack_compressed_entry.
      Reuse compression code in unpack_compressed_entry.
      Cleanup unpack_entry_gently and friends to use type_name array.
      Cleanup unpack_object_header to use only offsets.
      Convert unpack_entry_gently and friends to use offsets.
      Replace uses of strdup with xstrdup.
      Allow 'svn fetch' on '(no date)' revisions in Subversion.
      Allow '(no author)' in git-svn's authors file.
      Ignore executable bit when adding files if filemode=0.
      Allow git-checkout when on a non-existant branch.
      Corrected copy-and-paste thinko in ignore executable bit test case.

Tilman Sauerbeck (2):
      Indentation fix.
      Added support for dropping privileges to git-daemon.

Timo Hirvonen (2):
      --name-only, --name-status, --check and -s are mutually exclusive
      Remove awkward compatibility warts

Ville Skyttä (1):
      Be nicer if git executable is not installed

Yasushi SHOJI (2):
      gitweb: configurable home link string
      gitweb: Decode long title for link tooltips


Version v1.4.2.4; changes since v1.4.2.3:
-----------------------------------------

Linus Torvalds (1):
      Fix hash function in xdiff library


Version v1.4.2.3; changes since v1.4.2.2:
-----------------------------------------

Junio C Hamano (2):
      git-mv: invalidate the removed path properly in cache-tree
      git-push: .git/remotes/ file does not require SP after colon


Version v1.4.2.2; changes since v1.4.2.1:
-----------------------------------------

Junio C Hamano (2):
      Fix git-am safety checks
      git-diff -B output fix.

Liu Yubao (1):
      Fix duplicate xmalloc in builtin-add


Version v1.4.2.1; changes since v1.4.2:
---------------------------------------

Dennis Stosberg (1):
      Solaris does not support C99 format strings before version 10

Johannes Schindelin (5):
      git-mv: succeed even if source is a prefix of destination
      git-mv: add more path normalization
      git-mv: special case destination "."
      git-mv: fix off-by-one error
      builtin-mv: readability patch

Junio C Hamano (2):
      finish_connect(): thinkofix
      http-fetch: fix alternates handling.

Luben Tuikov (2):
      Fix regex pattern in commit-msg
      sample commit-msg hook: no silent exit on duplicate Signed-off-by lines


Version v1.4.2; changes since v1.4.2-rc4:
-----------------------------------------

Eric Wong (3):
      git-svn: correctly kill keyword expansion without munging EOLs
      git-svn: bugfix: allow SVN:: lib users to track the root of the repository
      git-svn: split the path from the url correctly with limited perms

Junio C Hamano (8):
      git-apply: applying a patch to make a symlink shorter.
      combine-diff: use color
      Fix git-diff A...B
      builtin-apply: remove unused increment
      git-sh-setup: do not use repo-config to test the git directory
      git-am: give better diagnostics when the patch does not apply during --3way
      Better error message when we are unable to lock the index file
      t/t4013: fix futzing with the version string.

Matthias Lederhofer (1):
      upload-pack: fix timeout in create_pack_file

Paul Mackerras (2):
      gitk: Allow the user to set some colors
      gitk: Show the currently checked-out head in bold font

Ramsay Jones (1):
      Fix header breakage with _XOPEN_SOURCE.

René Scharfe (9):
      Add has_extension()
      git-verify-pack: show usage when no pack was specified
      git-verify-pack: more careful path handling
      git-verify-pack: insist on .idx extension
      git-verify-pack: get rid of while loop
      git-verify-pack: free pack after use and a cleanup
      git-verify-pack: buffer overrun paranoia
      git-verify-pack: no need to count errors
      drop length argument of has_extension

Rutger Nijlunsing (2):
      http-push: Make WebDAV work with (broken?) default apache2 WebDAV module
      Add Documentation/howto/setup-git-server-over-http.txt


Version v1.4.2-rc4; changes since v1.4.2-rc3:
---------------------------------------------

Jeff King (1):
      git-push: allow pushing from subdirectories

Johannes Schindelin (1):
      Fix crash when GIT_DIR is invalid

Jonas Fonseca (1):
      Update git-init-db(1) and documentation of core.sharedRepository

Junio C Hamano (13):
      Cygwin needs NO_C99_FORMAT???
      Further clean-up: usage() vs die()
      Makefile: Cygwin does not seem to need NO_STRLCPY
      Fix "grep -w"
      debugging: XMALLOC_POISON
      builtin-mv: fix use of uninitialized memory.
      GIT-VERSION-GEN: adjust for ancient git
      Documentation: git-status takes the same options as git-commit
      Fix tutorial-2.html
      check return value from diff_setup_done()
      find_unique_abbrev() with len=0 should not abbreviate
      make --find-copies-harder imply -C
      allow diff.renamelimit to be set regardless of -M/-C

Michael Krelin (1):
      handle https:// protocol in git-clone

Ramsay Jones (4):
      Fixup command names in some usage strings.
      Replace some calls to die(usage_str) with usage(usage_str).
      Allow config file to specify Signed-off-by identity in format-patch.
      commit walkers: setup_ident() to record correct committer in ref-log.

René Scharfe (1):
      git-tar-tree: fix minor memory leak

Ryan Anderson (2):
      log-tree: show_log() should respect the setting of diffopt->line_termination
      annotate: Fix bug when parsing merges with differing real and logical parents.

Uwe Zeisberger (1):
      Document rev-list's option --merge


Version v1.4.2-rc3; changes since v1.4.2-rc2:
---------------------------------------------

Gerrit Pape (1):
      Build on Debian GNU/kFreeBSD

Jakub Narębski (11):
      Allow INSTALL, bindir, mandir to be set in main Makefile
      Rename man1 and man7 variables to man1dir and man7dir
      autoconf: Use autoconf to write installation directories to config.mak.autogen
      Teach make clean about configure and autoconf
      Copy description of build configuration variables to configure.ac
      autoconf: Preparing the way for autodetection
      autoconf: Checks for typedefs, structures, and compiler characteristics.
      autoconf: Checks for some library functions.
      autoconf: Checks for libraries
      autoconf: Checks for some programs
      configure.ac vertical whitespace usage cleanup

Jeff King (4):
      git-push: allow -f as an alias for --force
      git-push: remove obsolete git-push.sh
      Documentation: convert uses of git-link macro to gitlink
      git-annotate: remove extraneous debugging line

Johannes Schindelin (16):
      Allow an alias to start with "-p"
      git wrapper: add --git-dir=<path> and --bare options
      git-instaweb: some Apache have mod_cgi builtin
      git-instaweb: respect bindir from Makefile
      gitweb: fix two warnings
      t7001: add test for git-mv dir1 dir2/
      git-cvsserver: support multiline commit messages
      Extract helper bits from c-merge-recursive work
      Make git-mv a builtin
      builtin git-mv: support moving directories
      instaweb: Be more clear if httpd or the browser fail
      cvsserver: imitate git-update-ref when committing
      Makefile: ssh-pull.o depends on ssh-fetch.c
      Teach git-apply about '-R'
      Fix http-fetch
      tar-tree: illustrate an obscure feature better

Josef Weidendorfer (1):
      Extend testing git-mv for renaming of subdirectories

Junio C Hamano (18):
      git-diff A...B to (usually) mean "git-diff `git-merge-base A B` B"
      t4112: simplify the test and remove unneeded working tree file.
      lost-found: use fsck-objects --full
      git-reset: detect update-ref error and report it.
      log and diff family: honor config even from subdirectories
      git-apply -R: binary patches are irreversible for now.
      t4103: fix binary patch application test.
      git-checkout: allow "checkout HEAD -- path"
      Builtins: control the use of pager from the command table.
      fetch/clone: mark messages from remote side stand out.
      Fix "git diff blob1 blob2" showing the diff in reverse.
      read-tree: shadowed variable fix.
      Add a couple of subdirectory tests.
      diff.c: do not use pathname comparison to tell renames
      Show both blob names from "git diff blob1 blob2"
      sideband: do not use color, just say "remote:"
      Documentation/git.txt: link git-svn and git-instaweb from the main page.
      GIT 1.4.2-rc3

Linus Torvalds (4):
      Call setup_git_directory() early
      Call setup_git_directory() much earlier
      Fix double "close()" in ce_compare_data
      Fix up some fallout from "setup_git_directory()" cleanups

Luben Tuikov (8):
      gitweb.cgi: Teach git_history() to read hash from $hash_base
      gitweb.cgi: Include direct link to "raw" files from "history"
      gitweb.cgi: git_blame2: an alternative simple working git blame
      gitweb.cgi: git_blame2: Allow back-trekking through commits
      gitweb.cgi: Show "raw" head of project link even when $hash is not defined
      gitweb.cgi: git_blame2: Revision blocks now have alternating colors
      gitweb.cgi: Centralize printing of the page path
      gitweb.cgi: git_blame2: slight optimization reading the blame lines

Matthias Kestenholz (3):
      Make git-prune-packed a builtin
      Make git-repo-config a builtin
      use declarations from builtin.h for builtin commands

Matthias Lederhofer (5):
      daemon: documentation for --reuseaddr, --detach and --pid-file
      setup_git_directory_gently: do not barf when GIT_DIR is given.
      git.c: allow alias expansion without a git directory
      pager: config variable pager.color
      git-grep: document --and, --or, --not, ( and )

Michael S. Tsirkin (1):
      mailinfo: accept >From in message header

Michele Ballabio (1):
      fixed variable declaration in gitk

Pavel Roskin (3):
      Typofix in configure.ac comment.
      Quote all calls to GIT_CONF_APPEND_LINE
      Set datarootdir in config.mak.in

Petr Baudis (5):
      Remove -d from *-fetch usage strings
      Make pull() take some implicit data as explicit arguments
      Make pull() support fetching multiple targets at once
      Teach git-local-fetch the --stdin switch
      Teach git-http-fetch the --stdin switch

Ramsay Jones (7):
      Ensure git-clone exits with error if perl script fails.
      Fix annotate test script; notice when git-annotate fails.
      Fix installation of templates on ancient systems.
      New tests and en-passant modifications to mktag.
      Add NO_C99_FORMAT to support older compilers.
      Fix header breakage due to redefining PATH_MAX.
      Remove cmd_usage() routine and re-organize the help/usage code.

Robert Shearman (2):
      rebase: Fix the detection of fast-forwarding of the current branch to upstream.
      rebase: Make the fast-fowarding message more user-friendly by using branch names instead of SHA1 IDs.

Shawn O. Pearce (1):
      Display an error from update-ref if target ref name is invalid.


Version v1.4.2-rc2; changes since v1.4.2-rc1:
---------------------------------------------

Alex Riesen (1):
      Trivial path optimization test

Alexandre Julliard (5):
      git.el: Run git-rerere on commits if the rr-cache directory exists.
      git.el: Prepend a slash to the file name when adding to .gitignore.
      git.el: Try to reuse an existing buffer when running git-status.
      git.el: Put the git customize group in the 'tools' parent group.
      show-branch: Fix another performance problem.

Daniel Drake (1):
      gitweb: escape tag comments

Eric Wong (2):
      typechange tests for git apply (currently failing)
      git-svn: fix fetching new directories copies when using SVN:: libs

Jeff King (2):
      pack-objects: check pack.window for default window size
      Colorize 'commit' lines in log ui

Johannes Schindelin (4):
      Fix t4114 on cygwin
      Always reset the color _before_ printing out the newline
      cvsserver: suppress warnings
      cvsserver: avoid warning about active db handles

Josh Triplett (3):
      git-format-patch: Make the second and subsequent mails replies to the first
      Add option to enable threading headers
      Add option to set initial In-Reply-To/References

Junio C Hamano (8):
      fetch/clone: check return status from ls-remote
      builtin-log: typefix for recent format-patch changes.
      checkout -f failed to check out a file if an existing directory interfered.
      apply: check D/F conflicts more carefully.
      apply: split out removal and creation into different phases.
      apply: handle type-changing patch correctly.
      git-fetch: fix --keep vs --thin
      unpack-objects: remove stale and confusing comment

Linus Torvalds (1):
      sha1_file: add the ability to parse objects in "pack file format"

Lukas Sandström (1):
      git-am: Don't accept an mbox on stdin of we already have a .dotest directory

Martin Langhoff (1):
      cvsexportcommit - add -a (add author line) flag, cleanup warnings

Matthias Lederhofer (1):
      upload-pack: fix timeout in create_pack_file

Peter Eriksen (1):
      Substitute xmalloc()+memset(0) with xcalloc().

Santi Béjar (1):
      Defaulting fetch to origin when set in the repo-config

Shawn O. Pearce (1):
      Disable linking with Fink or DarwinPorts.

Willy Tarreau (1):
      tar-tree: add the "tar.umask" config option


Version v1.4.2-rc1; changes since v1.4.1.1:
-------------------------------------------

A Large Angry SCM (1):
      Additional merge-base tests (revised)

Alex Riesen (1):
      Do not use perl in git-commit.sh

Alp Toker (9):
      Fix some doubled word typos
      Fix some doubled word typos
      Fix typos involving the word 'commit'
      typofix (git-name-rev documentation)
      git-send-email: Remove redundant Reply-To header
      gitweb: Send XHTML as 'application/xhtml+xml' where possible
      gitweb: Include a site name in page titles
      gitweb: Make command invocations go through the git wrapper
      documentation (urls.txt) typofix

Dennis Stosberg (2):
      gitweb: Declare global variables with "our"
      gitweb: Declare global variables with "our"

Eric Wong (12):
      Add git-instaweb, instantly browse the working repo with gitweb
      instaweb: fix unportable ';' usage in sed
      t8001-annotate: fix a bash-ism in this test
      git-svn: avoid fetching files outside of the URL we're tracking
      git-svn: migrate out of contrib
      builtin-log: respect diff configuration options
      diff.c: respect diff.renames config option
      templates/hooks--update: replace diffstat calls with git diff --stat
      git-svn: fix --file/-F option in commit-diff
      tests: Set EDITOR=: and VISUAL=: globally
      git-fetch: fix a bashism (==)
      git-svn: don't check for migrations/upgrades on commit-diff

Jakub Narębski (3):
      send-email: format 2822 datestring ourselves.
      Wrap long lines in docstrings in contrib/emacs/git.el
      Display help for Git mode after pressing `h' or `?' in *git-status*

Joachim Berdal Haga (2):
      Make zlib compression level configurable, and change default.
      core.compression documentation formatting fix.

Johannes Schindelin (7):
      refactor merge_bases() as preparation to libify merge-base
      move get_merge_bases() to core lib.
      Makefile: replace ugly and unportable sed invocation
      Make git-fmt-merge-msg a builtin
      Makefile: export NO_SVN_TESTS
      Close the index file between writing and committing
      Fix linking for not-so-clever linkers.

Jonas Fonseca (1):
      Documentation/urls.txt: Use substitution to escape square brackets

Junio C Hamano (49):
      Makefile: add framework to verify and bench sha1 implementations.
      test-sha1: test hashing large buffer
      t4013: add tests for diff/log family output options.
      t4013: add more tests around -c and --cc
      Fix some more diff options changes.
      t4013 test updates for new output code.
      combine-diff.c: type sanity.
      format-patch: fix diff format option implementation
      t4013: add format-patch tests.
      t4013: note improvements brought by the new output code.
      gitweb: optimize per-file history generation
      gitweb: optimize per-file history generation
      t4013: add "diff" UI program tests.
      builtin-diff: turn recursive on when defaulting to --patch format.
      commit.c: do not redefine UNINTERESTING bit.
      get_merge_bases: clean up even when there is no common commit.
      revert clear-commit-marks for now.
      boolean: accept yes and no as well
      send-email: do not barf when Term::ReadLine does not like your terminal
      t6200: fmt-merge-msg test.
      git-grep: fix parsing of pathspec separator '--'
      git-grep: fix exit code when we use external grep.
      git-grep: use a bit more specific error messages.
      Re-fix clear_commit_marks().
      git-grep: boolean expression on pattern matching.
      git-reset: complain and exit upon seeing an unknown parameter.
      mailinfo: assume input is latin-1 on the header as we do for the body
      diffcore-rename: try matching up renames without populating filespec first.
      builtin-rev-parse.c: constness tightening
      show-branch: match documentation and usage
      rev-parse documentation: talk about range notation.
      git-svn: migrate out of contrib (follow-up)
      diff.c: --no-color to defeat diff.color configuration.
      Update diff-options and config documentation.
      git log -p --merge [[--] paths...]
      colored diff: diff.color = auto fix
      diff: do not use configuration magic at the core-level
      "git -p cmd" to page anywhere
      merge-base: update the clean-up postprocessing
      fmt-merge-msg fix
      Fix grammatical error in git-revert
      git-repack: avoid redirecting stderr into git-pack-objects
      test-lib: unset GIT_TRACE
      t4013 diff format tests update
      Adjust t4013 tests to corrected format-patch.
      Documentation: Fix ssh://[user@]host.xz URL
      builtin-prune.c: forgot TYPE => OBJ changes.
      Documentation/Makefile: product depends on asciidoc.conf
      show-branch: fix performance problem.

Linus Torvalds (7):
      xdiff: generate "anti-diffs" aka what is common to two files
      Prepare "git-merge-tree" for future work
      Improved three-way blob merging code
      Improve git-peek-remote
      builtin "git prune"
      Make the unpacked object header functions static to sha1_file.c
      Remove TYPE_* constant macros and use object_type enums consistently.

Luben Tuikov (6):
      gitweb: Enable tree (directory) history display
      gitweb: Enable tree (directory) history display
      Add "raw" output option to blobs in "tree" view format
      gitweb.cgi: Create $git_temp if it doesn't exist
      gitweb.cgi: Teach "a=blob" action to know the blob/file mime type
      gitweb.css: Use monospace fonts for commits and tree-diff.

Matthias Lederhofer (10):
      GIT_TRACE: show which built-in/external commands are executed
      change ent to tree in git-diff documentation
      git-rev-list: add documentation for --parents, --no-merges
      daemon: use a custom die routine with syslog
      daemon: if one of the standard fds is missing open it to /dev/null
      upload-pack: ignore write errors to stderr
      daemon: new option --pid-file=<path> to store the pid
      daemon: new option --detach to run git-daemon in background
      Documentation about exclude/ignore files
      argv created by handle_alias should be NULL terminated

Michal Rokos (2):
      sed -e '/RE/r rfile/' needs space in 'r rfile'
      Using 'perl' in *.sh

Pavel Roskin (4):
      Assorted typo fixes
      Typofix in Makefile comment.
      Fix more typos, primarily in the code
      Avoid C99 comments, use old-style C comments instead.

Peter Baumann (1):
      git-cvsexportcommit can't handle merge commits correctly

René Scharfe (5):
      Add get_merge_bases_clean()
      Add '...' operator for revisions
      Make clear_commit_marks() clean harder
      Fold get_merge_bases_clean() into get_merge_bases()
      rev-list: free commit_list in ... handler

Robert Shearman (1):
      format-patch: Generate a newline between the subject header and the message body

Ryan Anderson (3):
      annotate: Support annotation of files on other revisions.
      annotate: Correct most merge following to annotate correctly.
      Disable color detection during format-patch

Santi Béjar (1):
      Teach rev-parse the ... syntax.

Sergey Vlasov (1):
      Fix "git-fetch --tags" exit status when nothing has been changed

Shawn O. Pearce (9):
      Avoid C99 initializers
      Allow user.name and user.email to drive reflog entry.
      Record the type of commit operation in the reflog.
      Log ref changes made by git-fetch and git-pull.
      Log ref changes made by git-merge and git-pull.
      Log ref changes made by quiltimport.
      Log ref changes made by resolve.
      Make lazy mkdir more robust.
      Record rebase changes as 'rebase' in the reflog.

Stephan Feder (5):
      Do not drop data from '\0' until eol in patch output
      Teach --text option to diff
      Teach diff -a as shorthand for --text
      Add -a and --text to common diff options help
      diff-options: Explain --text and -a

Timo Hirvonen (14):
      Merge with_raw, with_stat and summary variables to output_format
      Make --raw option available for all diff commands
      Set default diff output format after parsing command line
      DIFF_FORMAT_RAW is not default anymore
      Add msg_sep to diff_options
      Don't xcalloc() struct diffstat_t
      whatchanged: Default to DIFF_FORMAT_RAW
      Print empty line between raw, stat, summary and patch
      diff-tree: Use ---\n as a message separator
      log --raw: Don't descend into subdirectories by default
      Fix diff-tree -s
      GIT_TRACE: fix a mixed declarations and code warning
      diff: Support both attributes and colors
      diff: Support 256 colors

Ville Skyttä (1):
      Fix print-log and diff compatibility with recent vc versions

Yakov Lerner (1):
      Mention the [user@] part in documentation of ssh:// urls.

anonymous (1):
      A better-scheduled PPC SHA-1 implementation.


Version v1.4.1.1; changes since v1.4.1:
---------------------------------------

Junio C Hamano (1):
      Makefile: tighten git-http-{fetch,push} dependencies

Linus Torvalds (1):
      revision.c: fix "dense" under --remove-empty

Matthias Lederhofer (1):
      upload-pack: fix timeout in create_pack_file

Robin Rosenberg (1):
      Empty author may be presented by svn as an empty string or a null value.


Version v1.4.1; changes since v1.4.1-rc2:
-----------------------------------------

Eric Wong (1):
      git-svn: allow a local target directory to be specified for init

Johannes Schindelin (4):
      add diff_flush_patch_id() to calculate the patch id
      format-patch: introduce "--ignore-if-in-upstream"
      t4014: fix for whitespace from "wc -l"
      format-patch: use clear_commit_marks() instead of some ad-hockery

Junio C Hamano (6):
      git-repack: Be careful when updating the same pack as an existing one.
      t4014: add format-patch --ignore-if-in-upstream test
      t4014: fix test commit labels.
      diff.c: fix get_patch_id()
      Racy GIT (part #3)
      upload-pack.c: <sys/poll.h> includes <ctype.h> on OpenBSD 3.8

Linus Torvalds (4):
      Do not try futile object pairs when repacking.
      Abstract out accesses to object hash array
      revision.c: --full-history fix.
      git object hash cleanups

Nicolas Pitre (2):
      consider previous pack undeltified object state only when reusing delta data
      don't load objects needlessly when repacking

Petr Baudis (1):
      Fix errno usage in connect.c

Robin Rosenberg (1):
      Minor documentation fixup.


Version v1.4.1-rc2; changes since v1.4.1-rc1:
---------------------------------------------

Andreas Ericsson (1):
      git wrapper: fix command name in an error message.

Dennis Stosberg (3):
      Solaris needs inclusion of signal.h for signal()
      Fix pkt-line.h to compile with a non-GCC compiler
      Fix expr usage for FreeBSD

Eric Wong (10):
      rebase: allow --merge option to handle patches merged upstream
      rebase: cleanup rebasing with --merge
      rebase: allow --skip to work with --merge
      git-svn: SVN 1.1.x library compatibility
      git-svn: several graft-branches improvements
      git-svn: add the commit-diff command
      git-svn: add --follow-parent and --no-metadata options to fetch
      git-svn: be verbose by default on fetch/commit, add -q/--quiet option
      rebase: get rid of outdated MRESOLVEMSG
      rebase: check for errors from git-commit

Jeff King (2):
      git-commit: allow -e option anywhere on command line
      quote.c: silence compiler warnings from EMIT macro

Johannes Schindelin (5):
      patch-id: take "commit" prefix as well as "diff-tree" prefix
      Teach diff about -b and -w flags
      cvsimport: always set $ENV{GIT_INDEX_FILE} to $index{$branch}
      apply: replace NO_ACCURATE_DIFF with --inaccurate-eof runtime flag.
      Save errno in handle_alias()

Junio C Hamano (12):
      Makefile: do not recompile main programs when libraries have changed.
      usage: minimum type fix.
      git-pull: abort when fmt-merge-msg fails.
      git-merge --squash
      diff --color: use reset sequence when we mean reset.
      repo-config: fix printing of bool
      diff --color: use $GIT_DIR/config
      combine-diff.c: type sanity
      connect.c: remove unused parameters from tcp_connect and proxy_connect
      connect.c: check the commit buffer boundary while parsing.
      t/README: start testing porcelainish
      checkout -m: fix read-tree invocation

Linus Torvalds (1):
      Tweak diff colors

Martin Langhoff (3):
      git-repack -- respect -q and be quiet
      cvsimport: setup indexes correctly for ancestors and incremental imports
      cvsimport - cleanup of the multi-indexes handling

Matthias Kestenholz (1):
      add GIT-CFLAGS to .gitignore

Matthias Lederhofer (1):
      correct documentation for git grep

Peter Eriksen (1):
      Rename safe_strncpy() to strlcpy().

Petr Baudis (1):
      Customizable error handlers

Timo Hirvonen (3):
      git-merge: Don't use -p when outputting summary
      Clean up diff.c
      Make some strings const

Yann Dirson (1):
      git-commit: filter out log message lines only when editor was run.


Version v1.4.1-rc1; changes since v1.4.0:
-----------------------------------------

Andre Noll (1):
      object-refs: avoid division by zero

David Woodhouse (1):
      Log peer address when git-daemon called from inetd

Dennis Stosberg (3):
      Make t4101-apply-nonl bring along its patches
      Make t8001-annotate and t8002-blame more portable
      Fix t8001-annotate and t8002-blame for ActiveState Perl

Eric W. Biederman (3):
      Don't parse any headers in the real body of an email message.
      Fix git-format-patch -s
      Check and document the options to prevent mistakes.

Eric Wong (29):
      git-svn: t0000: add -f flag to checkout
      git-svn: fix handling of filenames with embedded '@'
      git-svn: eol_cp corner-case fixes
      git-svn: restore original LC_ALL setting (or unset) for commit
      git-svn: don't allow commit if svn tree is not current
      git-svn: support -C<num> passing to git-diff-tree
      git-svn: --branch-all-refs / -B support
      git-svn: optimize --branch and --branch-all-ref
      git-svn: support manually placed initial trees from fetch
      git-svn: Move all git-svn-related paths into $GIT_DIR/svn
      git-svn: minor cleanups, extra error-checking
      git-svn: add --repack and --repack-flags= options
      git-svn: add --shared and --template= options to pass to init-db
      git-svn: add some functionality to better support branches in svn
      git-svn: add UTF-8 message test
      git-svn: add 'log' command, a facsimile of basic `svn log'
      git-svn: add support for Perl SVN::* libraries
      git-svn: make the $GIT_DIR/svn/*/revs directory obsolete
      git-svn: avoid creating some small files
      git-svn: fix several small bugs, enable branch optimization
      git-svn: Eliminate temp file usage in libsvn_get_file()
      git-svn: bugfix and optimize the 'log' command
      git-svn: tests no longer fail if LC_ALL is not a UTF-8 locale
      git-svn: svn (command-line) 1.0.x compatibility
      git-svn: rebuild convenience and bugfixes
      git-svn: fix --rmdir when using SVN:: libraries
      rebase: Allow merge strategies to be used when rebasing
      rebase: error out for NO_PYTHON if they use recursive merge
      git-svn: fix commit --edit flag when using SVN:: libraries

Florian Forster (9):
      gitweb: Adding a `blame' interface.
      gitweb: Make the `blame' interface in gitweb optional.
      Remove ranges from switch statements.
      Initialize FAMs using `FLEX_ARRAY'.
      Don't instantiate structures with FAMs.
      Cast pointers to `void *' when used in a format.
      Don't use empty structure initializers.
      Change types used in bitfields to be `int's.
      Remove all void-pointer arithmetic.

Fredrik Kuivinen (1):
      blame: Add --time to produce raw timestamps

Jakub Narębski (15):
      Update gitweb README: gitweb is now included with git
      Move gitweb style to gitweb.css
      gitweb: safely output binary files for 'blob_plain' action
      gitweb: text files for 'blob_plain' action without charset by default
      Fix gitweb stylesheet
      Make CSS file gitweb/gitweb.css more readable
      gitweb: add type="text/css" to stylesheet link
      Fix: Support for the standard mime.types map in gitweb
      gitweb: A couple of page title tweaking
      gitweb: style done with stylesheet
      gitweb: whitespace cleanup
      Add git version to gitweb output
      Move $gitbin earlier in gitweb.cgi
      gitweb: Make use of $PATH_INFO for project parameter
      gitweb: whitespace cleanup around '='

Johannes Schindelin (6):
      diff options: add --color
      Initialize lock_file struct to all zero.
      Fix setting config variables with an alternative GIT_CONFIG
      Read configuration also from $HOME/.gitconfig
      repo-config: Fix late-night bug
      git_config: access() returns 0 on success, not > 0

Junio C Hamano (31):
      Revert all the rev-list option parsing changes.
      Clean-up Geert's similarity fingerprint code.
      Extract "log [diff options]" parser out.
      whatchanged options parser fix.
      Built-in git-whatchanged
      Geert's similarity
      Try using Geert similarity code in pack-objects.
      Retire rabinpoly fingerprinting code
      Fix mismerged update-index from jc/cache-tree branch.
      read-tree: --prefix=<path>/ option.
      write-tree: --prefix=<path>
      read-tree: reorganize bind_merge code.
      fetch-pack: give up after getting too many "ack continue"
      Fix earlier mismerges.
      shared repository: optionally allow reading to "others".
      gitk: rereadrefs needs listrefs
      fix git alias
      t5100: mailinfo and mailsplit tests.
      mailinfo: ignore blanks after in-body headers.
      fix rfc2047 formatter.
      xdiff: minor changes to match libxdiff-0.21
      Restore SIGCHLD to SIG_DFL where we care about waitpid().
      checkout -f: do not leave untracked working tree files.
      upload-pack: avoid sending an incomplete pack upon failure
      upload-pack: prepare for sideband message support.
      Retire git-clone-pack
      upload-pack/fetch-pack: support side-band communication
      Add renaming-rebase test.
      daemon: send stderr to /dev/null instead of closing.
      rebase --merge: fix for rebasing more than 7 commits.
      Makefile: do not force unneeded recompilation upon GIT_VERSION changes

Linus Torvalds (9):
      Tentative built-in "git show"
      gitweb.cgi history not shown
      Shrink "struct object" a bit
      Move "void *util" from "struct object" into "struct commit"
      Some more memory leak avoidance
      Remove "refs" field from "struct object"
      Add specialized object allocator
      Add "named object array" concept
      Fix grow_refs_hash()

Lukas Sandström (6):
      Make git-write-tree a builtin
      Make git-mailsplit a builtin
      Make git-mailinfo a builtin
      Make git-stripspace a builtin
      Make git-update-index a builtin
      Make git-update-ref a builtin

Martin Langhoff (3):
      cvsimport: ignore CVSPS_NO_BRANCH and impossible branches
      cvsimport: complete the cvsps run before starting the import
      cvsimport: keep one index per branch during import

Paul Eggert (1):
      date.c: improve guess between timezone offset and year.

Paul Mackerras (1):
      Fix PPC SHA1 routine for large input buffers

Peter Eriksen (1):
      Implement safe_strncpy() as strlcpy() and use it more.

Petr Baudis (2):
      Support for extracting configuration from different files
      Support for the standard mime.types map in gitweb

René Scharfe (4):
      git-tar-tree: Simplify write_trailer()
      git-tar-tree: documentation update
      git-tar-tree: no more void pointer arithmetic
      Make release tarballs friendlier to older tar versions

Sean Estabrooks (1):
      Add a "--notags" option for git-p4import.

Sven Verdoolaege (1):
      git-cvsexportcommit.perl: fix typo

Timo Hirvonen (1):
      gitweb: Use $hash_base as $search_hash if possible

Uwe Kleine-König (1):
      Fix possible out-of-bounds array access

Yakov Lerner (2):
      auto-detect changed prefix and/or changed build flags
      Pass -DDEFAULT_GIT_TEMPLATE_DIR only where actually used.


Version v1.4.0; changes since v1.4.0-rc2:
-----------------------------------------

Horst H. von Brand (1):
      Fix formatting of Documentation/git-clone.txt

Junio C Hamano (7):
      allow working in repositories with textual symref HEAD
      git-clone: fix duplicated "master" in $GIT_DIR/remotes/origin
      git-rm: honor -n flag.
      builtin-init-db: spell the in-program configuration variable in lowercase.
      shared repository - add a few missing calls to adjust_shared_perm().
      git-clone: fix --bare over dumb-http
      GIT 1.4.0

Kay Sievers (143):
      first working version
      v000
      v000
      v001
      v002
      v003
      v003
      v004
      v005
      v006
      v014
      v016
      v020
      v021
      v021
      v021
      v021
      v025
      v026
      v027
      v031
      v035
      v041
      v041
      v042
      v043
      v048
      v049
      v053
      v055
      v056
      v057
      v062
      v063
      v064
      v070
      v071
      v073
      v077
      v078
      v080
      v082
      v085
      v088
      v089
      v107
      v118
      v121
      v125
      v133
      v136
      v142
      v143
      v145
      v148
      v149
      v150
      v152
      v154
      v157
      v160
      v163
      v164
      v165
      v203
      v205
      v206
      v220
      v225
      v227
      v229
      v232
      v233
      v234
      v235
      v236
      add README
      Make the tag view look like commit header.
      allow sorting of index page by project path, owner and age
      make index page sorting more visible and increase RSS item count
      fix search parsing, later git does not print a trailing space
      don't chop_str if adding ... is longer than the original
      Show tooltips (like this one :)) containing full titles for truncated commit titles in the summary and shortlog views.
      v241
      v242
      common input validation to allow passing of textual hash id's
      v243
      translate reference into hash while reading a commit
      fix typo in link parameter of git_commit
      v244
      switch to git-rev-list for commit reading
      v245
      start searching at the current $hash value
      v246
      rename "branches" to "heads"
      v247
      provide filename for "save as" in plaintext views
      add Expires: +1d header to commit and commitdiff pages
      v248
      add test files
      update the test files to have a diff
      escape '+' and ' ' in url's
      make ' ' and '+' in filenames some kind of working
      v249
      escape ' ' with '+' in url's
      replace invalid utf8 sequences by UTF-8 REPLACEMENT CHARACTER (efbfbd)
      v250
      add missing esc() rename
      v251
      fix another typo
      v252
      fix utf8 decoding
      add ut8 test file
      add broken latin encoding to test file
      set logo output to raw mode
      v253
      allow utf8 characters in url parameter escape
      v254
      v255
      fix quoted filename lookup
      v256
      fix "rename" output
      v257
      show tags in lists
      v258
      show multiple tags
      v259
      attach tag to the link
      v260
      more tags
      fix leading whitespace in commit text
      v261
      define default colors
      v262
      resolve textual hashes when looking up "refs"
      v263
      fix: Use of uninitialized value
      v264
      handle utf8 characters from /etc/passwd
      v265
      remove Christian's email address
      v266
      v267

Paul T Darga (1):
      check for error return from fork()

René Scharfe (1):
      Built-in git-get-tar-commit-id

Rocco Rutte (1):
      prepend '--' to filelist when calling git-diff-tree

Uwe Kleine-König (1):
      Document git-clone --use-separate-remote

Yasushi SHOJI (1):
      Add <author> and <guid> to RSS feed


Version v1.4.0-rc2; changes since v1.4.0-rc1:
---------------------------------------------

Francis Daly (3):
      Some doc typo fixes
      config.txt grammar, typo, and asciidoc fixes
      git-cvsserver asciidoc formatting tweaks

Horst H. von Brand (1):
      Cleanup git-send-email.perl:extract_valid_email

Johannes Schindelin (1):
      If you have a config containing something like this:

Jon Loeliger (1):
      Refactor git_tcp_connect() functions a little.

Jonas Fonseca (2):
      Misc doc improvements
      Document git-ls-tree --fullname

Junio C Hamano (12):
      git alias: try alias last.
      send-email: be more lenient and just catch obvious mistakes.
      send-email: a bit more careful domain regexp.
      git-format-patch: add --output-directory long option again
      HTTP cleanup
      Make index file locking code reusable to others.
      refs.c: convert it to use lockfile interface.
      ref-log: style fixes.
      Documentation: add missing docs make check-docs found.
      make clean: remove dist-doc targets.
      Documentation: git-ls-tree (typofix)
      Documentation: add another example to git-ls-files

Nick Hengeveld (2):
      HTTP cleanup
      http-fetch: fix possible segfault

Paul Mackerras (12):
      gitk: Make a row of controls for controlling highlighting
      gitk: Highlight entries in the file list as well
      gitk: Highlight paths of interest in tree view as well
      gitk: First cut at a search function in the patch/file display window
      gitk: Improve the text window search function
      gitk: Move "pickaxe" find function to highlight facility
      gitk: Fix bug in highlight stuff when no line is selected
      gitk: Provide ability to highlight based on relationship to selected commit
      gitk: Add a goto next/previous highlighted commit function
      gitk: Show nearby tags
      gitk: Show branch name(s) as well, if "show nearby tags" is enabled
      gitk: Re-read the descendent/ancestor tag & head info on update

Petr Baudis (2):
      Document git aliases support
      Documentation: git aliases

René Scharfe (1):
      Off-by-one error in get_path_prefix(), found by Valgrind

Robert Fitzsimons (1):
      builtin-grep: pass ignore case option to external grep


Version v1.4.0-rc1; changes since v1.3.3:
-----------------------------------------

Alex Riesen (2):
      make update-index --chmod work with multiple files and --stdin
      remove superflous "const"

Aneesh Kumar K.V (3):
      gitview: Add key binding for F5.
      gitview: Move the console error messages to message dialog
      gitview: Add some useful keybindings.

Björn Engelmann (2):
      remove the artificial restriction tagsize < 8kb
      add more informative error messages to git-mktag

Catalin Marinas (1):
      Add a test-case for git-apply trying to add an ending line

Christian Couder (1):
      Builtin git-rev-parse.

Dennis Stosberg (3):
      git-write-tree writes garbage on sparc64
      git-clean fails on files beginning with a dash
      Update documentation for git-format-patch

Dmitry V. Levin (2):
      execv_git_cmd: Fix stack buffer overflow.
      git_exec_path, execv_git_cmd: ignore empty environment variables

Elrond (1):
      git-cvsimport: Handle "Removed" from pserver

Eric W. Biederman (8):
      Implement git-quiltimport
      Implement a --dry-run option to git-quiltimport
      Make read_one_header_line return a flag not a length.
      Move B and Q decoding into check header.
      Refactor commit messge handling.
      In handle_body only read a line if we don't already have one.
      More accurately detect header lines in read_one_header_line
      Allow in body headers beyond the in body header prefix.

Eric Wong (15):
      git-svn: documentation updates
      git-svn 1.0.0
      send-email: address expansion for common mailers
      Install git-send-email by default
      send-email: allow sendmail binary to be used instead of SMTP
      send-email: quiet some warnings, reject invalid addresses
      commit: allow --pretty= args to be abbreviated
      git-svn: starting a 1.1.0-pre development version
      git-svn: ignore expansion of svn:keywords
      t3300-funny-names: shell portability fixes
      tests: Remove heredoc usage inside quotes
      t5500-fetch-pack: remove local (bashism) usage.
      t6000lib: workaround a possible dash bug
      git-svn: t0001: workaround a heredoc bug in old versions of dash
      git-svn: remove assertion that broke with older versions of svn

Florian Forster (1):
      git-svnimport: Improved detection of merges.

Fredrik Kuivinen (2):
      blame: Fix path pruning
      Update the documentation for git-merge-base

Horst H. von Brand (4):
      Fix some documentation typoes
      Documentation: Spelling fixes
      Add example xinetd(8) configuration to Documentation/everyday.txt
      Fix Documentation/everyday.txt: Junio's workflow

J. Bruce Fields (7):
      tutorial: replace "whatchanged" by "log"
      tutorial: expanded discussion of commit history
      tutorial: add discussion of index file, object database
      documentation: mention gitk font adjustment in tutorial
      documentation: add brief mention of cat-file to tutorial part I
      Documentation: retitle the git-core tutorial
      Documentation: fix a tutorial-2 typo

Jeff King (7):
      cvsimport: use git-update-index --index-info
      cvsimport: cleanup commit function
      cvsimport: set up commit environment in perl instead of using env
      cat-file: document -p option
      cvsimport: avoid "use" with :tag
      handle concurrent pruning of packed objects
      sha1_file: avoid re-preparing duplicate packs

Jim Meyering (1):
      Don't write directly to a make target ($@).

Johannes Schindelin (25):
      builtin-push: resurrect parsing of Push: lines
      cache-tree: replace a sscanf() by two strtol() calls
      builtin-push: also ask config for remote information
      fetch, pull: ask config for remote information
      repo-config: fix segfault with no argument.
      repo-config: trim white-space before comment
      repo-config: support --get-regexp
      repo-config: deconvolute logics
      fetch, pull: ask config for remote information
      Add a conversion tool to migrate remote information into the config
      builtin-push: --all and --tags _are_ explicit refspecs
      Teach fmt-patch to write individual files.
      fmt-patch: output file names to stdout
      fmt-patch: implement -o <dir>
      Teach fmt-patch about --numbered
      Teach fmt-patch about --keep-subject
      fmt-patch: understand old <his> notation
      Fix users of prefix_path() to free() only when necessary
      Fix users of prefix_path() to free() only when necessary
      Fix crash when reading the empty tree
      diff family: add --check option
      fmt-patch: Support --attach
      git-format-patch --start-number <n>
      send-email: only 'require' instead of 'use' Net::SMTP
      format-patch: resurrect extra headers from config

Josef Weidendorfer (1):
      gitk: Add a visual tag for remote refs

Junio C Hamano (156):
      Fix up default abbrev in setup_revisions() argument parser.
      Fix up rev-list option parsing.
      Split init_revisions() out of setup_revisions()
      rev-list option parser fix.
      Built-in git-whatchanged.
      Do not fork PAGER=cat
      Simplify common default options setup for built-in log family.
      log/whatchanged/show - log formatting cleanup.
      rev-list --header: output format fix
      git.c: LOGSIZE is unused after log printing cleanup.
      combine-diff: show diffstat with the first parent.
      Fix "git log --stat": make sure to set recursive with --stat.
      Tentative built-in format-patch.
      sha1_name.c: prepare to make get_tree_entry() reusable from others.
      sha1_name.c: no need to include diff.h; tree-walk.h will do.
      get_tree_entry(): make it available from tree-walk
      Minor tweak on subject line in --pretty=email
      diff: move diff.c to diff-lib.c to make room.
      Add git-unresolve <paths>...
      diff --stat: do not drop rename information.
      git-update-index --unresolve
      rename internal format-patch wip
      Makefile: dependency for builtin-help.o
      Add colordiff for git to contrib/colordiff.
      Fix "git show --stat"
      Libify diff-files.
      Libify diff-index.
      git-fmt-patch: thinkofix to show [PATCH] properly.
      Libified diff-index: backward compatibility fix.
      read-cache/write-cache: optionally return cache checksum SHA1.
      Add cache-tree.
      Update write-tree to use cache-tree.
      Invalidate cache-tree entries for touched paths in git-apply.
      Use cache-tree in update-index.
      Add test-dump-cache-tree
      cache-tree: protect against "git prune".
      index: make the index file format extensible.
      Teach fsck-objects about cache-tree.
      cache-tree: sort the subtree entries.
      test-dump-cache-tree: report number of subtrees.
      Makefile: remove and create libgit.a from scratch.
      diff --stat: show complete rewrites consistently.
      git-cvsserver: typofixes
      t0000-basic: Add ls-tree recursive test back.
      Makefile: remove and create xdiff library from scratch.
      commit-tree: allow generic object name for the tree as well.
      revision parsing: make "rev -- paths" checks stronger.
      t0000-basic: more commit-tree tests.
      update-index: when --unresolve, smudge the relevant cache-tree entries.
      read-tree: teach 1 and 2 way merges about cache-tree.
      read-tree: teach 1-way merege and plain read to prime cache-tree.
      diff-index: fix compilation warnings.
      cache_tree_update: give an option to update cache-tree only.
      test-dump-cache-tree: validate the cached data as well.
      pack-objects: update size heuristucs.
      built-in count-objects.
      cache-tree.c: typefix
      built-in diff.
      built-in diff: assorted updates.
      builtin-diff.c: die() formatting type fix.
      Fix builtin-push to honor Push: lines in remotes file.
      Extended SHA1 -- "rev^@" syntax to mean "all parents"
      get_sha1(): :path and :[0-3]:path to extract from index.
      built-in "git grep"
      Use RFC2822 dates from "git fmt-patch".
      builtin-grep: wildcard pathspec fixes
      builtin-grep: support '-l' option.
      builtin-grep: do not use setup_revisions()
      fsck-objects: mark objects reachable from cache-tree
      builtin-count-objects: make it official.
      builtin-diff: call it "git-diff", really.
      builtin-log/whatchanged/show: make them official.
      show-branch: omit uninteresting merges.
      builtin-push: make it official.
      builtin-grep: printf %.*s length is int, not ptrdiff_t.
      Revert "fetch, pull: ask config for remote information"
      builtin-grep: allow -<n> and -[ABC]<n> notation for context lines.
      builtin-grep: allow more than one patterns.
      builtin-grep: support -c (--count).
      builtin-grep: support -w (--word-regexp).
      builtin-grep: tighten path wildcard vs tree traversal.
      core.prefersymlinkrefs: use symlinks for .git/HEAD
      repo-config: readability fixups.
      builtin-count-objects: open packs when running -v
      Fix test-dump-cache-tree in one-tree disappeared case.
      read-tree: invalidate cache-tree entry when a new index entry is added.
      cache-tree: a bit more debugging support.
      builtin-grep: terminate correctly at EOF
      builtin-grep: binary files -a and -I
      fsck-objects: do not segfault on missing tree in cache-tree
      builtin-grep: -L (--files-without-match).
      Makefile: do not link rev-list any specially.
      delta: stricter constness
      pack-object: squelch eye-candy on non-tty
      binary patch.
      binary diff: further updates.
      update-index --unresolve: work from a subdirectory.
      checkout-index: plug memory leak from prefix_path()
      update-index: plug memory leak from prefix_path()
      update-index --again
      update-index --again: take optional pathspecs
      binary diff and apply: testsuite.
      Teach -f <file> option to builtin-grep.
      builtin-grep: documentation
      get_sha1() - fix infinite loop on nonexistent stage.
      Teach git-clean optional <paths>... parameters.
      builtin-grep: tighten argument parsing.
      builtin-grep: typofix
      builtin-grep: -w fix
      builtin-grep: -F (--fixed-strings)
      checkout: use --aggressive when running a 3-way merge (-m).
      diffstat rename squashing fix.
      read-tree -u one-way merge fix to check out locally modified paths.
      apply --numstat: show new name, not old name.
      builtin-grep: unparse more command line options.
      apply --cached: apply a patch without using working tree.
      git-am: use apply --cached
      builtin-diff: fix comparison between two blobs.
      merge-base: Clarify the comments on post processing.
      read-tree -m -u: do not overwrite or remove untracked working tree files.
      builtin-grep: workaround for non GNU grep.
      Revert "builtin-grep: workaround for non GNU grep."
      apply --cached: do not check newly added file in the working tree
      builtin-add: fix unmatched pathspec warnings.
      builtin-diff: do not say files are renamed when blob and file are given
      Fix build procedure for builtin-init-db
      built-in tar-tree and remote tar-tree
      git-format-patch: now built-in.
      checkdiff_consume: strtol parameter fix.
      git-rebase: use canonical A..B syntax to format-patch
      tutorial-2: typofix in examples.
      mailinfo: skip bogus UNIX From line inside body
      CMIT_FMT_EMAIL: Q-encode Subject: and display-name part of From: fields.
      builtin format-patch: squelch content-type for 7-bit ASCII
      diff: minor option combination fix.
      fetch-pack: output refs in the order they were given on the command line.
      Tutorial #2: broken link fix.
      builtin-rm: squelch compiler warnings.
      cvsimport: do not barf on creation of an empty file.
      apply: force matching at the beginning.
      fetch.c: remove an unused variable and dead code.
      ls-remote: fix rsync:// to report HEAD
      mailinfo: More carefully parse header lines in read_one_header_line()
      gitk: start-up bugfix
      built-in format-patch: various fixups.
      format-patch: -n and -k are mutually exclusive.
      Let git-clone to pass --template=dir option to git-init-db.
      git-fetch: avoid using "case ... in (arm)"
      adjust to the rebased series by Linus.
      send-email: do not pass bogus address to local sendmail binary
      format-patch --signoff
      fetch.c: do not pass uninitialized lock to unlock_ref().
      fetch.c: do not call process_tree() from process_tree().
      fetch: do not report "same" unless -verbose.
      read-tree --reset: update working tree file for conflicted paths.
      rev-parse: tighten constness properly.

Linus Torvalds (60):
      Common option parsing for "git log --diff" and friends
      Tentative built-in "git show"
      Fixes for option parsing
      Log message printout cleanups
      Log message printout cleanups (#2)
      Log message printout cleanups (#3): fix --pretty=oneline
      Fix uninteresting tags in new revision parsing
      get_sha1() shorthands for blob/tree objects
      Allow "git repack" users to specify repacking window/depth
      git log: don't do merge diffs by default
      Split up builtin commands into separate files from git.c
      Fix "git help -a" terminal autosizing
      git builtin "push"
      Fix "git-log --parents" breakage post v1.3.0
      sha1_to_hex() usage cleanup
      git diff: support "-U" and "--unified" options properly
      Allow one-way tree merge to remove old files
      Simplify "git reset --hard"
      builtin-grep: use external grep when we can take advantage of it
      read-tree --reset -u fix.
      Fix silly typo in new builtin grep
      Remove old "git-grep.sh" remnants
      libify git-ls-files directory traversal
      Clean up git-ls-file directory walking library interface
      Do "git add" as a builtin
      builtin-add: warn on unmatched pathspecs
      builtin-grep: workaround for non GNU grep.
      Remove old "git-add.sh" remnants
      Prevent bogus paths from being added to the index.
      Make "git rev-list" be a builtin
      Libify the index refresh logic
      Move pathspec matching from builtin-add.c into dir.c
      Add builtin "git rm" command
      cvsimport: repack every kilo-commits.
      apply: treat EOF as proper context.
      Clean up sha1 file writing
      bogus "fatal: Not a git repository"
      t1002: use -U0 instead of --unified=0
      Fix "--abbrev=xyz" for revision listing
      Fix memory leak in "git rev-list --objects"
      Don't use "sscanf()" for tree mode scanning
      Add raw tree buffer info to "struct tree"
      Make "tree_entry" have a SHA1 instead of a union of object pointers
      Switch "read_tree_recursive()" over to tree-walk functionality
      Remove "tree->entries" tree-entry list from tree parser
      Make "struct tree" contain the pointer to the tree buffer
      Make "tree_entry" have a SHA1 instead of a union of object pointers
      Switch "read_tree_recursive()" over to tree-walk functionality
      builtin-read-tree.c: avoid tree_entry_list in prime_cache_tree_rec()
      Remove "tree->entries" tree-entry list from tree parser
      fsck-objects: avoid unnecessary tree_entry_list usage
      Remove unused "zeropad" entry from tree_list_entry
      Convert "mark_tree_uninteresting()" to raw tree walker
      Convert fetch.c: process_tree() to raw tree walker
      Remove last vestiges of generic tree_entry_list
      tree_entry(): new tree-walking helper function
      read-tree: fix eye-candy.
      Fix typo in tutorial-2.txt
      rev-list: fix process_tree() conversion.
      pack-objects: improve path grouping heuristics.

Lukas Sandström (2):
      Make git-check-format-ref a builtin.
      SubmittingPatches: The download location of External Editor has moved

Martin Langhoff (7):
      git-cvsexportcommit: Add -f(orce) and -m(essage prefix) flags, small cleanups.
      cvsserver: use git-rev-list instead of git-log
      cvsserver: use git-rev-list instead of git-log
      cvsimport: minor fixups
      cvsimport: replace anonymous sub ref with a normal sub
      cvsimport: introduce -L<imit> option to workaround memory leaks
      cvsimport: introduce _fetchfile() method and used a 1M buffer to read()

Martin Waitz (6):
      Transitively read alternatives
      test case for transitive info/alternates
      clone: don't clone the info/alternates file
      git help: remove whatchanged from list of common commands
      Documentation/Makefile: remove extra /
      Add instructions to commit template.

Martyn Smith (3):
      Added logged warnings for CVS error returns
      Many fixes for most operations in Eclipse.
      Change to allow subdir updates from Eclipse

Matthias Kestenholz (1):
      add documentation for update-index --unresolve

Matthias Lederhofer (1):
      git status: skip empty directories, and add -u to show all untracked files

Nick Hengeveld (3):
      git-fetch: resolve remote symrefs for HTTP transport
      http: prevent segfault during curl handle reuse
      builtin-push: don't pass --thin to HTTP transport

Nicolas Pitre (10):
      split the diff-delta interface
      use delta index data when finding best delta matches
      replace adler32 with Rabin's polynomial in diff-delta
      tiny optimization to diff-delta
      improve diff-delta with sparse and/or repetitive data
      improve base85 generated assembly code
      fix diff-delta bad memory access
      simple euristic for further free packing improvements
      pack-object: slightly more efficient
      improve depth heuristic for maximum delta size

Paul Mackerras (19):
      gitk: Implement multiple views
      gitk: Make File->Update work properly again
      gitk: Fix various bugs in the view support
      gitk: Don't reread git-rev-list output from scratch on view switch
      gitk: Remember the view in the history list
      gitk: Let git-rev-list do the argument list parsing
      gitk: Use git-rev-parse only to identify file/dir names on cmd line
      gitk: Implement "permanent" views (stored in ~/.gitk)
      gitk: add menu item for editing the current view
      gitk: Use a text widget for the file list
      gitk: Add a tree-browsing mode
      gitk: Basic support for highlighting one view within another
      gitk: Fix file list display when files are renamed
      gitk: Allow view to specify arbitrary arguments to git-rev-list
      gitk: Fix display of "(...)" for parents/children we haven't drawn
      Provide a way to flush git-diff-tree's output
      gitk: Fix bug where page-up/down wouldn't always work properly
      gitk: show_error fix
      Make git-diff-tree indicate when it flushes

Peter Eriksen (9):
      Add git-quiltimport to .gitignore.
      Builtin git-ls-files.
      Builtin git-ls-tree.
      Builtin git-tar-tree.
      Builtin git-read-tree.
      Builtin git-commit-tree.
      Builtin git-apply.
      Builtin git-show-branch.
      Builtin git-diff-files, git-diff-index, git-diff-stages, and git-diff-tree.

Peter Hagervall (1):
      Sparse fix for builtin-diff

Petr Baudis (3):
      git-repo-config --list support
      Deprecate usage of git-var -l for getting config vars list
      Call builtin ls-tree in git-cat-file -p

Ryan Anderson (4):
      git-send-email: Add References: headers to emails, in addition to In-Reply-To:
      Add support for --bcc to git-send-email.
      Fix a bug in email extraction used in git-send-email.
      Add a basic test case for git send-email, and fix some real bugs discovered.

Salikh Zakirov (1):
      Fixed Cygwin CR-munging problem in mailsplit

Santi Béjar (1):
      Document that "git add" only adds non-ignored files.

Sean Estabrooks (19):
      Add --continue and --abort options to git-rebase.
      Several trivial documentation touch ups.
      Fix up docs where "--" isn't displayed correctly.
      Update git-unpack-objects documentation.
      Clarify git-cherry documentation.
      Another config file parsing fix.
      t1300-repo-config: two new config parsing tests.
      Add "--branches", "--tags" and "--remotes" options to git-rev-parse.
      Make git rebase interactive help match documentation.
      Add "--summary" option to git diff.
      Convert some "apply --summary" users to "diff --summary".
      Strip useless "tags/" prefix from git-tag -l output
      Allow pickaxe and diff-filter options to be used by git log.
      Avoid segfault in diff --stat rename output.
      Change GIT-VERSION-GEN to call git commands with "git" not "git-".
      Install git builtins into gitexecdir rather than bindir.
      Remove possible segfault in http-fetch.
      --summary output should print immediately after stats.
      A Perforce importer for git.

Serge E. Hallyn (1):
      socksetup: don't return on set_reuse_addr() error

Sergey Vlasov (1):
      gitk: Display commit messages with word wrap

Shawn O. Pearce (24):
      Remove unnecessary local in get_ref_sha1.
      Improve abstraction of ref lock/write.
      Convert update-ref to use ref_lock API.
      Log ref updates to logs/refs/<ref>
      Support 'master@2 hours ago' syntax
      Fix ref log parsing so it works properly.
      General ref log reading improvements.
      Added logs/ directory to repository layout.
      Force writing ref if it doesn't exist.
      Log ref updates made by fetch.
      Change 'master@noon' syntax to 'master@{noon}'.
      Correct force_write bug in refs.c
      Change order of -m option to update-ref.
      Include ref log detail in commit, reset, etc.
      Create/delete branch ref logs.
      Enable ref log creation in git checkout -b.
      Reference git-check-ref-format in git-branch.
      Elaborate on why ':' is a bad idea in a ref name.
      Built git-upload-tar should be ignored.
      Verify git-commit provides a reflog message.
      Test that git-branch -l works.
      Remove unnecessary output from t3600-rm.
      Improved pack format documentation.
      Allow multiple -m options to git-commit.

Tilman Sauerbeck (1):
      Documentation/Makefile: create tarballs for the man pages and html files

Timo Hirvonen (3):
      Builtin git-init-db
      Builtin git-cat-file
      gitk: Replace "git-" commands with "git "

Yakov Lerner (2):
      NO_INET_NTOP and compat/inet_ntop.c for some systems (e.g. old Cygwin).
      Problem: 'trap...exit' causes error message when /bin/sh is ash.

Yann Dirson (3):
      Do not call 'cmp' with non-existant -q flag.
      Document current cvsexportcommit limitations.
      Make cvsexportcommit create parent directories as needed.


Version v1.3.3; changes since v1.3.2:
-------------------------------------

Ben Clifford (1):
      include header to define uint32_t, necessary on Mac OS X

Dennis Stosberg (2):
      Fix git-pack-objects for 64-bit platforms
      Fix compilation on newer NetBSD systems

Dmitry V. Levin (1):
      Separate object name errors from usage errors

Eric Wong (2):
      apply: fix infinite loop with multiple patches with --index
      Install git-send-email by default

Johannes Schindelin (1):
      repo-config: trim white-space before comment

Junio C Hamano (6):
      core.prefersymlinkrefs: use symlinks for .git/HEAD
      repo-config: document what value_regexp does a bit more clearly.
      Fix repo-config set-multivar error return path.
      Documentation: {caret} fixes (git-rev-list.txt)
      checkout: use --aggressive when running a 3-way merge (-m).
      Fix pack-index issue on 64-bit platforms a bit more portably.

Linus Torvalds (3):
      Fix "git diff --stat" with long filenames
      revert/cherry-pick: use aggressive merge.
      git config syntax updates

Martin Waitz (2):
      clone: keep --reference even with -l -s
      repack: honor -d even when no new pack was created

Matthias Lederhofer (1):
      core-tutorial.txt: escape asterisk

Pavel Roskin (1):
      Release config lock if the regex is invalid

Sean Estabrooks (3):
      Fix for config file section parsing.
      Another config file parsing fix.
      Ensure author & committer before asking for commit message.

Yakov Lerner (1):
      read-cache.c: use xcalloc() not calloc()


Version v1.3.2; changes since v1.3.1:
-------------------------------------

Huw Davies (1):
      git-format-patch: Use rfc2822 compliant date.

Jon Loeliger (3):
      Alphabetize the glossary.
      Added definitions for a few words:
      Add a few more words to the glossary.

Junio C Hamano (4):
      rebase: typofix.
      commit-tree.c: check_valid() microoptimization.
      verify-pack: check integrity in a saner order.
      git-am --resolved: more usable error message.

Linus Torvalds (1):
      Fix filename verification when in a subdirectory

Martin Langhoff (1):
      git-send-email: fix version string to be valid perl

Matthias Kestenholz (3):
      annotate: fix warning about uninitialized scalar
      annotate: display usage information if no filename was given
      fix various typos in documentation

Robert Shearman (1):
      Give the user a hint for how to continue in the case that git-am fails because it requires user intervention

Sean Estabrooks (4):
      Update the git-branch man page to include the "-r" option,
      Fix up remaining man pages that use asciidoc "callouts".
      Properly render asciidoc "callouts" in git man pages.
      Fix trivial typo in git-log man page.


Version v1.3.1; changes since v1.3.0:
-------------------------------------

Jonas Fonseca (1):
      Fix filename scaling for binary files

Junio C Hamano (5):
      git-merge: a bit more readable user guidance.
      pre-commit hook: complain about conflict markers.
      git-commit --amend: two fixes.
      pack-objects: do not stop at object that is "too small"
      mailinfo: decode underscore used in "Q" encoding properly.

Linus Torvalds (1):
      git-log produces no output

Nicolas Pitre (1):
      fix pack-object buffer size

Paul Mackerras (1):
      rev-parse: better error message for ambiguous arguments

Petr Baudis (2):
      Document git-var -l listing also configuration variables
      Document the configuration file

Santi Béjar (1):
      Reintroduce svn pools to solve the memory leak.

Serge E. Hallyn (1):
      socksetup: don't return on set_reuse_addr() error

Shawn O. Pearce (1):
      Document git-clone --reference


Version v1.3.0; changes since v1.3.0-rc4:
-----------------------------------------

A Large Angry SCM (1):
      Makefile fixups.

Herbert Valerio Riedel (1):
      git-svnimport symlink support

Johannes Schindelin (2):
      diff-options: add --patch-with-stat
      pager: do not fork a pager if PAGER is set to empty.

Jonas Fonseca (1):
      Add git-annotate(1) and git-blame(1)

Junio C Hamano (9):
      rev-list --bisect: limit list before bisecting.
      diff-tree: typefix.
      diff --stat: do not do its own three-dashes.
      diff-files --stat: do not dump core with unmerged index.
      reading $GIT_DIR/info/graft - skip comments correctly.
      rev-list --boundary: show boundary commits even when limited otherwise.
      packed_object_info_detail(): check for corrupt packfile.
      diff --stat: make sure to set recursive.
      GIT 1.3.0

Linus Torvalds (1):
      Support "git cmd --help" syntax

Paul Mackerras (1):
      gitk: Fix bug caused by missing commitlisted elements

Serge E. Hallyn (5):
      cleanups: Fix potential bugs in connect.c
      cleanups: Remove unused vars from combine-diff.c
      cleanups: Remove impossible case in quote.c
      cleanups: prevent leak of two strduped strings in config.c
      cleanups: remove unused variable from exec_cmd.c

Yann Dirson (1):
      Allow empty lines in info/grafts


Version v1.3.0-rc4; changes since v1.3.0-rc3:
---------------------------------------------

Davide Libenzi (1):
      xdiff: post-process hunks to make them consistent.

Dennis Stosberg (2):
      Solaris 9 also wants our own unsetenv/setenv.
      Replace index() with strchr().

Eric W. Biederman (1):
      Implement limited context matching in git-apply.

Johannes Schindelin (2):
      diff-options: add --stat (take 2)
      diff-options: add --stat (take 2)

Junio C Hamano (31):
      git-log: match rev-list --abbrev and --abbrev-commit
      diff: fix output of total-rewrite diff.
      diffcore-rename: fix merging back a broken pair.
      log-tree: separate major part of diff-tree.
      git log [diff-tree options]...
      Retire diffcore-pathspec.
      tree-diff: do not assume we use only one pathspec
      git log --full-diff
      Retire git-log.sh
      blame and friends: adjust to multiple pathspec change.
      Retire git-log.sh (take#2)
      diff-* --patch-with-raw
      Retire git-log.sh (take #3)
      combine-diff: do not lose hunks with only deletion at end.
      combine-diff: fix hunks at the end (take #2).
      Retire t5501-old-fetch-and-upload test.
      git-commit: do not muck with commit message when no_edit is set.
      stripspace: make sure not to leave an incomplete line.
      combine-diff: type fix.
      Documentation: add a couple of missing docs.
      Makefile: $(MAKE) check-docs
      git-log: do not output excess blank line between commits
      t3600-rm: skip failed-remove test when we cannot make an unremovable file.
      Fix-up previous expr changes.
      diff --stat: no need to ask funcnames nor context.
      t5500: test fix
      stripspace: incomplete line fix (take #2)
      Retire git-log.sh (take #4)
      git-log <diff-options> <paths> documentation
      "git cmd -h" for shell scripts.
      GIT v1.3.0-rc4

Linus Torvalds (4):
      Make "--parents" logs also be incremental
      When showing a commit message, do not lose an incomplete line.
      Use less memory in "git log"
      Clean up trailing whitespace when pretty-printing commits

Marco Roeland (1):
      xdiff/xdiffi.c: fix warnings about possibly uninitialized variables

Mark Wooding (1):
      Shell utilities: Guard against expr' magic tokens.

Petr Baudis (3):
      Improve the git-diff-tree -c/-cc documentation
      Document --patch-with-raw
      Separate the raw diff and patch with a newline


Version v1.3.0-rc3; changes since v1.3.0-rc2:
---------------------------------------------

Francis Daly (1):
      Tweaks to make asciidoc play nice.

Johannes Schindelin (3):
      cvsimport: use git-update-ref when updating
      On some platforms, certain headers need to be included before regex.h
      Fix compile with expat, but an old curl version

Jon Loeliger (1):
      Added Packing Heursitics IRC writeup.

Junio C Hamano (16):
      git-clone: fix handling of upsteram whose HEAD does not point at master.
      combine-diff: use built-in xdiff.
      parse_date(): fix parsing 03/10/2006
      combine-diff: refactor built-in xdiff interface.
      diff_flush(): leakfix.
      combine-diff: move the code to parse hunk-header into common library.
      blame: use built-in xdiff
      date parsing: be friendlier to our European friends.
      blame.c: fix completely broken ancestry traversal.
      Match ofs/cnt types in diff interface.
      blame -S <ancestry-file>
      Add Documentation/technical/pack-format.txt
      Thin pack generation: optimization.
      rev-list --abbrev-commit
      count-delta: match get_delta_hdr_size() changes.
      GIT 1.3.0-rc3

Karl Wiberg (1):
      git-svnimport: Don't assume that copied files haven't changed

Keith Packard (1):
      Provide configurable UI font for gitk

Marco Roeland (1):
      git-commit: document --amend

Mark Wooding (1):
      gitk: Use git wrapper to run git-ls-remote.

Mike McCormack (3):
      Avoid a divide by zero if there's no messages to send.
      Avoid a crash if realloc returns a different pointer.
      Add documentation for git-imap-send.

Nick Hengeveld (1):
      http-fetch: add optional DAV-based pack list

Nicolas Pitre (1):
      check patch_delta bounds more carefully

Paul Mackerras (3):
      gitk: replace parent and children arrays with lists
      gitk: Add a help menu item to display key bindings
      gitk: Fix incorrect invocation of getmergediffline

Pavel Roskin (2):
      Add git-clean command
      gitk: Fix searching for filenames in gitk

Petr Baudis (1):
      Support for pickaxe matching regular expressions

Rutger Nijlunsing (1):
      gitk: add key bindings for selecting first and last commit

Stephen Rothwell (1):
      gitk: allow goto heads


Version v1.3.0-rc2; changes since v1.3.0-rc1:
---------------------------------------------

Davide Libenzi (1):
      Clean-up trivially redundant diff.

Eric Wong (6):
      contrib/git-svn: force GIT_DIR to an absolute path
      contrib/git-svn: accept configuration via repo-config
      contrib/git-svn: documentation updates
      contrib/git-svn: ensure repo-config returns a value before using it
      contrib/git-svn: make sure our git-svn is up-to-date for test
      contrib/git-svn: handle array values correctly

J. Bruce Fields (1):
      Documentation: revise top of git man page

Jason Riedy (2):
      Add ALL_LDFLAGS to the git target.
      Use sigaction and SA_RESTART in read-tree.c; add option in Makefile.

Jim Radford (1):
      fix repacking with lots of tags

Junio C Hamano (14):
      rev-list --no-merges: argument parsing fix.
      rev-list: memory usage reduction.
      rev-list --boundary
      revision arguments: ..B means HEAD..B, just like A.. means A..HEAD
      revision.c "..B" syntax: constness fix
      assume unchanged git: diff-index fix.
      tree/diff header cleanup.
      rev-list --boundary: fix re-injecting boundary commits.
      Makefile: many programs now depend on xdiff/lib.a having been built.
      revision: --topo-order and --unpacked
      revision: simplify argument parsing.
      revision: --max-age alone does not need limit_list() anymore.
      safe_fgets() - even more anal fgets()
      GIT 1.3.0-rc2

Linus Torvalds (5):
      Move "--parent" parsing into generic revision.c library code
      Make path-limiting be incremental when possible.
      revision: Fix --topo-order and --max-age with reachability limiting.
      Fix Solaris stdio signal handling stupidities
      pack-objects: be incredibly anal about stdio semantics

Mark Wooding (1):
      xdiff: Show function names in hunk headers.

Nick Hengeveld (2):
      git-ls-remote: send no-cache header when fetching info/refs
      Set HTTP user agent to git/GIT_VERSION

Paul Mackerras (5):
      gitk: Use the new --boundary flag to git-rev-list
      gitk: Show diffs for boundary commits
      gitk: Prevent parent link from overwriting commit headline
      gitk: Allow top panes to scroll horizontally with mouse button 2
      gitk: Better workaround for arrows on diagonal line segments

Peter Eriksen (2):
      Use blob_, commit_, tag_, and tree_type throughout.
      Replace xmalloc+memset(0) with xcalloc.

René Scharfe (3):
      Remove useless pointer update
      Fix sparse warnings about usage of 0 instead of NULL
      Fix sparse warnings about non-ANSI function prototypes

Yasushi SHOJI (2):
      Make git-clone to take long double-dashed origin option (--origin)
      git-clone: exit early if repo isn't specified


Version v1.3.0-rc1; changes since v1.2.6:
-----------------------------------------

Alex Riesen (2):
      PATCH: simplify calls to git programs in git-fmt-merge-msg
      workaround fat/ntfs deficiencies for t3600-rm.sh (git-rm)

Alexandre Julliard (12):
      Add an Emacs interface in contrib.
      git-format-patch: Always add a blank line between headers and body.
      contrib/emacs: Add an Emacs VC backend.
      git.el: Portability fixes for XEmacs and Emacs CVS.
      git.el: Set default directory before running the status mode setup hooks.
      git.el: Automatically update .gitignore status.
      git.el: Added support for Signed-off-by.
      git.el: Added customize support for all parameters.
      ls-files: Don't require exclude files to end with a newline.
      git.el: More robust handling of subprocess errors when returning strings.
      git.el: Get the default user name and email from the repository config.
      git.el: Added a function to diff against the other heads in a merge.

Anand Kumria (1):
      git-svnimport: if a limit is specified, respect it

Aneesh Kumar K.V (16):
      Add contrib/gitview from Aneesh.
      Add a README for gitview
      gitview: typofix
      gitview: Read tag and branch information using git ls-remote
      gitview: Use monospace font to draw the branch and tag name
      gitview: Display the lines joining commit nodes clearly.
      gitview: Fix DeprecationWarning
      gitview: Bump the rev
      gitview: Code cleanup
      gitview: Fix the graph display .
      gitview: Fix the encoding related bug
      gitview: Remove trailing white space
      gitview: Some window layout changes.
      gitview: Set the default width of graph cell
      gitview: Use horizontal scroll bar in the tree view
      gitview: pass the missing argument _show_clicked_cb.

Carl Worth (5):
      git-rebase: Clarify usage statement and copy it into the actual documentation.
      New test to verify that when git-clone fails it cleans up the new directory.
      git-ls-files: Fix, document, and add test for --error-unmatch option.
      Add new git-rm command with documentation
      git-rm: Fix to properly handle files with spaces, tabs, newlines, etc.

Dmitry V. Levin (1):
      git/Documentation: fix SYNOPSIS style bugs

Eric Wong (43):
      Introducing contrib/git-svn.
      git-svn: fix revision order when XML::Simple is not loaded
      git-svn: ensure fetch always works chronologically.
      git-svn: remove files from the index before adding/updating
      git-svn: fix a typo in defining the --no-stop-on-copy option
      git-svn: allow --find-copies-harder and -l<num> to be passed on commit
      git-svn: Allow for more argument types for commit (from..to)
      git-svn: remove any need for the XML::Simple dependency
      git-svn: change ; to && in addremove()
      contrib/git-svn.txt: add a note about renamed/copied directory support
      git-svn: fix several corner-case and rare bugs with 'commit'
      contrib/git-svn: add Makefile, test, and associated ignores
      git-svn: 0.9.1: add --version and copyright/license (GPL v2+) information
      contrib/git-svn: add show-ignore command
      contrib/git-svn: optimize sequential commits to svn
      contrib/git-svn: version 0.10.0
      contrib/git-svn: tell the user to not modify git-svn-HEAD directly
      contrib/git-svn: correct commit example in manpage
      contrib/git-svn: use refs/remotes/git-svn instead of git-svn-HEAD
      git-branch: add -r switch to list refs/remotes/*
      contrib/git-svn: add -b/--branch switch for branch detection
      contrib/git-svn: several small bug fixes and changes
      contrib/git-svn: strip 'git-svn-id:' when commiting to SVN
      contrib/git-svn: allow --authors-file to be specified
      contrib/git-svn: cleanup option parsing
      contrib/git-svn: create a more recent master if one does not exist
      contrib/git-svn: avoid re-reading the repository uuid, it never changes
      contrib/git-svn: add --id/-i=$GIT_SVN_ID command-line switch
      contrib/git-svn: better documenting of CLI switches
      send-email: accept --no-signed-off-by-cc as the documentation states
      contrib/git-svn: fix a copied-tree bug in an overzealous assertion
      contrib/git-svn: fix svn compat and fetch args
      contrib/git-svn: remove the --no-stop-on-copy flag
      contrib/git-svn: fix a harmless warning on rebuild (with old repos)
      fetch,parse-remote,fmt-merge-msg: refs/remotes/* support
      ls-tree: add --abbrev[=<n>] option
      ls-files: add --abbrev[=<n>] option
      contrib/git-svn: allow rebuild to work on non-linear remote heads
      send-email: use built-in time() instead of /bin/date '+%s'
      send-email: Change from Mail::Sendmail to Net::SMTP
      send-email: try to order messages in email clients more correctly
      send-email: lazy-load Email::Valid and make it optional
      contrib/git-svn: stabilize memory usage for big fetches

Fernando J. Pereda (1):
      Allow building Git in systems without iconv

Francis Daly (4):
      AsciiDoc fix for tutorial
      Tweak asciidoc output to work with broken docbook-xsl
      Fix multi-paragraph list items in OPTIONS section
      Format tweaks for asciidoc.

Fredrik Kuivinen (13):
      Add git-blame, a tool for assigning blame.
      git-blame, take 2
      git-blame: Make the output human readable
      git-blame: Use the same tests for git-blame as for git-annotate
      Fix some inconsistencies in the docs
      Remove trailing dot after short description
      Nicer output from 'git'
      Make it possible to not clobber object.util in sort_in_topological_order (take 2)
      rev-lib: Make it easy to do rename tracking (take 2)
      blame: Rename detection (take 2)
      blame: Nicer output
      blame: Fix git-blame <directory>
      Makefile: Add TAGS and tags targets

J. Bruce Fields (1):
      Document git-rebase behavior on conflicts.

Jason Riedy (1):
      Fix typo in git-rebase.sh.

Jeff Muizelaar (2):
      cosmetics: change from 'See-Also' to 'See Also'
      documentation: add 'see also' sections to git-rm and git-add

Johannes Schindelin (13):
      Fix cpio call
      Optionally support old diffs
      Support Irix
      Optionally work without python
      Fixes for ancient versions of GNU make
      avoid makefile override warning
      Really honour NO_PYTHON
      Fix "gmake -j"
      Use Ryan's git-annotate instead of jsannotate
      Warn about invalid refs
      Fix test case for some sed
      imap-send: Add missing #include for macosx
      Remove dependency on a file named "-lz"

Jon Loeliger (9):
      Add git-show reference
      Call out the two different uses of git-branch and fix a typo.
      Document the default source of template files.
      Clarify git-rebase example commands.
      Reference git-commit-tree for env vars.
      Fix minor typo.
      Rewrite synopsis to clarify the two primary uses of git-checkout.
      Clarify and expand some hook documentation.
      Removed bogus "<snap>" identifier.

Jonas Fonseca (2):
      manpages: insert two missing [verse] markers for multi-line SYNOPSIS
      repo-config: give value_ a sane default so regexec won't segfault

Josef Weidendorfer (1):
      git-mv: fix moves into a subdir from outside

Junio C Hamano (137):
      "Assume unchanged" git
      "Assume unchanged" git: do not set CE_VALID with --refresh
      ls-files: debugging aid for CE_VALID changes.
      "Assume unchanged" git: --really-refresh fix.
      ls-files: split "show-valid-bit" into a different option.
      "assume unchanged" git: documentation.
      cache_name_compare() compares name and stage, nothing else.
      git-commit: Now --only semantics is the default.
      rebase: allow a hook to refuse rebasing.
      commit: detect misspelled pathspec while making a partial commit.
      rebase: allow rebasing onto different base.
      ls-files --error-unmatch pathspec error reporting fix.
      Detect misspelled pathspec to git-add
      packed objects: minor cleanup
      topo-order: make --date-order optional.
      pack-objects: reuse data from existing packs.
      pack-objects: finishing touches.
      git-repack: allow passing a couple of flags to pack-objects.
      git-tag: -l to list tags (usability).
      Add contrib/README.
      SubmittingPatches: note on whitespaces
      pack-objects: avoid delta chains that are too long.
      Make "empty ident" error message a bit more helpful.
      Delay "empty ident" errors until they really matter.
      Keep Porcelainish from failing by broken ident after making changes.
      fmt-merge-msg: say which branch things were merged into unless 'master'
      Allow git-mv to accept ./ in paths.
      Documentation: fix typo in rev-parse --short option description.
      fmt-merge-msg: do not add excess newline at the end.
      rev-list --objects-edge
      Thin pack - create packfile with missing delta base.
      send-pack --thin: use "thin pack" delta transfer.
      Add git-push --thin.
      Use thin pack transfer in "git fetch".
      fmt-merge-msg: avoid open "-|" list form for Perl 5.6
      rerere: avoid open "-|" list form for Perl 5.6
      send-email: avoid open "-|" list form for Perl 5.6
      svnimport: avoid open "-|" list form for Perl 5.6
      cvsimport: avoid open "-|" list form for Perl 5.6
      Fix fmt-merge-msg counting.
      cherry-pick/revert: error-help message rewording.
      git-mktree: reverse of git-ls-tree.
      rev-list.c: fix non-grammatical comments.
      send-pack: do not give up when remote has insanely large number of refs.
      gitview: ls-remote invocation shellquote safety.
      pack-objects: thin pack micro-optimization.
      pack-objects: use full pathname to help hashing with "thin" pack.
      count-delta: tweak counting of copied source material.
      count-delta: fix counting of copied source.
      Tweak break/merge score to adjust to the new delta generation code.
      pack-objects: allow "thin" packs to exceed depth limits
      rev-list --objects-edge: remove duplicated edge commit output.
      rev-list --objects: use full pathname to help hashing.
      pack-objects: hash basename and direname a bit differently.
      Revert "diff-delta: produce optimal pack data"
      Build and install git-mailinfo.
      rev-list split: minimum fixup.
      apply --whitespace fixes and enhancements.
      apply: squelch excessive errors and --whitespace=error-all
      apply --whitespace: configuration option.
      git-apply --whitespace=nowarn
      Revert "Revert "diff-delta: produce optimal pack data""
      git-apply: war on whitespace -- finishing touches.
      diffcore-break: micro-optimize by avoiding delta between identical files.
      diffcore-rename: split out the delta counting code.
      diffcore-delta: stop using deltifier for packing.
      git-am: --whitespace=x option.
      diff-delta: cull collided hash bucket more aggressively.
      git-log (internal): add approxidate.
      git-log (internal): more options.
      Pretty-print tagger dates.
      war on whitespaces: documentation.
      Documentation: read-tree --aggressive
      Documentation: rev-list --objects-edge
      annotate: resurrect raw timestamps.
      setup_revisions(): handle -n<n> and -<n> internally.
      GIT-VERSION-GEN: squelch unneeded error from "cat version"
      show-branch --topics
      git-commit --amend
      git-commit: make sure we protect against races.
      diffcore-rename: similarity estimator fix.
      show-branch --topics: omit more uninteresting commits.
      count-delta: no need for this anymore.
      diffcore-break: similarity estimator fix.
      diffcore-delta: make change counter to byte oriented again.
      git-commit --amend: allow empty commit.
      Const tightening.
      verify-pack -v: show delta-chain histogram.
      blame: avoid -lm by not using log().
      blame and annotate: show localtime with timezone.
      blame: avoid "diff -u0".
      annotate/blame tests updates.
      annotate-blame test: don't "source", but say "."
      annotate-blame test: add evil merge.
      blame: unbreak "diff -U 0".
      annotate-blame: tests incomplete lines.
      pack-objects: simplify "thin" pack.
      Use #define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0]))
      refs.c::do_for_each_ref(): Finish error message lines with "\n"
      fsck-objects: Remove --standalone
      Fix t1200 test for breakage caused by removal of full-stop at the end of fast-forward message.
      try_to_simplify_commit(): do not skip inspecting tree change at boundary.
      repack: prune loose objects when -d is given
      git-diff: -p disables rename detection.
      diffcore-rename: somewhat optimized.
      revision traversal: --remove-empty fix.
      revision traversal: --remove-empty fix (take #2).
      diffcore-delta: make the hash a bit denser.
      diffcore-delta: tweak hashbase value.
      cvsimport: honor -i and non -i upon subsequent imports
      fetch: exit non-zero when fast-forward check fails.
      cvsimport: fix reading from rev-parse
      git-pull: run repo-config with dash form.
      unpack_delta_entry(): reduce memory footprint.
      generate-cmdlist: style cleanups.
      revamp git-clone.
      git-merge knows some strategies want to skip trivial merges
      http-fetch: nicer warning for a server with unreliable 404 status
      core.warnambiguousrefs: warns when "name" is used and both "name" branch and tag exists.
      revamp git-clone (take #2).
      get_sha1_basic(): try refs/... and finally refs/remotes/$foo/HEAD
      clone: record the remote primary branch with remotes/$origin/HEAD
      http-push.c: squelch C90 warnings.
      git-apply: do not barf when updating an originally empty file.
      rev-list --timestamp
      git-clone: typofix.
      git-pull: further safety while on tracking branch.
      git-pull: reword "impossible to fast-forward" message.
      sha1_name: warning ambiguous refs.
      sha1_name: make core.warnambiguousrefs the default.
      send-email: Identify author at the top when sending e-mail
      commit-tree: check return value from write_sha1_file()
      built-in diff: minimum tweaks
      true built-in diff: run everything in-core.
      git-push: make --thin pack transfer the default.
      add clean and ignore rules for xdiff/
      GIT 1.3.0 rc1

Karl Wiberg (7):
      git-svnimport: -r adds svn revision number to commit messages
      svnimport: Mention -r in usage summary
      svnimport: Convert executable flag
      svnimport: Convert the svn:ignore property
      svnimport: Read author names and emails from a file
      Let git-svnimport's author file use same syntax as git-cvsimport's
      Save username -> Full Name <email@addr.es> map file

Linus Torvalds (21):
      Handling large files with GIT
      Handling large files with GIT
      git-merge-tree: generalize the "traverse <n> trees in sync" functionality
      Teach the "git" command to handle some commands internally
      First cut at libifying revlist generation
      Make git diff-generation use a simpler spawn-like interface
      The war on trailing whitespace
      Splitting rev-list into revisions lib, end of beginning.
      git-rev-list libification: rev-list walking
      Introduce trivial new pager.c helper infrastructure
      Tie it all together: "git log"
      Rip out merge-order and make "git log <paths>..." work again.
      get_revision(): do not dig deeper when we know we are at the end.
      git-fmt-merge-msg cleanup
      Fix up diffcore-rename scoring
      diffcore-delta: 64-byte-or-EOL ultrafast replacement.
      diffcore-delta: 64-byte-or-EOL ultrafast replacement (hash fix).
      git-apply: safety fixes
      Use a *real* built-in diff generator
      builtin-diff: \No newline at end of file.
      Fix error handling for nonexistent names

Lukas Sandström (1):
      git-fetch: print the new and old ref when fast-forwarding

Marco Costalba (1):
      Add a Documentation/git-tools.txt

Marco Roeland (1):
      imap-send: cleanup execl() call to use NULL sentinel instead of 0

Mark Hollomon (1):
      Let merge set the default strategy.

Mark Wooding (6):
      combine-diff: Honour --full-index.
      combine-diff: Honour -z option correctly.
      Documentation/Makefile: Some `git-*.txt' files aren't manpages.
      gitignore: Ignore some more boring things.
      contrib/emacs/Makefile: Provide tool for byte-compiling files.
      annotate-tests: override VISUAL when running tests.

Martin Langhoff (18):
      Introducing git-cvsserver -- a CVS emulator for git.
      cvsserver: add notes on how to get a checkout under Eclipse
      cvsserver: Eclipse compat fixes - implement Questionable, alias rlog, add a space after the U
      cvsserver: Eclipse compat - browsing 'modules' (heads in our case) works
      cvsserver: add notes on how to get a checkout under Eclipse
      cvsserver: Eclipse compat fixes - implement Questionable, alias rlog, add a space after the U
      cvsserver: Eclipse compat - browsing 'modules' (heads in our case) works
      cvsserver: Checkout correctly on Eclipse
      annotate: fix -S parameter to take a string
      cvsserver: Eclipse compat -- now "compare with latest from HEAD" works
      cvsserver: checkout faster by sending files in a sensible order
      cvsserver: fix checkouts with -d <somedir>
      cvsserver: checkout faster by sending files in a sensible order
      cvsserver: fix checkouts with -d <somedir>
      cvsserver: nested directory creation fixups for Eclipse clients
      cvsserver: better error messages
      cvsserver: anonymous cvs via pserver support
      cvsserver: updated documentation

Martin Mares (1):
      gitk: Make error_popup react to Return

Matthias Urlichs (2):
      cvsimport: Remove master-updating code
      Don't recurse into parents marked uninteresting.

Mike McCormack (5):
      Allow adding arbitary lines in the mail header generated by format-patch.
      Allow format-patch to attach patches
      Document the --attach flag.
      Describe how to add extra mail header lines in mail generated by git-format-patch.
      Add git-imap-send, derived from isync 1.0.1.

Nick Hengeveld (10):
      Update http-push functionality
      http-push: fix revision walk
      HTTP slot reuse fixes
      http-push: refactor remote file/directory processing
      http-push: improve remote lock management
      http-push: support for updating remote info/refs
      http-push: cleanup
      Fix broken slot reuse when fetching alternates
      http-push: add support for deleting remote branches
      http-push: don't assume char is signed

Nicolas Pitre (11):
      relax delta selection filtering in pack-objects
      diff-delta: fold two special tests into one plus cleanups
      diff-delta: produce optimal pack data
      diff-delta: big code simplification
      diff-delta: bound hash list length to avoid O(m*n) behavior
      diff-delta: produce optimal pack data
      diff-delta: bound hash list length to avoid O(m*n) behavior
      diff-delta: allow reusing of the reference buffer index
      test-delta needs zlib to compile
      diff-delta: bound hash list length to avoid O(m*n) behavior
      3% tighter packs for free

Olaf Hering (1):
      allow double click on current HEAD id after git-pull

Paul Jakma (1):
      Makefile tweaks: Solaris 9+ dont need iconv / move up uname variables

Paul Mackerras (13):
      gitk: Make "find" on "Files" work again.
      gitk: New improved gitk
      gitk: Fix clicks on arrows on line ends
      gitk: Fix Update menu item
      gitk: Various speed improvements
      gitk: Further speedups
      gitk: Fix a bug in drawing the selected line as a thick line
      gitk: Fix display of diff lines beginning with --- or +++
      gitk: Make commitdata an array rather than a list
      gitk: Don't change cursor at end of layout if find in progress
      gitk: Make downward-pointing arrows end in vertical line segment
      gitk: Improve appearance of first child links
      gitk: Fix two bugs reported by users

Pavel Roskin (1):
      gitview: Select the text color based on whether the entry in highlighted. Use standard font.

Petr Baudis (2):
      Properly git-bisect reset after bisecting from non-master head
      Optionally do not list empty directories in git-ls-files --others

Randal L. Schwartz (1):
      fix imap-send for OSX

René Scharfe (5):
      tar-tree: Use SHA1 of root tree for the basedir
      tar-tree: Introduce write_entry()
      tar-tree: Use write_entry() to write the archive contents
      tar-tree: Remove obsolete code
      tar-tree: Use the prefix field of a tar header

Ryan Anderson (9):
      send-email: Add some options for controlling how addresses are automatically added to the cc: list.
      send-email: Add --cc
      Add git-annotate, a tool for assigning blame.
      annotate: Handle dirty state and arbitrary revisions.
      annotate: Convert all -| calls to use a helper open_pipe().
      annotate: Use qx{} for pipes on activestate.
      annotate: handle \No newline at end of file.
      annotate: Add a basic set of test cases.
      annotate: Support annotation of files on other revisions.

Sean Estabrooks (1):
      annotate.perl triggers rpm bug

Shawn O. Pearce (7):
      git ls files recursively show ignored files
      Add missing programs to ignore list
      Darwin: Ignore missing /sw/lib
      Teach git-checkout-index to read filenames from stdin.
      Prevent --index-info from ignoring -z.
      Add --temp and --stage=all options to checkout-index.
      Add missing semicolon to sed command.

Timo Hirvonen (1):
      Use setenv(), fix warnings

Tony Luck (4):
      fix warning from pack-objects.c
      Re-fix compilation warnings.
      annotate should number lines starting with 1
      fix field width/precision warnings in blame.c

Yasushi SHOJI (1):
      Be verbose when !initial commit


Version v1.2.6; changes since v1.2.5:
-------------------------------------

Junio C Hamano (3):
      parse_date(): fix parsing 03/10/2006
      diff_flush(): leakfix.
      count-delta: match get_delta_hdr_size() changes.

Nicolas Pitre (1):
      check patch_delta bounds more carefully


Version v1.2.5; changes since v1.2.4:
-------------------------------------

Jason Riedy (1):
      Use sigaction and SA_RESTART in read-tree.c; add option in Makefile.

Junio C Hamano (3):
      read-tree --aggressive: remove deleted entry from the working tree.
      tar-tree: file/dirmode fix.
      safe_fgets() - even more anal fgets()

Linus Torvalds (2):
      Fix Solaris stdio signal handling stupidities
      pack-objects: be incredibly anal about stdio semantics


Version v1.2.4; changes since v1.2.3:
-------------------------------------

Alex Riesen (1):
      fix t5600-clone-fail-cleanup.sh on windows

Josef Weidendorfer (2):
      git-mv: Allow -h without repo & fix error message
      git-mv: fixes for path handling

Junio C Hamano (13):
      checkout - eye candy.
      Give no terminating LF to error() function.
      diffcore-rename: plug memory leak.
      git-am: do not allow empty commits by mistake.
      sample hooks template.
      apply --whitespace fixes and enhancements.
      apply: squelch excessive errors and --whitespace=error-all
      apply --whitespace: configuration option.
      git-apply --whitespace=nowarn
      git-apply: war on whitespace -- finishing touches.
      git-am: --whitespace=x option.
      diffcore-break: micro-optimize by avoiding delta between identical files.
      Allow git-mv to accept ./ in paths.

Linus Torvalds (1):
      The war on trailing whitespace

Mark Wooding (2):
      combine-diff: Honour --full-index.
      combine-diff: Honour -z option correctly.


Version v1.2.3; changes since v1.2.2:
-------------------------------------

Carl Worth (2):
      git-add: Add support for --, documentation, and test.
      git-push: Update documentation to describe the no-refspec behavior.

Junio C Hamano (11):
      format-patch: pretty-print timestamp correctly.
      detect broken alternates.
      pack-objects: reuse data from existing packs.
      pack-objects: finishing touches.
      git-repack: allow passing a couple of flags to pack-objects.
      pack-objects: avoid delta chains that are too long.
      Make "empty ident" error message a bit more helpful.
      Delay "empty ident" errors until they really matter.
      Keep Porcelainish from failing by broken ident after making changes.
      pack-objects eye-candy: finishing touches.
      git-fetch: follow tag only when tracking remote branch.

Nicolas Pitre (2):
      nicer eye candies for pack-objects
      also adds progress when actually writing a pack


Version v1.2.2; changes since v1.2.1:
-------------------------------------

Carl Worth (3):
      Trap exit to clean up created directory if clone fails.
      Abstract test_create_repo out for use in tests.
      Prevent git-upload-pack segfault if object cannot be found

Eric Wong (1):
      archimport: remove files from the index before adding/updating

Jonas Fonseca (2):
      git-rev-parse: Fix --short= option parsing
      Document --short and --git-dir in git-rev-parse(1)

Martin Mares (1):
      Fix retries in git-cvsimport

Shawn O. Pearce (1):
      Make git-reset delete empty directories


Version v1.2.1; changes since v1.2.0:
-------------------------------------

Fernando J. Pereda (1):
      Print an error if cloning a http repo and NO_CURL is set

Fredrik Kuivinen (1):
      s/SHELL/SHELL_PATH/ in Makefile

Josef Weidendorfer (1):
      More useful/hinting error messages in git-checkout

Junio C Hamano (6):
      Documentation: git-commit in 1.2.X series defaults to --include.
      Documentation: git-ls-files asciidocco.
      bisect: remove BISECT_NAMES after done.
      combine-diff: diff-files fix.
      combine-diff: diff-files fix (#2)
      checkout: fix dirty-file display.


Version v1.2.0; changes since v1.1.6:
-------------------------------------

Alecs King (1):
      Add freebsd support in Makefile

Alex Riesen (2):
      fix "test: 2: unexpected operator" on bsd
      avoid echo -e, there are systems where it does not work

Andreas Ericsson (4):
      git-cvsimport: Add -A <author-conv-file> option
      update-hook: Major overhaul (handling tags, mainly).
      format-patch: Remove last vestiges of --mbox option
      .gitignore git-rerere and config.mak

Christian Biesinger (1):
      Use a relative path for SVN importing

Daniel Barkalow (4):
      Only use a single parser for tree objects
      Use struct tree in tar-tree
      Use struct commit in tar-tree
      Make apply accept the -pNUM option like patch does.

Eric W. Biederman (1):
      Fix git-format-patch -s to include a Signed-off-by: line...

Eric Wong (2):
      rev-list: allow -n<n> as shorthand for --max-count=<n>
      rev-list: allow -<n> as shorthand for --max-count=<n>

Florian Weimer (1):
      AsciiDoc fixes for the git-svnimport manpage

Fredrik Kuivinen (2):
      merge-recursive: Make use of provided bases
      merge-recursive: Speed up commit graph construction

J. Bruce Fields (7):
      Minor git-reset and git-commit documentation fixes
      Mention install-doc in INSTALL
      New tutorial
      cvs-migration documentation update
      Docs: split up pull-fetch-param.txt
      Docs: move git url and remotes text to separate sections
      Docs: minor git-push copyediting

Jason Riedy (4):
      Run GIT-VERSION-GEN with $(SHELL), not sh.
      Add compat/unsetenv.c .
      Use sha1_file.c's mkdir-like routine in apply.c.
      stat() for existence in safe_create_leading_directories()

Johannes Schindelin (1):
      Use a hashtable for objects instead of a sorted list

Jon Loeliger (1):
      Add --diff-filter= documentation paragraph

Junio C Hamano (112):
      show-branch: take default arguments from configuration file.
      git-describe: default to HEAD
      Makefile: add 'strip' target
      octopus: allow criss-cross and clarify the message when it rejects
      Fix the installation location.
      checkout: automerge local changes while switching branches.
      checkout: merge local modifications while switching branches.
      git-push: avoid falling back on pushing "matching" refs.
      checkout: show dirty state upon switching branches.
      clone: --naked option.
      format-patch: always --mbox and show sane Date:
      octopus: allow manual resolve on the last round.
      Documentation: show-branch.
      show-branch: make the current branch and merge commits stand out.
      show-branch: --current includes the current branch.
      cvsimport: ease migration from CVSROOT/users format
      git-push: fix --tags and document it.
      Allow building of RPM from interim snapshot.
      Revert "git-push: avoid falling back on pushing "matching" refs."
      Makefile: do not assume lack of IPV6 means no sockaddr_storage.
      fsck-objects: support platforms without d_ino in struct dirent.
      DT_UNKNOWN: do not fully trust existence of DT_UNKNOWN
      t4011: "sleep 1" is not enough on FAT
      Undef DT_* before redefining them.
      git-grep: clarification on parameters.
      Recommend to remove unused `origin` in a shared repository.
      Documentation: finishing touches to the new tutorial.
      sample update-hook: sanely handle a new branch head.
      git-clone: PG13 --naked option to --bare.
      clone: do not create remotes/origin nor origin branch in a bare repository.
      clone: do not accept more than one -o option.
      tests: adjust breakage by stricter rev-parse
      git-fetch --upload-pack: disambiguate.
      merge: seed the commit message with list of conflicted files.
      diff-tree -c: show a merge commit a bit more sensibly.
      diff-tree --cc: denser combined diff output for a merge commit.
      combine-diff: fix appending at the tail of a list.
      combine-diff: minor output changes.
      combine-diff: extend --cc logic to Octopus.
      diff-tree --cc: squelch header generation on empty patch.
      combine-diff: better hunk splitting.
      diff-files: -c and --cc options.
      rev-list --remove-empty: add minimum help and doc entry.
      abbrev cleanup: use symbolic constants
      rev-parse: --abbrev option.
      diff-tree: abbreviate merge parent object names with --abbrev --pretty.
      rev-parse --abbrev: do not try abbrev shorter than minimum.
      Rename rev-parse --abbrev to --short.
      pretty_print_commit(): pass commit object instead of commit->buffer.
      pretty_print_commit: honor grafts.
      diff --abbrev=<n> option fix.
      rev-parse: make "whatchanged -- git-fetch-script" work again.
      diff-files -c/--cc: combine only when both ours and theirs exist.
      Documentation: diff -c/--cc
      documentation: cvs migration - typofix.
      update-index --index-info: allow stage 0 entries.
      rev-list: omit duplicated parents.
      combine-diff: reuse diff from the same blob.
      combine-diff: update --cc "uninteresting hunks" logic.
      combine-diff: add safety check to --cc.
      combine-diff: fix placement of deletion.
      Documentation: git-diff-tree --cc also omits empty commits
      commit.c: "Merge" fix in pretty_print_commit.
      combine-diff: add a bit more comments.
      combine-diff: show parent line numbers as well.
      combine-diff: cleanup.
      combine-diff: finishing touches to git-diff-tree --cc
      whitespace cleanup.
      get_sha1_1: allow octopus^12 to be properly parsed.
      git-merge: Properly quote $merge_msg variable.
      Do not fall back on vi on dumb terminals.
      diff-index: make --cc a synonym for -p for now.
      git-diff: use --cc instead of -p.
      git-show
      daemon: do not forbid user relative paths unconditionally under --base-path
      daemon: extend user-relative path notation.
      combine-diff: remove misguided --show-empty hack.
      git-diff-tree --stdin: show all parents.
      git-diff: do not fall back on --cc when -[123], --ours etc. are given.
      core-tutorial: adjust to recent reality.
      combine-diff: do not send NULL to printf
      combine-diff: show mode changes as well.
      combine-diff: do not punt on removed or added files.
      mailinfo: reset CTE after each multipart
      read-tree --aggressive
      fmt-merge-msg: show summary of what is merged.
      git-rerere: reuse recorded resolve.
      git-commit: revamp the git-commit semantics.
      git-commit: finishing touches.
      Do not allow empty name or email.
      t6000: fix a careless test library add-on.
      ls-files: honour per-directory ignore file from higher directories.
      combined-diff: use diffcore before intersecting paths.
      call git_config() after setup_git_directory()
      combine-diff: move formatting logic to show_combined_diff()
      count-delta.c: Match the delta data semantics change in version 3.
      git-status -v
      find_unique_abbrev() simplification.
      combine-diff: Record diff status a bit more faithfully
      rev-list: default to abbreviate merge parent names under --pretty.
      git-commit -v: have patch at the end.
      Define GIT_(AUTHOR|COMMITTER)_(NAME|EMAIL) to known values.
      fetch-clone progress: finishing touches.
      Only call git-rerere if $GIT_DIR/rr-cache exists.
      t5500: adjust to change in pack-object reporting behaviour.
      diff-tree: do not default to -c
      Avoid using "git-var -l" until it gets fixed.
      hashtable-based objects: minimum fixups.
      Make pack-objects chattier.
      git-commit: show dirtiness including index.
      Fix "test: unexpected operator" on bsd
      GIT 1.2.0

Kent Engstrom (1):
      Add howto about separating topics.

Linus Torvalds (14):
      Make git-rev-list and git-rev-parse argument parsing stricter
      git-whatchanged: exit out early on errors
      rev-list: stop when the file disappears
      Make the "struct tree_desc" operations available to others
      Make git-tar-tree use the tree_desc abstractions
      Fix git-rev-parse over-eager errors
      diff-tree --always flag
      rev-parse lstat() workaround cleanup.
      Fix "git diff a..b" breakage
      diff-tree -c raw output
      Make "git clone" less of a deathly quiet experience
      Make "git clone" pack-fetching download statistics better
      Fix fetch-clone in the presense of signals
      Fix object re-hashing

Mark Wooding (7):
      daemon: Provide missing argument for logerror() call.
      http-fetch: Fix object list corruption in fill_active_slots().
      http-fetch: Fix message reporting rename of object file.
      http: Turn on verbose Curl messages if GIT_CURL_VERBOSE set in environment
      http-fetch: Tidy control flow in process_alternate_response
      daemon: Set SO_REUSEADDR on listening sockets.
      http-fetch: Abort requests for objects which arrived in packs

Martin Langhoff (3):
      cvsimport: Add -S <skipfileregex> support and -v announces files retrieved
      exportcommit: replace backticks with safe_pipe_capture() or system() - initial pass
      cvsexportcommit: add some examples to the documentation

Matt Draisey (1):
      local push/pull env cleanup

Michal Ostrowski (3):
      Exec git programs without using PATH.
      git-fetch: pass --upload-pack to fetch-pack
      git-{fetch,peek-remote} handling of --upload-pack

Nick Hengeveld (2):
      Fix HTTP request result processing after slot reuse
      Use local structs for HTTP slot callback data

Nicolas Pitre (3):
      remove delta-against-self bit
      count-delta.c: comment fixes
      delta micro optimization

Paul Mackerras (2):
      gitk: Add braces around if expressions
      gitk: Use git-diff-tree --cc for showing the diffs for merges

Pavel Roskin (2):
      Disable USE_SYMLINK_HEAD by default
      Don't include ../README in git.txt - make a local copy

Peter Eriksen (1):
      Use adler32() from zlib instead of defining our own.

Petr Baudis (5):
      Document git-ls-files --directory
      Allow diff and index commands to be interrupted
      Document git-diff-tree --always
      Basic documentation for git-show
      Add support for explicit type specifiers when calling git-repo-config

Ryan Anderson (3):
      Provide a more meaningful initial "From " line when using --compose in git-send-email.
      git-send-email: Add --quiet to reduce some of the chatter when sending emails.
      git-send-email: Fully implement --quiet and document it.

Sasha Khapyorsky (1):
      git-svnimport.perl: fix for 'arg list too long...'

Tom Prince (1):
      Add --keep option to keep downloaded packs to git-fetch.

Tony Luck (1):
      update using-topic-branches

Uwe Kleine-König (3):
      Fix generation of "humanish" part of source repo
      Remove unneeded header
      Use symbolic name SHORT_NAME_AMBIGUOUS as error return value

Uwe Zeisberger (1):
      Make GIT-VERSION-GEN tolerate missing git describe command again


Version v1.1.6; changes since v1.1.5:
-------------------------------------

Fredrik Kuivinen (2):
      merge-recursive: Improve the error message printed when merge(1) isn't found.
      git-branch: Documentation fixes

J. Bruce Fields (1):
      git push -f documentation

Junio C Hamano (1):
      pre-commit sample hook: do not barf on the initial import


Version v1.1.5; changes since v1.1.4:
-------------------------------------

Junio C Hamano (1):
      checkout: do not make a temporary copy of symlink target.


Version v1.1.4; changes since v1.1.3:
-------------------------------------

Johannes Schindelin (1):
      git-fetch-pack: really do not ask for funny refs

Junio C Hamano (1):
      Revert "check_packed_git_idx(): check integrity of the idx file itself."


Version v1.1.3; changes since v1.1.2:
-------------------------------------

Junio C Hamano (2):
      diffcore-break/diffcore-rename: integer overflow.
      describe: omit clearing marks on the last one.


Version v1.1.2; changes since v1.1.1:
-------------------------------------

J. Bruce Fields (1):
      Documentation: clarify fetch parameter descriptions.

Junio C Hamano (6):
      update-index: work with c-quoted name
      describe: do not silently ignore indescribable commits
      name-rev: do not omit leading components of ref name.
      show-branch: handle [] globs as well.
      Documentation: git-commit -a
      Documentation: git-reset - interrupted workflow.

Tom Prince (1):
      Add git-describe to .gitignore.


Version v1.1.1; changes since v1.1.0:
-------------------------------------

H. Peter Anvin (1):
      For release tarballs, include the proper version

Johannes Schindelin (1):
      glossary: explain "master" and "origin"

Junio C Hamano (1):
      GIT-VERSION-GEN: detect dirty tree and mark the version accordingly.


Version v1.1.0; changes since v1.0.13:
--------------------------------------

Johannes Schindelin (3):
      git-clone: Support changing the origin branch with -o
      Introduce core.sharedrepository
      git-init-db: initialize shared repositories with --shared

John Ellson (1):
      Make GIT-VERSION-GEN tolerate missing git describe command

Junio C Hamano (23):
      Post 1.0.0 development track.
      Versioning scheme changes.
      merge-recursive: conflicting rename case.
      whatchanged: customize diff-tree output
      rev-parse: --show-cdup
      check_packed_git_idx(): check integrity of the idx file itself.
      checkout: sometimes work from a subdirectory.
      ls-tree: chomp leading directories when run from a subdirectory
      git-clone: do not special case dumb http.
      Tutorial: mention shared repository management.
      git-describe: really prefer tags only.
      git-describe: use find_unique_abbrev()
      git-describe: --tags and --abbrev
      git-describe: still prefer annotated tag under --all and --tags
      git-describe: documentation.
      Makefile: use git-describe to mark the git version.
      send-pack/receive-pack: allow errors to be reported back to pusher.
      git-fetch: auto-following tags.
      ls-files --others --directory: fix a bug with index entry ordering
      ls-files --others --directory: give trailing slash
      git-status: use ls-files --others --directory for untracked list.
      ls-files --others --directory: test
      describe: allow more than one revs to be named.

Linus Torvalds (2):
      Add a "git-describe" command
      ls-files -o: optionally skip showing the contents in "untracked" directories

Lukas Sandström (1):
      git-pack-redundant: speed and memory usage improvements

Petr Baudis (1):
      git-daemon --base-path

YOSHIFUJI Hideaki (1):
      GIT: Support [address] in URLs

Yann Dirson (3):
      Add an optional limit to git-cherry
      Add a minimal test for git-cherry
      Add a test for rebase when a change was picked upstream


Version v1.0.13; changes since v1.0.12:
---------------------------------------

Junio C Hamano (1):
      checkout: do not make a temporary copy of symlink target.


Version v1.0.12; changes since v1.0.11:
---------------------------------------

Johannes Schindelin (1):
      git-fetch-pack: really do not ask for funny refs

Junio C Hamano (1):
      Revert "check_packed_git_idx(): check integrity of the idx file itself."


Version v1.0.11; changes since v1.0.10:
---------------------------------------

Junio C Hamano (1):
      diffcore-break/diffcore-rename: integer overflow.


Version v1.0.10; changes since v1.0.9:
--------------------------------------

J. Bruce Fields (1):
      Documentation: clarify fetch parameter descriptions.

Junio C Hamano (5):
      update-index: work with c-quoted name
      name-rev: do not omit leading components of ref name.
      show-branch: handle [] globs as well.
      Documentation: git-commit -a
      Documentation: git-reset - interrupted workflow.


Version v1.0.9; changes since v1.0.8:
-------------------------------------

Johannes Schindelin (1):
      glossary: explain "master" and "origin"


Version v1.0.8; changes since v1.0.7:
-------------------------------------

Joe English (1):
      Substitute "/" with $opt_s in tag names as well as branch names

Junio C Hamano (7):
      unpack-objects: default to quiet if stderr is not a tty.
      Retire debian/ directory.
      prune: do not show error from pack-redundant when no packs are found.
      Compilation: zero-length array declaration.
      tar-tree: finish honoring extractor's umask in git-tar-tree.
      revert/cherry-pick: handle single quote in author name.
      mailsplit: allow empty input from stdin

Yann Dirson (3):
      Teach cvsexportcommit to add new files
      Fix typo in debug stanza of t2001
      Fix git-format-patch usage string wrt output modes.


Version v1.0.7; changes since v1.0.6:
-------------------------------------

Alex Riesen (12):
      trivial: retval of waitpid is not errno
      trivial: O_EXCL makes O_TRUNC redundant
      fix potential deadlock in create_one_file
      use result of open(2) to check for presence
      trivial: typo in git-commit.sh
      trivial: clarify, what are the config's user.name and user.email about
      trivial: remove the dots at the end of file names from merge-one-file
      trivial: use git-repo-config to detect if the test can be run on the repository
      trivial: use git-repo-config to detect how to run tests in the test repository
      trivial: .gitignore precompiled python modules
      trivial: check, if t/trash directory was successfully created
      use GIT_DIR instead of /var/tmp

Amos Waterland (1):
      AIX compile fix for repo-config.c

Andreas Ericsson (1):
      git: grok 'help' to mean '--help'.

Eric Wong (2):
      svnimport: support repositories requiring SSL authentication
      Documentation/git-svnimport: document -T and -t switches correctly

Gerrit Pape (1):
      Fix skipping merge-order test with NO_OPENSSL=1.

Jon Loeliger (1):
      Fix git-symbolic-ref typo in git.txt.

Jonas Fonseca (2):
      git-init-db(1): Describe --shared and the idempotent nature of init-db
      Wrap synopsis lines and use [verse] to keep formatting

Junio C Hamano (6):
      Documentation: spell.
      code comments: spell
      ?alloc: do not return NULL when asked for zero bytes
      git-fetch --tags: reject malformed tags.
      format-patch/commit: Quote single quote in the author name properly.
      t3300: skip when filesystem does not like TAB in filenames.

Linus Torvalds (1):
      Fix nasty approxidate bug


Version v1.0.6; changes since v1.0.5:
-------------------------------------

Junio C Hamano (3):
      Guard a test against wc that pads its output with whitespace
      Fix bogus tests on rev-list output.
      Do not mark tags fetched via --tags flag as mergeable

Sam Ravnborg (1):
      copy_fd: close ifd on error


Version v1.0.5; changes since v1.0.4:
-------------------------------------

Eric Wong (1):
      short circuit out of a few places where we would allocate zero bytes

Johannes Schindelin (1):
      Handle symlinks graciously

Junio C Hamano (2):
      avoid asking ?alloc() for zero bytes.
      t5300: avoid false failures.


Version v1.0.4; changes since v1.0.3:
-------------------------------------

Junio C Hamano (5):
      check_packed_git_idx(): check integrity of the idx file itself.
      show-branch: usability updates.
      merge --no-commit: tweak message
      ls-files --full-name: usage string and documentation.
      mailinfo: iconv does not like "latin-1" -- should spell it "latin1"


Version v1.0.3; changes since v1.0.2:
-------------------------------------

Alex Riesen (1):
      \n usage in stderr output

Johannes Schindelin (2):
      git-format-patch should show the correct version
      sha1_to_hex: properly terminate the SHA1

Junio C Hamano (1):
      send-pack: reword non-fast-forward error message.

Nick Hengeveld (1):
      Fix for http-fetch from file:// URLs

Pavel Roskin (1):
      sanity check in add_packed_git()


Version v1.0.2; changes since v1.0.1:
-------------------------------------

Junio C Hamano (1):
      server-info: skip empty lines.

Pavel Roskin (1):
      quote.c: Make loop control more readable.


Version v1.0.1; changes since v1.0.0b:
--------------------------------------


Version v1.0.0b; changes since v1.0.0a:
---------------------------------------

Junio C Hamano (1):
      server-info: skip empty lines.

Pavel Roskin (1):
      quote.c: Make loop control more readable.


Version v1.0.0a; changes since v1.0.0:
--------------------------------------

Johannes Schindelin (1):
      Avoid misleading success message on error

Junio C Hamano (3):
      objects/info/packs: work around bug in http-fetch.c::fetch_indices()
      http-fetch.c: fix objects/info/pack parsing.
      GIT 1.0.0a

Pavel Roskin (1):
      An off-by-one bug found by valgrind


Version v1.0.0; changes since v1.0rc6:
--------------------------------------

Eric Wong (1):
      Documentation/git-archimport: document -o, -a, f, -D options

Fredrik Kuivinen (3):
      git-diff: Usage string clean-up
      git-log: Add usage string
      git-whatchanged: Add usage string

Jan Harkes (1):
      Fix git-am --skip

Johannes Schindelin (1):
      We do not like "HEAD" as a new branch name

Junio C Hamano (32):
      clone-pack: make it usable for partial branch cloning.
      Documentation: tutorial
      get_sha1_basic(): corner case ambiguity fix
      applymbox: typofix
      Sort globbed refname in show-branch.
      refs.c: off-by-one fix.
      Examples of resetting.
      Forbid pattern maching characters in refnames.
      Comment fixes.
      Documentation: HTTP needs update-server-info.
      Remove misguided branch disambiguation.
      Revert "refs.c: off-by-one fix."
      Revert "We do not like "HEAD" as a new branch name"
      Revert "get_sha1_basic(): corner case ambiguity fix"
      fetch-pack: -k option to keep downloaded pack.
      clone-pack: remove unused and undocumented --keep flag
      Documentation: typos and small fixes in "everyday".
      howto/using-topic-branches: Recommend public URL git://git.kernel.org/
      rev-list --objects: fix object list without commit.
      Documentation: stdout of update-hook is connected to /dev/null
      Remove generated files */*.py[co]
      Remove unused cmd-rename.sh
      Remove "octopus".
      tests: make scripts executable
      xread/xwrite: do not worry about EINTR at calling sites.
      diff: --abbrev option
      diff --abbrev: document --abbrev=<n> form.
      format-patch: make sure header and body are separated.
      Racy GIT
      Racy GIT (part #2)
      ce_smudge_racily_clean_entry: explain why it works.
      A shared repository should be writable by members.

Linus Torvalds (3):
      Make "git help" react to window size correctly
      Make "git help" sort git commands in columns
      Make "git-send-pack" less verbose by default

Martin Langhoff (1):
      svnimport: exit cleanly when we are up to date

Nicolas Pitre (1):
      small cleanup for diff-delta.c


Version v1.0rc6; changes since v1.0rc5:
---------------------------------------

Amos Waterland (1):
      git rebase loses author name/email if given bad email address

Fredrik Kuivinen (12):
      Usage message clean-up, take #2
      Trivial usage string clean-up
      git-verify-tag: Usage string clean-up, emit usage string at incorrect invocation
      git-revert: Usage string clean-up
      git-am: Usage string clean-up
      git-applypatch: Usage string clean-up, emit usage string at incorrect invocation
      git-cherry: Usage string clean-up, use the 'usage' function
      git-fetch: Usage string clean-up, emit usage string at unrecognized option
      git-lost-found: Usage string clean-up, emit usage string at incorrect invocation
      git-prune: Usage string clean-up, use the 'usage' function
      git-rebase: Usage string clean-up, emit usage string at incorrect invocation
      git-repack: Usage string clean-up, emit usage at incorrect invocation

H. Peter Anvin (1):
      git-am support for naked email messages (take 2)

Junio C Hamano (22):
      diffcore-break.c: check diff_delta() return value.
      Add deltifier test.
      diff-delta.c: allow delta with empty blob.
      Everyday: some examples.
      Revert "diff-delta.c: allow delta with empty blob."
      Revert "Add deltifier test."
      diffcore-break: do not break too small filepair.
      Everyday: a bit more example.
      Documentation: more examples.
      Documentation: fix missing links to git(7)
      Documentation: diff examples.
      Documentation: not learning core git commands.
      git-clone: tell the user a bit more about clone-pack failure.
      allow merging any committish
      checkout-index: fix checking out specific path.
      Everyday: a bit more examples.
      t3200: branch --help does not die anymore.
      applypatch: no need to do non-portable [[ ... ]]
      Documentation: topic branches
      rebase: do not get confused in fast-forward situation.
      Do not let errors pass by unnoticed when running `make check'.
      mailinfo and git-am: allow "John Doe <johndoe>"

Lukas Sandström (1):
      Bugfixes for git-rebase

Martin Atukunda (1):
      define MAXPATHLEN for hosts that don't support it

Petr Baudis (1):
      Make git-send-pack exit with error when some refs couldn't be pushed out


Version v1.0rc5; changes since v1.0rc4:
---------------------------------------

Alex Riesen (1):
      use "git init-db" in tests

Daniel Barkalow (3):
      Warn when send-pack does nothing
      Clean up file descriptors when calling hooks.
      Allow saving an object from a pipe

Eric Wong (9):
      archimport: first, make sure it still compiles
      archimport: remove String::ShellQuote dependency.
      archimport: fix -t tmpdir switch
      archimport: remove git wrapper dependency
      archimport: add -D <depth> and -a switch
      archimport: safer log file parsing
      archimport: Add the accurate changeset applyer
      archimport: Fix a bug I introduced in the new log parser
      archimport: fix a in new changeset applyer addition

Jason Riedy (3):
      Document config.mak in INSTALL.
      Initial AIX portability fixes.
      Use printf rather than echo -n.

Jon Loeliger (1):
      Added documentation for few missing options.

Junio C Hamano (51):
      compat/setenv: do not free what we fed putenv(3).
      git.c: two fixes, gitsetenv type and off-by-one error.
      show-branch: allow glob pattern to name branches to show.
      Documentation: rebase does not use cherry-pick anymore.
      struct tree: remove unused field "parent"
      git.c: remove excess output for debugging when command is too long.
      sha1_file.c: make sure packs in an alternate odb is named properly.
      server-info.c: drop unused D lines.
      server-info: stop sorting packs by latest date.
      server-info: throw away T computation as well.
      Documentation: talk about pathspec in bisect.
      Documentation: git-mv manpage workaround.
      Documentation: git-diff asciidoc table workaround.
      Documentation: push/receive hook references.
      Documentation: shared repository management in tutorial.
      server-info.c: use pack_local like everybody else.
      server-info.c: and two functions are not used anymore.
      config.c: remove unnecessary header in minimum configuration file.
      Clean up compatibility definitions.
      Fix 5501 test
      git-mv to work with Perl 5.6
      hash-object: -- and --help
      init-db: check extra arguments and complain.
      write-tree: check extra arguments and die but be a bit more helpful.
      Documentation: hash-object.
      Documentaiton (read-tree): update description of 3-way
      git-merge-one-file: resurrect leading path creation.
      qsort() ptrdiff_t may be larger than int
      checkout-index: allow checking out from higher stages.
      git-merge-one: new merge world order.
      update-index: allow --index-info to add higher stages.
      Documentation: git.html/git.7
      Documentation(glossary): minor formatting clean-ups.
      Documentation(cvs-migration): minor cleanups.
      Documentation(tutorial): adjust merge example to the new merge world order.
      refs.c: make sure leading directories exist before writing a ref.
      Make sure we use compat/subprocess.py with Python 2.3 while running tests.
      Documentation: recursive is the default strategy these days.
      show-branch: comment typo
      Documentation: git-prune
      qsort(): ptrdiff_t may be larger than int
      git-prune: never lose objects reachable from our refs.
      Use GIT_EXEC_PATH explicitly for initial git-init-db in tests.
      Everyday GIT with 20 commands
      Link Everyday GIT to main documentation tree.
      t3300: funny name test
      t0000: catch trivial pilot errors.
      format-patch: use same number of digits in numbers
      merge-recursive: leave unmerged entries in the index.
      merge-recursive: cleanup setIndexStages
      t/t6022: a new test for renaming merge.

Nikolai Weibull (16):
      Document the --non-empty command-line option to git-pack-objects.
      Fix the description of --utf8 and --keep to git-am.
      Use uniform description for the '--' option.
      Documentation/git-commit.txt: Add long options and -- to documentation.
      Documentation/git-verify-pack.txt: added documentation for --.
      Documentation/git-cvsimport.txt: Fix a slight glitch in description heading.
      Documentation/git-cherry-pick: Add --replay and --no-commit.
      Add documentation for git-revert and git-cherry-pick.
      Add documentation for the --topo-order option to git-show-branch.
      Documentation/git-format-patch.txt: Add --signoff, --check, and long option-names.
      Documentation/git-ls-remote.txt: Add -h and -t.
      Documentation/git-repack.txt: Add -l and -n.
      Documentation/git-http-fetch.txt: Document the commit-id argument.
      Documentation/git-update-server-info.txt: Add -f alias for --force to documentation.
      Documentation/git-tag.txt: Fix the order of sections (DESCRIPTION should come before OPTIONS).
      Documentation/git-read-tree.txt: Add --reset to SYNOPSIS.

Paul Mackerras (3):
      gitk: Factored out some common code into a new start_rev_list procedure
      gitk: Some improvements for the code for updating the display
      gitk: Work around Tcl's non-standard names for encodings

Petr Baudis (2):
      Update the git-ls-tree documentation
      Document the --(no-)edit switch of git-revert and git-cherry-pick

Sven Verdoolaege (1):
      gitk: add Update menu item.


Version v1.0rc4; changes since v1.0rc3:
---------------------------------------

Alecs King (1):
      Documentation/git-log.txt: trivial typo fix.

Alex Riesen (5):
      speedup allocation in pack-redundant.c
      remove unused variable
      arguments cleanup and some formatting
      Add tests for git-mv in subdirectories
      git wrapper: more careful argument stuffing

Alexander Litvinov (1):
      git-mv is not able to handle big directories

Andreas Ericsson (13):
      git-daemon: --inetd implies --syslog
      C implementation of the 'git' program, take two.
      Update git(7) man-page for the C wrapper.
      git --help COMMAND brings up the git-COMMAND man-page.
      daemon.c: fix arg parsing bugs
      Library code for user-relative paths, take three.
      Server-side support for user-relative paths.
      Client side support for user-relative paths.
      Documentation update for user-relative paths.
      git-reset.txt: Small fix + clarifications.
      git-daemon support for user-relative paths.
      Introduce $(ALL_PROGRAMS) for 'all:' and 'install:' to operate on.
      cvsimport: Don't let local settings hinder cvs user-migration.

Eric Wong (3):
      remove shellquote usage for tags
      archimport: don't die on merge-base failure
      Disambiguate the term 'branch' in Arch vs git

Frank Sorenson (1):
      gitk: Specify line hover font

Fredrik Kuivinen (5):
      merge-recursive: Replace 'except:'
      git-merge: Exit with code 2 if no strategy was able to handle the merge.
      test-lib.sh: Add new function, test_expect_code
      New test case: merge with directory/file conflicts
      New test case: Criss-cross merge

H. Peter Anvin (3):
      git-core-foo -> git-foo, except the core package
      rename/copy score parsing updates.
      A few more options for git-cat-file

Jan Andres (1):
      Fix typo in http-push.c

Jason Riedy (1):
      Add compat/setenv.c, use in git.c.

Jeff Hobbs (1):
      gitk: put braces around exprs

Johannes Schindelin (13):
      Add config variable core.symrefsonly
      Fix tests with new git in C
      Give python a chance to find "backported" modules
      Add functions git_config_set() and git_config_set_multivar()
      Add git-config-set, a simple helper for scripts to set config variables
      Add documentation for git-config-set
      Add test case for git-config-set
      git-config-set: add more options
      git-config-set: support selecting values by non-matching regex
      git-config-set: Properly terminate strings with '\0'
      Allow hierarchical section names
      Rename git-config-set to git-repo-config
      Make git-mv work in subdirectories, too

Jon Loeliger (1):
      Fix typos and minor format issues.

Jonas Fonseca (1):
      Fix git(1) link to git-index-pack

Josef Weidendorfer (6):
      Fix git-mv for moving directories with 1 file
      git-mv: shrink usage, no usage on error
      git-mv: keep git index consistent with file system on failed rename
      git-mv: fully detect 'directory moved into itself'
      Small fixes in Documentation/git-mv.txt
      git-mv: follow -k request even on failing renames

Junio C Hamano (108):
      Documentation: do not blindly run 'cat' .git/HEAD, or echo into it.
      diff: make default rename detection limit configurable.
      sha1_file.c::add_packed_git(): fix type mismatch.
      git wrapper: basic fixes.
      git-apply: fail if a patch cannot be applied.
      git-am: --resolved.
      apply: allow-binary-replacement.
      diff: --full-index
      tests: binary diff application.
      Add approxidate test calls.
      Deal with binary diff output from GNU diff 2.8.7
      git-am: --binary; document --resume and --binary.
      git-prune: quote possibly empty $dryrun as parameter to test
      Cygwin *might* be helped with NO_MMAP
      Do not show .exe in git command list.
      git-branch: -f to forcibly reset branch head.
      Rewrite rebase to use git-format-patch piped to git-am.
      readrefs: grab all refs with one call to ls-remote.
      git-count-objects: dc replacement
      git-repack: do not do complex redundancy check.
      Documentation: rebase-from-internal minor updates.
      merge-one-file: remove empty directories
      merge-recursive::removeFile: remove empty directories
      http.c: reorder to avoid compilation failure.
      Do not DWIM in userpath library under strict mode.
      Documentation: add hooks/update example.
      merge-one-file: use rmdir -p
      Fix "do not DWIM" patch to enter_repo"
      Make sure heads/foo and tags/foo do not confuse things.
      Fix hooks/update template.
      format-patch: fix two-argument special case, and make it easier to pick single commits
      rename detection with -M100 means "exact renames only".
      tutorial: setting up a tree for subsystem maintainers
      daemon: further tweaks.
      git-proxy updates.
      Move diff.renamelimit out of default configuration.
      git-var: constness and globalness cleanup.
      pack-redundant: type cleanups.
      git-merge: make recursive the default strategy
      git-revert: make --edit default.
      Teach update-index to read from ls-tree.
      diff-tree: teach single-commit diff-tree to honour grafts
      config.c: avoid shadowing global.
      Prevent "git-commit -a path1 path2..."
      parse-remote and ls-remote clean-up.
      git-sh-setup: die if outside git repository.
      git-var: make it work in subdirectory.
      setup_git_directory: make sure GIT_DIR is a valid repository.
      git-sh-setup: move the repository check to a core program.
      shell.c: complain on insufficient arguments.
      name-rev: fix off-by-one error in --stdin.
      format-patch: output filename reported to stdout verbatim.
      Repository format version check.
      Check repository format version in enter_repo().
      init-db: check template and repository format.
      setup_git_directory(): check repository format version.
      Introduce i18n.commitencoding.
      mailinfo: allow -u to fall back on latin1 to utf8 conversion.
      mailinfo: Use i18n.commitencoding
      mailinfo: Do not use -u=<encoding>; say --encoding=<encoding>
      config.c: constness tightening to avoid compilation warning.
      gitk: Use i18n.commitencoding configuration item.
      git-mv: quote $src in regexp properly.
      rebase: one safety net, one bugfix and one optimization.
      name-rev: fix parent counting.
      Documentation: Describe merge operation a bit better.
      write_name_quoted(): make one of the path a counted string.
      ls-tree: Resurrect funny name quoting lost during rewrite.
      ls-tree: match the test to the new semantics.
      bisect: quote pathnames for eval safety.
      working from subdirectory: preparation
      git-apply: work from subdirectory.
      peek-remote: honor proxy config even from subdirectory.
      fsck-objects: work from subdirectory.
      checkout-index: work from subdirectory.
      hash-object: work within subdirectory.
      ls-tree: work from subdirectory.
      Make networking commands to work from a subdirectory.
      Make the rest of commands work from a subdirectory.
      count-objects: make it operable from a subdirectory.
      ls-remote: define die() now we do not use git-sh-setup
      branch: make it operable from a subdirectory.
      lost-found: make it operable from a subdirectory.
      tag: make it operable from a subdirectory.
      verify-tag: make it operable from a subdirectory.
      define die() for scripts that use it.
      hash-object.c: type-fix to squelch compiler warnings.
      applymbox: typofix to enable -m option.
      applypatch: use "index" lines not "applies-to".
      format-patch: remove applies-to.
      format-patch: do not abuse 3-dash marker line.
      format-patch: run diff in C locale
      git-diff: do not turn off -p/-M with any diff options.
      diff-files: show diffs with stage0 and unmerged stage at the same time.
      merge-recursive: match the unmerged index entry behaviour with merge-resolve
      Tutorial: adjust merge example to recursive strategy.
      Documentation: describe '-f' option to git-fetch.
      Makefile: say the default target upfront.
      ls-tree: resurrect '-d' to mean 'show trees only'
      ls-tree: --name-only
      git-merge-one-file: do not worry about 'rmdir -p' not removing directory.
      merge-recursive: adjust git-ls-tree use for the latest.
      t3100: add ls-tree -t and -d tests.
      merge-one-file: make sure we create the merged file.
      merge-one-file: make sure we do not mismerge symbolic links.
      git-merge documentation: conflicting merge leaves higher stages in index
      documentation: git-bisect (help HTML break man)
      daemon.c and path.enter_repo(): revamp path validation.

Kevin Geiss (4):
      git-cvsexportcommit.perl: Fix usage() output.
      git-cvsexportcommit.perl: use getopts to get binary flags
      git-cvsexportcommit.perl: exit with non-0 status if patch fails.
      git-cvsexportcommit.perl: fix typos in output

Linus Torvalds (14):
      Disallow empty pattern in "git grep"
      git's rev-parse.c function show_datestring presumes gnu date
      Teach "approxidate" about weekday syntax
      Make "git fetch" less verbose by default
      Teach "approxidate" about weekday syntax
      git-repack: Properly abort in corrupt repository
      Allow editing of a revert-message
      ls-tree: major rewrite to do pathspec
      ls-tree: further cleanup to parallel ls-files.
      ls-tree: further tweaks of the rewrite
      bisect: limit the searchspace by pathspecs
      diff-files: -1/-2/-3 to diff against unmerged stage.
      merge-one-file: leave unmerged index entries upon automerge failure.
      git-ls-tree: add "-t" option to always show the tree entries

Luben Tuikov (1):
      max-count in terms of intersection

Lukas Sandström (8):
      Fix llist_sorted_difference_inplace in git-pack-redundant
      Make git-pack-redundant non-horribly slow on large sets of packs
      Fix bug introduced by the latest changes to git-pack-redundant
      Fix a bug in get_all_permutations.
      Remove all old packfiles when doing "git repack -a -d"
      Improve the readability of git-pack-redundant
      Document the "ignore objects" feature of git-pack-redundant
      Make git-pack-redundant take a list of unimportant objs on stdin

Martin Langhoff (1):
      archimport: allow for old style branch and public tag names

Matthias Urlichs (1):
      SVN import: Use one log call

Nick Hengeveld (7):
      Isolate shared HTTP request functionality
      Make http-fetch request types more clear
      Improve pack list response handling
      Improve XML parsing in http-push
      http-push memory/fd cleanup
      Decide whether to build http-push in the Makefile
      http-push cleanup

Nicolas Pitre (1):
      'make clean' forgot about some files

Paul Collins (1):
      proxy-command support for git://

Paul Mackerras (5):
      Add -r flag and some speedups
      gitk: Fix some bugs introduced by speedup changes
      gitk: Disable fastdate stuff for now
      gitk: Fix diff this->selected and selected->this functions
      gitk: Add a preferences dialog with some basic stuff

Paul Serice (2):
      git-daemon not listening when compiled with -DNO_IPV6
      Fixed git:// IPv4 address problem when compiled with -DNO_IPV6.

Pavel Roskin (4):
      symref support for import scripts
      gitk: use git-diff-tree --no-commit-id
      gitk: UTF-8 support
      git-clone --shared should imply --local

Petr Baudis (1):
      Fix bunch of fd leaks in http-fetch

Ralf Baechle (1):
      git-repack: Fix variable name

Ryan Anderson (1):
      Add Python version checks to the Makefile to automatically set WITH_OWN_SUBPROCESS_PY

Sergey Vlasov (2):
      git-fsck-objects: Free tree entries after use
      Rework object refs tracking to reduce memory usage

Stefan-W. Hahn (1):
      gitk: moving all three panes if clicking on an arrow.

Timo Hirvonen (2):
      Fix sparse warnings
      Move couple of ifdefs after "include config.mk"

Tommi Virtanen (1):
      Do not attempt to access literal dirname "GIT_OBJECT_DIRECTORY".

Tony Luck (1):
      Update pull/fetch --tags documentation

YOSHIFUJI Hideaki (2):
      GIT: Fix compilation error in connect.c
      Fix a warning about unused value.

Yann Dirson (1):
      Fix gitk this->selected diffs

anonymous (2):
      documentation: clarify read-tree --reset
      documentation: git-tag


Version v1.0rc3; changes since v1.0rc2:
---------------------------------------

Junio C Hamano (1):
      GIT 0.99.9j aka 1.0rc3


Version v1.0rc2; changes since v1.0rc1:
---------------------------------------

Alex Riesen (1):
      allow git-update-ref create refs with slashes in names

Andreas Ericsson (1):
      git-branch: Mention -d and -D in man-page.

Josef Weidendorfer (2):
      Bugfix: stop if directory already exists
      Remove git-rename. git-mv does the same

Junio C Hamano (5):
      Debian: build-depend on libexpat-dev.
      Rename lost+found to lost-found.
      Separate LDFLAGS and CFLAGS.
      apply: fix binary patch detection.
      Update topo-order test.

Kai Ruemmler (1):
      Fix compilation warnings in pack-redundant.c

Linus Torvalds (1):
      Fix git-rev-list "date order" with --topo-order

Matthias Urlichs (3):
      debian packaging: git-cvs needs cvsps
      Remove trailing slashes
      Depend on asciidoc 7 (at least).

Nick Hengeveld (2):
      Fix for multiple alternates requests in http-fetch
      Fix fd leak in http-fetch

Nikolai Weibull (3):
      Document the -n command-line option to git-unpack-objects
      Document a couple of missing command-line options.
      Documentation nitpicking

Thomas Matysik (2):
      Add expat and expat-devel dependencies (for http-push) to RPM spec.
      Split gitk into seperate RPM package