Skip to content
Snippets Groups Projects
Commit 6e77d22b authored by Jean-Noël Avila's avatar Jean-Noël Avila
Browse files

push upstream changes from git version 2.29.0 rc1

parent 789f62d8
No related branches found
No related tags found
No related merge requests found
Showing with 153 additions and 52 deletions
GIT_VERSION = 2.28.0 GIT_VERSION = 2.29.0.rc1
...@@ -25,7 +25,7 @@ po4a-stamp: po4a.conf $(EN_SOURCES) $(LANGUAGE_PO) Makefile ...@@ -25,7 +25,7 @@ po4a-stamp: po4a.conf $(EN_SOURCES) $(LANGUAGE_PO) Makefile
update-sources: update-sources:
./scripts/update-sources.sh ./scripts/update-sources.sh
$(QUIET_PO4A)PERL5LIB=./po4a/lib po4a/po4a -v --no-translations po4a.conf $(QUIET_PO4A)PERL5LIB=./po4a/lib po4a/po4a -v --no-translations po4a.conf
@for f in po/documentation.*.po; do ./scripts/pre-translate-po $f; ./scripts/set-priorities $f; done for f in po/documentation.*.po; do ./scripts/pre-translate-po $$f; ./scripts/set-priorities $$f; done
define MAKE_TARGET define MAKE_TARGET
......
...@@ -36,6 +36,12 @@ include::line-range-format.txt[] ...@@ -36,6 +36,12 @@ include::line-range-format.txt[]
START. `git blame --reverse START` is taken as `git blame START. `git blame --reverse START` is taken as `git blame
--reverse START..HEAD` for convenience. --reverse START..HEAD` for convenience.
--first-parent::
Follow only the first parent commit upon seeing a merge
commit. This option can be used to determine when a line
was introduced to a particular integration branch, rather
than when it was introduced to the history overall.
-p:: -p::
--porcelain:: --porcelain::
Show in a format designed for machine consumption. Show in a format designed for machine consumption.
......
...@@ -61,6 +61,9 @@ linkgit:git-init[1]:: ...@@ -61,6 +61,9 @@ linkgit:git-init[1]::
linkgit:git-log[1]:: linkgit:git-log[1]::
Show commit logs. Show commit logs.
linkgit:git-maintenance[1]::
Run tasks to optimize Git repository data.
linkgit:git-merge[1]:: linkgit:git-merge[1]::
Join two or more development histories together. Join two or more development histories together.
......
...@@ -340,6 +340,8 @@ include::config/column.txt[] ...@@ -340,6 +340,8 @@ include::config/column.txt[]
include::config/commit.txt[] include::config/commit.txt[]
include::config/commitgraph.txt[]
include::config/credential.txt[] include::config/credential.txt[]
include::config/completion.txt[] include::config/completion.txt[]
...@@ -348,6 +350,8 @@ include::config/diff.txt[] ...@@ -348,6 +350,8 @@ include::config/diff.txt[]
include::config/difftool.txt[] include::config/difftool.txt[]
include::config/extensions.txt[]
include::config/fastimport.txt[] include::config/fastimport.txt[]
include::config/feature.txt[] include::config/feature.txt[]
...@@ -396,6 +400,8 @@ include::config/mailinfo.txt[] ...@@ -396,6 +400,8 @@ include::config/mailinfo.txt[]
include::config/mailmap.txt[] include::config/mailmap.txt[]
include::config/maintenance.txt[]
include::config/man.txt[] include::config/man.txt[]
include::config/merge.txt[] include::config/merge.txt[]
......
...@@ -8,3 +8,15 @@ merge.log:: ...@@ -8,3 +8,15 @@ merge.log::
most the specified number of one-line descriptions from the most the specified number of one-line descriptions from the
actual commits that are being merged. Defaults to false, and actual commits that are being merged. Defaults to false, and
true is a synonym for 20. true is a synonym for 20.
merge.suppressDest::
By adding a glob that matches the names of integration
branches to this multi-valued configuration variable, the
default merge message computed for merges into these
integration branches will omit "into <branch name>" from
its title.
+
An element with an empty value can be used to clear the list
of globs accumulated from previous configuration entries.
When there is no `merge.suppressDest` variable defined, the
default value of `master` is used for backward compatibility.
...@@ -10,7 +10,8 @@ linkgit:git-diff-tree[1], or ...@@ -10,7 +10,8 @@ linkgit:git-diff-tree[1], or
linkgit:git-diff-files[1] linkgit:git-diff-files[1]
with the `-p` option produces patch text. with the `-p` option produces patch text.
You can customize the creation of patch text via the You can customize the creation of patch text via the
`GIT_EXTERNAL_DIFF` and the `GIT_DIFF_OPTS` environment variables. `GIT_EXTERNAL_DIFF` and the `GIT_DIFF_OPTS` environment variables
(see linkgit:git[1]).
What the -p option produces is slightly different from the traditional What the -p option produces is slightly different from the traditional
diff format: diff format:
......
...@@ -73,6 +73,11 @@ ifndef::git-format-patch[] ...@@ -73,6 +73,11 @@ ifndef::git-format-patch[]
Synonym for `-p --raw`. Synonym for `-p --raw`.
endif::git-format-patch[] endif::git-format-patch[]
ifdef::git-log[]
-t::
Show the tree objects in the diff output.
endif::git-log[]
--indent-heuristic:: --indent-heuristic::
Enable the heuristic that shifts diff hunk boundaries to make patches Enable the heuristic that shifts diff hunk boundaries to make patches
easier to read. This is the default. easier to read. This is the default.
...@@ -441,10 +446,11 @@ endif::git-format-patch[] ...@@ -441,10 +446,11 @@ endif::git-format-patch[]
--abbrev[=<n>]:: --abbrev[=<n>]::
Instead of showing the full 40-byte hexadecimal object Instead of showing the full 40-byte hexadecimal object
name in diff-raw format output and diff-tree header name in diff-raw format output and diff-tree header
lines, show only a partial prefix. This is lines, show only a partial prefix.
independent of the `--full-index` option above, which controls In diff-patch output format, `--full-index` takes higher
the diff-patch output format. Non default number of precedence, i.e. if `--full-index` is specified, full blob
digits can be specified with `--abbrev=<n>`. names will be shown regardless of `--abbrev`.
Non default number of digits can be specified with `--abbrev=<n>`.
-B[<n>][/<m>]:: -B[<n>][/<m>]::
--break-rewrites[=[<n>][/<m>]]:: --break-rewrites[=[<n>][/<m>]]::
......
...@@ -64,6 +64,15 @@ documented in linkgit:git-config[1]. ...@@ -64,6 +64,15 @@ documented in linkgit:git-config[1].
--dry-run:: --dry-run::
Show what would be done, without making any changes. Show what would be done, without making any changes.
ifndef::git-pull[]
--[no-]write-fetch-head::
Write the list of remote refs fetched in the `FETCH_HEAD`
file directly under `$GIT_DIR`. This is the default.
Passing `--no-write-fetch-head` from the command line tells
Git not to write the file. Under `--dry-run` option, the
file is never written.
endif::git-pull[]
-f:: -f::
--force:: --force::
When 'git fetch' is used with `<src>:<dst>` refspec it may When 'git fetch' is used with `<src>:<dst>` refspec it may
...@@ -86,9 +95,11 @@ ifndef::git-pull[] ...@@ -86,9 +95,11 @@ ifndef::git-pull[]
Allow several <repository> and <group> arguments to be Allow several <repository> and <group> arguments to be
specified. No <refspec>s may be specified. specified. No <refspec>s may be specified.
--[no-]auto-maintenance::
--[no-]auto-gc:: --[no-]auto-gc::
Run `git gc --auto` at the end to perform garbage collection Run `git maintenance run --auto` at the end to perform automatic
if needed. This is enabled by default. repository maintenance if needed. (`--[no-]auto-gc` is a synonym.)
This is enabled by default.
--[no-]write-commit-graph:: --[no-]write-commit-graph::
Write a commit-graph after fetching. This overrides the config Write a commit-graph after fetching. This overrides the config
...@@ -186,7 +197,7 @@ ifndef::git-pull[] ...@@ -186,7 +197,7 @@ ifndef::git-pull[]
endif::git-pull[] endif::git-pull[]
--set-upstream:: --set-upstream::
If the remote is fetched successfully, pull and add upstream If the remote is fetched successfully, add upstream
(tracking) reference, used by argument-less (tracking) reference, used by argument-less
linkgit:git-pull[1] and other commands. For more information, linkgit:git-pull[1] and other commands. For more information,
see `branch.<name>.merge` and `branch.<name>.remote` in see `branch.<name>.merge` and `branch.<name>.remote` in
......
...@@ -61,18 +61,18 @@ OPTIONS ...@@ -61,18 +61,18 @@ OPTIONS
file and detects errors. Turns off "apply". file and detects errors. Turns off "apply".
--index:: --index::
When `--check` is in effect, or when applying the patch Apply the patch to both the index and the working tree (or
(which is the default when none of the options that merely check that it would apply cleanly to both if `--check` is
disables it is in effect), make sure the patch is in effect). Note that `--index` expects index entries and
applicable to what the current index file records. If working tree copies for relevant paths to be identical (their
the file to be patched in the working tree is not contents and metadata such as file mode must match), and will
up to date, it is flagged as an error. This flag also raise an error if they are not, even if the patch would apply
causes the index file to be updated. cleanly to both the index and the working tree in isolation.
--cached:: --cached::
Apply a patch without touching the working tree. Instead take the Apply the patch to just the index, without touching the working
cached data, apply the patch, and store the result in the index tree. If `--check` is in effect, merely check that it would
without using the working tree. This implies `--index`. apply cleanly to the index entry.
--intent-to-add:: --intent-to-add::
When applying the patch only to the working tree, mark new When applying the patch only to the working tree, mark new
......
...@@ -55,6 +55,12 @@ OPTIONS ...@@ -55,6 +55,12 @@ OPTIONS
--output=<file>:: --output=<file>::
Write the archive to <file> instead of stdout. Write the archive to <file> instead of stdout.
--add-file=<file>::
Add a non-tracked file to the archive. Can be repeated to add
multiple files. The path of the file in the archive is built
by concatenating the value for `--prefix` (if any) and the
basename of <file>.
--worktree-attributes:: --worktree-attributes::
Look for attributes in .gitattributes files in the working tree Look for attributes in .gitattributes files in the working tree
as well (see <<ATTRIBUTES>>). as well (see <<ATTRIBUTES>>).
......
...@@ -16,8 +16,8 @@ DESCRIPTION ...@@ -16,8 +16,8 @@ DESCRIPTION
The command takes various subcommands, and different options depending The command takes various subcommands, and different options depending
on the subcommand: on the subcommand:
git bisect start [--term-{old,good}=<term> --term-{new,bad}=<term>] git bisect start [--term-{new,bad}=<term> --term-{old,good}=<term>]
[--no-checkout] [<bad> [<good>...]] [--] [<paths>...] [--no-checkout] [--first-parent] [<bad> [<good>...]] [--] [<paths>...]
git bisect (bad|new|<term-new>) [<rev>] git bisect (bad|new|<term-new>) [<rev>]
git bisect (good|old|<term-old>) [<rev>...] git bisect (good|old|<term-old>) [<rev>...]
git bisect terms [--term-good | --term-bad] git bisect terms [--term-good | --term-bad]
...@@ -365,6 +365,17 @@ does not require a checked out tree. ...@@ -365,6 +365,17 @@ does not require a checked out tree.
+ +
If the repository is bare, `--no-checkout` is assumed. If the repository is bare, `--no-checkout` is assumed.
--first-parent::
+
Follow only the first parent commit upon seeing a merge commit.
+
In detecting regressions introduced through the merging of a branch, the merge
commit will be identified as introduction of the bug and its ancestors will be
ignored.
+
This option is particularly useful in avoiding false positives when a merged
branch contained broken or non-buildable commits, but the merge itself was OK.
EXAMPLES EXAMPLES
-------- --------
......
...@@ -11,7 +11,7 @@ SYNOPSIS ...@@ -11,7 +11,7 @@ SYNOPSIS
'git branch' [--color[=<when>] | --no-color] [--show-current] 'git branch' [--color[=<when>] | --no-color] [--show-current]
[-v [--abbrev=<length> | --no-abbrev]] [-v [--abbrev=<length> | --no-abbrev]]
[--column[=<options>] | --no-column] [--sort=<key>] [--column[=<options>] | --no-column] [--sort=<key>]
[(--merged | --no-merged) [<commit>]] [--merged [<commit>]] [--no-merged [<commit>]]
[--contains [<commit>]] [--no-contains [<commit>]] [--contains [<commit>]] [--no-contains [<commit>]]
[--points-at <object>] [--format=<format>] [--points-at <object>] [--format=<format>]
[(-r | --remotes) | (-a | --all)] [(-r | --remotes) | (-a | --all)]
...@@ -252,13 +252,11 @@ start-point is either a local or remote-tracking branch. ...@@ -252,13 +252,11 @@ start-point is either a local or remote-tracking branch.
--merged [<commit>]:: --merged [<commit>]::
Only list branches whose tips are reachable from the Only list branches whose tips are reachable from the
specified commit (HEAD if not specified). Implies `--list`, specified commit (HEAD if not specified). Implies `--list`.
incompatible with `--no-merged`.
--no-merged [<commit>]:: --no-merged [<commit>]::
Only list branches whose tips are not reachable from the Only list branches whose tips are not reachable from the
specified commit (HEAD if not specified). Implies `--list`, specified commit (HEAD if not specified). Implies `--list`.
incompatible with `--merged`.
<branchname>:: <branchname>::
The name of the branch to create or delete. The name of the branch to create or delete.
...@@ -370,6 +368,8 @@ serve four related but different purposes: ...@@ -370,6 +368,8 @@ serve four related but different purposes:
- `--no-merged` is used to find branches which are candidates for merging - `--no-merged` is used to find branches which are candidates for merging
into HEAD, since those branches are not fully contained by HEAD. into HEAD, since those branches are not fully contained by HEAD.
include::ref-reachability-filters.txt[]
SEE ALSO SEE ALSO
-------- --------
linkgit:git-check-ref-format[1], linkgit:git-check-ref-format[1],
......
...@@ -9,7 +9,8 @@ git-bundle - Move objects and refs by archive ...@@ -9,7 +9,8 @@ git-bundle - Move objects and refs by archive
SYNOPSIS SYNOPSIS
-------- --------
[verse] [verse]
'git bundle' create [-q | --quiet | --progress | --all-progress] [--all-progress-implied] <file> <git-rev-list-args> 'git bundle' create [-q | --quiet | --progress | --all-progress] [--all-progress-implied]
[--version=<version>] <file> <git-rev-list-args>
'git bundle' verify [-q | --quiet] <file> 'git bundle' verify [-q | --quiet] <file>
'git bundle' list-heads <file> [<refname>...] 'git bundle' list-heads <file> [<refname>...]
'git bundle' unbundle <file> [<refname>...] 'git bundle' unbundle <file> [<refname>...]
...@@ -102,6 +103,12 @@ unbundle <file>:: ...@@ -102,6 +103,12 @@ unbundle <file>::
is activated. Unlike --all-progress this flag doesn't actually is activated. Unlike --all-progress this flag doesn't actually
force any progress display by itself. force any progress display by itself.
--version=<version>::
Specify the bundle version. Version 2 is the older format and can only be
used with SHA-1 repositories; the newer version 3 contains capabilities that
permit extensions. The default is the oldest supported format, based on the
hash algorithm in use.
-q:: -q::
--quiet:: --quiet::
This flag makes the command not to report its progress This flag makes the command not to report its progress
......
...@@ -198,6 +198,7 @@ Use `--no-guess` to disable this. ...@@ -198,6 +198,7 @@ Use `--no-guess` to disable this.
Create the new branch's reflog; see linkgit:git-branch[1] for Create the new branch's reflog; see linkgit:git-branch[1] for
details. details.
-d::
--detach:: --detach::
Rather than checking out a branch to work on it, check out a Rather than checking out a branch to work on it, check out a
commit for inspection and discardable experiments. commit for inspection and discardable experiments.
......
...@@ -78,9 +78,9 @@ repository using this option and then delete branches (or use any ...@@ -78,9 +78,9 @@ repository using this option and then delete branches (or use any
other Git command that makes any existing commit unreferenced) in the other Git command that makes any existing commit unreferenced) in the
source repository, some objects may become unreferenced (or dangling). source repository, some objects may become unreferenced (or dangling).
These objects may be removed by normal Git operations (such as `git commit`) These objects may be removed by normal Git operations (such as `git commit`)
which automatically call `git gc --auto`. (See linkgit:git-gc[1].) which automatically call `git maintenance run --auto`. (See
If these objects are removed and were referenced by the cloned repository, linkgit:git-maintenance[1].) If these objects are removed and were referenced
then the cloned repository will become corrupt. by the cloned repository, then the cloned repository will become corrupt.
+ +
Note that running `git repack` without the `--local` option in a repository Note that running `git repack` without the `--local` option in a repository
cloned with `--shared` will copy objects from the source repository into a pack cloned with `--shared` will copy objects from the source repository into a pack
......
...@@ -63,13 +63,7 @@ files on disk. ...@@ -63,13 +63,7 @@ files on disk.
This is to view the changes between two arbitrary This is to view the changes between two arbitrary
<commit>. <commit>.
'git diff' [<options>] <commit>..<commit> [--] [<path>...]:: 'git diff' [<options>] <commit> <commit>... <commit> [--] [<path>...]::
This is synonymous to the previous form. If <commit> on
one side is omitted, it will have the same effect as
using HEAD instead.
'git diff' [<options>] <commit> [<commit>...] <commit> [--] [<path>...]::
This form is to view the results of a merge commit. The first This form is to view the results of a merge commit. The first
listed <commit> must be the merge itself; the remaining two or listed <commit> must be the merge itself; the remaining two or
...@@ -78,6 +72,13 @@ files on disk. ...@@ -78,6 +72,13 @@ files on disk.
For instance, if `master` names a merge commit, `git diff master For instance, if `master` names a merge commit, `git diff master
master^@` gives the same combined diff as `git show master`. master^@` gives the same combined diff as `git show master`.
'git diff' [<options>] <commit>..<commit> [--] [<path>...]::
This is synonymous to the earlier form (without the "..") for
viewing the changes between two arbitrary <commit>. If <commit> on
one side is omitted, it will have the same effect as
using HEAD instead.
'git diff' [<options>] <commit>\...<commit> [--] [<path>...]:: 'git diff' [<options>] <commit>\...<commit> [--] [<path>...]::
This form is to view the changes on the branch containing This form is to view the changes on the branch containing
......
...@@ -814,7 +814,7 @@ may have uses for this information ...@@ -814,7 +814,7 @@ may have uses for this information
'original-oid' SP <object-identifier> LF 'original-oid' SP <object-identifier> LF
.... ....
where `<object-identifer>` is any string not containing LF. where `<object-identifier>` is any string not containing LF.
`tag` `tag`
~~~~~ ~~~~~
......
...@@ -48,6 +48,10 @@ include::fetch-options.txt[] ...@@ -48,6 +48,10 @@ include::fetch-options.txt[]
include::pull-fetch-param.txt[] include::pull-fetch-param.txt[]
--stdin::
Read refspecs, one per line, from stdin in addition to those provided
as arguments. The "tag <name>" format is not supported.
include::urls-remotes.txt[] include::urls-remotes.txt[]
......
...@@ -11,7 +11,7 @@ SYNOPSIS ...@@ -11,7 +11,7 @@ SYNOPSIS
'git for-each-ref' [--count=<count>] [--shell|--perl|--python|--tcl] 'git for-each-ref' [--count=<count>] [--shell|--perl|--python|--tcl]
[(--sort=<key>)...] [--format=<format>] [<pattern>...] [(--sort=<key>)...] [--format=<format>] [<pattern>...]
[--points-at=<object>] [--points-at=<object>]
(--merged[=<object>] | --no-merged[=<object>]) [--merged[=<object>]] [--no-merged[=<object>]]
[--contains[=<object>]] [--no-contains[=<object>]] [--contains[=<object>]] [--no-contains[=<object>]]
DESCRIPTION DESCRIPTION
...@@ -76,13 +76,11 @@ OPTIONS ...@@ -76,13 +76,11 @@ OPTIONS
--merged[=<object>]:: --merged[=<object>]::
Only list refs whose tips are reachable from the Only list refs whose tips are reachable from the
specified commit (HEAD if not specified), specified commit (HEAD if not specified).
incompatible with `--no-merged`.
--no-merged[=<object>]:: --no-merged[=<object>]::
Only list refs whose tips are not reachable from the Only list refs whose tips are not reachable from the
specified commit (HEAD if not specified), specified commit (HEAD if not specified).
incompatible with `--merged`.
--contains[=<object>]:: --contains[=<object>]::
Only list refs which contain the specified commit (HEAD if not Only list refs which contain the specified commit (HEAD if not
...@@ -222,6 +220,8 @@ worktreepath:: ...@@ -222,6 +220,8 @@ worktreepath::
In addition to the above, for commit and tag objects, the header In addition to the above, for commit and tag objects, the header
field names (`tree`, `parent`, `object`, `type`, and `tag`) can field names (`tree`, `parent`, `object`, `type`, and `tag`) can
be used to specify the value in the header field. be used to specify the value in the header field.
Fields `tree` and `parent` can also be used with modifier `:short` and
`:short=<length>` just like `objectname`.
For commit and tag objects, the special `creatordate` and `creator` For commit and tag objects, the special `creatordate` and `creator`
fields will correspond to the appropriate date or name-email-date tuple fields will correspond to the appropriate date or name-email-date tuple
...@@ -230,14 +230,35 @@ These are intended for working on a mix of annotated and lightweight tags. ...@@ -230,14 +230,35 @@ These are intended for working on a mix of annotated and lightweight tags.
Fields that have name-email-date tuple as its value (`author`, Fields that have name-email-date tuple as its value (`author`,
`committer`, and `tagger`) can be suffixed with `name`, `email`, `committer`, and `tagger`) can be suffixed with `name`, `email`,
and `date` to extract the named component. and `date` to extract the named component. For email fields (`authoremail`,
`committeremail` and `taggeremail`), `:trim` can be appended to get the email
The complete message in a commit and tag object is `contents`. without angle brackets, and `:localpart` to get the part before the `@` symbol
Its first line is `contents:subject`, where subject is the concatenation out of the trimmed email.
of all lines of the commit message up to the first blank line. The next
line is `contents:body`, where body is all of the lines after the first The message in a commit or a tag object is `contents`, from which
blank line. The optional GPG signature is `contents:signature`. The `contents:<part>` can be used to extract various parts out of:
first `N` lines of the message is obtained using `contents:lines=N`.
contents:size::
The size in bytes of the commit or tag message.
contents:subject::
The first paragraph of the message, which typically is a
single line, is taken as the "subject" of the commit or the
tag message.
Instead of `contents:subject`, field `subject` can also be used to
obtain same results. `:sanitize` can be appended to `subject` for
subject line suitable for filename.
contents:body::
The remainder of the commit or the tag message that follows
the "subject".
contents:signature::
The optional GPG signature of the tag.
contents:lines=N::
The first `N` lines of the message.
Additionally, the trailers as interpreted by linkgit:git-interpret-trailers[1] Additionally, the trailers as interpreted by linkgit:git-interpret-trailers[1]
are obtained as `trailers` (or by using the historical alias are obtained as `trailers` (or by using the historical alias
`contents:trailers`). Non-trailer lines from the trailer block can be omitted `contents:trailers`). Non-trailer lines from the trailer block can be omitted
...@@ -385,6 +406,11 @@ Note also that multiple copies of an object may be present in the object ...@@ -385,6 +406,11 @@ Note also that multiple copies of an object may be present in the object
database; in this case, it is undefined which copy's size or delta base database; in this case, it is undefined which copy's size or delta base
will be reported. will be reported.
NOTES
-----
include::ref-reachability-filters.txt[]
SEE ALSO SEE ALSO
-------- --------
linkgit:git-show-ref[1] linkgit:git-show-ref[1]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment