Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
07fba53
pager: fix order of atexit() calls
Nov 15, 2016
5531fa4
reset --stdin: trim carriage return from the paths
Apr 5, 2017
a3b0c52
Merge 'gvfs-preamble' into HEAD
dscho Jun 11, 2018
8d8aacd
gvfs: start by adding the -gvfs suffix to the version
sanoursa Jan 24, 2017
7f1201c
gvfs: ensure that the version is based on a GVFS tag
dscho Apr 4, 2017
f92165a
gvfs: add a GVFS-specific header file
Jan 24, 2017
f9a13fe
gvfs: add the core.gvfs config setting
Jan 24, 2017
12a4bd3
gvfs: add the feature to skip writing the index' SHA-1
Jan 24, 2017
1a1b553
gvfs: add the feature that blobs may be missing
Jan 24, 2017
3c321d7
gvfs: prevent files to be deleted outside the sparse checkout
May 18, 2016
fe3c660
gvfs: optionally skip reachability checks/upload pack during fetch
May 30, 2016
1b78d5e
gvfs: ensure all filters and EOL conversions are blocked
Jun 15, 2016
b08d49c
Add a new run_hook_argv() function
dscho Nov 30, 2016
79ce548
gvfs: allow "virtualizing" objects
Jan 10, 2017
1702bb8
Hydrate missing loose objects in check_and_freshen()
Mar 15, 2017
32bd470
Add support for read-object as a background process to retrieve missi…
Jul 18, 2017
3c40f57
sha1_file: when writing objects, skip the read_object_hook
dscho Sep 8, 2017
9dacb83
gvfs: add global command pre and post hook procs
May 24, 2016
eb9fff8
Merge 'read-object-hook' into HEAD
dscho Jun 11, 2018
768452b
Allow hooks to be run before setup_git_directory()
dscho Mar 6, 2017
c634350
gvfs: introduce pre/post command hooks
Jan 24, 2017
544f214
t0400: verify that the hook is called correctly from a subdirectory
dscho Mar 16, 2017
248d5ce
Pass PID of git process to hooks.
alepauly Apr 10, 2017
c4a7543
sparse-checkout: update files with a modify/delete conflict
Feb 22, 2017
bae39cd
sparse-checkout: avoid writing entries with the skip-worktree bit
Mar 1, 2017
1a1cb1c
pre-command: always respect core.hooksPath
dscho Aug 7, 2017
ca478b4
Fix reset when using the sparse-checkout feature.
Mar 15, 2017
83ffd4f
Merge 'pre-post-command-hooks' into HEAD
dscho Jun 11, 2018
4cf96a6
Merge 'sparse-checkout-fixes' into HEAD
dscho Jun 11, 2018
47d6424
Do not remove files outside the sparse-checkout
Apr 5, 2017
80d1d7e
gvfs: refactor loading the core.gvfs config value
Apr 14, 2017
ec0fc70
cache-tree: remove use of strbuf_addf in update_one
Jul 3, 2017
fbd98c5
fsck: use ERROR_MULTI_PACK_INDEX
derrickstolee Sep 24, 2018
914c991
pack-objects: ignore ambiguous object warnings
derrickstolee Nov 6, 2018
d7c2ddf
status: add status serialization mechanism
jeffhostetler Aug 22, 2017
13f1ba1
Merge branch 'serialize_status_gvfs'
dscho Jun 11, 2018
625e6f4
status: add status.aheadbehind setting
jeffhostetler Jan 9, 2018
2f42777
Teach ahead-behind and serialized status to play nicely together
jamill Jan 10, 2018
96955f8
status: add warning when a/b calculation takes too long for long/norm…
jeffhostetler Jan 10, 2018
217b45d
status: ignore status.aheadbehind in porcelain formats
jeffhostetler Feb 5, 2018
0cb6ef0
status: serialize to path
jeffhostetler Feb 2, 2018
d959ac6
status: reject deserialize in V2 and conflicts
jeffhostetler Feb 7, 2018
3e37b71
fetch: Warn about forced updates after branch list
derrickstolee Feb 15, 2018
b7641d6
push: add --[no-]show-forced-updates passthrough to fetch
derrickstolee Feb 16, 2018
4e0730b
fetch: Add --[no-]show-forced-updates argument
derrickstolee Feb 1, 2018
3bd3e78
Merge branch 'ahead-behind-and-serialized-status'
dscho Jun 11, 2018
2a979c8
fetch: add documentation for --[no-]show-forced-updates
derrickstolee Feb 21, 2018
fdc1c87
Merge branch 'show-forced-updates'
dscho Jun 11, 2018
d20883c
Merge 'forced-updates-after-branch-list'
dscho Jun 11, 2018
cea2c3d
Add virtual file system settings and hook proc
benpeart Jan 11, 2018
bd0d48f
Revert "treewide: correct several "up-to-date" to "up to date""
mjcheetham Sep 15, 2018
424ba3b
Update the virtualfilesystem support
benpeart Jun 7, 2018
b6a592b
Merge 'virtual-file-system-support'
dscho Jun 11, 2018
affa5d4
commit: add generation to pop_most_recent_commit()
derrickstolee Jun 13, 2018
8c25aba
Merge 'update/virtual-file-system'
dscho Jun 11, 2018
777734d
status: fix rename reporting when using serialization cache
jeffhostetler Jul 25, 2018
d6920b5
status: add comments for ahead_behind_flags in serialization
jeffhostetler Jul 25, 2018
f3bd045
Merge 'gvfs/ds/generation-numbers-update'
dscho Jun 11, 2018
5f0a04f
serialize-status: serialize global and repo-local exclude file metadata
jeffhostetler Jul 20, 2018
c87b230
Merge pull request #6 from jeffhostetler/gvfs-serialize-status-rename
jeffhostetler Jul 26, 2018
db24e37
status: deserialization wait
jeffhostetler Jul 25, 2018
653e223
Merge pull request #1 from jeffhostetler/gvfs-serialize-exclude
jeffhostetler Jul 27, 2018
1fa9497
virtualfilesystem: don't run the virtual file system hook if the inde…
benpeart Aug 1, 2018
198de10
Merge pull request #7 from jeffhostetler/gvfs-status-serialize-wait
jeffhostetler Jul 31, 2018
5ed0352
virtualfilesystem: fix bug with symlinks being ignored
benpeart Sep 25, 2018
9ed4682
Merge pull request #15 from benpeart/difftool
benpeart Aug 20, 2018
6d7c1de
trace2: create new combined trace facility
jeffhostetler Aug 30, 2018
ee1aef9
trace2: add trace2 tracing of major regions in wt-status
jeffhostetler Aug 30, 2018
14c2412
trace2: classify some child processes
jeffhostetler Aug 30, 2018
d6a0189
virtualfilesystem: check if directory is included
Oct 9, 2018
9d74ff1
Merge pull request #27 from benpeart/virtualprojectionlinks
benpeart Sep 26, 2018
08e9a8a
trace2: add child classification for transport processes
jeffhostetler Oct 10, 2018
8366d6b
trace2: instrument reading and writing the index
jeffhostetler Aug 30, 2018
8c3894a
gvfs:trace2: add region/data events for status deserialization
jeffhostetler Sep 26, 2018
c0dd2dd
gvfs:trace2: add trace2 tracing around read_object_process
jeffhostetler Sep 26, 2018
e73a1c1
Merge pull request #33 virtualfilesystem - check if directory is incl…
Oct 10, 2018
5447d8f
pack-objects: add trace2 regions
derrickstolee Oct 9, 2018
f8dfa70
Merge pull request #28 from jeffhostetler/gvfs-trace2-v1
jeffhostetler Oct 10, 2018
43e6b78
Merge pull request #34 Add Trace2 regions to 'pack-objects'
derrickstolee Oct 11, 2018
130989c
rebase/stash: make post-command hook work again
dscho Oct 12, 2018
3ebd5a9
Merge pull request #36 Avoid `sane_execvp` in `git rebase` and `git s…
derrickstolee Oct 12, 2018
e50c9ca
Merge pull request #24 Match multi-pack-index feature from upstream
dscho Oct 18, 2018
3589770
Merge pull request #67 ignore ambiguous pack-objects warnings
derrickstolee Nov 7, 2018
6657af1
fixup! status: add status serialization mechanism
dscho Nov 21, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 50 additions & 0 deletions Documentation/config/core.txt
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,14 @@ core.fsmonitor::
avoiding unnecessary processing of files that have not changed.
See the "fsmonitor-watchman" section of linkgit:githooks[5].

