summaryrefslogtreecommitdiff
path: root/Documentation
AgeCommit message (Collapse)AuthorFilesLines
2019-08-22First batch after Git 2.23Libravatar Junio C Hamano1-0/+52
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-08-22Merge branch 'en/fast-import-merge-doc'Libravatar Junio C Hamano1-1/+1
Doc update. * en/fast-import-merge-doc: git-fast-import.txt: clarify that multiple merge commits are allowed
2019-08-22Merge branch 'jk/tree-walk-overflow'Libravatar Junio C Hamano1-3/+5
Codepaths to walk tree objects have been audited for integer overflows and hardened. * jk/tree-walk-overflow: tree-walk: harden make_traverse_path() length computations tree-walk: add a strbuf wrapper for make_traverse_path() tree-walk: accept a raw length for traverse_path_len() tree-walk: use size_t consistently tree-walk: drop oid from traverse_info setup_traverse_info(): stop copying oid
2019-08-12git-fast-import.txt: clarify that multiple merge commits are allowedLibravatar Elijah Newren1-1/+1
The grammar for commits used a '?' rather than a '*' on the `merge` directive line, despite the fact that the code allows multiple `merge` directives in order to support n-way merges. In fact, elsewhere in git-fast-import.txt there is an explicit declaration that "an unlimited number of `merge` commands per commit are permitted by fast-import". Fix the grammar to match the intent and implementation. Reported-by: Joachim Klein <joachim.klein@automata.tools> Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-08-11Sync with Git 2.22.1Libravatar Junio C Hamano1-0/+3
2019-08-11doc: fix repeated wordsLibravatar Mark Rushakoff9-9/+9
Inspired by 21416f0a07 ("restore: fix typo in docs", 2019-08-03), I ran "git grep -E '(\b[a-zA-Z]+) \1\b' -- Documentation/" to find other cases where words were duplicated, e.g. "the the", and in most cases removed one of the repeated words. There were many false positives by this grep command, including deliberate repeated words like "really really" or valid uses of "that that" which I left alone, of course. I also did not correct any of the legitimate, accidentally repeated words in old RelNotes. Signed-off-by: Mark Rushakoff <mark.rushakoff@gmail.com> Acked-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-08-11Git 2.22.1Libravatar Junio C Hamano1-0/+3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-08-09Merge branch 'sg/fsck-config-in-doc' into maintLibravatar Junio C Hamano1-0/+5
Doc update. * sg/fsck-config-in-doc: Documentation/git-fsck.txt: include fsck.* config variables
2019-08-08Merge branch 'nd/switch-and-restore'Libravatar Junio C Hamano1-1/+1
Docfix. * nd/switch-and-restore: restore: fix typo in docs
2019-08-08Merge branch 'mr/doc-can-not-to-cannot'Libravatar Junio C Hamano6-7/+7
Docfix. * mr/doc-can-not-to-cannot: doc: typo: s/can not/cannot/ and s/is does/does/
2019-08-05restore: fix typo in docsLibravatar William Chargin1-1/+1
Signed-off-by: William Chargin <wchargin@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-08-05doc: typo: s/can not/cannot/ and s/is does/does/Libravatar Mark Rushakoff6-7/+7
"Can not" suggests one has the option to not do something, whereas "cannot" more strongly suggests something is disallowed or impossible. Noticed "can not", mistakenly used instead of "cannot" in git help glossary, then ran git grep 'can not' and found many other instances. Only files in the Documentation folder were modified. 'Can not' also occurs in some source code comments and some test assertion messages, and there is an error message and translation "can not move directory into itself" which I may fix and submit separately from the documentation change. Also noticed and fixed "is does" in git help fetch, but there are no other occurrences of that typo according to git grep. Signed-off-by: Mark Rushakoff <mark.rushakoff@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-08-02Git 2.23-rc1Libravatar Junio C Hamano1-0/+1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-08-02Merge branch 'sg/fsck-config-in-doc'Libravatar Junio C Hamano1-0/+5
Doc update. * sg/fsck-config-in-doc: Documentation/git-fsck.txt: include fsck.* config variables
2019-08-02Merge branch 'jc/log-mailmap-flip-defaults'Libravatar Junio C Hamano2-6/+4
Hotfix for making "git log" use the mailmap by default. * jc/log-mailmap-flip-defaults: log: really flip the --mailmap default log: flip the --mailmap default unconditionally
2019-08-02log: really flip the --mailmap defaultLibravatar Junio C Hamano1-1/+1
Update the docs, test the interaction between the new default, configuration and command line option, in addition to actually flipping the default. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-08-01tree-walk: add a strbuf wrapper for make_traverse_path()Libravatar Jeff King1-0/+4
All but one of the callers of make_traverse_path() allocate a new heap buffer to store the path. Let's give them an easy way to write to a strbuf, which saves them from computing the length themselves (which is especially tricky when they want to add to the path). It will also make it easier for us to change the make_traverse_path() interface in a future patch to improve its bounds-checking. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-08-01RelNotes/2.23.0: fix a few typos and other minor issuesLibravatar Martin Ågren1-7/+7
Fix the spelling of the new "--no-show-forced-updates" option that "git fetch/pull" learned. Similarly, spell "--function-context" correctly and fix a few typos, grammos and minor mistakes. Signed-off-by: Martin Ågren <martin.agren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-08-01Sync with maintLibravatar Junio C Hamano1-1/+1
* maint: RelNotes/2.21.1: typofix
2019-08-01RelNotes/2.21.1: typofixLibravatar Martin Ågren1-1/+1
Signed-off-by: Martin Ågren <martin.agren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-08-01log: flip the --mailmap default unconditionallyLibravatar Junio C Hamano1-5/+3
It turns out that being cautious to warn against upcoming default change was an unpopular behaviour, and such a care can easily be defeated by distro packagers to render it ineffective anyway. Just flip the default, with only a mention in the release notes. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-07-31A few more last-minute fixesLibravatar Junio C Hamano1-63/+2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-07-31setup_traverse_info(): stop copying oidLibravatar Jeff King1-3/+1
We assume that if setup_traverse_info() is passed a non-empty "base" string, that string is pointing into a tree object and we can read the object oid by skipping past the trailing NUL. As it turns out, this is not true for either of the two calls, and we may end up reading garbage bytes: 1. In git-merge-tree, our base string is either empty (in which case we'd never run this code), or it comes from our traverse_path() helper. The latter overallocates a buffer by the_hash_algo->rawsz bytes, but then fills it with only make_traverse_path(), leaving those extra bytes uninitialized (but part of a legitimate heap buffer). 2. In unpack_trees(), we pass o->prefix, which is some arbitrary string from the caller. In "git read-tree --prefix=foo", for instance, it will point to the command-line parameter, and we'll read 20 bytes past the end of the string. Interestingly, tools like ASan do not detect (2) because the process argv is part of a big pre-allocated buffer. So we're reading trash, but it's trash that's probably part of the next argument, or the environment. You can convince it to fail by putting something like this at the beginning of common-main.c's main() function: { int i; for (i = 0; i < argc; i++) argv[i] = xstrdup_or_null(argv[i]); } That puts the arguments into their own heap buffers, so running: make SANITIZE=address test will find problems when "read-tree --prefix" is used (e.g., in t3030). Doubly interesting, even with the hackery above, this does not fail prior to ea82b2a085 (tree-walk: store object_id in a separate member, 2019-01-15). That commit switched setup_traverse_info() to actually copying the hash, rather than simply pointing to it. That pointer was always pointing to garbage memory, but that commit started actually dereferencing the bytes, which is what triggers ASan. That also implies that nobody actually cares about reading these oid bytes anyway (or at least no path covered by our tests). And manual inspection of the code backs that up (I'll follow this patch with some cleanups that show definitively this is the case, but they're quite invasive, so it's worth doing this fix on its own). So let's drop the bogus hashcpy(), along with the confusing oversizing in merge-tree. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-07-29Git 2.23-rc0Libravatar Junio C Hamano1-0/+5
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-07-29Sync with maintLibravatar Junio C Hamano1-1/+72
* maint: Merge fixes made on the 'master' front
2019-07-29Merge fixes made on the 'master' frontLibravatar Junio C Hamano1-1/+72
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-07-29Merge branch 'jc/post-c89-rules-doc' into maintLibravatar Junio C Hamano1-3/+23
We have been trying out a few language features outside c89; the coding guidelines document did not talk about them and instead had a blanket ban against them. * jc/post-c89-rules-doc: CodingGuidelines: spell out post-C89 rules
2019-07-29Merge branch 'ds/close-object-store' into maintLibravatar Junio C Hamano1-17/+0
The commit-graph file is now part of the "files that the runtime may keep open file descriptors on, all of which would need to be closed when done with the object store", and the file descriptor to an existing commit-graph file now is closed before "gc" finalizes a new instance to replace it. * ds/close-object-store: packfile: rename close_all_packs to close_object_store packfile: close commit-graph in close_all_packs commit-graph: use raw_object_store when closing commit-graph: extract write_commit_graph_file() commit-graph: extract copy_oids_to_commits() commit-graph: extract count_distinct_commits() commit-graph: extract fill_oids_from_all_packs() commit-graph: extract fill_oids_from_commit_hex() commit-graph: extract fill_oids_from_packs() commit-graph: create write_commit_graph_context commit-graph: remove Future Work section commit-graph: collapse parameters into flags commit-graph: return with errors during write commit-graph: fix the_repository reference
2019-07-29Merge branch 'qn/clone-doc-use-long-form' into maintLibravatar Junio C Hamano1-17/+17
The "git clone" documentation refers to command line options in its description in the short form; they have been replaced with long forms to make them more recognisable. * qn/clone-doc-use-long-form: docs: git-clone: list short form of options first docs: git-clone: refer to long form of options
2019-07-29Merge branch 'po/doc-branch' into maintLibravatar Junio C Hamano1-6/+27
Doc update. * po/doc-branch: doc branch: provide examples for listing remote tracking branches
2019-07-29Merge branch 'dl/config-alias-doc' into maintLibravatar Junio C Hamano1-6/+16
Doc update. * dl/config-alias-doc: config/alias.txt: document alias accepting non-command first word config/alias.txt: change " and ' to `
2019-07-29Merge branch 'jw/gitweb-sample-update' into maintLibravatar Junio C Hamano1-2/+1
Doc update. * jw/gitweb-sample-update: doc: don't use git.kernel.org as example gitweb URL
2019-07-29Merge branch 'sg/git-C-empty-doc' into maintLibravatar Junio C Hamano1-1/+2
Doc update. * sg/git-C-empty-doc: Document that 'git -C ""' works and doesn't change directory
2019-07-29Merge branch 'js/trace2-signo-typofix' into maintLibravatar Junio C Hamano1-1/+1
Documentation fix. * js/trace2-signo-typofix: trace2: correct trace2 field name documentation
2019-07-29Merge branch 'rm/gpg-program-doc-fix' into maintLibravatar Junio C Hamano1-1/+1
Docfix. * rm/gpg-program-doc-fix: gpg(docs): use correct --verify syntax
2019-07-29Documentation/git-fsck.txt: include fsck.* config variablesLibravatar SZEDER Gábor1-0/+5
The 'fsck.skipList' and 'fsck.<msg-id>' config variables might be easier to discover when they are documented in 'git fsck's man page. Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-07-25Sync with maintLibravatar Junio C Hamano1-0/+76
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-07-25Flush fixes up to the third batch post 2.22.0Libravatar Junio C Hamano1-0/+76
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-07-25Merge branch 'ab/hash-object-doc' into maintLibravatar Junio C Hamano1-3/+1
Doc update. * ab/hash-object-doc: hash-object doc: stop mentioning git-cvsimport
2019-07-25Merge branch 'cm/send-email-document-req-modules' into maintLibravatar Junio C Hamano1-2/+6
A doc update. * cm/send-email-document-req-modules: send-email: update documentation of required Perl modules
2019-07-25Merge branch 'es/git-debugger-doc' into maintLibravatar Junio C Hamano1-0/+6
Doc update. * es/git-debugger-doc: doc: hint about GIT_DEBUGGER in CodingGuidelines
2019-07-25Merge branch 'an/ignore-doc-update' into maintLibravatar Junio C Hamano1-22/+44
The description about slashes in gitignore patterns (used to indicate things like "anchored to this level only" and "only matches directories") has been revamped. * an/ignore-doc-update: gitignore.txt: make slash-rules more readable
2019-07-25Merge branch 'vv/merge-squash-with-explicit-commit' into maintLibravatar Junio C Hamano1-0/+2
"git merge --squash" is designed to update the working tree and the index without creating the commit, and this cannot be countermanded by adding the "--commit" option; the command now refuses to work when both options are given. * vv/merge-squash-with-explicit-commit: merge: refuse --commit with --squash
2019-07-25The seventh batchLibravatar Junio C Hamano1-0/+56
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-07-25Merge branch 'jc/post-c89-rules-doc'Libravatar Junio C Hamano1-3/+23
We have been trying out a few language features outside c89; the coding guidelines document did not talk about them and instead had a blanket ban against them. * jc/post-c89-rules-doc: CodingGuidelines: spell out post-C89 rules
2019-07-25Merge branch 'ac/log-use-mailmap-by-default-transition'Libravatar Junio C Hamano2-2/+3
The "git log" command learns to issue a warning when log.mailmap configuration is not set and --[no-]mailmap option is not used, to prepare users for future versions of Git that uses the mailmap by default. * ac/log-use-mailmap-by-default-transition: tests: defang pager tests by explicitly disabling the log.mailmap warning documentation: mention --no-use-mailmap and log.mailmap false setting log: add warning for unspecified log.mailmap setting
2019-07-25Merge branch 'rm/gpg-program-doc-fix'Libravatar Junio C Hamano1-1/+1
Docfix. * rm/gpg-program-doc-fix: gpg(docs): use correct --verify syntax
2019-07-19The sixth batchLibravatar Junio C Hamano1-0/+35
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-07-19Merge branch 'js/trace2-signo-typofix'Libravatar Junio C Hamano1-1/+1
Documentation fix. * js/trace2-signo-typofix: trace2: correct trace2 field name documentation
2019-07-19Merge branch 'jk/check-connected-with-alternates'Libravatar Junio C Hamano1-0/+8
The tips of refs from the alternate object store can be used as starting point for reachability computation now. * jk/check-connected-with-alternates: check_everything_connected: assume alternate ref tips are valid object-store.h: move for_each_alternate_ref() from transport.h