diff options
76 files changed, 47631 insertions, 36552 deletions
@@ -210,6 +210,7 @@ Petr Baudis <pasky@ucw.cz> <pasky@suse.cz> Petr Baudis <pasky@ucw.cz> <xpasky@machine> Phil Hord <hordp@cisco.com> <phil.hord@gmail.com> Philip Jägenstedt <philip@foolip.org> <philip.jagenstedt@gmail.com> +Philip Oakley <philipoakley@iee.email> <philipoakley@iee.org> # secondary <philipoakley@dunelm.org.uk> Philipp A. Hartmann <pah@qo.cx> <ph@sorgh.de> Philippe Bruhat <book@cpan.org> Ralf Thielow <ralf.thielow@gmail.com> <ralf.thielow@googlemail.com> diff --git a/Documentation/RelNotes/2.22.1.txt b/Documentation/RelNotes/2.22.1.txt index 76dd8fb578..432762f270 100644 --- a/Documentation/RelNotes/2.22.1.txt +++ b/Documentation/RelNotes/2.22.1.txt @@ -143,5 +143,8 @@ Fixes since v2.22 coding guidelines document did not talk about them and instead had a blanket ban against them. + * The internal diff machinery can be made to read out of bounds while + looking for --funcion-context line in a corner case, which has been + corrected. Also contains various documentation updates, code clean-ups and minor fixups. diff --git a/Documentation/RelNotes/2.24.0.txt b/Documentation/RelNotes/2.24.0.txt new file mode 100644 index 0000000000..a95a8b0084 --- /dev/null +++ b/Documentation/RelNotes/2.24.0.txt @@ -0,0 +1,52 @@ +Git 2.24 Release Notes +====================== + +Updates since v2.23 +------------------- + +Backward compatibility note + + * (no entry yet so far) + + +UI, Workflows & Features + + * (no entry yet so far) + + +Performance, Internal Implementation, Development Support etc. + + * The code to write commit-graph over given commit object names has + been made a bit more robust. + + * The first line of verbose output from each test piece now carries + the test name and number to help scanning with eyeballs. + + +Fixes since v2.23 +----------------- + + * "git grep --recurse-submodules" that looks at the working tree + files looked at the contents in the index in submodules, instead of + files in the working tree. + (merge 6a289d45c0 mt/grep-submodules-working-tree later to maint). + + * Codepaths to walk tree objects have been audited for integer + overflows and hardened. + (merge 5aa02f9868 jk/tree-walk-overflow later to maint). + + * "git pack-refs" can lose refs that are created while running, which + is getting corrected. + (merge a613d4f817 sc/pack-refs-deletion-racefix later to maint). + + * "git checkout" and "git restore" to re-populate the index from a + tree-ish (typically HEAD) did not work correctly for a path that + was removed and then added again with the intent-to-add bit, when + the corresponding working tree file was empty. This has been + corrected. + + * Compilation fix. + (merge 70597e8386 rs/nedalloc-fixlets later to maint). + + * Other code cleanup, docfix, build fix, etc. + (merge d1387d3895 en/fast-import-merge-doc later to maint). diff --git a/Documentation/config/color.txt b/Documentation/config/color.txt index 8375596c44..d5daacb13a 100644 --- a/Documentation/config/color.txt +++ b/Documentation/config/color.txt @@ -14,7 +14,7 @@ color.blame.highlightRecent:: + This setting should be set to a comma-separated list of color and date settings, starting and ending with a color, the dates should be set from oldest to newest. -The metadata will be colored given the colors if the the line was introduced +The metadata will be colored given the colors if the line was introduced before the given timestamp, overwriting older timestamped colors. + Instead of an absolute timestamp relative timestamps work as well, e.g. diff --git a/Documentation/config/stash.txt b/Documentation/config/stash.txt index 7710758efb..abc7ef4a3a 100644 --- a/Documentation/config/stash.txt +++ b/Documentation/config/stash.txt @@ -4,7 +4,7 @@ stash.useBuiltin:: the built-in rewrite of it in C. + The C rewrite is first included with Git version 2.22 (and Git for Windows -version 2.19). This option serves an an escape hatch to re-enable the +version 2.19). This option serves as an escape hatch to re-enable the legacy version in case any bugs are found in the rewrite. This option and the shell script version of linkgit:git-stash[1] will be removed in some future release. diff --git a/Documentation/config/transfer.txt b/Documentation/config/transfer.txt index 4a5dfe2fc1..f5b6245270 100644 --- a/Documentation/config/transfer.txt +++ b/Documentation/config/transfer.txt @@ -17,7 +17,7 @@ linkgit:git-receive-pack[1]. On the fetch side, malformed objects will instead be left unreferenced in the repository. + Due to the non-quarantine nature of the `fetch.fsckObjects` -implementation it can not be relied upon to leave the object store +implementation it cannot be relied upon to leave the object store clean like `receive.fsckObjects` can. + As objects are unpacked they're written to the object store, so there diff --git a/Documentation/git-cvsserver.txt b/Documentation/git-cvsserver.txt index f98b7c6ed7..79e22b1f3a 100644 --- a/Documentation/git-cvsserver.txt +++ b/Documentation/git-cvsserver.txt @@ -232,7 +232,7 @@ write so it might not be enough to grant the users using 'git-cvsserver' write access to the database file without granting them write access to the directory, too. -The database can not be reliably regenerated in a +The database cannot be reliably regenerated in a consistent form after the branch it is tracking has changed. Example: For merged branches, 'git-cvsserver' only tracks one branch of development, and after a 'git merge' an diff --git a/Documentation/git-fast-export.txt b/Documentation/git-fast-export.txt index 11427acdde..cc940eb9ad 100644 --- a/Documentation/git-fast-export.txt +++ b/Documentation/git-fast-export.txt @@ -116,7 +116,7 @@ marks the same across runs. and will make master{tilde}4 no longer have master{tilde}5 as a parent (though both the old master{tilde}4 and new master{tilde}4 will have all the same files). Use - --reference-excluded-parents to instead have the the stream + --reference-excluded-parents to instead have the stream refer to commits in the excluded range of history by their sha1sum. Note that the resulting stream can only be used by a repository which already contains the necessary parent diff --git a/Documentation/git-fast-import.txt b/Documentation/git-fast-import.txt index 7baf9e47b5..0bb276269e 100644 --- a/Documentation/git-fast-import.txt +++ b/Documentation/git-fast-import.txt @@ -391,7 +391,7 @@ change to the project. ('encoding' SP <encoding>)? data ('from' SP <commit-ish> LF)? - ('merge' SP <commit-ish> LF)? + ('merge' SP <commit-ish> LF)* (filemodify | filedelete | filecopy | filerename | filedeleteall | notemodify)* LF? .... @@ -425,7 +425,7 @@ the same commit, as `filedeleteall` wipes the branch clean (see below). The `LF` after the command is optional (it used to be required). Note that for reasons of backward compatibility, if the commit ends with a -`data` command (i.e. it has has no `from`, `merge`, `filemodify`, +`data` command (i.e. it has no `from`, `merge`, `filemodify`, `filedelete`, `filecopy`, `filerename`, `filedeleteall` or `notemodify` commands) then two `LF` commands may appear at the end of the command instead of just one. diff --git a/Documentation/git-fetch.txt b/Documentation/git-fetch.txt index 266d63cf11..5b1909fdf4 100644 --- a/Documentation/git-fetch.txt +++ b/Documentation/git-fetch.txt @@ -262,7 +262,7 @@ This updates (or creates, as necessary) branches `pu` and `tmp` in the local repository by fetching from the branches (respectively) `pu` and `maint` from the remote repository. + -The `pu` branch will be updated even if it is does not fast-forward, +The `pu` branch will be updated even if it does not fast-forward, because it is prefixed with a plus sign; `tmp` will not be. * Peek at a remote's branch, without configuring the remote in your local @@ -285,7 +285,7 @@ BUGS ---- Using --recurse-submodules can only fetch new commits in already checked out submodules right now. When e.g. upstream added a new submodule in the -just fetched commits of the superproject the submodule itself can not be +just fetched commits of the superproject the submodule itself cannot be fetched, making it impossible to check out that submodule later without having to do a fetch again. This is expected to be fixed in a future Git version. diff --git a/Documentation/git-pack-objects.txt b/Documentation/git-pack-objects.txt index e45f3e680d..fecdf2600c 100644 --- a/Documentation/git-pack-objects.txt +++ b/Documentation/git-pack-objects.txt @@ -131,7 +131,7 @@ depth is 4095. --keep-pack=<pack-name>:: This flag causes an object already in the given pack to be ignored, even if it would have otherwise been - packed. `<pack-name>` is the the pack file name without + packed. `<pack-name>` is the pack file name without leading directory (e.g. `pack-123.pack`). The option could be specified multiple times to keep multiple packs. diff --git a/Documentation/git-pull.txt b/Documentation/git-pull.txt index a5e9501a0a..dfb901f8b8 100644 --- a/Documentation/git-pull.txt +++ b/Documentation/git-pull.txt @@ -249,7 +249,7 @@ BUGS ---- Using --recurse-submodules can only fetch new commits in already checked out submodules right now. When e.g. upstream added a new submodule in the -just fetched commits of the superproject the submodule itself can not be +just fetched commits of the superproject the submodule itself cannot be fetched, making it impossible to check out that submodule later without having to do a fetch again. This is expected to be fixed in a future Git version. diff --git a/Documentation/git-push.txt b/Documentation/git-push.txt index 6a8a0d958b..3b8053447e 100644 --- a/Documentation/git-push.txt +++ b/Documentation/git-push.txt @@ -75,7 +75,7 @@ without any `<refspec>` on the command line. Otherwise, missing + If <dst> doesn't start with `refs/` (e.g. `refs/heads/master`) we will try to infer where in `refs/*` on the destination <repository> it -belongs based on the the type of <src> being pushed and whether <dst> +belongs based on the type of <src> being pushed and whether <dst> is ambiguous. + -- diff --git a/Documentation/git-repack.txt b/Documentation/git-repack.txt index aa0cc8bd44..92f146d27d 100644 --- a/Documentation/git-repack.txt +++ b/Documentation/git-repack.txt @@ -142,7 +142,7 @@ depth is 4095. --keep-pack=<pack-name>:: Exclude the given pack from repacking. This is the equivalent - of having `.keep` file on the pack. `<pack-name>` is the the + of having `.keep` file on the pack. `<pack-name>` is the pack file name without leading directory (e.g. `pack-123.pack`). The option could be specified multiple times to keep multiple packs. diff --git a/Documentation/git-restore.txt b/Documentation/git-restore.txt index d90093f195..1ab2e40ea9 100644 --- a/Documentation/git-restore.txt +++ b/Documentation/git-restore.txt @@ -39,7 +39,7 @@ OPTIONS commit, branch or tag associated with it. + If not specified, the default restore source for the working tree is -the index, and the default restore source for the index index is +the index, and the default restore source for the index is `HEAD`. When both `--staged` and `--worktree` are specified, `--source` must also be specified. diff --git a/Documentation/glossary-content.txt b/Documentation/glossary-content.txt index 8d38ae6010..090c888335 100644 --- a/Documentation/glossary-content.txt +++ b/Documentation/glossary-content.txt @@ -255,7 +255,7 @@ This commit is referred to as a "merge commit", or sometimes just a [[def_object]]object:: The unit of storage in Git. It is uniquely identified by the <<def_SHA1,SHA-1>> of its contents. Consequently, an - object can not be changed. + object cannot be changed. [[def_object_database]]object database:: Stores a set of "objects", and an individual <<def_object,object>> is diff --git a/Documentation/technical/api-ref-iteration.txt b/Documentation/technical/api-ref-iteration.txt index 46c3d5c355..ad9d019ff9 100644 --- a/Documentation/technical/api-ref-iteration.txt +++ b/Documentation/technical/api-ref-iteration.txt @@ -54,7 +54,7 @@ this: do not do this you will get an error for each ref that it does not point to a valid object. -Note: As a side-effect of this you can not safely assume that all +Note: As a side-effect of this you cannot safely assume that all objects you lookup are available in superproject. All submodule objects will be available the same way as the superprojects objects. diff --git a/Documentation/technical/api-tree-walking.txt b/Documentation/technical/api-tree-walking.txt index bde18622a8..7962e32854 100644 --- a/Documentation/technical/api-tree-walking.txt +++ b/Documentation/technical/api-tree-walking.txt @@ -62,9 +62,7 @@ Initializing `setup_traverse_info`:: Initialize a `traverse_info` given the pathname of the tree to start - traversing from. The `base` argument is assumed to be the `path` - member of the `name_entry` being recursed into unless the tree is a - top-level tree in which case the empty string ("") is used. + traversing from. Walking ------- @@ -140,6 +138,10 @@ same in the next callback invocation. This utilizes the memory structure of a tree entry to avoid the overhead of using a generic strlen(). +`strbuf_make_traverse_path`:: + + Convenience wrapper to `make_traverse_path` into a strbuf. + Authors ------- diff --git a/Documentation/technical/hash-function-transition.txt b/Documentation/technical/hash-function-transition.txt index bc2ace2a6e..2ae8fa470a 100644 --- a/Documentation/technical/hash-function-transition.txt +++ b/Documentation/technical/hash-function-transition.txt @@ -456,7 +456,7 @@ packfile marked as UNREACHABLE_GARBAGE (using the PSRC field; see below). To avoid the race when writing new objects referring to an about-to-be-deleted object, code paths that write new objects will need to copy any objects from UNREACHABLE_GARBAGE packs that they -refer to to new, non-UNREACHABLE_GARBAGE packs (or loose objects). +refer to new, non-UNREACHABLE_GARBAGE packs (or loose objects). UNREACHABLE_GARBAGE are then safe to delete if their creation time (as indicated by the file's mtime) is long enough ago. diff --git a/Documentation/technical/protocol-v2.txt b/Documentation/technical/protocol-v2.txt index 03264c7d9a..40f91f6b1e 100644 --- a/Documentation/technical/protocol-v2.txt +++ b/Documentation/technical/protocol-v2.txt @@ -141,7 +141,7 @@ Capabilities |