core.virtualFilesystem::
If set, the value of this variable is used as a command which
will identify all files and directories that are present in
the working directory. Git will only track and update files
listed in the virtual file system. Using the virtual file system
will supersede the sparse-checkout settings which will be ignored.
See the "virtual file system" section of linkgit:githooks[6].

core.trustctime::
If false, the ctime differences between the index and the
working tree are ignored; useful when the inode change time
Expand Down Expand Up @@ -600,6 +608,48 @@ core.multiPackIndex::
single index. See link:technical/multi-pack-index.html[the
multi-pack-index design document].

core.gvfs::
Enable the features needed for GVFS. This value can be set to true
to indicate all features should be turned on or the bit values listed
below can be used to turn on specific features.
+
--
GVFS_SKIP_SHA_ON_INDEX::
Bit value 1
Disables the calculation of the sha when writing the index
GVFS_MISSING_OK::
Bit value 4
Normally git write-tree ensures that the objects referenced by the
directory exist in the object database. This option disables this check.
GVFS_NO_DELETE_OUTSIDE_SPARSECHECKOUT::
Bit value 8
When marking entries to remove from the index and the working
directory this option will take into account what the
skip-worktree bit was set to so that if the entry has the
skip-worktree bit set it will not be removed from the working
directory. This will allow virtualized working directories to
detect the change to HEAD and use the new commit tree to show
the files that are in the working directory.
GVFS_FETCH_SKIP_REACHABILITY_AND_UPLOADPACK::
Bit value 16
While performing a fetch with a virtual file system we know
that there will be missing objects and we don't want to download
them just because of the reachability of the commits. We also
don't want to download a pack file with commits, trees, and blobs
since these will be downloaded on demand. This flag will skip the
checks on the reachability of objects during a fetch as well as
the upload pack so that extraneous objects don't get downloaded.
GVFS_BLOCK_FILTERS_AND_EOL_CONVERSIONS::
Bit value 64
With a virtual file system we only know the file size before any
CRLF or smudge/clean filters processing is done on the client.
To prevent file corruption due to truncation or expansion with
garbage at the end, these filters must not run when the file
is first accessed and brought down to the client. Git.exe can't
currently tell the first access vs subsequent accesses so this
flag just blocks them from occurring at all.
--

