* [PATCH 23/25] documentation: add missing fullstops
From: Elijah Newren via GitGitGadget @ 2023-10-08 6:45 UTC (permalink / raw)
To: git; +Cc: Elijah Newren, Elijah Newren
In-Reply-To: <pull.1595.git.1696747527.gitgitgadget@gmail.com>
From: Elijah Newren <newren@gmail.com>
Diff best viewed with --color-diff.
Signed-off-by: Elijah Newren <newren@gmail.com>
---
Documentation/git-check-ref-format.txt | 2 +-
Documentation/git-diff-tree.txt | 2 +-
Documentation/git-help.txt | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/Documentation/git-check-ref-format.txt b/Documentation/git-check-ref-format.txt
index 1d6e08e0119..2aacfd18088 100644
--- a/Documentation/git-check-ref-format.txt
+++ b/Documentation/git-check-ref-format.txt
@@ -48,7 +48,7 @@ Git imposes the following rules on how references are named:
. They cannot begin or end with a slash `/` or contain multiple
consecutive slashes (see the `--normalize` option below for an
- exception to this rule)
+ exception to this rule).
. They cannot end with a dot `.`.
diff --git a/Documentation/git-diff-tree.txt b/Documentation/git-diff-tree.txt
index 22380d5c829..143318c411a 100644
--- a/Documentation/git-diff-tree.txt
+++ b/Documentation/git-diff-tree.txt
@@ -34,7 +34,7 @@ include::diff-options.txt[]
matching one of the provided pathspecs.
-r::
- Recurse into sub-trees
+ Recurse into sub-trees.
-t::
Show tree entry itself as well as subtrees. Implies -r.
diff --git a/Documentation/git-help.txt b/Documentation/git-help.txt
index 7532625a138..f0bedc1f964 100644
--- a/Documentation/git-help.txt
+++ b/Documentation/git-help.txt
@@ -42,7 +42,7 @@ former is internally converted into the latter.
To display the linkgit:git[1] man page, use `git help git`.
-This page can be displayed with 'git help help' or `git help --help`
+This page can be displayed with 'git help help' or `git help --help`.
OPTIONS
-------
--
gitgitgadget
^ permalink raw reply related
* [PATCH 20/25] documentation: fix capitalization
From: Elijah Newren via GitGitGadget @ 2023-10-08 6:45 UTC (permalink / raw)
To: git; +Cc: Elijah Newren, Elijah Newren
In-Reply-To: <pull.1595.git.1696747527.gitgitgadget@gmail.com>
From: Elijah Newren <newren@gmail.com>
Diff best viewed with --color-diff.
Signed-off-by: Elijah Newren <newren@gmail.com>
---
Documentation/config/checkout.txt | 2 +-
Documentation/config/user.txt | 2 +-
Documentation/git-diff-tree.txt | 4 ++--
Documentation/git-hook.txt | 2 +-
Documentation/git-mergetool--lib.txt | 10 +++++-----
Documentation/git-stripspace.txt | 2 +-
Documentation/git-update-server-info.txt | 2 +-
Documentation/technical/reftable.txt | 2 +-
8 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/Documentation/config/checkout.txt b/Documentation/config/checkout.txt
index a54faab238a..a3230229938 100644
--- a/Documentation/config/checkout.txt
+++ b/Documentation/config/checkout.txt
@@ -30,7 +30,7 @@ checkout.workers::
all commands that perform checkout. E.g. checkout, clone, reset,
sparse-checkout, etc.
+
-Note: parallel checkout usually delivers better performance for repositories
+Note: Parallel checkout usually delivers better performance for repositories
located on SSDs or over NFS. For repositories on spinning disks and/or machines
with a small number of cores, the default sequential checkout often performs
better. The size and compression level of a repository might also influence how
diff --git a/Documentation/config/user.txt b/Documentation/config/user.txt
index 2bbc8e929f0..c1347fa7bcd 100644
--- a/Documentation/config/user.txt
+++ b/Documentation/config/user.txt
@@ -40,7 +40,7 @@ user.signingKey::
your private ssh key or the public key when ssh-agent is used.
Alternatively it can contain a public key prefixed with `key::`
directly (e.g.: "key::ssh-rsa XXXXXX identifier"). The private key
- needs to be available via ssh-agent. If not set git will call
+ needs to be available via ssh-agent. If not set Git will call
gpg.ssh.defaultKeyCommand (e.g.: "ssh-add -L") and try to use the
first key available. For backward compatibility, a raw key which
begins with "ssh-", such as "ssh-rsa XXXXXX identifier", is treated
diff --git a/Documentation/git-diff-tree.txt b/Documentation/git-diff-tree.txt
index c2772a566a3..22380d5c829 100644
--- a/Documentation/git-diff-tree.txt
+++ b/Documentation/git-diff-tree.txt
@@ -34,10 +34,10 @@ include::diff-options.txt[]
matching one of the provided pathspecs.
-r::
- recurse into sub-trees
+ Recurse into sub-trees
-t::
- show tree entry itself as well as subtrees. Implies -r.
+ Show tree entry itself as well as subtrees. Implies -r.
--root::
When `--root` is specified the initial commit will be shown as a big
diff --git a/Documentation/git-hook.txt b/Documentation/git-hook.txt
index 25237330b5c..f6cc72d2ca9 100644
--- a/Documentation/git-hook.txt
+++ b/Documentation/git-hook.txt
@@ -32,7 +32,7 @@ OPTIONS
-------
--to-stdin::
- For "run"; Specify a file which will be streamed into the
+ For "run"; specify a file which will be streamed into the
hook's stdin. The hook will receive the entire file from
beginning to EOF.
diff --git a/Documentation/git-mergetool--lib.txt b/Documentation/git-mergetool--lib.txt
index 3e8f59ac0e4..0726b560d43 100644
--- a/Documentation/git-mergetool--lib.txt
+++ b/Documentation/git-mergetool--lib.txt
@@ -28,22 +28,22 @@ to define the operation mode for the functions listed below.
FUNCTIONS
---------
get_merge_tool::
- returns a merge tool. the return code is 1 if we returned a guessed
+ Returns a merge tool. The return code is 1 if we returned a guessed
merge tool, else 0. '$GIT_MERGETOOL_GUI' may be set to 'true' to
search for the appropriate guitool.
get_merge_tool_cmd::
- returns the custom command for a merge tool.
+ Returns the custom command for a merge tool.
get_merge_tool_path::
- returns the custom path for a merge tool.
+ Returns the custom path for a merge tool.
initialize_merge_tool::
- bring merge tool specific functions into scope so they can be used or
+ Brings merge tool specific functions into scope so they can be used or
overridden.
run_merge_tool::
- launches a merge tool given the tool name and a true/false
+ Launches a merge tool given the tool name and a true/false
flag to indicate whether a merge base is present.
'$MERGED', '$LOCAL', '$REMOTE', and '$BASE' must be defined
for use by the merge tool.
diff --git a/Documentation/git-stripspace.txt b/Documentation/git-stripspace.txt
index 6b92cc7de78..a293327581a 100644
--- a/Documentation/git-stripspace.txt
+++ b/Documentation/git-stripspace.txt
@@ -29,7 +29,7 @@ With no arguments, this will:
In the case where the input consists entirely of whitespace characters, no
output will be produced.
-*NOTE*: This is intended for cleaning metadata, prefer the `--whitespace=fix`
+*NOTE*: This is intended for cleaning metadata. Prefer the `--whitespace=fix`
mode of linkgit:git-apply[1] for correcting whitespace of patches or files in
the repository.
diff --git a/Documentation/git-update-server-info.txt b/Documentation/git-update-server-info.txt
index ff32986d4c5..6bc9b50d89f 100644
--- a/Documentation/git-update-server-info.txt
+++ b/Documentation/git-update-server-info.txt
@@ -23,7 +23,7 @@ OPTIONS
-------
-f::
--force::
- update the info files from scratch.
+ Update the info files from scratch.
OUTPUT
------
diff --git a/Documentation/technical/reftable.txt b/Documentation/technical/reftable.txt
index 6def498efd5..82d919b2615 100644
--- a/Documentation/technical/reftable.txt
+++ b/Documentation/technical/reftable.txt
@@ -175,7 +175,7 @@ log_index*
footer
....
-in a log-only file the first log block immediately follows the file
+In a log-only file the first log block immediately follows the file
header, without padding to block alignment.
Block size
--
gitgitgadget
^ permalink raw reply related
* [PATCH 24/25] documentation: add missing quotes
From: Elijah Newren via GitGitGadget @ 2023-10-08 6:45 UTC (permalink / raw)
To: git; +Cc: Elijah Newren, Elijah Newren
In-Reply-To: <pull.1595.git.1696747527.gitgitgadget@gmail.com>
From: Elijah Newren <newren@gmail.com>
Diff best viewed with --color-diff.
Signed-off-by: Elijah Newren <newren@gmail.com>
---
Documentation/git-quiltimport.txt | 4 ++--
Documentation/technical/parallel-checkout.txt | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/Documentation/git-quiltimport.txt b/Documentation/git-quiltimport.txt
index 70562dc4c02..40e02d92eb2 100644
--- a/Documentation/git-quiltimport.txt
+++ b/Documentation/git-quiltimport.txt
@@ -38,14 +38,14 @@ OPTIONS
a patch. At the time of this writing only missing author
information is warned about.
---author Author Name <Author Email>::
+--author 'Author Name <Author Email>'::
The author name and email address to use when no author
information can be found in the patch description.
--patches <dir>::
The directory to find the quilt patches.
+
-The default for the patch directory is patches
+The default for the patch directory is 'patches'
or the value of the `$QUILT_PATCHES` environment
variable.
diff --git a/Documentation/technical/parallel-checkout.txt b/Documentation/technical/parallel-checkout.txt
index b5f54dcd451..b4a144e5f47 100644
--- a/Documentation/technical/parallel-checkout.txt
+++ b/Documentation/technical/parallel-checkout.txt
@@ -126,7 +126,7 @@ Then, for each assigned item, each worker:
* W5: Writes the result to the file descriptor opened at W2.
-* W6: Calls `fstat()` or lstat()` on the just-written path, and sends
+* W6: Calls `fstat()` or `lstat()` on the just-written path, and sends
the result back to the main process, together with the end status of
the operation and the item's identification number.
--
gitgitgadget
^ permalink raw reply related
* [PATCH 15/25] documentation: add missing article
From: Elijah Newren via GitGitGadget @ 2023-10-08 6:45 UTC (permalink / raw)
To: git; +Cc: Elijah Newren, Elijah Newren
In-Reply-To: <pull.1595.git.1696747527.gitgitgadget@gmail.com>
From: Elijah Newren <newren@gmail.com>
Diff best viewed with --color-diff.
Signed-off-by: Elijah Newren <newren@gmail.com>
---
Documentation/ReviewingGuidelines.txt | 2 +-
Documentation/config/advice.txt | 2 +-
Documentation/config/commit.txt | 2 +-
Documentation/config/fsck.txt | 2 +-
Documentation/config/gc.txt | 2 +-
Documentation/config/gui.txt | 2 +-
Documentation/config/man.txt | 2 +-
Documentation/config/notes.txt | 2 +-
Documentation/config/sendemail.txt | 2 +-
Documentation/config/stash.txt | 8 ++++----
Documentation/diff-generate-patch.txt | 10 +++++-----
Documentation/fsck-msgids.txt | 2 +-
Documentation/git-am.txt | 4 ++--
Documentation/git-apply.txt | 4 ++--
Documentation/git-blame.txt | 4 ++--
Documentation/git-check-ref-format.txt | 2 +-
Documentation/git-checkout-index.txt | 6 +++---
Documentation/git-count-objects.txt | 2 +-
Documentation/git-daemon.txt | 2 +-
Documentation/git-diff-tree.txt | 2 +-
Documentation/git-difftool.txt | 2 +-
Documentation/git-fsck.txt | 2 +-
Documentation/git-help.txt | 2 +-
Documentation/git-http-push.txt | 4 ++--
Documentation/git-init.txt | 4 ++--
Documentation/git-mailsplit.txt | 2 +-
Documentation/git-merge-base.txt | 2 +-
Documentation/git-merge-tree.txt | 2 +-
Documentation/git-mktag.txt | 2 +-
Documentation/git-prune.txt | 2 +-
Documentation/git-push.txt | 2 +-
Documentation/git-read-tree.txt | 4 ++--
Documentation/git-receive-pack.txt | 4 ++--
Documentation/git-remote-ext.txt | 10 +++++-----
Documentation/git-remote-fd.txt | 4 ++--
Documentation/git-replace.txt | 2 +-
Documentation/git-rev-parse.txt | 2 +-
Documentation/git-send-pack.txt | 2 +-
Documentation/git-sh-setup.txt | 2 +-
Documentation/git-show-branch.txt | 2 +-
Documentation/git-stripspace.txt | 2 +-
Documentation/git-update-index.txt | 8 ++++----
Documentation/git-update-ref.txt | 2 +-
Documentation/git-update-server-info.txt | 2 +-
Documentation/git-verify-pack.txt | 6 +++---
Documentation/git-whatchanged.txt | 2 +-
Documentation/gitcli.txt | 2 +-
Documentation/gitdiffcore.txt | 6 +++---
Documentation/gitformat-pack.txt | 8 ++++----
Documentation/githooks.txt | 2 +-
Documentation/gitprotocol-capabilities.txt | 2 +-
Documentation/gitweb.txt | 8 ++++----
Documentation/pretty-options.txt | 2 +-
Documentation/pull-fetch-param.txt | 4 ++--
Documentation/rev-list-options.txt | 4 ++--
Documentation/technical/bitmap-format.txt | 2 +-
Documentation/technical/partial-clone.txt | 2 +-
57 files changed, 93 insertions(+), 93 deletions(-)
diff --git a/Documentation/ReviewingGuidelines.txt b/Documentation/ReviewingGuidelines.txt
index 0e323d54779..3e98c8a6af0 100644
--- a/Documentation/ReviewingGuidelines.txt
+++ b/Documentation/ReviewingGuidelines.txt
@@ -19,7 +19,7 @@ Principles
Selecting patch(es) to review
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If you are looking for a patch series in need of review, start by checking
-latest "What's cooking in git.git" email
+the latest "What's cooking in git.git" email
(https://lore.kernel.org/git/xmqqilm1yp3m.fsf@gitster.g/[example]). The "What's
cooking" emails & replies can be found using the query `s:"What's cooking"` on
the https://lore.kernel.org/git/[`lore.kernel.org` mailing list archive];
diff --git a/Documentation/config/advice.txt b/Documentation/config/advice.txt
index c5cde1c24ee..2737381a11a 100644
--- a/Documentation/config/advice.txt
+++ b/Documentation/config/advice.txt
@@ -5,7 +5,7 @@ advice.*::
+
--
ambiguousFetchRefspec::
- Advice shown when fetch refspec for multiple remotes maps to
+ Advice shown when a fetch refspec for multiple remotes maps to
the same remote-tracking branch namespace and causes branch
tracking set-up to fail.
fetchShowForcedUpdates::
diff --git a/Documentation/config/commit.txt b/Documentation/config/commit.txt
index bcb46cf630e..62f0d92fda5 100644
--- a/Documentation/config/commit.txt
+++ b/Documentation/config/commit.txt
@@ -2,7 +2,7 @@ commit.cleanup::
This setting overrides the default of the `--cleanup` option in
`git commit`. See linkgit:git-commit[1] for details. Changing the
default can be useful when you always want to keep lines that begin
- with comment character `#` in your log message, in which case you
+ with the comment character `#` in your log message, in which case you
would do `git config commit.cleanup whitespace` (note that you will
have to remove the help lines that begin with `#` in the commit log
template yourself, if you do this).
diff --git a/Documentation/config/fsck.txt b/Documentation/config/fsck.txt
index 0687e86ba10..57114161063 100644
--- a/Documentation/config/fsck.txt
+++ b/Documentation/config/fsck.txt
@@ -36,7 +36,7 @@ Setting an unknown `fsck.<msg-id>` value will cause fsck to die, but
doing the same for `receive.fsck.<msg-id>` and `fetch.fsck.<msg-id>`
will only cause git to warn.
+
-See `Fsck Messages` section of linkgit:git-fsck[1] for supported
+See the `Fsck Messages` section of linkgit:git-fsck[1] for supported
values of `<msg-id>`.
diff --git a/Documentation/config/gc.txt b/Documentation/config/gc.txt
index 17e2a8cc176..31f1fff53c4 100644
--- a/Documentation/config/gc.txt
+++ b/Documentation/config/gc.txt
@@ -39,7 +39,7 @@ See the `gc.bigPackThreshold` configuration variable below. When in
use, it'll affect how the auto pack limit works.
gc.autoDetach::
- Make `git gc --auto` return immediately and run in background
+ Make `git gc --auto` return immediately and run in the background
if the system supports it. Default is true.
gc.bigPackThreshold::
diff --git a/Documentation/config/gui.txt b/Documentation/config/gui.txt
index 0c087fd8c93..171be774d24 100644
--- a/Documentation/config/gui.txt
+++ b/Documentation/config/gui.txt
@@ -24,7 +24,7 @@ gui.matchTrackingBranch::
not. Default: "false".
gui.newBranchTemplate::
- Is used as suggested name when creating new branches using the
+ Is used as a suggested name when creating new branches using the
linkgit:git-gui[1].
gui.pruneDuringFetch::
diff --git a/Documentation/config/man.txt b/Documentation/config/man.txt
index a727d987a8d..5a0f82cc232 100644
--- a/Documentation/config/man.txt
+++ b/Documentation/config/man.txt
@@ -5,7 +5,7 @@ man.viewer::
man.<tool>.cmd::
Specify the command to invoke the specified man viewer. The
specified command is evaluated in shell with the man page
- passed as argument. (See linkgit:git-help[1].)
+ passed as an argument. (See linkgit:git-help[1].)
man.<tool>.path::
Override the path for the given tool that may be used to
diff --git a/Documentation/config/notes.txt b/Documentation/config/notes.txt
index c7c4811734b..43db8e808d7 100644
--- a/Documentation/config/notes.txt
+++ b/Documentation/config/notes.txt
@@ -1,7 +1,7 @@
notes.mergeStrategy::
Which merge strategy to choose by default when resolving notes
conflicts. Must be one of `manual`, `ours`, `theirs`, `union`, or
- `cat_sort_uniq`. Defaults to `manual`. See "NOTES MERGE STRATEGIES"
+ `cat_sort_uniq`. Defaults to `manual`. See the "NOTES MERGE STRATEGIES"
section of linkgit:git-notes[1] for more information on each strategy.
+
This setting can be overridden by passing the `--strategy` option to
diff --git a/Documentation/config/sendemail.txt b/Documentation/config/sendemail.txt
index 792e68a4456..7fc770ee9e6 100644
--- a/Documentation/config/sendemail.txt
+++ b/Documentation/config/sendemail.txt
@@ -91,7 +91,7 @@ sendemail.smtpBatchSize::
See also the `--batch-size` option of linkgit:git-send-email[1].
sendemail.smtpReloginDelay::
- Seconds to wait before reconnecting to smtp server.
+ Seconds to wait before reconnecting to the smtp server.
See also the `--relogin-delay` option of linkgit:git-send-email[1].
sendemail.forbidSendmailVariables::
diff --git a/Documentation/config/stash.txt b/Documentation/config/stash.txt
index b9f609ed76b..ec1edaeba68 100644
--- a/Documentation/config/stash.txt
+++ b/Documentation/config/stash.txt
@@ -1,14 +1,14 @@
stash.showIncludeUntracked::
If this is set to true, the `git stash show` command will show
the untracked files of a stash entry. Defaults to false. See
- description of 'show' command in linkgit:git-stash[1].
+ the description of the 'show' command in linkgit:git-stash[1].
stash.showPatch::
If this is set to true, the `git stash show` command without an
option will show the stash entry in patch form. Defaults to false.
- See description of 'show' command in linkgit:git-stash[1].
+ See the description of the 'show' command in linkgit:git-stash[1].
stash.showStat::
If this is set to true, the `git stash show` command without an
- option will show diffstat of the stash entry. Defaults to true.
- See description of 'show' command in linkgit:git-stash[1].
+ option will show a diffstat of the stash entry. Defaults to true.
+ See the description of the 'show' command in linkgit:git-stash[1].
diff --git a/Documentation/diff-generate-patch.txt b/Documentation/diff-generate-patch.txt
index 4b307cb51bb..cf1958ca632 100644
--- a/Documentation/diff-generate-patch.txt
+++ b/Documentation/diff-generate-patch.txt
@@ -25,9 +25,9 @@ The `a/` and `b/` filenames are the same unless rename/copy is
involved. Especially, even for a creation or a deletion,
`/dev/null` is _not_ used in place of the `a/` or `b/` filenames.
+
-When rename/copy is involved, `file1` and `file2` show the
+When a rename/copy is involved, `file1` and `file2` show the
name of the source file of the rename/copy and the name of
-the file that rename/copy produces, respectively.
+the file that the rename/copy produces, respectively.
2. It is followed by one or more extended header lines:
@@ -89,7 +89,7 @@ produce a 'combined diff' when showing a merge. This is the default
format when showing merges with linkgit:git-diff[1] or
linkgit:git-show[1]. Note also that you can give suitable
`--diff-merges` option to any of these commands to force generation of
-diffs in specific format.
+diffs in a specific format.
A "combined diff" format looks like this:
@@ -143,7 +143,7 @@ or like this (when the `--cc` option is used):
The `mode <mode>,<mode>..<mode>` line appears only if at least one of
the <mode> is different from the rest. Extended headers with
information about detected content movement (renames and
-copying detection) are designed to work with diff of two
+copying detection) are designed to work with the diff of two
<tree-ish> and are not used by combined diff format.
3. It is followed by a two-line from-file/to-file header:
@@ -151,7 +151,7 @@ copying detection) are designed to work with diff of two
--- a/file
+++ b/file
+
-Similar to two-line header for traditional 'unified' diff
+Similar to the two-line header for the traditional 'unified' diff
format, `/dev/null` is used to signal created or deleted
files.
+
diff --git a/Documentation/fsck-msgids.txt b/Documentation/fsck-msgids.txt
index 8505c244bcf..f643585a34e 100644
--- a/Documentation/fsck-msgids.txt
+++ b/Documentation/fsck-msgids.txt
@@ -132,7 +132,7 @@
(ERROR) Missing space before date in an author/committer line.
`missingSpaceBeforeEmail`::
- (ERROR) Missing space before the email in author/committer line.
+ (ERROR) Missing space before the email in an author/committer line.
`missingTag`::
(ERROR) Unexpected end after `type` line in a tag object.
diff --git a/Documentation/git-am.txt b/Documentation/git-am.txt
index 51c26715159..00a5ec206d6 100644
--- a/Documentation/git-am.txt
+++ b/Documentation/git-am.txt
@@ -94,7 +94,7 @@ OPTIONS
Pass `-u` flag to 'git mailinfo' (see linkgit:git-mailinfo[1]).
The proposed commit log message taken from the e-mail
is re-coded into UTF-8 encoding (configuration variable
- `i18n.commitEncoding` can be used to specify project's
+ `i18n.commitEncoding` can be used to specify the project's
preferred encoding if it is not UTF-8).
+
This was optional in prior versions of git, but now it is the
@@ -192,7 +192,7 @@ include::rerere-options.txt[]
--abort::
Restore the original branch and abort the patching operation.
- Revert contents of files involved in the am operation to their
+ Revert the contents of files involved in the am operation to their
pre-am state.
--quit::
diff --git a/Documentation/git-apply.txt b/Documentation/git-apply.txt
index b6e7510d068..95bde308709 100644
--- a/Documentation/git-apply.txt
+++ b/Documentation/git-apply.txt
@@ -140,7 +140,7 @@ linkgit:git-config[1]).
applying a diff generated with `--unified=0`. To bypass these
checks use `--unidiff-zero`.
+
-Note, for the reasons stated above usage of context-free patches is
+Note, for the reasons stated above the usage of context-free patches is
discouraged.
--apply::
@@ -257,7 +257,7 @@ the `--unsafe-paths` option to override this safety check. This option
has no effect when `--index` or `--cached` is in use.
--allow-empty::
- Don't return error for patches containing no diff. This includes
+ Don't return an error for patches containing no diff. This includes
empty patches and patches with commit text only.
CONFIGURATION
diff --git a/Documentation/git-blame.txt b/Documentation/git-blame.txt
index a927c7c9f33..6f39147c051 100644
--- a/Documentation/git-blame.txt
+++ b/Documentation/git-blame.txt
@@ -77,7 +77,7 @@ include::blame-options.txt[]
-e::
--show-email::
- Show the author email instead of author name (Default: off).
+ Show the author email instead of the author name (Default: off).
This can also be controlled via the `blame.showEmail` config
option.
@@ -100,7 +100,7 @@ When neither `--porcelain` nor `--incremental` option is specified,
`git blame` will output annotation for each line with:
- abbreviated object name for the commit the line came from;
-- author ident (by default author name and date, unless `-s` or `-e`
+- author ident (by default the author name and date, unless `-s` or `-e`
is specified); and
- line number
diff --git a/Documentation/git-check-ref-format.txt b/Documentation/git-check-ref-format.txt
index ee6a4144fbe..1d6e08e0119 100644
--- a/Documentation/git-check-ref-format.txt
+++ b/Documentation/git-check-ref-format.txt
@@ -85,7 +85,7 @@ The rule `git check-ref-format --branch $name` implements
may be stricter than what `git check-ref-format refs/heads/$name`
says (e.g. a dash may appear at the beginning of a ref component,
but it is explicitly forbidden at the beginning of a branch name).
-When run with `--branch` option in a repository, the input is first
+When run with the `--branch` option in a repository, the input is first
expanded for the ``previous checkout syntax''
`@{-n}`. For example, `@{-1}` is a way to refer the last thing that
was checked out using "git switch" or "git checkout" operation.
diff --git a/Documentation/git-checkout-index.txt b/Documentation/git-checkout-index.txt
index d1738f43308..4e2527612e0 100644
--- a/Documentation/git-checkout-index.txt
+++ b/Documentation/git-checkout-index.txt
@@ -53,7 +53,7 @@ OPTIONS
--stage=<number>|all::
Instead of checking out unmerged entries, copy out the
- files from named stage. <number> must be between 1 and 3.
+ files from the named stage. <number> must be between 1 and 3.
Note: --stage=all automatically implies --temp.
--temp::
@@ -66,8 +66,8 @@ OPTIONS
set.
--stdin::
- Instead of taking list of paths from the command line,
- read list of paths from the standard input. Paths are
+ Instead of taking a list of paths from the command line,
+ read the list of paths from the standard input. Paths are
separated by LF (i.e. one path per line) by default.
-z::
diff --git a/Documentation/git-count-objects.txt b/Documentation/git-count-objects.txt
index b28cc3a510a..97f9f126101 100644
--- a/Documentation/git-count-objects.txt
+++ b/Documentation/git-count-objects.txt
@@ -33,7 +33,7 @@ size-pack: disk space consumed by the packs, in KiB (unless -H is specified)
prune-packable: the number of loose objects that are also present in
the packs. These objects could be pruned using `git prune-packed`.
+
-garbage: the number of files in object database that are neither valid loose
+garbage: the number of files in the object database that are neither valid loose
objects nor valid packs
+
size-garbage: disk space consumed by garbage files, in KiB (unless -H is
diff --git a/Documentation/git-daemon.txt b/Documentation/git-daemon.txt
index 236df516c73..e064f91c9e3 100644
--- a/Documentation/git-daemon.txt
+++ b/Documentation/git-daemon.txt
@@ -138,7 +138,7 @@ otherwise `stderr`.
--user-path::
--user-path=<path>::
Allow {tilde}user notation to be used in requests. When
- specified with no parameter, requests to
+ specified with no parameter, a request to
git://host/{tilde}alice/foo is taken as a request to access
'foo' repository in the home directory of user `alice`.
If `--user-path=path` is specified, the same request is
diff --git a/Documentation/git-diff-tree.txt b/Documentation/git-diff-tree.txt
index 1e34f80daa9..c2772a566a3 100644
--- a/Documentation/git-diff-tree.txt
+++ b/Documentation/git-diff-tree.txt
@@ -78,7 +78,7 @@ commits (but not trees).
By default, 'git diff-tree --stdin' shows differences,
either in machine-readable form (without `-p`) or in patch
form (with `-p`). This output can be suppressed. It is
- only useful with `-v` flag.
+ only useful with the `-v` flag.
-v::
This flag causes 'git diff-tree --stdin' to also show
diff --git a/Documentation/git-difftool.txt b/Documentation/git-difftool.txt
index 179e5ae2162..50cb080085e 100644
--- a/Documentation/git-difftool.txt
+++ b/Documentation/git-difftool.txt
@@ -36,7 +36,7 @@ OPTIONS
--rotate-to=<file>::
Start showing the diff for the given path,
- the paths before it will move to end and output.
+ the paths before it will move to the end and output.
--skip-to=<file>::
Start showing the diff for the given path, skipping all
diff --git a/Documentation/git-fsck.txt b/Documentation/git-fsck.txt
index e4980d28615..5b82e4605c2 100644
--- a/Documentation/git-fsck.txt
+++ b/Documentation/git-fsck.txt
@@ -24,7 +24,7 @@ OPTIONS
An object to treat as the head of an unreachability trace.
+
If no objects are given, 'git fsck' defaults to using the
-index file, all SHA-1 references in `refs` namespace, and all reflogs
+index file, all SHA-1 references in the `refs` namespace, and all reflogs
(unless --no-reflogs is given) as heads.
--unreachable::
diff --git a/Documentation/git-help.txt b/Documentation/git-help.txt
index ee18a2b7432..22dfd780851 100644
--- a/Documentation/git-help.txt
+++ b/Documentation/git-help.txt
@@ -85,7 +85,7 @@ pseudo-configuration such as the file-based `.git/hooks/*` interface
described in linkgit:githooks[5].
--developer-interfaces::
- Print list of file formats, protocols and other developer
+ Print a list of file formats, protocols and other developer
interfaces documentation on the standard output.
-i::
diff --git a/Documentation/git-http-push.txt b/Documentation/git-http-push.txt
index 8b4a5791c8c..c0c841b9fdd 100644
--- a/Documentation/git-http-push.txt
+++ b/Documentation/git-http-push.txt
@@ -13,12 +13,12 @@ SYNOPSIS
DESCRIPTION
-----------
-Sends missing objects to remote repository, and updates the
+Sends missing objects to the remote repository, and updates the
remote branch.
*NOTE*: This command is temporarily disabled if your libcurl
is older than 7.16, as the combination has been reported
-not to work and sometimes corrupts repository.
+not to work and sometimes corrupts the repository.
OPTIONS
-------
diff --git a/Documentation/git-init.txt b/Documentation/git-init.txt
index 138dc4a3bfe..3c3c1e730c3 100644
--- a/Documentation/git-init.txt
+++ b/Documentation/git-init.txt
@@ -66,10 +66,10 @@ DIRECTORY" section below.)
Instead of initializing the repository as a directory to either `$GIT_DIR` or
`./.git/`, create a text file there containing the path to the actual
-repository. This file acts as filesystem-agnostic Git symbolic link to the
+repository. This file acts as a filesystem-agnostic Git symbolic link to the
repository.
+
-If this is reinitialization, the repository will be moved to the specified path.
+If this is a reinitialization, the repository will be moved to the specified path.
-b <branch-name>::
--initial-branch=<branch-name>::
diff --git a/Documentation/git-mailsplit.txt b/Documentation/git-mailsplit.txt
index e3b2a88c4b7..3f0a6662c81 100644
--- a/Documentation/git-mailsplit.txt
+++ b/Documentation/git-mailsplit.txt
@@ -34,7 +34,7 @@ OPTIONS
-b::
If any file doesn't begin with a From line, assume it is a
- single mail message instead of signaling error.
+ single mail message instead of signaling an error.
-d<prec>::
Instead of the default 4 digits with leading zeros,
diff --git a/Documentation/git-merge-base.txt b/Documentation/git-merge-base.txt
index b01ba3d3565..463764b9c1e 100644
--- a/Documentation/git-merge-base.txt
+++ b/Documentation/git-merge-base.txt
@@ -18,7 +18,7 @@ SYNOPSIS
DESCRIPTION
-----------
-'git merge-base' finds best common ancestor(s) between two commits to use
+'git merge-base' finds the best common ancestor(s) between two commits to use
in a three-way merge. One common ancestor is 'better' than another common
ancestor if the latter is an ancestor of the former. A common ancestor
that does not have any better common ancestor is a 'best common
diff --git a/Documentation/git-merge-tree.txt b/Documentation/git-merge-tree.txt
index 9f951c7fe34..b50acace3bc 100644
--- a/Documentation/git-merge-tree.txt
+++ b/Documentation/git-merge-tree.txt
@@ -19,7 +19,7 @@ DESCRIPTION
This command has a modern `--write-tree` mode and a deprecated
`--trivial-merge` mode. With the exception of the
<<DEPMERGE,DEPRECATED DESCRIPTION>> section at the end, the rest of
-this documentation describes modern `--write-tree` mode.
+this documentation describes the modern `--write-tree` mode.
Performs a merge, but does not make any new commits and does not read
from or write to either the working tree or index.
diff --git a/Documentation/git-mktag.txt b/Documentation/git-mktag.txt
index 7a014962343..006d759962a 100644
--- a/Documentation/git-mktag.txt
+++ b/Documentation/git-mktag.txt
@@ -56,7 +56,7 @@ has a very simple fixed format: four lines of
tagger <tagger>
followed by some 'optional' free-form message (some tags created
-by older Git may not have `tagger` line). The message, when it
+by older Git may not have a `tagger` line). The message, when it
exists, is separated by a blank line from the header. The
message part may contain a signature that Git itself doesn't
care about, but that can be verified with gpg.
diff --git a/Documentation/git-prune.txt b/Documentation/git-prune.txt
index 03552dd86fc..9a45571b901 100644
--- a/Documentation/git-prune.txt
+++ b/Documentation/git-prune.txt
@@ -18,7 +18,7 @@ NOTE: In most cases, users should run 'git gc', which calls
'git prune'. See the section "NOTES", below.
This runs 'git fsck --unreachable' using all the refs
-available in `refs/`, optionally with additional set of
+available in `refs/`, optionally with an additional set of
objects specified on the command line, and prunes all unpacked
objects unreachable from any of these head objects from the object database.
In addition, it
diff --git a/Documentation/git-push.txt b/Documentation/git-push.txt
index 5b4edaf4a8d..c12caedbb18 100644
--- a/Documentation/git-push.txt
+++ b/Documentation/git-push.txt
@@ -48,7 +48,7 @@ local one.
OPTIONS[[OPTIONS]]
------------------
<repository>::
- The "remote" repository that is destination of a push
+ The "remote" repository that is the destination of a push
operation. This parameter can be either a URL
(see the section <<URLS,GIT URLS>> below) or the name
of a remote (see the section <<REMOTES,REMOTES>> below).
diff --git a/Documentation/git-read-tree.txt b/Documentation/git-read-tree.txt
index 32065318532..1c48c289963 100644
--- a/Documentation/git-read-tree.txt
+++ b/Documentation/git-read-tree.txt
@@ -26,14 +26,14 @@ flag. When used with `-m`, the `-u` flag causes it to also update
the files in the work tree with the result of the merge.
Only trivial merges are done by 'git read-tree' itself. Only conflicting paths
-will be in unmerged state when 'git read-tree' returns.
+will be in an unmerged state when 'git read-tree' returns.
OPTIONS
-------
-m::
Perform a merge, not just a read. The command will
refuse to run if your index file has unmerged entries,
- indicating that you have not finished previous merge you
+ indicating that you have not finished a previous merge you
started.
--reset::
diff --git a/Documentation/git-receive-pack.txt b/Documentation/git-receive-pack.txt
index 65ff518ccff..20aca92073d 100644
--- a/Documentation/git-receive-pack.txt
+++ b/Documentation/git-receive-pack.txt
@@ -18,10 +18,10 @@ information fed from the remote end.
This command is usually not invoked directly by the end user.
The UI for the protocol is on the 'git send-pack' side, and the
-program pair is meant to be used to push updates to remote
+program pair is meant to be used to push updates to a remote
repository. For pull operations, see linkgit:git-fetch-pack[1].
-The command allows for creation and fast-forwarding of sha1 refs
+The command allows for the creation and fast-forwarding of sha1 refs
(heads/tags) on the remote end (strictly speaking, it is the
local end 'git-receive-pack' runs, but to the user who is sitting at
the send-pack end, it is updating the remote. Confused?)
diff --git a/Documentation/git-remote-ext.txt b/Documentation/git-remote-ext.txt
index 17d84f23c99..b33ee3c9e86 100644
--- a/Documentation/git-remote-ext.txt
+++ b/Documentation/git-remote-ext.txt
@@ -44,15 +44,15 @@ The following sequences have a special meaning:
This argument will not be passed to '<command>'. Instead, it
will cause the helper to start by sending git:// service requests to
the remote side with the service field set to an appropriate value and
- the repository field set to rest of the argument. Default is not to send
+ the repository field set to the rest of the argument. Default is not to send
such a request.
+
-This is useful if remote side is git:// server accessed over
+This is useful if the remote side is git:// server accessed over
some tunnel.
'%V' (must be first characters in argument)::
This argument will not be passed to '<command>'. Instead it sets
- the vhost field in the git:// service request (to rest of the argument).
+ the vhost field in the git:// service request (to the rest of the argument).
Default is not to send vhost in such request (if sent).
ENVIRONMENT VARIABLES
@@ -82,12 +82,12 @@ begins with `ext::`. Examples:
"ext::ssh -i /home/foo/.ssh/somekey user@host.example %S 'foo/repo'"::
Like host.example:foo/repo, but use /home/foo/.ssh/somekey as
- keypair and user as user on remote side. This avoids the need to
+ keypair and user as the user on the remote side. This avoids the need to
edit .ssh/config.
"ext::socat -t3600 - ABSTRACT-CONNECT:/git-server %G/somerepo"::
Represents repository with path /somerepo accessible over
- git protocol at abstract namespace address /git-server.
+ git protocol at the abstract namespace address /git-server.
"ext::git-server-alias foo %G/repo"::
Represents a repository with path /repo accessed using the
diff --git a/Documentation/git-remote-fd.txt b/Documentation/git-remote-fd.txt
index 0451ceb8a26..6ed71bd0b75 100644
--- a/Documentation/git-remote-fd.txt
+++ b/Documentation/git-remote-fd.txt
@@ -25,7 +25,7 @@ It is assumed that any handshaking procedures have already been completed
(such as sending service request for git://) before this helper is started.
<anything> can be any string. It is ignored. It is meant for providing
-information to user in the URL in case that URL is displayed in some
+information to the user in the URL in case that URL is displayed in some
context.
ENVIRONMENT VARIABLES
@@ -45,7 +45,7 @@ EXAMPLES
`git push fd::7,8 master (as URL)`::
Push master, using file descriptor #7 to read data from
git-receive-pack and file descriptor #8 to write data to
- same service.
+ the same service.
`git push fd::7,8/bar master`::
Same as above.
diff --git a/Documentation/git-replace.txt b/Documentation/git-replace.txt
index fdd2e0f0883..4f257126e33 100644
--- a/Documentation/git-replace.txt
+++ b/Documentation/git-replace.txt
@@ -35,7 +35,7 @@ Replacement references will be used by default by all Git commands
except those doing reachability traversal (prune, pack transfer and
fsck).
-It is possible to disable use of replacement references for any
+It is possible to disable the use of replacement references for any
command using the `--no-replace-objects` option just after 'git'.
For example if commit 'foo' has been replaced by commit 'bar':
diff --git a/Documentation/git-rev-parse.txt b/Documentation/git-rev-parse.txt
index 7b3ce3012e3..f42fb938705 100644
--- a/Documentation/git-rev-parse.txt
+++ b/Documentation/git-rev-parse.txt
@@ -14,7 +14,7 @@ SYNOPSIS
DESCRIPTION
-----------
-Many Git porcelainish commands take mixture of flags
+Many Git porcelainish commands take a mixture of flags
(i.e. parameters that begin with a dash '-') and parameters
meant for the underlying 'git rev-list' command they use internally
and flags and parameters for the other commands they use
diff --git a/Documentation/git-send-pack.txt b/Documentation/git-send-pack.txt
index 9c1ed757b9d..b9e73f2e77b 100644
--- a/Documentation/git-send-pack.txt
+++ b/Documentation/git-send-pack.txt
@@ -106,7 +106,7 @@ SPECIFYING THE REFS
There are three ways to specify which refs to update on the
remote end.
-With `--all` flag, all refs that exist locally are transferred to
+With the `--all` flag, all refs that exist locally are transferred to
the remote side. You cannot specify any '<ref>' if you use
this flag.
diff --git a/Documentation/git-sh-setup.txt b/Documentation/git-sh-setup.txt
index 8632612c31d..bdaf6e5fc4f 100644
--- a/Documentation/git-sh-setup.txt
+++ b/Documentation/git-sh-setup.txt
@@ -22,7 +22,7 @@ The 'git sh-setup' scriptlet is designed to be sourced (using
the normal Git directories and a few helper shell functions.
Before sourcing it, your script should set up a few variables;
-`USAGE` (and `LONG_USAGE`, if any) is used to define message
+`USAGE` (and `LONG_USAGE`, if any) is used to define the message
given by `usage()` shell function. `SUBDIRECTORY_OK` can be set
if the script can run from a subdirectory of the working tree
(some commands do not).
diff --git a/Documentation/git-show-branch.txt b/Documentation/git-show-branch.txt
index 080b5246a4e..ddf24aeb87d 100644
--- a/Documentation/git-show-branch.txt
+++ b/Documentation/git-show-branch.txt
@@ -137,7 +137,7 @@ their commit message. The branch head that is pointed at by
$GIT_DIR/HEAD is prefixed with an asterisk `*` character while other
heads are prefixed with a `!` character.
-Following these N lines, one-line log for each commit is
+Following these N lines, a one-line log for each commit is
displayed, indented N places. If a commit is on the I-th
branch, the I-th indentation character shows a `+` sign;
otherwise it shows a space. Merge commits are denoted by
diff --git a/Documentation/git-stripspace.txt b/Documentation/git-stripspace.txt
index 3dc630da4b7..6b92cc7de78 100644
--- a/Documentation/git-stripspace.txt
+++ b/Documentation/git-stripspace.txt
@@ -37,7 +37,7 @@ OPTIONS
-------
-s::
--strip-comments::
- Skip and remove all lines starting with comment character (default '#').
+ Skip and remove all lines starting with a comment character (default '#').
-c::
--comment-lines::
diff --git a/Documentation/git-update-index.txt b/Documentation/git-update-index.txt
index 7f0c950a5fd..7ac2e37c0ac 100644
--- a/Documentation/git-update-index.txt
+++ b/Documentation/git-update-index.txt
@@ -95,7 +95,7 @@ OPTIONS
the index. If you want to change the working tree file,
you need to unset the bit to tell Git. This is
sometimes helpful when working with a big project on a
- filesystem that has very slow lstat(2) system call
+ filesystem that has a very slow lstat(2) system call
(e.g. cifs).
+
Git will fail (gracefully) in case it needs to modify this file
@@ -151,12 +151,12 @@ you will need to handle the situation manually.
automatically removed with warning messages.
--stdin::
- Instead of taking list of paths from the command line,
- read list of paths from the standard input. Paths are
+ Instead of taking a list of paths from the command line,
+ read a list of paths from the standard input. Paths are
separated by LF (i.e. one path per line) by default.
--verbose::
- Report what is being added and removed from index.
+ Report what is being added and removed from the index.
--index-version <n>::
Write the resulting index out in the named on-disk format version.
diff --git a/Documentation/git-update-ref.txt b/Documentation/git-update-ref.txt
index 48b6683071e..0561808cca0 100644
--- a/Documentation/git-update-ref.txt
+++ b/Documentation/git-update-ref.txt
@@ -118,7 +118,7 @@ verify::
<oldvalue> is zero or missing, the ref must not exist.
option::
- Modify behavior of the next command naming a <ref>.
+ Modify the behavior of the next command naming a <ref>.
The only valid option is `no-deref` to avoid dereferencing
a symbolic ref.
diff --git a/Documentation/git-update-server-info.txt b/Documentation/git-update-server-info.txt
index 17e429dbd09..ff32986d4c5 100644
--- a/Documentation/git-update-server-info.txt
+++ b/Documentation/git-update-server-info.txt
@@ -29,7 +29,7 @@ OUTPUT
------
Currently the command updates the following files. Please see
-linkgit:gitrepository-layout[5] for description of
+linkgit:gitrepository-layout[5] for a description of
what they are for:
* objects/info/packs
diff --git a/Documentation/git-verify-pack.txt b/Documentation/git-verify-pack.txt
index b8720dce8ab..d7e886918aa 100644
--- a/Documentation/git-verify-pack.txt
+++ b/Documentation/git-verify-pack.txt
@@ -15,7 +15,7 @@ SYNOPSIS
DESCRIPTION
-----------
Reads given idx file for packed Git archive created with the
-'git pack-objects' command and verifies idx file and the
+'git pack-objects' command and verifies the idx file and the
corresponding pack file.
OPTIONS
@@ -25,13 +25,13 @@ OPTIONS
-v::
--verbose::
- After verifying the pack, show list of objects contained
+ After verifying the pack, show the list of objects contained
in the pack and a histogram of delta chain length.
-s::
--stat-only::
Do not verify the pack contents; only show the histogram of delta
- chain length. With `--verbose`, list of objects is also shown.
+ chain length. With `--verbose`, the list of objects is also shown.
\--::
Do not interpret any more arguments as options.
diff --git a/Documentation/git-whatchanged.txt b/Documentation/git-whatchanged.txt
index fc2dc5a3b1d..8e55e0bb1ec 100644
--- a/Documentation/git-whatchanged.txt
+++ b/Documentation/git-whatchanged.txt
@@ -22,7 +22,7 @@ but defaults to showing the raw format diff output and skipping merges.
The command is primarily kept for historical reasons; fingers of
many people who learned Git long before `git log` was invented by
-reading Linux kernel mailing list are trained to type it.
+reading the Linux kernel mailing list are trained to type it.
Examples
diff --git a/Documentation/gitcli.txt b/Documentation/gitcli.txt
index 71ffe5556ae..e5fac943227 100644
--- a/Documentation/gitcli.txt
+++ b/Documentation/gitcli.txt
@@ -37,7 +37,7 @@ arguments. Here are the rules:
they can be disambiguated by placing `--` between them.
E.g. `git diff -- HEAD` is, "I have a file called HEAD in my work
tree. Please show changes between the version I staged in the index
- and what I have in the work tree for that file", not "show difference
+ and what I have in the work tree for that file", not "show the difference
between the HEAD commit and the work tree as a whole". You can say
`git diff HEAD --` to ask for the latter.
diff --git a/Documentation/gitdiffcore.txt b/Documentation/gitdiffcore.txt
index 411ce863598..bc65f91310d 100644
--- a/Documentation/gitdiffcore.txt
+++ b/Documentation/gitdiffcore.txt
@@ -213,7 +213,7 @@ from the original, and does not count insertion. If you removed
only 10 lines from a 100-line document, even if you added 910
new lines to make a new 1000-line document, you did not do a
complete rewrite. diffcore-break breaks such a case in order to
-help diffcore-rename to consider such filepairs as candidate of
+help diffcore-rename to consider such filepairs as a candidate of
rename/copy detection, but if filepairs broken that way were not
matched with other filepairs to create rename/copy, then this
transformation merges them back into the original
@@ -235,8 +235,8 @@ creation and deletion patches. This was an unnecessary hack and
the latest implementation always merges all the broken pairs
back into modifications, but the resulting patch output is
formatted differently for easier review in case of such
-a complete rewrite by showing the entire contents of old version
-prefixed with '-', followed by the entire contents of new
+a complete rewrite by showing the entire contents of the old version
+prefixed with '-', followed by the entire contents of the new
version prefixed with '+'.
diff --git a/Documentation/gitformat-pack.txt b/Documentation/gitformat-pack.txt
index f5d07a125d9..678a7e4cb49 100644
--- a/Documentation/gitformat-pack.txt
+++ b/Documentation/gitformat-pack.txt
@@ -48,7 +48,7 @@ Similarly, in SHA-256 repositories, these values are computed using SHA-256.
Observation: we cannot have more than 4G versions ;-) and
more than 4G objects in a pack.
- - The header is followed by number of object entries, each of
+ - The header is followed by a number of object entries, each of
which looks like this:
(undeltified representation)
@@ -62,7 +62,7 @@ Similarly, in SHA-256 repositories, these values are computed using SHA-256.
is an OBJ_OFS_DELTA object
compressed delta data
- Observation: length of each object is encoded in a variable
+ Observation: the length of each object is encoded in a variable
length format and is not constrained to 32-bit or anything.
- The trailer records a pack checksum of all of the above.
@@ -161,7 +161,7 @@ converted to 0x10000.
| 0xxxxxxx | data |
+----------+============+
-This is the instruction to construct target object without the base
+This is the instruction to construct the target object without the base
object. The following data is appended to the target object. The first
seven bits of the first octet determine the size of data in
bytes. The size must be non-zero.
@@ -294,7 +294,7 @@ Pack file entry: <+
- The same trailer as a v1 pack file:
- A copy of the pack checksum at the end of
+ A copy of the pack checksum at the end of the
corresponding packfile.
Index checksum of all of the above.
diff --git a/Documentation/githooks.txt b/Documentation/githooks.txt
index e62ad343eda..883982e7a05 100644
--- a/Documentation/githooks.txt
+++ b/Documentation/githooks.txt
@@ -157,7 +157,7 @@ If the exit status is non-zero, `git commit` will abort.
The purpose of the hook is to edit the message file in place, and
it is not suppressed by the `--no-verify` option. A non-zero exit
means a failure of the hook and aborts the commit. It should not
-be used as replacement for pre-commit hook.
+be used as a replacement for the pre-commit hook.
The sample `prepare-commit-msg` hook that comes with Git removes the
help message found in the commented portion of the commit template.
diff --git a/Documentation/gitprotocol-capabilities.txt b/Documentation/gitprotocol-capabilities.txt
index 388846d92e9..d6c6effc215 100644
--- a/Documentation/gitprotocol-capabilities.txt
+++ b/Documentation/gitprotocol-capabilities.txt
@@ -88,7 +88,7 @@ interleaved with S-R-Q.
multi_ack_detailed
------------------
-This is an extension of multi_ack that permits client to better
+This is an extension of multi_ack that permits the client to better
understand the server's in-memory state. See linkgit:gitprotocol-pack[5],
section "Packfile Negotiation" for more information.
diff --git a/Documentation/gitweb.txt b/Documentation/gitweb.txt
index 41ce55e266a..1030e9667ea 100644
--- a/Documentation/gitweb.txt
+++ b/Documentation/gitweb.txt
@@ -41,9 +41,9 @@ for details.
Repositories
~~~~~~~~~~~~
Gitweb can show information from one or more Git repositories. These
-repositories have to be all on local filesystem, and have to share common
+repositories have to be all on local filesystem, and have to share a common
repository root, i.e. be all under a single parent repository (but see also
-"Advanced web server setup" section, "Webserver configuration with multiple
+the "Advanced web server setup" section, "Webserver configuration with multiple
projects' root" subsection).
-----------------------------------------------------------------------
@@ -51,7 +51,7 @@ our $projectroot = '/path/to/parent/directory';
-----------------------------------------------------------------------
The default value for `$projectroot` is `/pub/git`. You can change it during
-building gitweb via `GITWEB_PROJECTROOT` build configuration variable.
+building gitweb via the `GITWEB_PROJECTROOT` build configuration variable.
By default all Git repositories under `$projectroot` are visible and available
to gitweb. The list of projects is generated by default by scanning the
@@ -66,7 +66,7 @@ found at "$projectroot/$repo".
Projects list file format
~~~~~~~~~~~~~~~~~~~~~~~~~
-Instead of having gitweb find repositories by scanning filesystem
+Instead of having gitweb find repositories by scanning the filesystem
starting from $projectroot, you can provide a pre-generated list of
visible projects by setting `$projects_list` to point to a plain text
file with a list of projects (with some additional info).
diff --git a/Documentation/pretty-options.txt b/Documentation/pretty-options.txt
index 15c6f2705d4..23888cd612c 100644
--- a/Documentation/pretty-options.txt
+++ b/Documentation/pretty-options.txt
@@ -48,7 +48,7 @@ people using 80-column terminals.
--expand-tabs::
--no-expand-tabs::
Perform a tab expansion (replace each tab with enough spaces
- to fill to the next display column that is multiple of '<n>')
+ to fill to the next display column that is a multiple of '<n>')
in the log message before showing it in the output.
`--expand-tabs` is a short-hand for `--expand-tabs=8`, and
`--no-expand-tabs` is a short-hand for `--expand-tabs=0`,
diff --git a/Documentation/pull-fetch-param.txt b/Documentation/pull-fetch-param.txt
index 74143ef0d24..c718f7946f0 100644
--- a/Documentation/pull-fetch-param.txt
+++ b/Documentation/pull-fetch-param.txt
@@ -80,7 +80,7 @@ configuration which'll amend these rules, and nothing like a
+
As with pushing with linkgit:git-push[1], all of the rules described
above about what's not allowed as an update can be overridden by
-adding an optional leading `+` to a refspec (or using `--force`
+adding an optional leading `+` to a refspec (or using the `--force`
command line option). The only exception to this is that no amount of
forcing will make the `refs/heads/*` namespace accept a non-commit
object.
@@ -88,7 +88,7 @@ object.
[NOTE]
When the remote branch you want to fetch is known to
be rewound and rebased regularly, it is expected that
-its new tip will not be descendant of its previous tip
+its new tip will not be a descendant of its previous tip
(as stored in your remote-tracking branch the last time
you fetched). You would want
to use the `+` sign to indicate non-fast-forward updates
diff --git a/Documentation/rev-list-options.txt b/Documentation/rev-list-options.txt
index 66d71d1b957..2bf239ff030 100644
--- a/Documentation/rev-list-options.txt
+++ b/Documentation/rev-list-options.txt
@@ -56,7 +56,7 @@ endif::git-rev-list[]
error to use this option unless `--walk-reflogs` is in use.
--grep=<pattern>::
- Limit the commits output to ones with log message that
+ Limit the commits output to ones with a log message that
matches the specified pattern (regular expression). With
more than one `--grep=<pattern>`, commits whose message
matches any of the given patterns are chosen (but see
@@ -72,7 +72,7 @@ endif::git-rev-list[]
instead of ones that match at least one.
--invert-grep::
- Limit the commits output to ones with log message that do not
+ Limit the commits output to ones with a log message that do not
match the pattern specified with `--grep=<pattern>`.
-i::
diff --git a/Documentation/technical/bitmap-format.txt b/Documentation/technical/bitmap-format.txt
index f761828f106..f5d200939b0 100644
--- a/Documentation/technical/bitmap-format.txt
+++ b/Documentation/technical/bitmap-format.txt
@@ -239,7 +239,7 @@ bitmaps.
For a `.bitmap` containing `nr_entries` reachability bitmaps, the table
contains a list of `nr_entries` <commit_pos, offset, xor_row> triplets
-(sorted in the ascending order of `commit_pos`). The content of i'th
+(sorted in the ascending order of `commit_pos`). The content of the i'th
triplet is -
* {empty}
diff --git a/Documentation/technical/partial-clone.txt b/Documentation/technical/partial-clone.txt
index 29876ca582a..cd948b00722 100644
--- a/Documentation/technical/partial-clone.txt
+++ b/Documentation/technical/partial-clone.txt
@@ -256,7 +256,7 @@ remote in a specific order.
- Dynamic object fetching currently uses the existing pack protocol V0
which means that each object is requested via fetch-pack. The server
will send a full set of info/refs when the connection is established.
- If there are large number of refs, this may incur significant overhead.
+ If there are a large number of refs, this may incur significant overhead.
Future Work
--
gitgitgadget
^ permalink raw reply related
* [PATCH 25/25] documentation: add missing parenthesis
From: Elijah Newren via GitGitGadget @ 2023-10-08 6:45 UTC (permalink / raw)
To: git; +Cc: Elijah Newren, Elijah Newren
In-Reply-To: <pull.1595.git.1696747527.gitgitgadget@gmail.com>
From: Elijah Newren <newren@gmail.com>
Diff best viewed with --color-diff.
Signed-off-by: Elijah Newren <newren@gmail.com>
---
Documentation/git-remote-fd.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Documentation/git-remote-fd.txt b/Documentation/git-remote-fd.txt
index 94700b89be9..1dd2648a790 100644
--- a/Documentation/git-remote-fd.txt
+++ b/Documentation/git-remote-fd.txt
@@ -19,7 +19,7 @@ If only <infd> is given, it is assumed to be a bidirectional socket connected
to a remote Git server (git-upload-pack, git-receive-pack, or
git-upload-archive). If both <infd> and <outfd> are given, they are assumed
to be pipes connected to a remote Git server (<infd> being the inbound pipe
-and <outfd> being the outbound pipe.
+and <outfd> being the outbound pipe).
It is assumed that any handshaking procedures have already been completed
(such as sending service request for git://) before this helper is started.
--
gitgitgadget
^ permalink raw reply related
* [PATCH 22/25] documentation: add some commas where they are helpful
From: Elijah Newren via GitGitGadget @ 2023-10-08 6:45 UTC (permalink / raw)
To: git; +Cc: Elijah Newren, Elijah Newren
In-Reply-To: <pull.1595.git.1696747527.gitgitgadget@gmail.com>
From: Elijah Newren <newren@gmail.com>
Diff best viewed with --color-diff.
Signed-off-by: Elijah Newren <newren@gmail.com>
---
Documentation/ToolsForGit.txt | 2 +-
Documentation/config/clean.txt | 2 +-
Documentation/config/color.txt | 2 +-
Documentation/config/credential.txt | 2 +-
Documentation/config/fastimport.txt | 4 ++--
Documentation/config/fsck.txt | 10 +++++-----
Documentation/config/log.txt | 2 +-
Documentation/config/merge.txt | 2 +-
Documentation/config/mergetool.txt | 10 +++++-----
Documentation/config/push.txt | 2 +-
Documentation/config/sequencer.txt | 2 +-
Documentation/config/splitindex.txt | 6 +++---
Documentation/config/user.txt | 4 ++--
Documentation/config/versionsort.txt | 2 +-
Documentation/diff-generate-patch.txt | 4 ++--
Documentation/fetch-options.txt | 2 +-
Documentation/git-am.txt | 4 ++--
Documentation/git-apply.txt | 10 +++++-----
Documentation/git-check-attr.txt | 4 ++--
Documentation/git-checkout-index.txt | 2 +-
Documentation/git-diff-files.txt | 4 ++--
Documentation/git-fast-import.txt | 2 +-
Documentation/git-fsmonitor--daemon.txt | 4 ++--
Documentation/git-help.txt | 6 +++---
Documentation/git-http-push.txt | 2 +-
Documentation/git-merge-base.txt | 4 ++--
Documentation/git-mergetool.txt | 4 ++--
Documentation/git-mv.txt | 2 +-
Documentation/git-name-rev.txt | 2 +-
Documentation/git-remote-fd.txt | 4 ++--
Documentation/git-request-pull.txt | 2 +-
Documentation/git-show-branch.txt | 4 ++--
Documentation/git-update-index.txt | 2 +-
Documentation/gitdiffcore.txt | 4 ++--
Documentation/gitformat-pack.txt | 2 +-
Documentation/technical/api-simple-ipc.txt | 4 ++--
Documentation/technical/reftable.txt | 2 +-
37 files changed, 66 insertions(+), 66 deletions(-)
diff --git a/Documentation/ToolsForGit.txt b/Documentation/ToolsForGit.txt
index 209eaad31ea..ae7690b45d0 100644
--- a/Documentation/ToolsForGit.txt
+++ b/Documentation/ToolsForGit.txt
@@ -5,7 +5,7 @@ Tools for developing Git
[[summary]]
== Summary
-This document gathers tips, scripts and configuration files to help people
+This document gathers tips, scripts, and configuration files to help people
working on Git's codebase use their favorite tools while following Git's
coding style.
diff --git a/Documentation/config/clean.txt b/Documentation/config/clean.txt
index a807c925b9c..f05b9403b5a 100644
--- a/Documentation/config/clean.txt
+++ b/Documentation/config/clean.txt
@@ -1,3 +1,3 @@
clean.requireForce::
A boolean to make git-clean do nothing unless given -f,
- -i or -n. Defaults to true.
+ -i, or -n. Defaults to true.
diff --git a/Documentation/config/color.txt b/Documentation/config/color.txt
index 1795b2d16be..2f2275ac697 100644
--- a/Documentation/config/color.txt
+++ b/Documentation/config/color.txt
@@ -106,7 +106,7 @@ color.grep.<slot>::
matching text in context lines
`matchSelected`;;
matching text in selected lines. Also, used to customize the following
- linkgit:git-log[1] subcommands: `--grep`, `--author` and `--committer`.
+ linkgit:git-log[1] subcommands: `--grep`, `--author`, and `--committer`.
`selected`;;
non-matching text in selected lines. Also, used to customize the
following linkgit:git-log[1] subcommands: `--grep`, `--author` and
diff --git a/Documentation/config/credential.txt b/Documentation/config/credential.txt
index 075ef8c9750..0221c3e620d 100644
--- a/Documentation/config/credential.txt
+++ b/Documentation/config/credential.txt
@@ -21,7 +21,7 @@ credential.username::
credential.<url>.*::
Any of the credential.* options above can be applied selectively to
- some credentials. For example "credential.https://example.com.username"
+ some credentials. For example, "credential.https://example.com.username"
would set the default username only for https connections to
example.com. See linkgit:gitcredentials[7] for details on how URLs are
matched.
diff --git a/Documentation/config/fastimport.txt b/Documentation/config/fastimport.txt
index c1166e330d5..903677d7efe 100644
--- a/Documentation/config/fastimport.txt
+++ b/Documentation/config/fastimport.txt
@@ -1,8 +1,8 @@
fastimport.unpackLimit::
If the number of objects imported by linkgit:git-fast-import[1]
is below this limit, then the objects will be unpacked into
- loose object files. However if the number of imported objects
- equals or exceeds this limit then the pack will be stored as a
+ loose object files. However, if the number of imported objects
+ equals or exceeds this limit, then the pack will be stored as a
pack. Storing the pack from a fast-import can make the import
operation complete faster, especially on slow filesystems. If
not set, the value of `transfer.unpackLimit` is used instead.
diff --git a/Documentation/config/fsck.txt b/Documentation/config/fsck.txt
index 2384c8c94d6..8e9e508933f 100644
--- a/Documentation/config/fsck.txt
+++ b/Documentation/config/fsck.txt
@@ -13,10 +13,10 @@ The rest of the documentation discusses `fsck.*` for brevity, but the
same applies for the corresponding `receive.fsck.*` and
`fetch.fsck.*`. variables.
+
-Unlike variables like `color.ui` and `core.editor` the
+Unlike variables like `color.ui` and `core.editor`, the
`receive.fsck.<msg-id>` and `fetch.fsck.<msg-id>` variables will not
fall back on the `fsck.<msg-id>` configuration if they aren't set. To
-uniformly configure the same fsck settings in different circumstances
+uniformly configure the same fsck settings in different circumstances,
all three of them must be set to the same values.
+
When `fsck.<msg-id>` is set, errors can be switched to warnings and
@@ -43,12 +43,12 @@ values of `<msg-id>`.
fsck.skipList::
The path to a list of object names (i.e. one unabbreviated SHA-1 per
line) that are known to be broken in a non-fatal way and should
- be ignored. On versions of Git 2.20 and later comments ('#'), empty
+ be ignored. On versions of Git 2.20 and later, comments ('#'), empty
lines, and any leading and trailing whitespace are ignored. Everything
but a SHA-1 per line will error out on older versions.
+
This feature is useful when an established project should be accepted
-despite early commits containing errors that can be safely ignored
+despite early commits containing errors that can be safely ignored,
such as invalid committer email addresses. Note: corrupt objects
cannot be skipped with this setting.
+
@@ -58,7 +58,7 @@ Like `fsck.<msg-id>` this variable has corresponding
Unlike variables like `color.ui` and `core.editor` the
`receive.fsck.skipList` and `fetch.fsck.skipList` variables will not
fall back on the `fsck.skipList` configuration if they aren't set. To
-uniformly configure the same fsck settings in different circumstances
+uniformly configure the same fsck settings in different circumstances,
all three of them must be set to the same values.
+
Older versions of Git (before 2.20) documented that the object names
diff --git a/Documentation/config/log.txt b/Documentation/config/log.txt
index 6e04fbe4f48..9003a821914 100644
--- a/Documentation/config/log.txt
+++ b/Documentation/config/log.txt
@@ -9,7 +9,7 @@ log.date::
`--date` option. See linkgit:git-log[1] for details.
+
If the format is set to "auto:foo" and the pager is in use, format
-"foo" will be used for the date format. Otherwise "default" will
+"foo" will be used for the date format. Otherwise, "default" will
be used.
log.decorate::
diff --git a/Documentation/config/merge.txt b/Documentation/config/merge.txt
index 99e83dd36e5..8851b6cedef 100644
--- a/Documentation/config/merge.txt
+++ b/Documentation/config/merge.txt
@@ -7,7 +7,7 @@ merge.conflictStyle::
marker and the original text before the `=======` marker. The
"merge" style tends to produce smaller conflict regions than diff3,
both because of the exclusion of the original text, and because
- when a subset of lines match on the two sides they are just pulled
+ when a subset of lines match on the two sides, they are just pulled
out of the conflict region. Another alternate style, "zdiff3", is
similar to diff3 but removes matching lines on the two sides from
the conflict region when those matching lines appear near either
diff --git a/Documentation/config/mergetool.txt b/Documentation/config/mergetool.txt
index fe4ba0271b5..294f61efd12 100644
--- a/Documentation/config/mergetool.txt
+++ b/Documentation/config/mergetool.txt
@@ -22,8 +22,8 @@ mergetool.<tool>.trustExitCode::
For a custom merge command, specify whether the exit code of
the merge command can be used to determine whether the merge was
successful. If this is not set to true then the merge target file
- timestamp is checked and the merge is assumed to have been successful
- if the file has been updated, otherwise the user is prompted to
+ timestamp is checked, and the merge is assumed to have been successful
+ if the file has been updated; otherwise, the user is prompted to
indicate the success of the merge.
mergetool.meld.hasOutput::
@@ -37,7 +37,7 @@ mergetool.meld.hasOutput::
mergetool.meld.useAutoMerge::
When the `--auto-merge` is given, meld will merge all non-conflicting
- parts automatically, highlight the conflicting parts and wait for
+ parts automatically, highlight the conflicting parts, and wait for
user decision. Setting `mergetool.meld.useAutoMerge` to `true` tells
Git to unconditionally use the `--auto-merge` option with `meld`.
Setting this value to `auto` makes git detect whether `--auto-merge`
@@ -55,7 +55,7 @@ endif::[]
for details.
mergetool.hideResolved::
- During a merge Git will automatically resolve as many conflicts as
+ During a merge, Git will automatically resolve as many conflicts as
possible and write the 'MERGED' file containing conflict markers around
any conflicts that it cannot resolve; 'LOCAL' and 'REMOTE' normally
represent the versions of the file from before Git's conflict
@@ -74,7 +74,7 @@ mergetool.keepTemporaries::
When invoking a custom merge tool, Git uses a set of temporary
files to pass to the tool. If the tool returns an error and this
variable is set to `true`, then these temporary files will be
- preserved, otherwise they will be removed after the tool has
+ preserved; otherwise, they will be removed after the tool has
exited. Defaults to `false`.
mergetool.writeToTemp::
diff --git a/Documentation/config/push.txt b/Documentation/config/push.txt
index dbaf930f01b..0acbbea18a3 100644
--- a/Documentation/config/push.txt
+++ b/Documentation/config/push.txt
@@ -67,7 +67,7 @@ new default).
--
push.followTags::
- If set to true enable `--follow-tags` option by default. You
+ If set to true, enable `--follow-tags` option by default. You
may override this configuration at time of push by specifying
`--no-follow-tags`.
diff --git a/Documentation/config/sequencer.txt b/Documentation/config/sequencer.txt
index b48d532a969..e664eef01d1 100644
--- a/Documentation/config/sequencer.txt
+++ b/Documentation/config/sequencer.txt
@@ -2,4 +2,4 @@ sequence.editor::
Text editor used by `git rebase -i` for editing the rebase instruction file.
The value is meant to be interpreted by the shell when it is used.
It can be overridden by the `GIT_SEQUENCE_EDITOR` environment variable.
- When not configured the default commit message editor is used instead.
+ When not configured, the default commit message editor is used instead.
diff --git a/Documentation/config/splitindex.txt b/Documentation/config/splitindex.txt
index afdb186df8b..cfaa29610b5 100644
--- a/Documentation/config/splitindex.txt
+++ b/Documentation/config/splitindex.txt
@@ -3,10 +3,10 @@ splitIndex.maxPercentChange::
percent of entries the split index can contain compared to the
total number of entries in both the split index and the shared
index before a new shared index is written.
- The value should be between 0 and 100. If the value is 0 then
- a new shared index is always written, if it is 100 a new
+ The value should be between 0 and 100. If the value is 0, then
+ a new shared index is always written; if it is 100, a new
shared index is never written.
- By default the value is 20, so a new shared index is written
+ By default, the value is 20, so a new shared index is written
if the number of entries in the split index would be greater
than 20 percent of the total number of entries.
See linkgit:git-update-index[1].
diff --git a/Documentation/config/user.txt b/Documentation/config/user.txt
index c1347fa7bcd..2ffc38d1647 100644
--- a/Documentation/config/user.txt
+++ b/Documentation/config/user.txt
@@ -8,11 +8,11 @@ committer.email::
up in the `author` and `committer` fields of commit
objects.
If you need the `author` or `committer` to be different, the
- `author.name`, `author.email`, `committer.name` or
+ `author.name`, `author.email`, `committer.name`, or
`committer.email` variables can be set.
All of these can be overridden by the `GIT_AUTHOR_NAME`,
`GIT_AUTHOR_EMAIL`, `GIT_COMMITTER_NAME`,
- `GIT_COMMITTER_EMAIL` and `EMAIL` environment variables.
+ `GIT_COMMITTER_EMAIL`, and `EMAIL` environment variables.
+
Note that the `name` forms of these variables conventionally refer to
some form of a personal name. See linkgit:git-commit[1] and the
diff --git a/Documentation/config/versionsort.txt b/Documentation/config/versionsort.txt
index 0d66617f59f..0cff0908193 100644
--- a/Documentation/config/versionsort.txt
+++ b/Documentation/config/versionsort.txt
@@ -19,7 +19,7 @@ with those suffixes. E.g. if "-pre" appears before "-rc" in the
configuration, then all "1.0-preX" tags will be listed before any
"1.0-rcX" tags. The placement of the main release tag relative to tags
with various suffixes can be determined by specifying the empty suffix
-among those other suffixes. E.g. if the suffixes "-rc", "", "-ck" and
+among those other suffixes. E.g. if the suffixes "-rc", "", "-ck", and
"-bfs" appear in the configuration in this order, then all "v4.8-rcX" tags
are listed first, followed by "v4.8", then "v4.8-ckX" and finally
"v4.8-bfsX".
diff --git a/Documentation/diff-generate-patch.txt b/Documentation/diff-generate-patch.txt
index 988e33de70b..4b5aa5c2e04 100644
--- a/Documentation/diff-generate-patch.txt
+++ b/Documentation/diff-generate-patch.txt
@@ -156,7 +156,7 @@ format, `/dev/null` is used to signal created or deleted
files.
+
However, if the --combined-all-paths option is provided, instead of a
-two-line from-file/to-file you get an N+1 line from-file/to-file header,
+two-line from-file/to-file, you get an N+1 line from-file/to-file header,
where N is the number of parents in the merge commit:
--- a/file
@@ -197,7 +197,7 @@ added, from the point of view of that parent).
In the above example output, the function signature was changed
from both files (hence two `-` removals from both file1 and
file2, plus `++` to mean one line that was added does not appear
-in either file1 or file2). Also eight other lines are the same
+in either file1 or file2). Also, eight other lines are the same
from file1 but do not appear in file2 (hence prefixed with `+`).
When shown by `git diff-tree -c`, it compares the parents of a
diff --git a/Documentation/fetch-options.txt b/Documentation/fetch-options.txt
index 9ee9fa659d2..a1d6633a4f1 100644
--- a/Documentation/fetch-options.txt
+++ b/Documentation/fetch-options.txt
@@ -96,7 +96,7 @@ endif::git-pull[]
-f::
--force::
- When 'git fetch' is used with `<src>:<dst>` refspec it may
+ When 'git fetch' is used with `<src>:<dst>` refspec, it may
refuse to update the local branch as discussed
ifdef::git-pull[]
in the `<refspec>` part of the linkgit:git-fetch[1]
diff --git a/Documentation/git-am.txt b/Documentation/git-am.txt
index 2ada047b6aa..0390dab20f9 100644
--- a/Documentation/git-am.txt
+++ b/Documentation/git-am.txt
@@ -23,7 +23,7 @@ SYNOPSIS
DESCRIPTION
-----------
Splits mail messages in a mailbox into commit log messages,
-authorship information and patches, and applies them to the
+authorship information, and patches, and applies them to the
current branch. You could think of it as a reverse operation
of linkgit:git-format-patch[1] run on a branch with a straight
history without merges.
@@ -134,7 +134,7 @@ include::rerere-options.txt[]
automatically. This option allows the user to bypass the automatic
detection and specify the patch format that the patch(es) should be
interpreted as. Valid formats are mbox, mboxrd,
- stgit, stgit-series and hg.
+ stgit, stgit-series, and hg.
-i::
--interactive::
diff --git a/Documentation/git-apply.txt b/Documentation/git-apply.txt
index 95bde308709..9cce68a38be 100644
--- a/Documentation/git-apply.txt
+++ b/Documentation/git-apply.txt
@@ -23,8 +23,8 @@ DESCRIPTION
Reads the supplied diff output (i.e. "a patch") and applies it to files.
When running from a subdirectory in a repository, patched paths
outside the directory are ignored.
-With the `--index` option the patch is also applied to the index, and
-with the `--cached` option the patch is only applied to the index.
+With the `--index` option, the patch is also applied to the index, and
+with the `--cached` option, the patch is only applied to the index.
Without these options, the command applies the patch only to files,
and does not require them to be in a Git repository.
@@ -52,7 +52,7 @@ OPTIONS
--summary::
Instead of applying the patch, output a condensed
summary of information obtained from git diff extended
- headers, such as creations, renames and mode changes.
+ headers, such as creations, renames, and mode changes.
Turns off "apply".
--check::
@@ -140,7 +140,7 @@ linkgit:git-config[1]).
applying a diff generated with `--unified=0`. To bypass these
checks use `--unidiff-zero`.
+
-Note, for the reasons stated above the usage of context-free patches is
+Note, for the reasons stated above, the usage of context-free patches is
discouraged.
--apply::
@@ -161,7 +161,7 @@ discouraged.
--binary::
Historically we did not allow binary patch application
without an explicit permission from the user, and this
- flag was the way to do so. Currently we always allow binary
+ flag was the way to do so. Currently, we always allow binary
patch application, so this is a no-op.
--exclude=<path-pattern>::
diff --git a/Documentation/git-check-attr.txt b/Documentation/git-check-attr.txt
index 7fea245ed22..cb5a6c8f335 100644
--- a/Documentation/git-check-attr.txt
+++ b/Documentation/git-check-attr.txt
@@ -38,7 +38,7 @@ OPTIONS
--source=<tree-ish>::
Check attributes against the specified tree-ish. It is common to
- specify the source tree by naming a commit, branch or tag associated
+ specify the source tree by naming a commit, branch, or tag associated
with it.
\--::
@@ -60,7 +60,7 @@ unless `-z` is in effect, in which case NUL is used as delimiter:
<path> is the path of a file being queried, <attribute> is an attribute
-being queried and <info> can be either:
+being queried, and <info> can be either:
'unspecified';; when the attribute is not defined for the path.
'unset';; when the attribute is defined as false.
diff --git a/Documentation/git-checkout-index.txt b/Documentation/git-checkout-index.txt
index 4e2527612e0..faf8d6ca36f 100644
--- a/Documentation/git-checkout-index.txt
+++ b/Documentation/git-checkout-index.txt
@@ -57,7 +57,7 @@ OPTIONS
Note: --stage=all automatically implies --temp.
--temp::
- Instead of copying the files to the working directory
+ Instead of copying the files to the working directory,
write the content to temporary files. The temporary name
associations will be written to stdout.
diff --git a/Documentation/git-diff-files.txt b/Documentation/git-diff-files.txt
index 18f7f86bef3..bf78e314313 100644
--- a/Documentation/git-diff-files.txt
+++ b/Documentation/git-diff-files.txt
@@ -26,7 +26,7 @@ include::diff-options.txt[]
-2 --ours::
-3 --theirs::
-0::
- Diff against the "base" version, "our branch" or "their
+ Diff against the "base" version, "our branch", or "their
branch" respectively. With these options, diffs for
merged entries are not shown.
+
@@ -37,7 +37,7 @@ omit diff output for unmerged entries and just show "Unmerged".
-c::
--cc::
This compares stage 2 (our branch), stage 3 (their
- branch) and the working tree file and outputs a combined
+ branch), and the working tree file and outputs a combined
diff, similar to the way 'diff-tree' shows a merge
commit with these flags.
diff --git a/Documentation/git-fast-import.txt b/Documentation/git-fast-import.txt
index a6a054f86d2..bd7b1e0a2ea 100644
--- a/Documentation/git-fast-import.txt
+++ b/Documentation/git-fast-import.txt
@@ -1353,7 +1353,7 @@ the marks back to the source repository, it is easy to verify the
accuracy and completeness of the import by comparing each Git
commit to the corresponding source revision.
-Coming from a system such as Perforce or Subversion this should be
+Coming from a system such as Perforce or Subversion, this should be
quite simple, as the fast-import mark can also be the Perforce changeset
number or the Subversion revision number.
diff --git a/Documentation/git-fsmonitor--daemon.txt b/Documentation/git-fsmonitor--daemon.txt
index 65c7b4641e8..8585d19f4d8 100644
--- a/Documentation/git-fsmonitor--daemon.txt
+++ b/Documentation/git-fsmonitor--daemon.txt
@@ -73,7 +73,7 @@ but it will not cause an incorrect result.
By default, the fsmonitor daemon refuses to work with network-mounted
repositories; this may be overridden by setting `fsmonitor.allowRemote` to
`true`. Note, however, that the fsmonitor daemon is not guaranteed to work
-correctly with all network-mounted repositories and such use is considered
+correctly with all network-mounted repositories, so such use is considered
experimental.
On Mac OS, the inter-process communication (IPC) between various Git
@@ -86,7 +86,7 @@ to work with these filesystems and such use is considered experimental.
By default, the socket is created in the `.git` directory. However, if the
`.git` directory is on a network-mounted filesystem, it will instead be
created at `$HOME/.git-fsmonitor-*` unless `$HOME` itself is on a
-network-mounted filesystem in which case you must set the configuration
+network-mounted filesystem, in which case you must set the configuration
variable `fsmonitor.socketDir` to the path of a directory on a Mac OS native
filesystem in which to create the socket file.
diff --git a/Documentation/git-help.txt b/Documentation/git-help.txt
index 22dfd780851..7532625a138 100644
--- a/Documentation/git-help.txt
+++ b/Documentation/git-help.txt
@@ -59,7 +59,7 @@ OPTIONS
aliases.
--verbose::
- When used with `--all` print description for all recognized
+ When used with `--all`, print description for all recognized
commands. This is the default.
-c::
@@ -129,8 +129,8 @@ line option:
* "info" corresponds to '-i|--info',
* "web" or "html" correspond to '-w|--web'.
-help.browser, web.browser and browser.<tool>.path
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+help.browser, web.browser, and browser.<tool>.path
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The `help.browser`, `web.browser` and `browser.<tool>.path` will also
be checked if the 'web' format is chosen (either by command-line
diff --git a/Documentation/git-http-push.txt b/Documentation/git-http-push.txt
index c0c841b9fdd..ce0d8082125 100644
--- a/Documentation/git-http-push.txt
+++ b/Documentation/git-http-push.txt
@@ -44,7 +44,7 @@ OPTIONS
-d::
-D::
Remove <ref> from remote repository. The specified branch
- cannot be the remote HEAD. If -d is specified the following
+ cannot be the remote HEAD. If -d is specified, the following
other conditions must also be met:
- Remote HEAD must resolve to an object that exists locally
diff --git a/Documentation/git-merge-base.txt b/Documentation/git-merge-base.txt
index cbc77f72588..5ab957cfbc1 100644
--- a/Documentation/git-merge-base.txt
+++ b/Documentation/git-merge-base.txt
@@ -88,7 +88,7 @@ For example, with this topology:
the merge base between 'A' and 'B' is '1'.
-Given three commits 'A', 'B' and 'C', `git merge-base A B C` will compute the
+Given three commits 'A', 'B', and 'C', `git merge-base A B C` will compute the
merge base between 'A' and a hypothetical commit 'M', which is a merge
between 'B' and 'C'. For example, with this topology:
@@ -204,7 +204,7 @@ will find B0, and
$ git rebase --onto origin/master $fork_point topic
-will replay D0, D1 and D on top of B to create a new history of this
+will replay D0, D1, and D on top of B to create a new history of this
shape:
....
diff --git a/Documentation/git-mergetool.txt b/Documentation/git-mergetool.txt
index 7b7b6f8f344..b9e20c5dcd8 100644
--- a/Documentation/git-mergetool.txt
+++ b/Documentation/git-mergetool.txt
@@ -49,7 +49,7 @@ variable `mergetool.<tool>.cmd`.
+
When 'git mergetool' is invoked with this tool (either through the
`-t` or `--tool` option or the `merge.tool` configuration
-variable) the configured command line will be invoked with `$BASE`
+variable), the configured command line will be invoked with `$BASE`
set to the name of a temporary file containing the common base for
the merge, if available; `$LOCAL` set to the name of a temporary
file containing the contents of the file on the current branch;
@@ -81,7 +81,7 @@ success of the resolution after the custom tool has exited.
-g::
--gui::
- When 'git-mergetool' is invoked with the `-g` or `--gui` option
+ When 'git-mergetool' is invoked with the `-g` or `--gui` option,
the default merge tool will be read from the configured
`merge.guitool` variable instead of `merge.tool`. If
`merge.guitool` is not set, we will fallback to the tool
diff --git a/Documentation/git-mv.txt b/Documentation/git-mv.txt
index fb0220fd18d..7f991a33802 100644
--- a/Documentation/git-mv.txt
+++ b/Documentation/git-mv.txt
@@ -13,7 +13,7 @@ SYNOPSIS
DESCRIPTION
-----------
-Move or rename a file, directory or symlink.
+Move or rename a file, directory, or symlink.
git mv [-v] [-f] [-n] [-k] <source> <destination>
git mv [-v] [-f] [-n] [-k] <source> ... <destination directory>
diff --git a/Documentation/git-name-rev.txt b/Documentation/git-name-rev.txt
index 5c56c870253..d4f1c4d5945 100644
--- a/Documentation/git-name-rev.txt
+++ b/Documentation/git-name-rev.txt
@@ -26,7 +26,7 @@ OPTIONS
--refs=<pattern>::
Only use refs whose names match a given shell pattern. The pattern
- can be one of branch name, tag name or fully qualified ref name. If
+ can be a branch name, a tag name, or a fully qualified ref name. If
given multiple times, use refs whose names match any of the given shell
patterns. Use `--no-refs` to clear any previous ref patterns given.
diff --git a/Documentation/git-remote-fd.txt b/Documentation/git-remote-fd.txt
index 6ed71bd0b75..94700b89be9 100644
--- a/Documentation/git-remote-fd.txt
+++ b/Documentation/git-remote-fd.txt
@@ -13,10 +13,10 @@ DESCRIPTION
-----------
This helper uses specified file descriptors to connect to a remote Git server.
This is not meant for end users but for programs and scripts calling git
-fetch, push or archive.
+fetch, push, or archive.
If only <infd> is given, it is assumed to be a bidirectional socket connected
-to remote Git server (git-upload-pack, git-receive-pack or
+to a remote Git server (git-upload-pack, git-receive-pack, or
git-upload-archive). If both <infd> and <outfd> are given, they are assumed
to be pipes connected to a remote Git server (<infd> being the inbound pipe
and <outfd> being the outbound pipe.
diff --git a/Documentation/git-request-pull.txt b/Documentation/git-request-pull.txt
index d274002666c..15dcbb6d91c 100644
--- a/Documentation/git-request-pull.txt
+++ b/Documentation/git-request-pull.txt
@@ -16,7 +16,7 @@ DESCRIPTION
Generate a request asking your upstream project to pull changes into
their tree. The request, printed to the standard output,
begins with the branch description, summarizes
-the changes and indicates from where they can be pulled.
+the changes, and indicates from where they can be pulled.
The upstream project is expected to have the commit named by
`<start>` and the output asks it to integrate the changes you made
diff --git a/Documentation/git-show-branch.txt b/Documentation/git-show-branch.txt
index 4ef0872b463..c771c897707 100644
--- a/Documentation/git-show-branch.txt
+++ b/Documentation/git-show-branch.txt
@@ -125,7 +125,7 @@ OPTIONS
default to color output.
Same as `--color=never`.
-Note that --more, --list, --independent and --merge-base options
+Note that --more, --list, --independent, and --merge-base options
are mutually exclusive.
@@ -144,7 +144,7 @@ otherwise it shows a space. Merge commits are denoted by
a `-` sign. Each commit shows a short name that
can be used as an extended SHA-1 to name that commit.
-The following example shows three branches, "master", "fixes"
+The following example shows three branches, "master", "fixes",
and "mhf":
------------------------------------------------
diff --git a/Documentation/git-update-index.txt b/Documentation/git-update-index.txt
index e030dd75bed..8c47890a6a8 100644
--- a/Documentation/git-update-index.txt
+++ b/Documentation/git-update-index.txt
@@ -160,7 +160,7 @@ you will need to handle the situation manually.
--index-version <n>::
Write the resulting index out in the named on-disk format version.
- Supported versions are 2, 3 and 4. The current default version is 2
+ Supported versions are 2, 3, and 4. The current default version is 2
or 3, depending on whether extra features are used, such as
`git add -N`. With `--verbose`, also report the version the index
file uses before and after this command.
diff --git a/Documentation/gitdiffcore.txt b/Documentation/gitdiffcore.txt
index bc65f91310d..3cda2e07c24 100644
--- a/Documentation/gitdiffcore.txt
+++ b/Documentation/gitdiffcore.txt
@@ -231,7 +231,7 @@ like these:
* -B/60 (the same as above, since diffcore-break defaults to 50%).
Note that earlier implementation left a broken pair as separate
-creation and deletion patches. This was an unnecessary hack and
+creation and deletion patches. This was an unnecessary hack, and
the latest implementation always merges all the broken pairs
back into modifications, but the resulting patch output is
formatted differently for easier review in case of such
@@ -263,7 +263,7 @@ textual diff has an added or a deleted line that matches the given
regular expression. This means that it will detect in-file (or what
rename-detection considers the same file) moves, which is noise. The
implementation runs diff twice and greps, and this can be quite
-expensive. To speed things up binary files without textconv filters
+expensive. To speed things up, binary files without textconv filters
will be ignored.
When `-S` or `-G` are used without `--pickaxe-all`, only filepairs
diff --git a/Documentation/gitformat-pack.txt b/Documentation/gitformat-pack.txt
index 678a7e4cb49..dd0476a616a 100644
--- a/Documentation/gitformat-pack.txt
+++ b/Documentation/gitformat-pack.txt
@@ -18,7 +18,7 @@ DESCRIPTION
-----------
The Git pack format is how Git stores most of its primary repository
-data. Over the lietime of a repository loose objects (if any) and
+data. Over the lietime of a repository, loose objects (if any) and
smaller packs are consolidated into larger pack(s). See
linkgit:git-gc[1] and linkgit:git-pack-objects[1].
diff --git a/Documentation/technical/api-simple-ipc.txt b/Documentation/technical/api-simple-ipc.txt
index b4259098680..c4fb152b232 100644
--- a/Documentation/technical/api-simple-ipc.txt
+++ b/Documentation/technical/api-simple-ipc.txt
@@ -25,7 +25,7 @@ When received, the response is returned back to the caller.
For example, the `fsmonitor--daemon` feature will be built as a server
application on top of the IPC-server library routines. It will have
threads watching for file system events and a thread pool waiting for
-client connections. Clients, such as `git status` will request a list
+client connections. Clients, such as `git status`, will request a list
of file system events since a point in time and the server will
respond with a list of changed files and directories. The formats of
the request and response are application-specific; the IPC-client and
@@ -37,7 +37,7 @@ Comparison with sub-process model
The Simple-IPC mechanism differs from the existing `sub-process.c`
model (Documentation/technical/long-running-process-protocol.txt) and
-used by applications like Git-LFS. In the LFS-style sub-process model
+used by applications like Git-LFS. In the LFS-style sub-process model,
the helper is started by the foreground process, communication happens
via a pair of file descriptors bound to the stdin/stdout of the
sub-process, the sub-process only serves the current foreground
diff --git a/Documentation/technical/reftable.txt b/Documentation/technical/reftable.txt
index 82d919b2615..dd0b37c4e34 100644
--- a/Documentation/technical/reftable.txt
+++ b/Documentation/technical/reftable.txt
@@ -175,7 +175,7 @@ log_index*
footer
....
-In a log-only file the first log block immediately follows the file
+In a log-only file, the first log block immediately follows the file
header, without padding to block alignment.
Block size
--
gitgitgadget
^ permalink raw reply related
* Re: [PATCH 7/7] builtin/merge-tree.c: implement support for `--write-pack`
From: Elijah Newren @ 2023-10-08 7:02 UTC (permalink / raw)
To: Taylor Blau; +Cc: Junio C Hamano, git, Eric W. Biederman, Jeff King
In-Reply-To: <ZSCR7e6KKqFv8mZk@nand.local>
On Fri, Oct 6, 2023 at 4:02 PM Taylor Blau <me@ttaylorr.com> wrote:
>
> On Fri, Oct 06, 2023 at 03:35:25PM -0700, Junio C Hamano wrote:
> > Taylor Blau <me@ttaylorr.com> writes:
> >
> > > When using merge-tree often within a repository[^1], it is possible to
> > > generate a relatively large number of loose objects, which can result in
> > > degraded performance, and inode exhaustion in extreme cases.
> >
> > Well, be it "git merge-tree" or "git merge", new loose objects tend
> > to accumulate until "gc" kicks in, so it is not a new problem for
> > mere mortals, is it?
>
> Yeah, I would definitely suspect that this is more of an issue for
> forges than individual Git users.
It may still be nice to also do this optimization for plain "git
merge" as well. I had it in my list of ideas somewhere to do a
"fast-import-like" thing to avoid writing loose objects, as I
suspected that'd actually be a performance impediment.
> > As one "interesting" use case of "merge-tree" is for a Git hosting
> > site with bare repositories to offer trial merges, without which
> > majority of the object their repositories acquire would have been in
> > packs pushed by their users, "Gee, loose objects consume many inodes
> > in exchange for easier selective pruning" becomes an issue, right?
>
> Right.
>
> > Just like it hurts performance to have too many loose object files,
> > presumably it would also hurt performance to keep too many packs,
> > each came from such a trial merge. Do we have a "gc" story offered
> > for these packs created by the new feature? E.g., "once merge-tree
> > is done creating a trial merge, we can discard the objects created
> > in the pack, because we never expose new objects in the pack to the
> > outside, processes running simultaneously, so instead closing the
> > new packfile by calling flush_bulk_checkin_packfile(), we can safely
> > unlink the temporary pack. We do not even need to spend cycles to
> > run a gc that requires cycles to enumerate what is still reachable",
> > or something like that?
>
> I know Johannes worked on something like this recently. IIRC, it
> effectively does something like:
>
> struct tmp_objdir *tmp_objdir = tmp_objdir_create(...);
> tmp_objdir_replace_primary_odb(tmp_objdir, 1);
>
> at the beginning of a merge operation, and:
>
> tmp_objdir_discard_objects(tmp_objdir);
>
> at the end. I haven't followed that work off-list very closely, but it
> is only possible for GitHub to discard certain niche kinds of
> merges/rebases, since in general we make the objects created during test
> merges available via refs/pull/N/{merge,rebase}.
Oh, at the contributor summit, Johannes said he only needed pass/fail,
not the actual commits, which is why I suggested this route. If you
need to keep the actual commits, then this won't help.
I was interested in the same question as Junio, but from a different
angle. fast-import documentation points out that the packs it creates
are suboptimal with poorer delta choices. Are the packs created by
bulk-checkin prone to the same issues? When I was thinking in terms
of having "git merge" use fast-import for pack creation instead of
writing loose objects (an idea I never investigated very far), I was
wondering if I'd need to mark those packs as "less optimal" and do
something to make sure they were more likely to be repacked.
I believe geometric repacking didn't exist back when I was thinking
about this, and perhaps geometric repacking automatically handles
things nicely for us. Does it, or are we risking retaining
sub-optimal deltas from the bulk-checkin code?
(I've never really cracked open the pack code, so I have absolutely no
idea; I'm just curious.)
> I think that like anything, this is a trade-off. Having lots of packs
> can be a performance hindrance just like having lots of loose objects.
> But since we can represent more objects with fewer inodes when packed,
> storing those objects together in a pack is preferable when (a) you're
> doing lots of test-merges, and (b) you want to keep those objects
> around, e.g., because they are reachable.
A couple of the comments earlier in the series suggested this was
about streaming blobs to a pack in the bulk checkin code. Are tree
and commit objects also put in the pack, or will those continue to be
written loosely?
^ permalink raw reply
* Re: [Outreachy] Introduction and Interest in Contributing to the Git Community
From: Christian Couder @ 2023-10-08 10:50 UTC (permalink / raw)
To: Isoken Ibizugbe; +Cc: git, Johannes Schindelin
In-Reply-To: <CAJHH8bE4QWR1gCgH5mG8qaa5Dq19L25y3VyRxAc3+PQn93oEbA@mail.gmail.com>
On Sat, Oct 7, 2023 at 12:26 PM Isoken Ibizugbe <isokenjune@gmail.com> wrote:
>
> Good day,
> I am interested in working on this issue
> https://github.com/gitgitgadget/git/issues/1555 as a micro project. Is
> it worth doing and appropriate for a micro project?
(I have added Dscho, alias Johannes Schindelin, in Cc as he might know
more about this.)
I think it's worth doing, but I am not sure, as I think it might
generate regressions for a low number of users who might rely on
core.fileMode for some special use cases. (Not sure we would want to
support such hypothetical use cases though.)
Also it's not so simple to implement, you will have to dig a bit in
the code, and not just implement it, but likely also write tests for
it. So it's definitely significantly more complex than a simple "test
cleanup" micro-project. I might overlook things too.
But if you feel like it suits your skills well and are not afraid with
something a bit complex, I would think that you can go for it.
Best,
Christian.
^ permalink raw reply
* [PATCH] doc: correct the 50 characters soft limit (+)
From: 謝致邦 (XIE Zhibang) via GitGitGadget @ 2023-10-08 14:10 UTC (permalink / raw)
To: git
Cc: 謝致邦 (XIE Zhibang),
谢致邦 (XIE Zhibang)
From: =?UTF-8?q?=E8=B0=A2=E8=87=B4=E9=82=A6=20=28XIE=20Zhibang=29?=
<Yeking@Red54.com>
The soft limit of the first line of the commit message should be
"no more than 50 characters" or "50 characters or less", but not
"less than 50 character".
This is an addition to commit c2c349a15c0430a2ef9f858d69d095a00693379c
("doc: correct the 50 characters soft limit").
Signed-off-by: 谢致邦 (XIE Zhibang) <Yeking@Red54.com>
---
doc: correct the 50 characters soft limit (+)
The soft limit of the first line of the commit message should be "no
more than 50 characters" or "50 characters or less", but not "less than
50 character".
This is an addition to commit c2c349a15c0430a2ef9f858d69d095a00693379c
("doc: correct the 50 characters soft limit").
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1585%2FRed54%2Fdoc-patch-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1585/Red54/doc-patch-v1
Pull-Request: https://github.com/git/git/pull/1585
Documentation/gittutorial.txt | 8 ++++----
Documentation/user-manual.txt | 2 +-
po/README.md | 2 +-
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/Documentation/gittutorial.txt b/Documentation/gittutorial.txt
index c7cadd8aaf1..47594087880 100644
--- a/Documentation/gittutorial.txt
+++ b/Documentation/gittutorial.txt
@@ -137,10 +137,10 @@ which will automatically notice any modified (but not new) files, add
them to the index, and commit, all in one step.
A note on commit messages: Though not required, it's a good idea to
-begin the commit message with a single short (less than 50 character)
-line summarizing the change, followed by a blank line and then a more
-thorough description. The text up to the first blank line in a commit
-message is treated as the commit title, and that title is used
+begin the commit message with a single short (no more than 50
+characters) line summarizing the change, followed by a blank line and
+then a more thorough description. The text up to the first blank line in
+a commit message is treated as the commit title, and that title is used
throughout Git. For example, linkgit:git-format-patch[1] turns a
commit into email, and it uses the title on the Subject line and the
rest of the commit in the body.
diff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt
index 4281396093d..d8dbe6b56d4 100644
--- a/Documentation/user-manual.txt
+++ b/Documentation/user-manual.txt
@@ -1122,7 +1122,7 @@ choosing "Stage Hunk For Commit").
=== Creating good commit messages
Though not required, it's a good idea to begin the commit message
-with a single short (less than 50 character) line summarizing the
+with a single short (no more than 50 characters) line summarizing the
change, followed by a blank line and then a more thorough
description. The text up to the first blank line in a commit
message is treated as the commit title, and that title is used
diff --git a/po/README.md b/po/README.md
index 3e4f897d935..ec08aa24add 100644
--- a/po/README.md
+++ b/po/README.md
@@ -412,7 +412,7 @@ There are some conventions that l10n contributors must follow:
- Do not use non-ASCII characters in the subject of a commit.
- The length of commit subject (first line of the commit log) should
- be less than 50 characters, and the length of other lines of the
+ be no more than 50 characters, and the length of other lines of the
commit log should be no more than 72 characters.
- Add "Signed-off-by" trailer to your commit log, like other commits
base-commit: 3a06386e314565108ad56a9bdb8f7b80ac52fb69
--
gitgitgadget
^ permalink raw reply related
* Re: [PATCH 07/15] commit-graph: new filter ver. that fixes murmur3
From: SZEDER Gábor @ 2023-10-08 14:35 UTC (permalink / raw)
To: Taylor Blau; +Cc: Jonathan Tan, git, Junio C Hamano, Jeff King
In-Reply-To: <ZRIRtlbsYadg7EUx@nand.local>
On Mon, Sep 25, 2023 at 07:03:18PM -0400, Taylor Blau wrote:
> On Fri, Sep 01, 2023 at 01:56:15PM -0700, Jonathan Tan wrote:
> > > > My original design (up to patch 7 in this patch set) defends against
> > > > this by taking the very first version detected and rejecting every
> > > > other version, and Taylor's subsequent design reads every version, but
> > > > annotates filters with its version. So I think we're covered.
> > >
> > > In the meantime I adapted the test cases from the above linked message
> > > to write commit-graph layers with different Bloom filter versions, and
> > > it does fail, because commits from the bottom commit-graph layer are
> > > omitted from the revision walk's output. And the test case doesn't
> > > even need a middle layer without modified path Bloom filters to "hide"
> > > the different version in the bottom layer. Merging the layers seems
> > > to work, though.
> >
> > For what it's worth, your test case below (with test_expect_success
> > instead of test_expect_failure) passes with my original design. With the
> > full patch set, it does fail, but for what it's worth, I did spot this,
> > providing an incomplete solution [1] and then a complete one [2]. Your
> > test case passes if I also include the following:
> >
> > diff --git a/bloom.c b/bloom.c
> > index ff131893cd..1bafd62a4e 100644
> > --- a/bloom.c
> > +++ b/bloom.c
> > @@ -344,6 +344,10 @@ struct bloom_filter *get_bloom_filter(struct repository *r, struct commit *c)
> >
> > prepare_repo_settings(r);
> > hash_version = r->settings.commit_graph_changed_paths_version;
> > + if (hash_version == -1) {
> > + struct bloom_filter_settings *s = get_bloom_filter_settings(r);
> > + hash_version = (s && s->hash_version == 2) ? 2 : 1;
> > + }
> >
> > if (!(hash_version == -1 || hash_version == filter->version))
> > return NULL; /* unusable filter */
> >
> > [1] https://lore.kernel.org/git/20230824222051.2320003-1-jonathantanmy@google.com/
> > [2] https://lore.kernel.org/git/20230829220432.558674-1-jonathantanmy@google.com/
>
> Hmm. I am confused -- are you saying that this series breaks existing
> functionality, or merely does not patch an existing breakage? I *think*
> that it's the latter,
It's neither: the new functionality added in this series is broken.
> since this test case fails identically on master,
> but I am not sure.
Not sure what test you are referring to. My test demonstrating the
breakage succeeds when adaped to master, because master doesn't
understand the commitgraph.changedPathsVersion=2 setting, and keeps
writing v1 Bloom filter chunks instead, so all commit-graphs layers
contain the same version.
> If my understanding is correct, I think that patching this would involve
> annotating each Bloom filter with a pointer to the bloom_filter_settings
> it was written with, and then using those settings when querying it.
In general we are better off when we don't write Bloom filter chunks
with different settings in the first place.
^ permalink raw reply
* Re: [PATCH] doc: correct the 50 characters soft limit (+)
From: Kristoffer Haugsbakk @ 2023-10-08 14:37 UTC (permalink / raw)
To: Josh Soref; +Cc: 謝致邦 (XIE Zhibang), git
In-Reply-To: <pull.1585.git.git.1696774217058.gitgitgadget@gmail.com>
Hi 謝致邦
On Sun, Oct 8, 2023, at 16:10, 謝致邦 (XIE Zhibang) via GitGitGadget wrote:
> This is an addition to commit c2c349a15c0430a2ef9f858d69d095a00693379c
> ("doc: correct the 50 characters soft limit").
I think the “reference” format is nice:
c2c349a15c (doc: correct the 50 characters soft limit, 2023-09-28)
See `Documentation/SubmittingPatches` at `commit-reference`.
--
Kristoffer Haugsbakk
^ permalink raw reply
* [PATCH v2] doc: correct the 50 characters soft limit (+)
From: 謝致邦 (XIE Zhibang) via GitGitGadget @ 2023-10-08 15:19 UTC (permalink / raw)
To: git
Cc: Kristoffer Haugsbakk, 謝致邦 (XIE Zhibang),
谢致邦 (XIE Zhibang)
In-Reply-To: <pull.1585.git.git.1696774217058.gitgitgadget@gmail.com>
From: =?UTF-8?q?=E8=B0=A2=E8=87=B4=E9=82=A6=20=28XIE=20Zhibang=29?=
<Yeking@Red54.com>
The soft limit of the first line of the commit message should be
"no more than 50 characters" or "50 characters or less", but not
"less than 50 character".
This is an addition to commit c2c349a15c (doc: correct the 50 characters
soft limit, 2023-09-28).
Signed-off-by: 谢致邦 (XIE Zhibang) <Yeking@Red54.com>
---
doc: correct the 50 characters soft limit (+)
The soft limit of the first line of the commit message should be "no
more than 50 characters" or "50 characters or less", but not "less than
50 character".
This is an addition to commit c2c349a15c (doc: correct the 50 characters
soft limit, 2023-09-28).
Change commit reference format, thank Kristoffer Haugsbakk.
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1585%2FRed54%2Fdoc-patch-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1585/Red54/doc-patch-v2
Pull-Request: https://github.com/git/git/pull/1585
Range-diff vs v1:
1: 5b750bdf471 ! 1: 1808fcc3727 doc: correct the 50 characters soft limit (+)
@@ Commit message
"no more than 50 characters" or "50 characters or less", but not
"less than 50 character".
- This is an addition to commit c2c349a15c0430a2ef9f858d69d095a00693379c
- ("doc: correct the 50 characters soft limit").
+ This is an addition to commit c2c349a15c (doc: correct the 50 characters
+ soft limit, 2023-09-28).
Signed-off-by: 谢致邦 (XIE Zhibang) <Yeking@Red54.com>
Documentation/gittutorial.txt | 8 ++++----
Documentation/user-manual.txt | 2 +-
po/README.md | 2 +-
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/Documentation/gittutorial.txt b/Documentation/gittutorial.txt
index c7cadd8aaf1..47594087880 100644
--- a/Documentation/gittutorial.txt
+++ b/Documentation/gittutorial.txt
@@ -137,10 +137,10 @@ which will automatically notice any modified (but not new) files, add
them to the index, and commit, all in one step.
A note on commit messages: Though not required, it's a good idea to
-begin the commit message with a single short (less than 50 character)
-line summarizing the change, followed by a blank line and then a more
-thorough description. The text up to the first blank line in a commit
-message is treated as the commit title, and that title is used
+begin the commit message with a single short (no more than 50
+characters) line summarizing the change, followed by a blank line and
+then a more thorough description. The text up to the first blank line in
+a commit message is treated as the commit title, and that title is used
throughout Git. For example, linkgit:git-format-patch[1] turns a
commit into email, and it uses the title on the Subject line and the
rest of the commit in the body.
diff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt
index 4281396093d..d8dbe6b56d4 100644
--- a/Documentation/user-manual.txt
+++ b/Documentation/user-manual.txt
@@ -1122,7 +1122,7 @@ choosing "Stage Hunk For Commit").
=== Creating good commit messages
Though not required, it's a good idea to begin the commit message
-with a single short (less than 50 character) line summarizing the
+with a single short (no more than 50 characters) line summarizing the
change, followed by a blank line and then a more thorough
description. The text up to the first blank line in a commit
message is treated as the commit title, and that title is used
diff --git a/po/README.md b/po/README.md
index 3e4f897d935..ec08aa24add 100644
--- a/po/README.md
+++ b/po/README.md
@@ -412,7 +412,7 @@ There are some conventions that l10n contributors must follow:
- Do not use non-ASCII characters in the subject of a commit.
- The length of commit subject (first line of the commit log) should
- be less than 50 characters, and the length of other lines of the
+ be no more than 50 characters, and the length of other lines of the
commit log should be no more than 72 characters.
- Add "Signed-off-by" trailer to your commit log, like other commits
base-commit: 3a06386e314565108ad56a9bdb8f7b80ac52fb69
--
gitgitgadget
^ permalink raw reply related
* Re: [PATCH 7/7] builtin/merge-tree.c: implement support for `--write-pack`
From: Taylor Blau @ 2023-10-08 16:04 UTC (permalink / raw)
To: Elijah Newren; +Cc: Junio C Hamano, git, Eric W. Biederman, Jeff King
In-Reply-To: <CABPp-BE+mJ4e==fWNqUNi5RVkoui_xeZN+axnM6vBykDqAzHiA@mail.gmail.com>
On Sun, Oct 08, 2023 at 12:02:27AM -0700, Elijah Newren wrote:
> On Fri, Oct 6, 2023 at 4:02 PM Taylor Blau <me@ttaylorr.com> wrote:
> >
> > On Fri, Oct 06, 2023 at 03:35:25PM -0700, Junio C Hamano wrote:
> > > Taylor Blau <me@ttaylorr.com> writes:
> > >
> > > > When using merge-tree often within a repository[^1], it is possible to
> > > > generate a relatively large number of loose objects, which can result in
> > > > degraded performance, and inode exhaustion in extreme cases.
> > >
> > > Well, be it "git merge-tree" or "git merge", new loose objects tend
> > > to accumulate until "gc" kicks in, so it is not a new problem for
> > > mere mortals, is it?
> >
> > Yeah, I would definitely suspect that this is more of an issue for
> > forges than individual Git users.
>
> It may still be nice to also do this optimization for plain "git
> merge" as well. I had it in my list of ideas somewhere to do a
> "fast-import-like" thing to avoid writing loose objects, as I
> suspected that'd actually be a performance impediment.
I think that would be worth doing, definitely. I do worry a little bit
about locking in low-quality deltas (or lack thereof), but more on that
below...
> Oh, at the contributor summit, Johannes said he only needed pass/fail,
> not the actual commits, which is why I suggested this route. If you
> need to keep the actual commits, then this won't help.
Yep, agreed. Like I said earlier, I think there are some niche scenarios
where we just care about "would this merge cleanly?", but in most other
cases we want to keep around the actual tree.
> I was interested in the same question as Junio, but from a different
> angle. fast-import documentation points out that the packs it creates
> are suboptimal with poorer delta choices. Are the packs created by
> bulk-checkin prone to the same issues? When I was thinking in terms
> of having "git merge" use fast-import for pack creation instead of
> writing loose objects (an idea I never investigated very far), I was
> wondering if I'd need to mark those packs as "less optimal" and do
> something to make sure they were more likely to be repacked.
>
> I believe geometric repacking didn't exist back when I was thinking
> about this, and perhaps geometric repacking automatically handles
> things nicely for us. Does it, or are we risking retaining
> sub-optimal deltas from the bulk-checkin code?
>
> (I've never really cracked open the pack code, so I have absolutely no
> idea; I'm just curious.)
Yes, the bulk-checkin mechanism suffers from an even worse problem which
is the pack it creates will contain no deltas whatsoever. The contents
of the pack are just getting written as-is, so there's no fancy
delta-ficiation going on.
I think Michael Haggerty (?) suggested to me off-list that it might be
interesting to have a flag that we could mark packs with bad/no deltas
as such so that we don't implicitly trust their contents as having high
quality deltas.
> > I think that like anything, this is a trade-off. Having lots of packs
> > can be a performance hindrance just like having lots of loose objects.
> > But since we can represent more objects with fewer inodes when packed,
> > storing those objects together in a pack is preferable when (a) you're
> > doing lots of test-merges, and (b) you want to keep those objects
> > around, e.g., because they are reachable.
>
> A couple of the comments earlier in the series suggested this was
> about streaming blobs to a pack in the bulk checkin code. Are tree
> and commit objects also put in the pack, or will those continue to be
> written loosely?
This covers both blobs and trees, since IIUC that's all we'd need to
implement support for merge-tree to be able to write any objects it
creates into a pack. AFAIK merge-tree never generates any commit
objects. But teaching 'merge' to perform the same bulk-checkin trick
would just require us implementing index_bulk_commit_checkin_in_core()
or similar, which is straightforward to do on top of the existing code.
Thanks,
Taylor
^ permalink raw reply
* Re: [PATCH] merge-ort: initialize repo in index state
From: John Cai @ 2023-10-08 16:12 UTC (permalink / raw)
To: Elijah Newren; +Cc: John Cai via GitGitGadget, git
In-Reply-To: <CABPp-BG_cQ011a15HSVRtJDq7MxgqY2_tD8aZm0Qc4F6ZU0NPA@mail.gmail.com>
Hi Elijah,
On 6 Oct 2023, at 1:14, Elijah Newren wrote:
> On Thu, Oct 5, 2023 at 9:14 AM John Cai via GitGitGadget
> <gitgitgadget@gmail.com> wrote:
>>
>> From: John Cai <johncai86@gmail.com>
>>
>> initialize_attr_index() does not initialize the repo member of
>> attr_index. Starting in 44451a2e5e (attr: teach "--attr-source=<tree>"
>> global option to "git", 2023-05-06), this became a problem because
>> istate->repo gets passed down the call chain starting in
>> git_check_attr(). This gets passed all the way down to
>> replace_refs_enabled(), which segfaults when accessing r->gitdir.
>>
>> Fix this by initializing the repository in the index state.
>>
>> Signed-off-by: John Cai <johncai86@gmail.com>
>> Helped-by: Christian Couder <christian.couder@gmail.com>
>> ---
>> merge-ort: initialize repo in index state
>>
>> initialize_attr_index() does not initialize the repo member of
>> attr_index. Starting in 44451a2e5e (attr: teach "--attr-source=" global
>> option to "git", 2023-05-06), this became a problem because istate->repo
>> gets passed down the call chain starting in git_check_attr(). This gets
>> passed all the way down to replace_refs_enabled(), which segfaults when
>> accessing r->gitdir.
>>
>> Fix this by initializing the repository in the index state.
>
> Out of curiosity, are the changes in 44451a2e5e and its predecessors
> sufficient to allow us to gut this nasty initialize_attr_index() hack
> from merge-ort? See the comment at the top of the function and this
> old mailing list thread:
> https://lore.kernel.org/git/CABPp-BE1TvFJ1eOa8Ci5JTMET+dzZh3m3NxppqqWPyEp1UeAVg@mail.gmail.com/.
Honestly, I'm not familiar enough with the attr code to know if the index can be
taken out of the call chain. From first glance, it looks like that would take
some additional work, which I agree would be nice to do.
>
> I never wanted to generate an index, Stolee didn't like it either, but
> the attribute code seemed hardcoded to require an index and I had gone
> down enough rabbit holes trying to get merge-ort into shape. But I
> still absolutely hate this awful hack.
Perhaps a follow up patch series could address this--will keep it in mind.
>
> If we do have to live with it still, then...
>
>> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1583%2Fjohn-cai%2Fjc%2Fpopulate-repo-when-init-attr-index-v1
>> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1583/john-cai/jc/populate-repo-when-init-attr-index-v1
>> Pull-Request: https://github.com/git/git/pull/1583
>>
>> merge-ort.c | 1 +
>> t/t4300-merge-tree.sh | 20 ++++++++++++++++++++
>> 2 files changed, 21 insertions(+)
>>
>> diff --git a/merge-ort.c b/merge-ort.c
>> index 7857ce9fbd1..172dc7d497d 100644
>> --- a/merge-ort.c
>> +++ b/merge-ort.c
>> @@ -1902,6 +1902,7 @@ static void initialize_attr_index(struct merge_options *opt)
>> struct index_state *attr_index = &opt->priv->attr_index;
>> struct cache_entry *ce;
>>
>> + attr_index->repo = the_repository;
>
> Can we use opt->repo instead and reduce the number of places
> hardcoding the_repository?
sounds good!
>
>
>> attr_index->initialized = 1;
>>
>> if (!opt->renormalize)
>> diff --git a/t/t4300-merge-tree.sh b/t/t4300-merge-tree.sh
>> index 57c4f26e461..254453fff9c 100755
>> --- a/t/t4300-merge-tree.sh
>> +++ b/t/t4300-merge-tree.sh
>> @@ -86,6 +86,26 @@ EXPECTED
>> test_cmp expected actual
>> '
>>
>> +test_expect_success '3-way merge with --attr-source' '
>> + test_when_finished rm -rf 3-way &&
>> + git init 3-way &&
>> + (
>> + cd 3-way &&
>> + test_commit initial file1 foo &&
>> + base=$(git rev-parse HEAD) &&
>> + git checkout -b brancha &&
>> + echo bar>>file1 &&
>> + git commit -am "adding bar" &&
>> + source=$(git rev-parse HEAD) &&
>> + echo baz>>file1 &&
>> + git commit -am "adding baz" &&
>> + merge=$(git rev-parse HEAD) &&
>> + test_must_fail git --attr-source=HEAD merge-tree -z --write-tree \
>> + --merge-base "$base" --end-of-options "$source" "$merge" >out &&
>> + grep "Merge conflict in file1" out
>> + )
>> +'
>> +
>> test_expect_success 'file change A, B (same)' '
>> git reset --hard initial &&
>> test_commit "change-a-b-same-A" "initial-file" "AAA" &&
>>
>> base-commit: 493f4622739e9b64f24b465b21aa85870dd9dc09
>> --
>> gitgitgadget
thanks
John
^ permalink raw reply
* [PATCH v2] merge-ort: initialize repo in index state
From: John Cai via GitGitGadget @ 2023-10-08 16:19 UTC (permalink / raw)
To: git; +Cc: Elijah Newren, John Cai, John Cai
In-Reply-To: <pull.1583.git.git.1696519349407.gitgitgadget@gmail.com>
From: John Cai <johncai86@gmail.com>
initialize_attr_index() does not initialize the repo member of
attr_index. Starting in 44451a2e5e (attr: teach "--attr-source=<tree>"
global option to "git", 2023-05-06), this became a problem because
istate->repo gets passed down the call chain starting in
git_check_attr(). This gets passed all the way down to
replace_refs_enabled(), which segfaults when accessing r->gitdir.
Fix this by initializing the repository in the index state.
Signed-off-by: John Cai <johncai86@gmail.com>
Helped-by: Christian Couder <christian.couder@gmail.com>
---
merge-ort: initialize repo in index state
initialize_attr_index() does not initialize the repo member of
attr_index. Starting in 44451a2e5e (attr: teach "--attr-source=" global
option to "git", 2023-05-06), this became a problem because istate->repo
gets passed down the call chain starting in git_check_attr(). This gets
passed all the way down to replace_refs_enabled(), which segfaults when
accessing r->gitdir.
Fix this by initializing the repository in the index state.
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1583%2Fjohn-cai%2Fjc%2Fpopulate-repo-when-init-attr-index-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1583/john-cai/jc/populate-repo-when-init-attr-index-v2
Pull-Request: https://github.com/git/git/pull/1583
Range-diff vs v1:
1: 80a18252b30 ! 1: e178236064a merge-ort: initialize repo in index state
@@ merge-ort.c: static void initialize_attr_index(struct merge_options *opt)
struct index_state *attr_index = &opt->priv->attr_index;
struct cache_entry *ce;
-+ attr_index->repo = the_repository;
++ attr_index->repo = opt->repo;
attr_index->initialized = 1;
if (!opt->renormalize)
@@ t/t4300-merge-tree.sh: EXPECTED
+ test_commit initial file1 foo &&
+ base=$(git rev-parse HEAD) &&
+ git checkout -b brancha &&
-+ echo bar>>file1 &&
++ echo bar >>file1 &&
+ git commit -am "adding bar" &&
+ source=$(git rev-parse HEAD) &&
-+ echo baz>>file1 &&
++ git checkout @{-1} &&
++ git checkout -b branchb &&
++ echo baz >>file1 &&
+ git commit -am "adding baz" &&
+ merge=$(git rev-parse HEAD) &&
-+ test_must_fail git --attr-source=HEAD merge-tree -z --write-tree \
-+ --merge-base "$base" --end-of-options "$source" "$merge" >out &&
-+ grep "Merge conflict in file1" out
++ git checkout -b gitattributes &&
++ test_commit "gitattributes" .gitattributes "file1 merge=union" &&
++ git checkout @{-1} &&
++ tree=$(git --attr-source=gitattributes merge-tree --write-tree \
++ --merge-base "$base" --end-of-options "$source" "$merge") &&
++ echo "foo\nbar\nbaz" >expect &&
++ git cat-file -p "$tree:file1" >actual &&
++ test_cmp expect actual
+ )
+'
+
merge-ort.c | 1 +
t/t4300-merge-tree.sh | 27 +++++++++++++++++++++++++++
2 files changed, 28 insertions(+)
diff --git a/merge-ort.c b/merge-ort.c
index 7857ce9fbd1..36537256613 100644
--- a/merge-ort.c
+++ b/merge-ort.c
@@ -1902,6 +1902,7 @@ static void initialize_attr_index(struct merge_options *opt)
struct index_state *attr_index = &opt->priv->attr_index;
struct cache_entry *ce;
+ attr_index->repo = opt->repo;
attr_index->initialized = 1;
if (!opt->renormalize)
diff --git a/t/t4300-merge-tree.sh b/t/t4300-merge-tree.sh
index 57c4f26e461..2929ce3bf16 100755
--- a/t/t4300-merge-tree.sh
+++ b/t/t4300-merge-tree.sh
@@ -86,6 +86,33 @@ EXPECTED
test_cmp expected actual
'
+test_expect_success '3-way merge with --attr-source' '
+ test_when_finished rm -rf 3-way &&
+ git init 3-way &&
+ (
+ cd 3-way &&
+ test_commit initial file1 foo &&
+ base=$(git rev-parse HEAD) &&
+ git checkout -b brancha &&
+ echo bar >>file1 &&
+ git commit -am "adding bar" &&
+ source=$(git rev-parse HEAD) &&
+ git checkout @{-1} &&
+ git checkout -b branchb &&
+ echo baz >>file1 &&
+ git commit -am "adding baz" &&
+ merge=$(git rev-parse HEAD) &&
+ git checkout -b gitattributes &&
+ test_commit "gitattributes" .gitattributes "file1 merge=union" &&
+ git checkout @{-1} &&
+ tree=$(git --attr-source=gitattributes merge-tree --write-tree \
+ --merge-base "$base" --end-of-options "$source" "$merge") &&
+ echo "foo\nbar\nbaz" >expect &&
+ git cat-file -p "$tree:file1" >actual &&
+ test_cmp expect actual
+ )
+'
+
test_expect_success 'file change A, B (same)' '
git reset --hard initial &&
test_commit "change-a-b-same-A" "initial-file" "AAA" &&
base-commit: 493f4622739e9b64f24b465b21aa85870dd9dc09
--
gitgitgadget
^ permalink raw reply related
* Re: [PATCH 03/25] documentation: fix typos
From: Ramsay Jones @ 2023-10-08 16:32 UTC (permalink / raw)
To: Elijah Newren via GitGitGadget, git; +Cc: Elijah Newren
In-Reply-To: <fffcf580b29153a3c4c7ead3abfb2b621d3a0d46.1696747529.git.gitgitgadget@gmail.com>
On 08/10/2023 07:45, Elijah Newren via GitGitGadget wrote:
[snip]
> diff --git a/Documentation/gitformat-pack.txt b/Documentation/gitformat-pack.txt
> index 870e00f2982..42afb953e8c 100644
> --- a/Documentation/gitformat-pack.txt
> +++ b/Documentation/gitformat-pack.txt
> @@ -17,8 +17,8 @@ $GIT_DIR/objects/pack/multi-pack-index
> DESCRIPTION
> -----------
>
> -The Git pack format is now Git stores most of its primary repository
> -data. Over the lietime af a repository loose objects (if any) and
> +The Git pack format is how Git stores most of its primary repository
> +data. Over the lietime of a repository loose objects (if any) and
Hmm, this tyop jumped out at me while this patch
floated past... (at least I assume it is a typo!):
s/lietime/lifetime/
ATB,
Ramsay Jones
^ permalink raw reply
* Re: [PATCH 7/7] builtin/merge-tree.c: implement support for `--write-pack`
From: Jeff King @ 2023-10-08 17:33 UTC (permalink / raw)
To: Taylor Blau; +Cc: Elijah Newren, Junio C Hamano, git, Eric W. Biederman
In-Reply-To: <ZSLS9G1lHruig48a@nand.local>
On Sun, Oct 08, 2023 at 12:04:04PM -0400, Taylor Blau wrote:
> > I was interested in the same question as Junio, but from a different
> > angle. fast-import documentation points out that the packs it creates
> > are suboptimal with poorer delta choices. Are the packs created by
> > bulk-checkin prone to the same issues? When I was thinking in terms
> > of having "git merge" use fast-import for pack creation instead of
> > writing loose objects (an idea I never investigated very far), I was
> > wondering if I'd need to mark those packs as "less optimal" and do
> > something to make sure they were more likely to be repacked.
> >
> > I believe geometric repacking didn't exist back when I was thinking
> > about this, and perhaps geometric repacking automatically handles
> > things nicely for us. Does it, or are we risking retaining
> > sub-optimal deltas from the bulk-checkin code?
> >
> > (I've never really cracked open the pack code, so I have absolutely no
> > idea; I'm just curious.)
>
> Yes, the bulk-checkin mechanism suffers from an even worse problem which
> is the pack it creates will contain no deltas whatsoever. The contents
> of the pack are just getting written as-is, so there's no fancy
> delta-ficiation going on.
I wonder how big a deal this would be in practice for merges.
pack-objects will look for deltas between any two candidates objects,
but in practice I think most deltas are between objects from multiple
commits (across the "time" dimension, if you will) rather than within a
single tree (the "space" dimension). And a merge operation is generally
creating a single new tree (recursive merging may create intermediate
states which would delta, but we don't actually need to keep those
intermediate ones. I won't be surprised if we do, though).
We should be able to test that theory by looking at existing deltas.
Here's a script which builds an index of blobs and trees to the commits
that introduce them:
git rev-list HEAD |
git diff-tree --stdin -r -m -t --raw |
perl -lne '
if (/^[0-9a-f]/) {
$commit = $_;
} elsif (/^:\S+ \S+ \S+ (\S+)/) {
$h{$1} = $commit;
}
END { print "$_ $h{$_}" for keys(%h) }
' >commits.db
And then we can see which deltas come from the same commit:
git cat-file --batch-all-objects --batch-check='%(objectname) %(deltabase)' |
perl -alne '
BEGIN {
open(my $fh, "<", "commits.db");
%commit = map { chomp; split } <$fh>;
}
next if $F[1] =~ /0{40}/; # not a delta
next unless defined $commit{$F[0]}; # not in index
print $commit{$F[0]} eq $commit{$F[1]} ? "inner" : "outer", " ", $_;
'
In git.git, I see 460 "inner" deltas, and 193,081 "outer" ones. The
inner ones are mostly small single-file test vectors, which makes sense.
It's possible to have a merge result that does conflict resolution in
two such files (that would then delta), but it seems like a fairly
unlikely case. Numbers for linux.git are similar.
So it might just not be a big issue at all for this use case.
> I think Michael Haggerty (?) suggested to me off-list that it might be
> interesting to have a flag that we could mark packs with bad/no deltas
> as such so that we don't implicitly trust their contents as having high
> quality deltas.
I was going to suggest the same thing. ;) Unfortunately it's a bit
tricky to do as we have no room in the file format for an optional flag.
You'd have to add a ".mediocre-delta" file or something.
But here's another approach. I recall discussing a while back the idea
that we should not necessarily trust the quality of deltas in packs that
are pushed (and I think Thomas Gummerer even did some experiments inside
GitHub with those, though I don't remember the results). And one way
around that is during geometric repacking to consider the biggest/oldest
pack as "preferred", reuse its deltas, but always compute from scratch
with the others (neither reusing on-disk deltas, nor skipping
try_delta() when two objects come from the same pack).
That same strategy would work here (and for incremental fast-import
packs, though of course not if your fast-import pack is the "big" one
after you do a from-scratch import).
> > A couple of the comments earlier in the series suggested this was
> > about streaming blobs to a pack in the bulk checkin code. Are tree
> > and commit objects also put in the pack, or will those continue to be
> > written loosely?
>
> This covers both blobs and trees, since IIUC that's all we'd need to
> implement support for merge-tree to be able to write any objects it
> creates into a pack. AFAIK merge-tree never generates any commit
> objects. But teaching 'merge' to perform the same bulk-checkin trick
> would just require us implementing index_bulk_commit_checkin_in_core()
> or similar, which is straightforward to do on top of the existing code.
This is a bit of a devil's advocate question, but: would it make sense
to implement this as a general of Git's object-writing code, and not tie
it to a specific command? That is, what if a user could do:
git --write-to-pack merge ...
but also:
git --write-to-pack add ...
and the object-writing code would just write to a pack instead of
writing loose objects. That lets the caller decide when it is or is not
a good idea to use this mode. And if making loose objects gives bad
performance for merges, wouldn't the same be true of other operations
which generate many objects?
Possibly it exacerbates the "no deltas" issue from above (though it
would depend on the command). The bigger question to me is one of
checkpointing. When do we finish off the pack with a .idx and make it
available to other readers? We could do it at program exit, but I
suspect there are some commands that really want to make objects
available sooner (e.g., as soon as "git add" writes an index, we'd want
those objects to already be available). Probably every program that
writes objects would need to be annotated with a checkpoint call (which
would be a noop in loose object mode).
So maybe it's a dumb direction. I dunno.
-Peff
^ permalink raw reply
* Re: What's cooking in git.git (Oct 2023, #03; Fri, 6)
From: René Scharfe @ 2023-10-08 17:34 UTC (permalink / raw)
To: Junio C Hamano, git
In-Reply-To: <xmqqh6n24zf1.fsf@gitster.g>
Am 07.10.23 um 10:20 schrieb Junio C Hamano:
> * rs/parse-options-value-int (2023-09-18) 2 commits
> - parse-options: use and require int pointer for OPT_CMDMODE
> - parse-options: add int value pointer to struct option
>
> A bit of type safety for the "value" pointer used in the
> parse-options API.
>
> What's the status of this thing?
> source: <e6d8a291-03de-cfd3-3813-747fc2cad145@web.de>
tl;dr: Feel free to drop this topic if it's in the way.
I think the added _int variables are defensible, but the mode_int member
added to struct resume_mode in builtin/am.c is too ugly. Extending
OPT_CMDMODE to support arguments would allow getting rid of the struct
altogether and is probably a good idea anyway. It's surprisingly hard
to get right, though -- just discovered that the interference detection
is only working half of the time in the current code, and we can't have
that, can we?
# a OPT_CMDMODE option
$ t/helper/test-tool parse-options --mode1 | grep integer
integer: 1
# something else setting the same variable
$ % t/helper/test-tool parse-options --set23 | grep integer
integer: 23
# combined use is flagged if the OPT_CMDMODE option comes last
$ t/helper/test-tool parse-options --set23 --mode1
error: option `mode1' : incompatible with something else
# ... but not the other way around
$ t/helper/test-tool parse-options --mode1 --set23 | grep integer
integer: 23
Anyway, I'll get there eventually and present a nicely shaven yak -- or
give up and focus on the original topic.
https://lore.kernel.org/git/6cb09270-04b9-456e-8d7e-97137e56e9e2@web.de/
detects and handles the same type mismatch by adding a level of
abstraction (getters and setters). That way is more general and adds
more overhead compared to the _int variant. A fair comparison requires
argument support in OPT_CMDMODE, though, I think.
I don't mind removing this topic from seen for now; it's not ready, yet.
René
^ permalink raw reply
* [PATCH] pretty: fix ref filtering for %(decorate) formats
From: Andy Koppe @ 2023-10-08 20:23 UTC (permalink / raw)
To: git; +Cc: Andy Koppe
Mark pretty formats containing "%(decorate" as requiring decoration in
userformat_find_requirements(), same as "%d" and "%D".
Without this, cmd_log_init_finish() didn't invoke load_ref_decorations()
with the decoration_filter it puts together, and hence filtering options
such as --decorate-refs were quietly ignored.
Amend one of the %(decorate) checks in t4205-log-pretty-formats.sh to
test this.
Signed-off-by: Andy Koppe <andy.koppe@gmail.com>
---
pretty.c | 4 ++++
t/t4205-log-pretty-formats.sh | 6 +++---
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/pretty.c b/pretty.c
index 7f3abb676c..cf964b060c 100644
--- a/pretty.c
+++ b/pretty.c
@@ -1961,6 +1961,10 @@ void userformat_find_requirements(const char *fmt, struct userformat_want *w)
case 'D':
w->decorate = 1;
break;
+ case '(':
+ if (starts_with(fmt + 1, "decorate"))
+ w->decorate = 1;
+ break;
}
}
}
diff --git a/t/t4205-log-pretty-formats.sh b/t/t4205-log-pretty-formats.sh
index 16626e4fe9..5aabc9f7d8 100755
--- a/t/t4205-log-pretty-formats.sh
+++ b/t/t4205-log-pretty-formats.sh
@@ -590,9 +590,9 @@ test_expect_success 'pretty format %decorate' '
git log --format="%(decorate:prefix=,suffix=)" -1 >actual2 &&
test_cmp expect2 actual2 &&
- echo "[ HEAD -> foo; tag: bar; qux ]" >expect3 &&
- git log --format="%(decorate:prefix=[ ,suffix= ],separator=%x3B )" \
- -1 >actual3 &&
+ echo "[ bar; qux; foo ]" >expect3 &&
+ git log --format="%(decorate:prefix=[ ,suffix= ],separator=%x3B ,tag=)" \
+ --decorate-refs=refs/ -1 >actual3 &&
test_cmp expect3 actual3 &&
# Try with a typo (in "separator"), in which case the placeholder should
--
2.42.GIT
^ permalink raw reply related
* Bug: 'git diff' crashes on corrupted repository
From: Dominik Paulus @ 2023-10-08 20:27 UTC (permalink / raw)
To: git
What did you do before the bug happened?
I have a git repository which is stored in a 'Seafile' shared folder[0]. As I
noticed, 'Seafile' seems to not correctly sync hidden files/dotfiles, so after
modifying the git repository on one host, the ".git" directory in the Seafile
replica on the other host is inconsistent: Specifically, it seems to be
missing a subset of the files in '.git/objects'.
'git fsck' complains about various missing blobs, dangling commits, dangling
trees, broken links, and notably also "error: HEAD: invalid sha1 pointer
[...]".
On this - obviously corrupted - repository, most git commands report "fatal:
bad object HEAD". In contrast, 'git diff' crashes:
$ git status
fatal: bad object HEAD
$ git log
fatal: bad object HEAD
$ git diff
Segmentation fault (core dumped)
$
This is the stacktrace for this crash (gdb output):
-----
Starting program: /usr/bin/git diff
Downloading separate debug info for system-supplied DSO at 0x7ffff7fc8000
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[Detaching after fork from child process 16789]
Program received signal SIGSEGV, Segmentation fault.
0x00005555556ff6ac in diff_add_if_missing (r=0x555555966ac0 <the_repo>, to_fetch=0x7fffffffce10, filespec=0x555555975)
at /usr/src/debug/git/git-2.42.0/diff.c:6895
6895 if (filespec && filespec->oid_valid &&
(gdb) bt
#0 0x00005555556ff6ac in diff_add_if_missing (r=0x555555966ac0 <the_repo>, to_fetch=0x7fffffffce10, filespec=0x555555975)
at /usr/src/debug/git/git-2.42.0/diff.c:6895
#1 0x00005555556ff7aa in diff_queued_diff_prefetch (repository=0x555555966ac0 <the_repo>)
at /usr/src/debug/git/git-2.42.0/diff.c:6911
#2 0x00005555556f5e74 in diff_populate_filespec (r=0x555555966ac0 <the_repo>, s=0x555555977660, options=0x7fffffffcfe0)
at /usr/src/debug/git/git-2.42.0/diff.c:4184
#3 0x00005555556fee70 in diff_filespec_check_stat_unmatch (r=0x555555966ac0 <the_repo>, p=p@entry=0x5555559755e0)
at /usr/src/debug/git/git-2.42.0/diff.c:6839
#4 0x0000555555709560 in diffcore_skip_stat_unmatch (diffopt=0x7fffffffdb20) at /usr/src/debug/git/git-2.42.0/diff.c:6857
#5 diffcore_std (options=<optimized out>) at /usr/src/debug/git/git-2.42.0/diff.c:6946
#6 0x00005555556ee59c in run_diff_files (revs=<optimized out>, option=<optimized out>)
at /usr/src/debug/git/git-2.42.0/diff-lib.c:272
#7 0x00005555555ba95b in builtin_diff_files (argv=<optimized out>, argc=<optimized out>, revs=<optimized out>)
at builtin/diff.c:293
#8 cmd_diff (argc=1, argv=0x7fffffffe7a0, prefix=<optimized out>) at builtin/diff.c:586
#9 0x00005555555767f4 in run_builtin (argv=0x7fffffffe7a0, argc=1, p=0x555555938db0 <commands.lto_priv+816>)
at /usr/src/debug/git/git-2.42.0/git.c:469
#10 handle_builtin (argc=1, argv=0x7fffffffe7a0) at /usr/src/debug/git/git-2.42.0/git.c:723
#11 0x0000555555576dab in run_argv (argcp=0x7fffffffe4ec, argv=0x7fffffffe510) at /usr/src/debug/git/git-2.42.0/git.c:787
#12 0x00005555555727e3 in cmd_main (argv=<optimized out>, argc=<optimized out>) at /usr/src/debug/git/git-2.42.0/git.c:922
#13 main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/git/git-2.42.0/common-main.c:62
(gdb) print filespec->oid_valid
Cannot access memory at address 0x555555975
(gdb)
-----
What did you expect to happen?
'git diff' should not crash/perform invalid memory accesses on a corrupted repository.
[System Info]
git version:
git version 2.42.0
cpu: x86_64
no commit associated with this build
sizeof-long: 8
sizeof-size_t: 8
shell-path: /bin/sh
uname: Linux 6.5.5-arch1-1 #1 SMP PREEMPT_DYNAMIC Sat, 23 Sep 2023 22:55:13 +0000 x86_64
compiler info: gnuc: 13.2
libc info: glibc: 2.38
$SHELL (typically, interactive shell): /bin/bash
[Enabled Hooks]
[0] I'm aware that this is a bad idea in the first place and a red flag about
the underlying workflow :).
^ permalink raw reply
* [OUTREACHY] git send-email issues
From: Naomi Ibe @ 2023-10-08 21:59 UTC (permalink / raw)
To: git
I've been able to edit the add.c file since friday and I've created my
patches too. The error I keep getting when I run either "git
send-email --to=naomi.ibeh69@gmail.com
builtin/0001-OUTREACHY-Fixed-add.c-file-to-conform-to-guidelines-.patch"
or "git send-email --to=git@vger.kernel.org
builtin/0001-OUTREACHY-Fixed-add.c-file-to-conform-to-guidelines-.patch"
is this:
**Unable to initialize SMTP properly. Check config and use
--smtp-debug. VALUES: server=smtp.gmail.com encryption=tls
hello=localhost.localdomain port=587 at C:/Program
Files/Git/mingw64/libexec/git-core\git-send-email line 1725, <FIN>
line 1.**
I've used the --smtp-debug tag, checked the official docs and other
docs too, plus stackoverflow,google and even chatgpt, but nothing
seems to be working. I've even had to change my gmail password tonight
but it still doesn't work. Any tips at all would be greatly
appreciated at this point. Thank you
^ permalink raw reply
* Re: [OUTREACHY] git send-email issues
From: Kristoffer Haugsbakk @ 2023-10-08 22:16 UTC (permalink / raw)
To: Naomi Ibe; +Cc: git
In-Reply-To: <CACS=G2xBNMMTSCSsVFe3M3jFN0m0pZ-j_TAz3r6xmQrgdRujfQ@mail.gmail.com>
Hi Naomi
On Sun, Oct 8, 2023, at 23:59, Naomi Ibe wrote:
> I've used the --smtp-debug tag, checked the official docs and other
> docs too, plus stackoverflow,google and even chatgpt, but nothing
> seems to be working. I've even had to change my gmail password tonight
> but it still doesn't work. Any tips at all would be greatly
> appreciated at this point. Thank you
Here [1] is a good resource for setting up Gmail for git-send-email. It's
a bit of a chore to set up but that resource was enough for me to get it
working. One of the things that you are going to need is an App password.
But have you considered using GitGitGadget instead?[2] You can make a pull
request on that repository and then the program (gitgitgadget) can send
the emails to this mailing list for you.
[1] https://stackoverflow.com/a/68238913/1725151
[2] https://github.com/gitgitgadget/gitgitgadget/
--
Kristoffer
^ permalink raw reply
* Re: [OUTREACHY] git send-email issues
From: Naomi Ibe @ 2023-10-08 22:37 UTC (permalink / raw)
To: Kristoffer Haugsbakk; +Cc: git
In-Reply-To: <e22b6211-8534-417f-a647-e36cb00eee61@app.fastmail.com>
Oh wow
I read about gitgadget but didn't understand how it works, I'd
definitely check it out with these links you sent and I really hope it
works. Thank you very very much
On Sun, Oct 8, 2023 at 11:17 PM Kristoffer Haugsbakk
<code@khaugsbakk.name> wrote:
>
> Hi Naomi
>
> On Sun, Oct 8, 2023, at 23:59, Naomi Ibe wrote:
> > I've used the --smtp-debug tag, checked the official docs and other
> > docs too, plus stackoverflow,google and even chatgpt, but nothing
> > seems to be working. I've even had to change my gmail password tonight
> > but it still doesn't work. Any tips at all would be greatly
> > appreciated at this point. Thank you
>
> Here [1] is a good resource for setting up Gmail for git-send-email. It's
> a bit of a chore to set up but that resource was enough for me to get it
> working. One of the things that you are going to need is an App password.
>
> But have you considered using GitGitGadget instead?[2] You can make a pull
> request on that repository and then the program (gitgitgadget) can send
> the emails to this mailing list for you.
>
> [1] https://stackoverflow.com/a/68238913/1725151
>
> [2] https://github.com/gitgitgadget/gitgitgadget/
>
> --
> Kristoffer
^ permalink raw reply
* [PATCH 1/1] [OUTREACHY] Fixed add.c file to conform to guidelines when using die() listed in issue #635
From: Naomi Ibe @ 2023-10-09 1:15 UTC (permalink / raw)
To: git; +Cc: Naomi
From: Naomi <naomi.ibeh69@gmail.com>
Signed-off-by: Naomi Ibe <naomi.ibeh69@gmail.com>
---
builtin/add.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/builtin/add.c b/builtin/add.c
index c27254a5cd..5126d2ede3 100644
--- a/builtin/add.c
+++ b/builtin/add.c
@@ -182,7 +182,7 @@ static int edit_patch(int argc, const char **argv, const char *prefix)
git_config(git_diff_basic_config, NULL); /* no "diff" UI options */
if (repo_read_index(the_repository) < 0)
- die(_("Could not read the index"));
+ die(_("could not read the index"));
repo_init_revisions(the_repository, &rev, prefix);
rev.diffopt.context = 7;
@@ -200,15 +200,15 @@ static int edit_patch(int argc, const char **argv, const char *prefix)
die(_("editing patch failed"));
if (stat(file, &st))
- die_errno(_("Could not stat '%s'"), file);
+ die_errno(_("could not stat '%s'"), file);
if (!st.st_size)
- die(_("Empty patch. Aborted."));
+ die(_("empty patch. aborted"));
child.git_cmd = 1;
strvec_pushl(&child.args, "apply", "--recount", "--cached", file,
NULL);
if (run_command(&child))
- die(_("Could not apply '%s'"), file);
+ die(_("could not apply '%s'"), file);
unlink(file);
free(file);
@@ -568,7 +568,7 @@ int cmd_add(int argc, const char **argv, const char *prefix)
finish:
if (write_locked_index(&the_index, &lock_file,
COMMIT_LOCK | SKIP_IF_UNCHANGED))
- die(_("Unable to write new index file"));
+ die(_("unable to write new index file"));
dir_clear(&dir);
clear_pathspec(&pathspec);
--
2.36.1.windows.1
^ permalink raw reply related
* [PATCH 1/1] [OUTREACHY] Fixed add.c file to conform to guidelines when using die() listed in issue #635
From: Naomi Ibe @ 2023-10-09 1:16 UTC (permalink / raw)
To: git; +Cc: Naomi
From: Naomi <naomi.ibeh69@gmail.com>
Signed-off-by: Naomi Ibe <naomi.ibeh69@gmail.com>
---
builtin/add.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/builtin/add.c b/builtin/add.c
index c27254a5cd..5126d2ede3 100644
--- a/builtin/add.c
+++ b/builtin/add.c
@@ -182,7 +182,7 @@ static int edit_patch(int argc, const char **argv, const char *prefix)
git_config(git_diff_basic_config, NULL); /* no "diff" UI options */
if (repo_read_index(the_repository) < 0)
- die(_("Could not read the index"));
+ die(_("could not read the index"));
repo_init_revisions(the_repository, &rev, prefix);
rev.diffopt.context = 7;
@@ -200,15 +200,15 @@ static int edit_patch(int argc, const char **argv, const char *prefix)
die(_("editing patch failed"));
if (stat(file, &st))
- die_errno(_("Could not stat '%s'"), file);
+ die_errno(_("could not stat '%s'"), file);
if (!st.st_size)
- die(_("Empty patch. Aborted."));
+ die(_("empty patch. aborted"));
child.git_cmd = 1;
strvec_pushl(&child.args, "apply", "--recount", "--cached", file,
NULL);
if (run_command(&child))
- die(_("Could not apply '%s'"), file);
+ die(_("could not apply '%s'"), file);
unlink(file);
free(file);
@@ -568,7 +568,7 @@ int cmd_add(int argc, const char **argv, const char *prefix)
finish:
if (write_locked_index(&the_index, &lock_file,
COMMIT_LOCK | SKIP_IF_UNCHANGED))
- die(_("Unable to write new index file"));
+ die(_("unable to write new index file"));
dir_clear(&dir);
clear_pathspec(&pathspec);
--
2.36.1.windows.1
^ permalink raw reply related
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox