зеркало из https://github.com/microsoft/git.git
scalar: adjust documentation to the microsoft/git fork
Scalar in Microsoft's Git fork can do a little more than Scalar in upstream Git: in Microsoft's Git, it supports the GVFS protocol so that Scalar can clone from Azure DevOps. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This commit is contained in:
Родитель
e5bba44902
Коммит
df8f8de49e
|
@ -18,8 +18,9 @@ Creating a new Scalar clone
|
||||||
---------------------------------------------------
|
---------------------------------------------------
|
||||||
|
|
||||||
The `clone` verb creates a local enlistment of a remote repository using the
|
The `clone` verb creates a local enlistment of a remote repository using the
|
||||||
partial clone feature available e.g. on GitHub.
|
partial clone feature available e.g. on GitHub, or using the
|
||||||
|
[GVFS protocol](https://github.com/microsoft/VFSForGit/blob/HEAD/Protocol.md),
|
||||||
|
such as Azure Repos.
|
||||||
|
|
||||||
```
|
```
|
||||||
scalar clone [options] <url> [<dir>]
|
scalar clone [options] <url> [<dir>]
|
||||||
|
@ -68,11 +69,26 @@ in `<path>`.
|
||||||
These options allow a user to customize their initial enlistment.
|
These options allow a user to customize their initial enlistment.
|
||||||
|
|
||||||
* `--full-clone`: If specified, do not initialize the sparse-checkout feature.
|
* `--full-clone`: If specified, do not initialize the sparse-checkout feature.
|
||||||
All files will be present in your `src` directory. This uses a Git partial
|
All files will be present in your `src` directory. This behaves very similar
|
||||||
clone: blobs are downloaded on demand.
|
to a Git partial clone in that blobs are downloaded on demand. However, it
|
||||||
|
will use the GVFS protocol to download all Git objects.
|
||||||
|
|
||||||
|
* `--cache-server-url=<url>`: If specified, set the intended cache server to
|
||||||
|
the specified `<url>`. All object queries will use the GVFS protocol to this
|
||||||
|
`<url>` instead of the origin remote. If the remote supplies a list of
|
||||||
|
cache servers via the `<url>/gvfs/config` endpoint, then the `clone` command
|
||||||
|
will select a nearby cache server from that list.
|
||||||
|
|
||||||
* `--branch=<ref>`: Specify the branch to checkout after clone.
|
* `--branch=<ref>`: Specify the branch to checkout after clone.
|
||||||
|
|
||||||
|
* `--local-cache-path=<path>`: Use this option to override the path for the
|
||||||
|
local Scalar cache. If not specified, then Scalar will select a default
|
||||||
|
path to share objects with your other enlistments. On Windows, this path
|
||||||
|
is a subdirectory of `<Volume>:\.scalarCache\`. On Mac, this path is a
|
||||||
|
subdirectory of `~/.scalarCache/`. The default cache path is recommended so
|
||||||
|
multiple enlistments of the same remote repository share objects on the
|
||||||
|
same device.
|
||||||
|
|
||||||
### Advanced Options
|
### Advanced Options
|
||||||
|
|
||||||
The options below are not intended for use by a typical user. These are
|
The options below are not intended for use by a typical user. These are
|
||||||
|
|
|
@ -28,10 +28,14 @@ these features for that repo (except partial clone) and start running suggested
|
||||||
maintenance in the background using
|
maintenance in the background using
|
||||||
[the `git maintenance` feature](https://git-scm.com/docs/git-maintenance).
|
[the `git maintenance` feature](https://git-scm.com/docs/git-maintenance).
|
||||||
|
|
||||||
Repos cloned with the `scalar clone` command use partial clone to significantly
|
Repos cloned with the `scalar clone` command use partial clone or the
|
||||||
reduce the amount of data required to get started using a repository. By
|
[GVFS protocol](https://github.com/microsoft/VFSForGit/blob/HEAD/Protocol.md)
|
||||||
delaying all blob downloads until they are required, Scalar allows you to work
|
to significantly reduce the amount of data required to get started
|
||||||
with very large repositories quickly.
|
using a repository. By delaying all blob downloads until they are required,
|
||||||
|
Scalar allows you to work with very large repositories quickly. The GVFS
|
||||||
|
protocol allows a network of _cache servers_ to serve objects with lower
|
||||||
|
latency and higher throughput. The cache servers also reduce load on the
|
||||||
|
central server.
|
||||||
|
|
||||||
Documentation
|
Documentation
|
||||||
-------------
|
-------------
|
||||||
|
@ -42,7 +46,7 @@ Documentation
|
||||||
|
|
||||||
* [Troubleshooting](troubleshooting.md):
|
* [Troubleshooting](troubleshooting.md):
|
||||||
Collect diagnostic information or update custom settings. Includes
|
Collect diagnostic information or update custom settings. Includes
|
||||||
`scalar diagnose`.
|
`scalar diagnose` and `scalar cache-server`.
|
||||||
|
|
||||||
* [The Philosophy of Scalar](philosophy.md): Why does Scalar work the way
|
* [The Philosophy of Scalar](philosophy.md): Why does Scalar work the way
|
||||||
it does, and how do we make decisions about its future?
|
it does, and how do we make decisions about its future?
|
||||||
|
|
|
@ -13,22 +13,27 @@ Scalar only to configure those new settings. In particular, we ported
|
||||||
features like background maintenance to Git to make Scalar simpler and
|
features like background maintenance to Git to make Scalar simpler and
|
||||||
make Git more powerful.
|
make Git more powerful.
|
||||||
|
|
||||||
Services such as GitHub support partial clone , a standard adopted by the Git
|
Scalar ships inside [a custom version of Git][microsoft-git], but we are
|
||||||
project to download only part of the Git objects when cloning, and fetching
|
working to make it available in other forks of Git. The only feature
|
||||||
further objects on demand. If your hosting service supports partial clone, then
|
that is not intended to ever reach the standard Git client is Scalar's use
|
||||||
we absolutely recommend it as a way to greatly speed up your clone and fetch
|
of [the GVFS Protocol][gvfs-protocol], which is essentially an older
|
||||||
times and to reduce how much disk space your Git repository requires. Scalar
|
version of [Git's partial clone feature](https://github.blog/2020-12-21-get-up-to-speed-with-partial-clone-and-shallow-clone/)
|
||||||
will help with this!
|
that was available first in Azure Repos. Services such as GitHub support
|
||||||
|
only partial clone instead of the GVFS protocol because that is the
|
||||||
|
standard adopted by the Git project. If your hosting service supports
|
||||||
|
partial clone, then we absolutely recommend it as a way to greatly speed
|
||||||
|
up your clone and fetch times and to reduce how much disk space your Git
|
||||||
|
repository requires. Scalar will help with this!
|
||||||
|
|
||||||
Most of the value of Scalar can be found in the core Git client. However, most
|
If you don't use the GVFS Protocol, then most of the value of Scalar can
|
||||||
of the advanced features that really optimize Git's performance are off by
|
be found in the core Git client. However, most of the advanced features
|
||||||
default for compatibility reasons. To really take advantage of Git's latest and
|
that really optimize Git's performance are off by default for compatibility
|
||||||
greatest features, you either need to study the [`git config`
|
reasons. To really take advantage of Git's latest and greatest features,
|
||||||
documentation](https://git-scm.com/docs/git-config) and regularly read [the Git
|
you either need to study the [`git config` documentation](https://git-scm.com/docs/git-config)
|
||||||
release notes](https://github.com/git/git/tree/master/Documentation/RelNotes).
|
and regularly read [the Git release notes](https://github.com/git/git/tree/master/Documentation/RelNotes).
|
||||||
Even if you do all that work and customize your Git settings on your machines,
|
Even if you do all that work and customize your Git settings on your machines,
|
||||||
you likely will want to share those settings with other team members. Or, you
|
you likely will want to share those settings with other team members.
|
||||||
can just use Scalar!
|
Or, you can just use Scalar!
|
||||||
|
|
||||||
Using `scalar register` on an existing Git repository will give you these
|
Using `scalar register` on an existing Git repository will give you these
|
||||||
benefits:
|
benefits:
|
||||||
|
|
|
@ -18,3 +18,23 @@ files for that repository. This includes:
|
||||||
|
|
||||||
As the `diagnose` command completes, it provides the path of the resulting
|
As the `diagnose` command completes, it provides the path of the resulting
|
||||||
zip file. This zip can be attached to bug reports to make the analysis easier.
|
zip file. This zip can be attached to bug reports to make the analysis easier.
|
||||||
|
|
||||||
|
Modifying Configuration Values
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
The Scalar-specific configuration is only available for repos using the
|
||||||
|
GVFS protocol.
|
||||||
|
|
||||||
|
### Cache Server URL
|
||||||
|
|
||||||
|
When using an enlistment cloned with `scalar clone` and the GVFS protocol,
|
||||||
|
you will have a value called the cache server URL. Cache servers are a feature
|
||||||
|
of the GVFS protocol to provide low-latency access to the on-demand object
|
||||||
|
requests. This modifies the `gvfs.cache-server` setting in your local Git config
|
||||||
|
file.
|
||||||
|
|
||||||
|
Run `scalar cache-server --get` to see the current cache server.
|
||||||
|
|
||||||
|
Run `scalar cache-server --list` to see the available cache server URLs.
|
||||||
|
|
||||||
|
Run `scalar cache-server --set=<url>` to set your cache server to `<url>`.
|
||||||
|
|
Загрузка…
Ссылка в новой задаче