core.sparseCheckout::
Enable "sparse checkout" feature. See section "Sparse checkout" in
linkgit:git-read-tree[1] for more information.
Expand Down
27 changes: 27 additions & 0 deletions Documentation/config/status.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,11 @@ status.branch::
Set to true to enable --branch by default in linkgit:git-status[1].
The option --no-branch takes precedence over this variable.

status.aheadBehind::
EXPERIMENTAL, Set to true to enable --ahead-behind and false to
enable --no-ahead-behind by default in linkgit:git-status[1] for
non-porcelain status formats. Defaults to true.

status.displayCommentPrefix::
If set to true, linkgit:git-status[1] will insert a comment
prefix before each output line (starting with
Expand Down Expand Up @@ -70,3 +75,25 @@ status.submoduleSummary::
the --ignore-submodules=dirty command-line option or the 'git
submodule summary' command, which shows a similar output but does
not honor these settings.

status.deserializePath::
EXPERIMENTAL, Pathname to a file containing cached status results
generated by `--serialize`. This will be overridden by
`--deserialize=<path>` on the command line. If the cache file is
invalid or stale, git will fall-back and compute status normally.

status.deserializeWait::
EXPERIMENTAL, Specifies what `git status --deserialize` should do
if the serialization cache file is stale and whether it should
fall-back and compute status normally. This will be overridden by
`--deserialize-wait=<value>` on the command line.
+
--
* `fail` - cause git to exit with an error when the status cache file
is stale; this is intended for testing and debugging.
* `block` - cause git to spin and periodically retry the cache file
every 100 ms; this is intended to help coordinate with another git
instance concurrently computing the cache file.
* `no` - to immediately fall-back if cache file is stale. This is the default.
* `<timeout>` - time (in tenths of a second) to spin and retry.
--
13 changes: 13 additions & 0 deletions Documentation/fetch-options.txt
Original file line number Diff line number Diff line change
Expand Up @@ -220,6 +220,19 @@ endif::git-pull[]
When multiple `--server-option=<option>` are given, they are all
sent to the other side in the order listed on the command line.

--show-forced-updates::
By default, git checks if a branch is force-updated during
fetch. This can be disabled through fetch.showForcedUpdates, but
the --show-forced-updates option guarantees this check occurs.
See linkgit:git-config[1].

--no-show-forced-updates::
By default, git checks if a branch is force-updated during
fetch. Pass --no-show-forced-updates or set fetch.showForcedUpdates
to false to skip this check for performance reasons. If used during
'git-pull' the --ff-only option will still check for forced updates
before attempting a fast-forward update. See linkgit:git-config[1].

-4::
--ipv4::
Use IPv4 addresses only, ignoring IPv6 addresses.
Expand Down
4 changes: 2 additions & 2 deletions Documentation/git-apply.txt
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ OPTIONS
disables it is in effect), make sure the patch is
applicable to what the current index file records. If
the file to be patched in the working tree is not
up to date, it is flagged as an error. This flag also
up-to-date, it is flagged as an error. This flag also
causes the index file to be updated.

--cached::
Expand Down Expand Up @@ -269,7 +269,7 @@ treats these changes as follows.
If `--index` is specified (explicitly or implicitly), then the submodule
commits must match the index exactly for the patch to apply. If any
of the submodules are checked-out, then these check-outs are completely
ignored, i.e., they are not required to be up to date or clean and they
ignored, i.e., they are not required to be up-to-date or clean and they
are not updated.

If `--index` is not specified, then the submodule commits in the patch
Expand Down
2 changes: 1 addition & 1 deletion Documentation/git-cvsserver.txt
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ access method and requested operation.
That means that even if you offer only read access (e.g. by using
the pserver method), 'git-cvsserver' should have write access to
the database to work reliably (otherwise you need to make sure
that the database is up to date any time 'git-cvsserver' is executed).
that the database is up-to-date any time 'git-cvsserver' is executed).

By default it uses SQLite databases in the Git directory, named
`gitcvs.<module_name>.sqlite`. Note that the SQLite backend creates
Expand Down
6 changes: 3 additions & 3 deletions Documentation/git-diff-index.txt
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ a 'git write-tree' + 'git diff-tree'. Thus that's the default mode.
The non-cached version asks the question:

show me the differences between HEAD and the currently checked out
tree - index contents _and_ files that aren't up to date
tree - index contents _and_ files that aren't up-to-date

which is obviously a very useful question too, since that tells you what
you *could* commit. Again, the output matches the 'git diff-tree -r'
Expand All @@ -100,8 +100,8 @@ have not actually done a 'git update-index' on it yet - there is no
torvalds@ppc970:~/v2.6/linux> git diff-index --abbrev HEAD
:100644 100664 7476bb... 000000... kernel/sched.c

i.e., it shows that the tree has changed, and that `kernel/sched.c` is
not up to date and may contain new stuff. The all-zero sha1 means that to
i.e., it shows that the tree has changed, and that `kernel/sched.c` has is
not up-to-date and may contain new stuff. The all-zero sha1 means that to
get the real diff, you need to look at the object in the working directory
directly rather than do an object-to-object diff.

Expand Down
2 changes: 1 addition & 1 deletion Documentation/git-merge.txt
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ narrow exceptions to this rule may exist depending on which merge
strategy is in use, but generally, the index must match HEAD.)

If all named commits are already ancestors of `HEAD`, 'git merge'
will exit early with the message "Already up to date."
will exit early with the message "Already up-to-date."

FAST-FORWARD MERGE
------------------
Expand Down
2 changes: 1 addition & 1 deletion Documentation/git-rerere.txt
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,7 @@ development on the topic branch:
------------

you could run `git rebase master topic`, to bring yourself
up to date before your topic is ready to be sent upstream.
up-to-date before your topic is ready to be sent upstream.
This would result in falling back to a three-way merge, and it
would conflict the same way as the test merge you resolved earlier.
'git rerere' will be run by 'git rebase' to help you resolve this
Expand Down
2 changes: 1 addition & 1 deletion Documentation/git-rm.txt
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ the submodule's history. If it exists the submodule.<name> section
in the linkgit:gitmodules[5] file will also be removed and that file
will be staged (unless --cached or -n are used).

A submodule is considered up to date when the HEAD is the same as
A submodule is considered up-to-date when the HEAD is the same as
recorded in the index, no tracked files are modified and no untracked
files that aren't ignored are present in the submodules work tree.
Ignored files are deemed expendable and won't stop a submodule's work
Expand Down
35 changes: 35 additions & 0 deletions Documentation/git-status.txt
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,21 @@ ignored, then the directory is not shown, but all contents are shown.
update it afterwards if any changes were detected. Defaults to
`--lock-index`.

--serialize[=<path>]::
(EXPERIMENTAL) Serialize raw status results to a file or stdout
in a format suitable for use by `--deserialize`. If a path is
given, serialize data will be written to that path *and* normal
status output will be written to stdout. If path is omitted,
only binary serialization data will be written to stdout.

--deserialize[=<path>]::
(EXPERIMENTAL) Deserialize raw status results from a file or
stdin rather than scanning the worktree. If `<path>` is omitted
and `status.deserializePath` is unset, input is read from stdin.
--no-deserialize::
(EXPERIMENTAL) Disable implicit deserialization of status results
from the value of `status.deserializePath`.

<pathspec>...::
See the 'pathspec' entry in linkgit:gitglossary[7].

Expand Down Expand Up @@ -389,6 +404,26 @@ quoted as explained for the configuration variable `core.quotePath`
(see linkgit:git-config[1]).


SERIALIZATION and DESERIALIZATION (EXPERIMENTAL)
------------------------------------------------

The `--serialize` option allows git to cache the result of a
possibly time-consuming status scan to a binary file. A local
service/daemon watching file system events could use this to
periodically pre-compute a fresh status result.

Interactive users could then use `--deserialize` to simply
(and immediately) print the last-known-good result without
waiting for the status scan.

The binary serialization file format includes some worktree state
information allowing `--deserialize` to reject the cached data
and force a normal status scan if, for example, the commit, branch,
or status modes/options change. The format cannot, however, indicate
when the cached data is otherwise stale -- that coordination belongs
to the task driving the serializations.


CONFIGURATION
-------------

Expand Down
2 changes: 1 addition & 1 deletion Documentation/git-svn.txt
Original file line number Diff line number Diff line change
Expand Up @@ -424,7 +424,7 @@ Any other arguments are passed directly to 'git log'
'set-tree'::
You should consider using 'dcommit' instead of this command.
Commit specified commit or tree objects to SVN. This relies on
your imported fetch data being up to date. This makes
your imported fetch data being up-to-date. This makes
absolutely no attempts to do patching when committing to SVN, it
simply overwrites files with those specified in the tree or
commit. All merging is assumed to have taken place
Expand Down
2 changes: 1 addition & 1 deletion Documentation/git-update-index.txt
Original file line number Diff line number Diff line change
Expand Up @@ -231,7 +231,7 @@ will remove the intended effect of the option.
USING --REFRESH
---------------
`--refresh` does not calculate a new sha1 file or bring the index
up to date for mode/content changes. But what it *does* do is to
up-to-date for mode/content changes. But what it *does* do is to
"re-match" the stat information of a file with the index, so that you
can refresh the index for a file that hasn't been changed but where
the stat entry is out of date.
Expand Down
8 changes: 4 additions & 4 deletions Documentation/gitcore-tutorial.txt
Original file line number Diff line number Diff line change
Expand Up @@ -631,7 +631,7 @@ So after you do a `cp -a` to create a new copy, you'll want to do
$ git update-index --refresh
----------------
+
in the new repository to make sure that the index file is up to date.
in the new repository to make sure that the index file is up-to-date.

