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

Add files for v2.23.0

parent ac4781d9
No related branches found
No related tags found
No related merge requests found
...@@ -182,6 +182,14 @@ explicitly. ...@@ -182,6 +182,14 @@ explicitly.
Pretend as if all objects mentioned by reflogs are listed on the Pretend as if all objects mentioned by reflogs are listed on the
command line as `<commit>`. command line as `<commit>`.
--alternate-refs::
Pretend as if all objects mentioned as ref tips of alternate
repositories were listed on the command line. An alternate
repository is any repository whose object directory is specified
in `objects/info/alternates`. The set of included objects may
be modified by `core.alternateRefsCommand`, etc. See
linkgit:git-config[1].
--single-worktree:: --single-worktree::
By default, all working trees will be examined by the By default, all working trees will be examined by the
following options when there are more than one (see following options when there are more than one (see
...@@ -708,6 +716,16 @@ ifdef::git-rev-list[] ...@@ -708,6 +716,16 @@ ifdef::git-rev-list[]
Only useful with `--objects`; print the object IDs that are not Only useful with `--objects`; print the object IDs that are not
in packs. in packs.
--object-names::
Only useful with `--objects`; print the names of the object IDs
that are found. This is the default behavior.
--no-object-names::
Only useful with `--objects`; does not print the names of the object
IDs that are found. This inverts `--object-names`. This flag allows
the output to be more easily parsed by commands such as
linkgit:git-cat-file[1].
--filter=<filter-spec>:: --filter=<filter-spec>::
Only useful with one of the `--objects*`; omits objects (usually Only useful with one of the `--objects*`; omits objects (usually
blobs) from the list of printed objects. The '<filter-spec>' blobs) from the list of printed objects. The '<filter-spec>'
...@@ -725,9 +743,6 @@ specification contained in the blob (or blob-expression) '<blob-ish>' ...@@ -725,9 +743,6 @@ specification contained in the blob (or blob-expression) '<blob-ish>'
to omit blobs that would not be not required for a sparse checkout on to omit blobs that would not be not required for a sparse checkout on
the requested refs. the requested refs.
+ +
The form '--filter=sparse:path=<path>' similarly uses a sparse-checkout
specification contained in <path>.
+
The form '--filter=tree:<depth>' omits all blobs and trees whose depth The form '--filter=tree:<depth>' omits all blobs and trees whose depth
from the root tree is >= <depth> (minimum depth if an object is located from the root tree is >= <depth> (minimum depth if an object is located
at multiple depths in the commits traversed). <depth>=0 will not include at multiple depths in the commits traversed). <depth>=0 will not include
...@@ -737,13 +752,17 @@ tree and blobs which are referenced directly by a commit reachable from ...@@ -737,13 +752,17 @@ tree and blobs which are referenced directly by a commit reachable from
<commit> or an explicitly-given object. <depth>=2 is like <depth>=1 <commit> or an explicitly-given object. <depth>=2 is like <depth>=1
while also including trees and blobs one more level removed from an while also including trees and blobs one more level removed from an
explicitly-given commit or tree. explicitly-given commit or tree.
+
Note that the form '--filter=sparse:path=<path>' that wants to read
from an arbitrary path on the filesystem has been dropped for security
reasons.
--no-filter:: --no-filter::
Turn off any previous `--filter=` argument. Turn off any previous `--filter=` argument.
--filter-print-omitted:: --filter-print-omitted::
Only useful with `--filter=`; prints a list of the objects omitted Only useful with `--filter=`; prints a list of the objects omitted
by the filter. Object IDs are prefixed with a ``~'' character. by the filter. Object IDs are prefixed with a ``~'' character.
--missing=<missing-action>:: --missing=<missing-action>::
A debug option to help with future "partial clone" development. A debug option to help with future "partial clone" development.
...@@ -805,12 +824,13 @@ include::pretty-options.txt[] ...@@ -805,12 +824,13 @@ include::pretty-options.txt[]
author's). If `-local` is appended to the format (e.g., author's). If `-local` is appended to the format (e.g.,
`iso-local`), the user's local time zone is used instead. `iso-local`), the user's local time zone is used instead.
+ +
--
`--date=relative` shows dates relative to the current time, `--date=relative` shows dates relative to the current time,
e.g. ``2 hours ago''. The `-local` option has no effect for e.g. ``2 hours ago''. The `-local` option has no effect for
`--date=relative`. `--date=relative`.
+
`--date=local` is an alias for `--date=default-local`. `--date=local` is an alias for `--date=default-local`.
+
`--date=iso` (or `--date=iso8601`) shows timestamps in a ISO 8601-like format. `--date=iso` (or `--date=iso8601`) shows timestamps in a ISO 8601-like format.
The differences to the strict ISO 8601 format are: The differences to the strict ISO 8601 format are:
...@@ -818,15 +838,14 @@ The differences to the strict ISO 8601 format are: ...@@ -818,15 +838,14 @@ The differences to the strict ISO 8601 format are:
- a space between time and time zone - a space between time and time zone
- no colon between hours and minutes of the time zone - no colon between hours and minutes of the time zone
+
`--date=iso-strict` (or `--date=iso8601-strict`) shows timestamps in strict `--date=iso-strict` (or `--date=iso8601-strict`) shows timestamps in strict
ISO 8601 format. ISO 8601 format.
+
`--date=rfc` (or `--date=rfc2822`) shows timestamps in RFC 2822 `--date=rfc` (or `--date=rfc2822`) shows timestamps in RFC 2822
format, often found in email messages. format, often found in email messages.
+
`--date=short` shows only the date, but not the time, in `YYYY-MM-DD` format. `--date=short` shows only the date, but not the time, in `YYYY-MM-DD` format.
+
`--date=raw` shows the date as seconds since the epoch (1970-01-01 `--date=raw` shows the date as seconds since the epoch (1970-01-01
00:00:00 UTC), followed by a space, and then the timezone as an offset 00:00:00 UTC), followed by a space, and then the timezone as an offset
from UTC (a `+` or `-` with four digits; the first two are hours, and from UTC (a `+` or `-` with four digits; the first two are hours, and
...@@ -835,28 +854,28 @@ with `strftime("%s %z")`). ...@@ -835,28 +854,28 @@ with `strftime("%s %z")`).
Note that the `-local` option does not affect the seconds-since-epoch Note that the `-local` option does not affect the seconds-since-epoch
value (which is always measured in UTC), but does switch the accompanying value (which is always measured in UTC), but does switch the accompanying
timezone value. timezone value.
+
`--date=human` shows the timezone if the timezone does not match the `--date=human` shows the timezone if the timezone does not match the
current time-zone, and doesn't print the whole date if that matches current time-zone, and doesn't print the whole date if that matches
(ie skip printing year for dates that are "this year", but also skip (ie skip printing year for dates that are "this year", but also skip
the whole date itself if it's in the last few days and we can just say the whole date itself if it's in the last few days and we can just say
what weekday it was). For older dates the hour and minute is also what weekday it was). For older dates the hour and minute is also
omitted. omitted.
+
`--date=unix` shows the date as a Unix epoch timestamp (seconds since `--date=unix` shows the date as a Unix epoch timestamp (seconds since
1970). As with `--raw`, this is always in UTC and therefore `-local` 1970). As with `--raw`, this is always in UTC and therefore `-local`
has no effect. has no effect.
+
`--date=format:...` feeds the format `...` to your system `strftime`, `--date=format:...` feeds the format `...` to your system `strftime`,
except for %z and %Z, which are handled internally. except for %z and %Z, which are handled internally.
Use `--date=format:%c` to show the date in your system locale's Use `--date=format:%c` to show the date in your system locale's
preferred format. See the `strftime` manual for a complete list of preferred format. See the `strftime` manual for a complete list of
format placeholders. When using `-local`, the correct syntax is format placeholders. When using `-local`, the correct syntax is
`--date=format-local:...`. `--date=format-local:...`.
+
`--date=default` is the default format, and is similar to `--date=default` is the default format, and is similar to
`--date=rfc2822`, with a few exceptions: `--date=rfc2822`, with a few exceptions:
--
- there is no comma after the day-of-week - there is no comma after the day-of-week
- the time zone is omitted when the local time zone is used - the time zone is omitted when the local time zone is used
...@@ -960,6 +979,13 @@ options may be given. See linkgit:git-diff-files[1] for more options. ...@@ -960,6 +979,13 @@ options may be given. See linkgit:git-diff-files[1] for more options.
the parents have only two variants and the merge result picks the parents have only two variants and the merge result picks
one of them without modification. one of them without modification.
--combined-all-paths::
This flag causes combined diffs (used for merge commits) to
list the name of the file from all parents. It thus only has
effect when -c or --cc are specified, and is likely only
useful if filename changes are detected (i.e. when either
rename or copy detection have been requested).
-m:: -m::
This flag makes the merge commits show the full diff like This flag makes the merge commits show the full diff like
regular commits; for each merge parent, a separate log entry regular commits; for each merge parent, a separate log entry
......
...@@ -58,14 +58,14 @@ when you run `git merge`. ...@@ -58,14 +58,14 @@ when you run `git merge`.
when you run `git cherry-pick`. when you run `git cherry-pick`.
+ +
Note that any of the 'refs/*' cases above may come either from Note that any of the 'refs/*' cases above may come either from
the '$GIT_DIR/refs' directory or from the '$GIT_DIR/packed-refs' file. the `$GIT_DIR/refs` directory or from the `$GIT_DIR/packed-refs` file.
While the ref name encoding is unspecified, UTF-8 is preferred as While the ref name encoding is unspecified, UTF-8 is preferred as
some output processing may assume ref names in UTF-8. some output processing may assume ref names in UTF-8.
'@':: '@'::
'@' alone is a shortcut for `HEAD`. '@' alone is a shortcut for `HEAD`.
'<refname>@{<date>}', e.g. 'master@\{yesterday\}', 'HEAD@{5 minutes ago}':: '[<refname>]@{<date>}', e.g. 'master@\{yesterday\}', 'HEAD@{5 minutes ago}'::
A ref followed by the suffix '@' with a date specification A ref followed by the suffix '@' with a date specification
enclosed in a brace enclosed in a brace
pair (e.g. '\{yesterday\}', '{1 month 2 weeks 3 days 1 hour 1 pair (e.g. '\{yesterday\}', '{1 month 2 weeks 3 days 1 hour 1
...@@ -95,7 +95,7 @@ some output processing may assume ref names in UTF-8. ...@@ -95,7 +95,7 @@ some output processing may assume ref names in UTF-8.
The construct '@{-<n>}' means the <n>th branch/commit checked out The construct '@{-<n>}' means the <n>th branch/commit checked out
before the current one. before the current one.
'<branchname>@\{upstream\}', e.g. 'master@\{upstream\}', '@\{u\}':: '[<branchname>]@\{upstream\}', e.g. 'master@\{upstream\}', '@\{u\}'::
The suffix '@\{upstream\}' to a branchname (short form '<branchname>@\{u\}') The suffix '@\{upstream\}' to a branchname (short form '<branchname>@\{u\}')
refers to the branch that the branch specified by branchname is set to build on refers to the branch that the branch specified by branchname is set to build on
top of (configured with `branch.<name>.remote` and top of (configured with `branch.<name>.remote` and
...@@ -103,19 +103,19 @@ some output processing may assume ref names in UTF-8. ...@@ -103,19 +103,19 @@ some output processing may assume ref names in UTF-8.
current one. These suffixes are also accepted when spelled in uppercase, and current one. These suffixes are also accepted when spelled in uppercase, and
they mean the same thing no matter the case. they mean the same thing no matter the case.
'<branchname>@\{push\}', e.g. 'master@\{push\}', '@\{push\}':: '[<branchname>]@\{push\}', e.g. 'master@\{push\}', '@\{push\}'::
The suffix '@\{push}' reports the branch "where we would push to" if The suffix '@\{push}' reports the branch "where we would push to" if
`git push` were run while `branchname` was checked out (or the current `git push` were run while `branchname` was checked out (or the current
`HEAD` if no branchname is specified). Since our push destination is `HEAD` if no branchname is specified). Since our push destination is
in a remote repository, of course, we report the local tracking branch in a remote repository, of course, we report the local tracking branch
that corresponds to that branch (i.e., something in 'refs/remotes/'). that corresponds to that branch (i.e., something in `refs/remotes/`).
+ +
Here's an example to make it more clear: Here's an example to make it more clear:
+ +
------------------------------ ------------------------------
$ git config push.default current $ git config push.default current
$ git config remote.pushdefault myfork $ git config remote.pushdefault myfork
$ git checkout -b mybranch origin/master $ git switch -c mybranch origin/master
$ git rev-parse --symbolic-full-name @{upstream} $ git rev-parse --symbolic-full-name @{upstream}
refs/remotes/origin/master refs/remotes/origin/master
...@@ -131,7 +131,7 @@ from one location and push to another. In a non-triangular workflow, ...@@ -131,7 +131,7 @@ from one location and push to another. In a non-triangular workflow,
This suffix is also accepted when spelled in uppercase, and means the same This suffix is also accepted when spelled in uppercase, and means the same
thing no matter the case. thing no matter the case.
'<rev>{caret}', e.g. 'HEAD{caret}, v1.5.1{caret}0':: '<rev>{caret}[<n>]', e.g. 'HEAD{caret}, v1.5.1{caret}0'::
A suffix '{caret}' to a revision parameter means the first parent of A suffix '{caret}' to a revision parameter means the first parent of
that commit object. '{caret}<n>' means the <n>th parent (i.e. that commit object. '{caret}<n>' means the <n>th parent (i.e.
'<rev>{caret}' '<rev>{caret}'
...@@ -139,7 +139,9 @@ thing no matter the case. ...@@ -139,7 +139,9 @@ thing no matter the case.
'<rev>{caret}0' means the commit itself and is used when '<rev>' is the '<rev>{caret}0' means the commit itself and is used when '<rev>' is the
object name of a tag object that refers to a commit object. object name of a tag object that refers to a commit object.
'<rev>{tilde}<n>', e.g. 'master{tilde}3':: '<rev>{tilde}[<n>]', e.g. 'HEAD{tilde}, master{tilde}3'::
A suffix '{tilde}' to a revision parameter means the first parent of
that commit object.
A suffix '{tilde}<n>' to a revision parameter means the commit A suffix '{tilde}<n>' to a revision parameter means the commit
object that is the <n>th generation ancestor of the named object that is the <n>th generation ancestor of the named
commit object, following only the first parents. I.e. '<rev>{tilde}3' is commit object, following only the first parents. I.e. '<rev>{tilde}3' is
...@@ -159,12 +161,12 @@ thing no matter the case. ...@@ -159,12 +161,12 @@ thing no matter the case.
'<rev>{caret}0' '<rev>{caret}0'
is a short-hand for '<rev>{caret}\{commit\}'. is a short-hand for '<rev>{caret}\{commit\}'.
+ +
'rev{caret}\{object\}' can be used to make sure 'rev' names an '<rev>{caret}\{object\}' can be used to make sure '<rev>' names an
object that exists, without requiring 'rev' to be a tag, and object that exists, without requiring '<rev>' to be a tag, and
without dereferencing 'rev'; because a tag is already an object, without dereferencing '<rev>'; because a tag is already an object,
it does not have to be dereferenced even once to get to an object. it does not have to be dereferenced even once to get to an object.
+ +
'rev{caret}\{tag\}' can be used to ensure that 'rev' identifies an '<rev>{caret}\{tag\}' can be used to ensure that '<rev>' identifies an
existing tag object. existing tag object.
'<rev>{caret}{}', e.g. 'v0.99.8{caret}{}':: '<rev>{caret}{}', e.g. 'v0.99.8{caret}{}'::
...@@ -194,19 +196,16 @@ existing tag object. ...@@ -194,19 +196,16 @@ existing tag object.
Depending on the given text, the shell's word splitting rules might Depending on the given text, the shell's word splitting rules might
require additional quoting. require additional quoting.
'<rev>:<path>', e.g. 'HEAD:README', ':README', 'master:./README':: '<rev>:<path>', e.g. 'HEAD:README', 'master:./README'::
A suffix ':' followed by a path names the blob or tree A suffix ':' followed by a path names the blob or tree
at the given path in the tree-ish object named by the part at the given path in the tree-ish object named by the part
before the colon. before the colon.
':path' (with an empty part before the colon)
is a special case of the syntax described next: content
recorded in the index at the given path.
A path starting with './' or '../' is relative to the current working directory. A path starting with './' or '../' is relative to the current working directory.
The given path will be converted to be relative to the working tree's root directory. The given path will be converted to be relative to the working tree's root directory.
This is most useful to address a blob or tree from a commit or tree that has This is most useful to address a blob or tree from a commit or tree that has
the same tree structure as the working tree. the same tree structure as the working tree.
':<n>:<path>', e.g. ':0:README', ':README':: ':[<n>:]<path>', e.g. ':0:README', ':README'::
A colon, optionally followed by a stage number (0 to 3) and a A colon, optionally followed by a stage number (0 to 3) and a
colon, followed by a path, names a blob object in the colon, followed by a path, names a blob object in the
index at the given path. A missing stage number (and the colon index at the given path. A missing stage number (and the colon
...@@ -302,7 +301,7 @@ The 'r1{caret}@' notation means all parents of 'r1'. ...@@ -302,7 +301,7 @@ The 'r1{caret}@' notation means all parents of 'r1'.
The 'r1{caret}!' notation includes commit 'r1' but excludes all of its parents. The 'r1{caret}!' notation includes commit 'r1' but excludes all of its parents.
By itself, this notation denotes the single commit 'r1'. By itself, this notation denotes the single commit 'r1'.
The '<rev>{caret}-<n>' notation includes '<rev>' but excludes the <n>th The '<rev>{caret}-[<n>]' notation includes '<rev>' but excludes the <n>th
parent (i.e. a shorthand for '<rev>{caret}<n>..<rev>'), with '<n>' = 1 if parent (i.e. a shorthand for '<rev>{caret}<n>..<rev>'), with '<n>' = 1 if
not given. This is typically useful for merge commits where you not given. This is typically useful for merge commits where you
can just pass '<commit>{caret}-' to get all the commits in the branch can just pass '<commit>{caret}-' to get all the commits in the branch
......
--continue:: --continue::
Continue the operation in progress using the information in Continue the operation in progress using the information in
'.git/sequencer'. Can be used to continue after resolving `.git/sequencer`. Can be used to continue after resolving
conflicts in a failed cherry-pick or revert. conflicts in a failed cherry-pick or revert.
--skip::
Skip the current commit and continue with the rest of the
sequence.
--quit:: --quit::
Forget about the current operation in progress. Can be used Forget about the current operation in progress. Can be used
to clear the sequencer state after a failed cherry-pick or to clear the sequencer state after a failed cherry-pick or
......
...@@ -62,7 +62,7 @@ may be used: ...@@ -62,7 +62,7 @@ may be used:
where <address> may be a path, a server and path, or an arbitrary where <address> may be a path, a server and path, or an arbitrary
URL-like string recognized by the specific remote helper being URL-like string recognized by the specific remote helper being
invoked. See linkgit:gitremote-helpers[1] for details. invoked. See linkgit:gitremote-helpers[7] for details.
If there are a large number of similarly-named remote repositories and If there are a large number of similarly-named remote repositories and
you want to use a different format for them (such that the URLs you you want to use a different format for them (such that the URLs you
......
...@@ -9,6 +9,8 @@ cmds-purehelpers.txt ...@@ -9,6 +9,8 @@ cmds-purehelpers.txt
cmds-synchelpers.txt cmds-synchelpers.txt
cmds-synchingrepositories.txt cmds-synchingrepositories.txt
config.txt config.txt
config/merge.txt
config/fmt-merge-msg.txt
date-formats.txt date-formats.txt
diff-format.txt diff-format.txt
diff-generate-patch.txt diff-generate-patch.txt
...@@ -116,13 +118,13 @@ git-receive-pack.txt ...@@ -116,13 +118,13 @@ git-receive-pack.txt
git-reflog.txt git-reflog.txt
git-remote-ext.txt git-remote-ext.txt
git-remote-fd.txt git-remote-fd.txt
git-remote-testgit.txt
git-remote.txt git-remote.txt
git-repack.txt git-repack.txt
git-replace.txt git-replace.txt
git-request-pull.txt git-request-pull.txt
git-rerere.txt git-rerere.txt
git-reset.txt git-reset.txt
git-restore.txt
git-revert.txt git-revert.txt
git-rev-list.txt git-rev-list.txt
git-rev-parse.txt git-rev-parse.txt
...@@ -144,6 +146,7 @@ git-status.txt ...@@ -144,6 +146,7 @@ git-status.txt
git-stripspace.txt git-stripspace.txt
git-submodule.txt git-submodule.txt
git-svn.txt git-svn.txt
git-switch.txt
git-symbolic-ref.txt git-symbolic-ref.txt
git-tag.txt git-tag.txt
git.txt git.txt
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment