diff options
Diffstat (limited to '')
-rw-r--r-- | debian/changelog.upstream | 78848 | ||||
-rwxr-xr-x | debian/changelog.upstream.sh | 16 |
2 files changed, 78864 insertions, 0 deletions
diff --git a/debian/changelog.upstream b/debian/changelog.upstream new file mode 100644 index 0000000..55b97f3 --- /dev/null +++ b/debian/changelog.upstream @@ -0,0 +1,78848 @@ +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.4: +------------------------------------------- + +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.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.6: +------------------------------------------- + +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.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.5: +------------------------------------------- + +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.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.7: +------------------------------------------- + +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.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.7: +------------------------------------------- + +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.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.7: +------------------------------------------- + +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.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.6: +------------------------------------------- + +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.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.7: +------------------------------------------- + +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.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.8: +------------------------------------------- + +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.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 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 + + diff --git a/debian/changelog.upstream.sh b/debian/changelog.upstream.sh new file mode 100755 index 0000000..3441546 --- /dev/null +++ b/debian/changelog.upstream.sh @@ -0,0 +1,16 @@ +#!/bin/sh +set -e +: >debian/changelog.upstream +exec <debian/versions.upstream +read old +while read new; do + exec >debian/changelog.upstream."$new" + echo "Version $new; changes since $old:" + echo "Version $new; changes since $old:" |tr '[:print:]' - + echo + git shortlog --no-merges "$old".."$new" + echo + cat debian/changelog.upstream + mv debian/changelog.upstream."$new" debian/changelog.upstream + old="$new" +done |