Note that the second point is true even across machines. You can
duplicate a remote Git repository with *any* regular copy mechanism, be it
Expand Down Expand Up @@ -701,7 +701,7 @@ $ git checkout-index -u -a
----------------

where the `-u` flag means that you want the checkout to keep the index
up to date (so that you don't have to refresh it afterward), and the
up-to-date (so that you don't have to refresh it afterward), and the
`-a` flag means "check out all files" (if you have a stale copy or an
older version of a checked out tree you may also need to add the `-f`
flag first, to tell 'git checkout-index' to *force* overwriting of any old
Expand Down Expand Up @@ -1283,7 +1283,7 @@ run a single command, 'git-receive-pack'.

First, you need to create an empty repository on the remote
machine that will house your public repository. This empty
repository will be populated and be kept up to date by pushing
repository will be populated and be kept up-to-date by pushing
into it later. Obviously, this repository creation needs to be
done only once.

Expand Down Expand Up @@ -1450,7 +1450,7 @@ transport protocols (HTTP), you need to keep this repository
would contain a call to 'git update-server-info'
but you need to manually enable the hook with
`mv post-update.sample post-update`. This makes sure
'git update-server-info' keeps the necessary files up to date.
'git update-server-info' keeps the necessary files up-to-date.

3. Push into the public repository from your primary
repository.
Expand Down
20 changes: 20 additions & 0 deletions Documentation/githooks.txt
Original file line number Diff line number Diff line change
Expand Up @@ -492,6 +492,26 @@ This hook is invoked by `git-p4 submit`. It takes no parameters and nothing
from standard input. Exiting with non-zero status from this script prevent
`git-p4 submit` from launching. Run `git-p4 submit --help` for details.

virtualFilesystem
~~~~~~~~~~~~~~~~~~

"Virtual File System" allows populating the working directory sparsely.
The projection data is typically automatically generated by an external
process. Git will limit what files it checks for changes as well as which
directories are checked for untracked files based on the path names given.
Git will also only update those files listed in the projection.

The hook is invoked when the configuration option core.virtualFilesystem
is set. It takes one argument, a version (currently 1).

The hook should output to stdout the list of all files in the working
directory that git should track. The paths are relative to the root
of the working directory and are separated by a single NUL. Full paths
('dir1/a.txt') as well as directories are supported (ie 'dir1/').

The exit status determines whether git will use the data from the
hook. On error, git will abort the command with an error message.

GIT
---
Part of the linkgit:git[1] suite
2 changes: 1 addition & 1 deletion Documentation/gitrepository-layout.txt
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ objects/info/packs::
This file is to help dumb transports discover what packs
are available in this object store. Whenever a pack is
added or removed, `git update-server-info` should be run
to keep this file up to date if the repository is
to keep this file up-to-date if the repository is
published for dumb transports. 'git repack' does this
by default.

Expand Down
2 changes: 1 addition & 1 deletion Documentation/gittutorial.txt
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ summary of the situation with 'git status':
$ git status
On branch master
Changes to be committed:
Your branch is up to date with 'origin/master'.
Your branch is up-to-date with 'origin/master'.
(use "git reset HEAD <file>..." to unstage)

modified: file1
Expand Down
2 changes: 1 addition & 1 deletion Documentation/merge-options.txt
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ set to `no` at the beginning of them.

--ff-only::
Refuse to merge and exit with a non-zero status unless the
current `HEAD` is already up to date or the merge can be
current `HEAD` is already up-to-date or the merge can be
resolved as a fast-forward.

-S[<keyid>]::
Expand Down
2 changes: 1 addition & 1 deletion Documentation/technical/pack-protocol.txt
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,7 @@ After reference and capabilities discovery, the client can decide to
terminate the connection by sending a flush-pkt, telling the server it can
now gracefully terminate, and disconnect, when it does not need any pack
data. This can happen with the ls-remote command, and also can happen when
the client already is up to date.
the client already is up-to-date.

Otherwise, it enters the negotiation phase, where the client and
server determine what the minimal packfile necessary for transport is,
Expand Down
Loading