summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2022-09-19 15:05:53 -0700
committerJunio C Hamano <gitster@pobox.com>2022-09-19 15:05:53 -0700
commitbb778e77f3ba317e02d2880ca7148ea66a17dd8a (patch)
tree97adfbefe1560b238f317f76f89ee42111f9a5fb
parent3778ccc1fc47703b374e85d4e38fbe84d360f740 (diff)
downloadgit-htmldocs-bb778e77f3ba317e02d2880ca7148ea66a17dd8a.tar.gz
Autogenerated HTML docs for v2.38.0-rc0-52-gdda722
-rw-r--r--RelNotes/2.38.0.txt25
-rw-r--r--cmds-ancillaryinterrogators.txt30
-rw-r--r--cmds-ancillarymanipulators.txt22
-rw-r--r--cmds-developerinterfaces.txt22
-rw-r--r--cmds-foreignscminterface.txt20
-rw-r--r--cmds-guide.txt26
-rw-r--r--cmds-mainporcelain.txt89
-rw-r--r--cmds-plumbinginterrogators.txt42
-rw-r--r--cmds-plumbingmanipulators.txt38
-rw-r--r--cmds-purehelpers.txt36
-rw-r--r--cmds-synchelpers.txt12
-rw-r--r--cmds-synchingrepositories.txt10
-rw-r--r--cmds-userinterfaces.txt16
-rw-r--r--git.html368
-rw-r--r--howto/coordinate-embargoed-releases.html2
-rw-r--r--howto/keep-canonical-history-correct.html2
-rw-r--r--howto/maintain-git.html2
-rw-r--r--howto/new-command.html2
-rw-r--r--howto/rebase-from-internal-branch.html2
-rw-r--r--howto/rebuild-from-update-hook.html2
-rw-r--r--howto/recover-corrupted-blob-object.html2
-rw-r--r--howto/recover-corrupted-object-harder.html2
-rw-r--r--howto/revert-a-faulty-merge.html2
-rw-r--r--howto/revert-branch-rebase.html2
-rw-r--r--howto/separating-topic-branches.html2
-rw-r--r--howto/setup-git-server-over-http.html2
-rw-r--r--howto/update-hook-example.html2
-rw-r--r--howto/use-git-daemon.html2
-rw-r--r--howto/using-merge-subtree.html2
-rw-r--r--howto/using-signed-tag-in-pull-request.html2
-rw-r--r--scalar.html995
-rw-r--r--scalar.txt166
-rw-r--r--technical/scalar.html840
-rw-r--r--technical/scalar.txt61
34 files changed, 2402 insertions, 448 deletions
diff --git a/RelNotes/2.38.0.txt b/RelNotes/2.38.0.txt
index 01617baa9..5d9bd8c29 100644
--- a/RelNotes/2.38.0.txt
+++ b/RelNotes/2.38.0.txt
@@ -6,7 +6,7 @@ UI, Workflows & Features
* "git remote show [-n] frotz" now pays attention to negative
pathspec.
- * "git push" sometimes perform poorly when reachability bitmaps are
+ * "git push" sometimes performs poorly when reachability bitmaps are
used, even in a repository where other operations are helped by
bitmaps. The push.useBitmaps configuration variable is introduced
to allow disabling use of reachability bitmaps only for "git push".
@@ -27,7 +27,7 @@ UI, Workflows & Features
what locale they are in by sending Accept-Language HTTP header, but
this was done only for some requests but not others.
- * Introduce a discovery.barerepository configuration variable that
+ * Introduce a safe.barerepository configuration variable that
allows users to forbid discovery of bare repositories.
* Various messages that come from the pack-bitmap codepaths have been
@@ -79,12 +79,15 @@ UI, Workflows & Features
* "git format-patch --from=<ident>" can be told to add an in-body
"From:" line even for commits that are authored by the given
- <ident> with "--force-in-body-from"option.
+ <ident> with "--force-in-body-from" option.
* The built-in fsmonitor refuses to work on a network mounted
repositories; a configuration knob for users to override this has
been introduced.
+ * The "scalar" addition from Microsoft is now part of the core Git
+ installation.
+
Performance, Internal Implementation, Development Support etc.
@@ -127,7 +130,7 @@ Performance, Internal Implementation, Development Support etc.
* The way "git multi-pack" uses parse-options API has been improved.
- * A coccinelle rule (in contrib/) to encourage use of COPY_ARRAY
+ * A Coccinelle rule (in contrib/) to encourage use of COPY_ARRAY
macro has been improved.
* API tweak to make it easier to run fuzz testing on commit-graph parser.
@@ -172,6 +175,12 @@ Performance, Internal Implementation, Development Support etc.
* Share the text used to explain configuration variables used by "git
<subcmd>" in "git help <subcmd>" with the text from "git help config".
+ * "git mv A B" in a sparsely populated working tree can be asked to
+ move a path from a directory that is "in cone" to another directory
+ that is "out of cone". Handling of such a case has been improved.
+
+ * The chainlint script for our tests has been revamped.
+
Fixes since v2.37
-----------------
@@ -297,7 +306,7 @@ Fixes since v2.37
* "git fsck" reads mode from tree objects but canonicalizes the mode
before passing it to the logic to check object sanity, which has
hid broken tree objects from the checking logic. This has been
- corrected, but to help exiting projects with broken tree objects
+ corrected, but to help existing projects with broken tree objects
that they cannot fix retroactively, the severity of anomalies this
code detects has been demoted to "info" for now.
@@ -306,12 +315,10 @@ Fixes since v2.37
* An earlier optimization discarded a tree-object buffer that is
still in use, which has been corrected.
- (merge 1490d7d82d jk/is-promisor-object-keep-tree-in-use later to maint).
* Fix deadlocks between main Git process and subprocess spawned via
the pipe_command() API, that can kill "git add -p" that was
reimplemented in C recently.
- (merge 716c1f649e jk/pipe-command-nonblock later to maint).
* The sequencer machinery translated messages left in the reflog by
mistake, which has been corrected.
@@ -319,20 +326,16 @@ Fixes since v2.37
* xcalloc(), imitating calloc(), takes "number of elements of the
array", and "size of a single element", in this order. A call that
does not follow this ordering has been corrected.
- (merge c4bbd9bb8f sg/xcalloc-cocci-fix later to maint).
* The preload-index codepath made copies of pathspec to give to
multiple threads, which were left leaked.
- (merge 23578904da ad/preload-plug-memleak later to maint).
* Update the version of Ubuntu used for GitHub Actions CI from 18.04
to 22.04.
- (merge ef46584831 ds/github-actions-use-newer-ubuntu later to maint).
* The auto-stashed local changes created by "git merge --autostash"
was mixed into a conflicted state left in the working tree, which
has been corrected.
- (merge d3a9295ada en/merge-unstash-only-on-clean-merge later to maint).
* Multi-pack index got corrupted when preferred pack changed from one
pack to another in a certain way, which has been corrected.
diff --git a/cmds-ancillaryinterrogators.txt b/cmds-ancillaryinterrogators.txt
index 3058ab604..d43f7cec9 100644
--- a/cmds-ancillaryinterrogators.txt
+++ b/cmds-ancillaryinterrogators.txt
@@ -1,45 +1,45 @@
-linkgit:git-annotate[1]::
+linkgit:git-annotate[git]::
Annotate file lines with commit information.
-linkgit:git-blame[1]::
+linkgit:git-blame[git]::
Show what revision and author last modified each line of a file.
-linkgit:git-bugreport[1]::
+linkgit:git-bugreport[git]::
Collect information for user to file a bug report.
-linkgit:git-count-objects[1]::
+linkgit:git-count-objects[git]::
Count unpacked number of objects and their disk consumption.
-linkgit:git-difftool[1]::
+linkgit:git-difftool[git]::
Show changes using common diff tools.
-linkgit:git-fsck[1]::
+linkgit:git-fsck[git]::
Verifies the connectivity and validity of the objects in the database.
-linkgit:git-help[1]::
+linkgit:git-help[git]::
Display help information about Git.
-linkgit:git-instaweb[1]::
+linkgit:git-instaweb[git]::
Instantly browse your working repository in gitweb.
-linkgit:git-merge-tree[1]::
+linkgit:git-merge-tree[git]::
Perform merge without touching index or working tree.
-linkgit:git-rerere[1]::
+linkgit:git-rerere[git]::
Reuse recorded resolution of conflicted merges.
-linkgit:git-show-branch[1]::
+linkgit:git-show-branch[git]::
Show branches and their commits.
-linkgit:git-verify-commit[1]::
+linkgit:git-verify-commit[git]::
Check the GPG signature of commits.
-linkgit:git-verify-tag[1]::
+linkgit:git-verify-tag[git]::
Check the GPG signature of tags.
-linkgit:git-whatchanged[1]::
+linkgit:git-whatchanged[git]::
Show logs with difference each commit introduces.
-linkgit:gitweb[1]::
+linkgit:gitweb[git]::
Git web interface (web frontend to Git repositories).
diff --git a/cmds-ancillarymanipulators.txt b/cmds-ancillarymanipulators.txt
index f3d3f12d3..c0932e377 100644
--- a/cmds-ancillarymanipulators.txt
+++ b/cmds-ancillarymanipulators.txt
@@ -1,33 +1,33 @@
-linkgit:git-config[1]::
+linkgit:git-config[git]::
Get and set repository or global options.
-linkgit:git-fast-export[1]::
+linkgit:git-fast-export[git]::
Git data exporter.
-linkgit:git-fast-import[1]::
+linkgit:git-fast-import[git]::
Backend for fast Git data importers.
-linkgit:git-filter-branch[1]::
+linkgit:git-filter-branch[git]::
Rewrite branches.
-linkgit:git-mergetool[1]::
+linkgit:git-mergetool[git]::
Run merge conflict resolution tools to resolve merge conflicts.
-linkgit:git-pack-refs[1]::
+linkgit:git-pack-refs[git]::
Pack heads and tags for efficient repository access.
-linkgit:git-prune[1]::
+linkgit:git-prune[git]::
Prune all unreachable objects from the object database.
-linkgit:git-reflog[1]::
+linkgit:git-reflog[git]::
Manage reflog information.
-linkgit:git-remote[1]::
+linkgit:git-remote[git]::
Manage set of tracked repositories.
-linkgit:git-repack[1]::
+linkgit:git-repack[git]::
Pack unpacked objects in a repository.
-linkgit:git-replace[1]::
+linkgit:git-replace[git]::
Create, list, delete refs to replace objects.
diff --git a/cmds-developerinterfaces.txt b/cmds-developerinterfaces.txt
index e060960bb..667404195 100644
--- a/cmds-developerinterfaces.txt
+++ b/cmds-developerinterfaces.txt
@@ -1,33 +1,33 @@
-linkgit:gitformat-bundle[5]::
+linkgit:gitformat-bundle[git]::
The bundle file format.
-linkgit:gitformat-chunk[5]::
+linkgit:gitformat-chunk[git]::
Chunk-based file formats.
-linkgit:gitformat-commit-graph[5]::
+linkgit:gitformat-commit-graph[git]::
Git commit graph format.
-linkgit:gitformat-index[5]::
+linkgit:gitformat-index[git]::
Git index format.
-linkgit:gitformat-pack[5]::
+linkgit:gitformat-pack[git]::
Git pack format.
-linkgit:gitformat-signature[5]::
+linkgit:gitformat-signature[git]::
Git cryptographic signature formats.
-linkgit:gitprotocol-capabilities[5]::
+linkgit:gitprotocol-capabilities[git]::
Protocol v0 and v1 capabilities.
-linkgit:gitprotocol-common[5]::
+linkgit:gitprotocol-common[git]::
Things common to various protocols.
-linkgit:gitprotocol-http[5]::
+linkgit:gitprotocol-http[git]::
Git HTTP-based protocols.
-linkgit:gitprotocol-pack[5]::
+linkgit:gitprotocol-pack[git]::
How packs are transferred over-the-wire.
-linkgit:gitprotocol-v2[5]::
+linkgit:gitprotocol-v2[git]::
Git Wire Protocol, Version 2.
diff --git a/cmds-foreignscminterface.txt b/cmds-foreignscminterface.txt
index 29236a058..aa1d310a1 100644
--- a/cmds-foreignscminterface.txt
+++ b/cmds-foreignscminterface.txt
@@ -1,30 +1,30 @@
-linkgit:git-archimport[1]::
+linkgit:git-archimport[git]::
Import a GNU Arch repository into Git.
-linkgit:git-cvsexportcommit[1]::
+linkgit:git-cvsexportcommit[git]::
Export a single commit to a CVS checkout.
-linkgit:git-cvsimport[1]::
+linkgit:git-cvsimport[git]::
Salvage your data out of another SCM people love to hate.
-linkgit:git-cvsserver[1]::
+linkgit:git-cvsserver[git]::
A CVS server emulator for Git.
-linkgit:git-imap-send[1]::
+linkgit:git-imap-send[git]::
Send a collection of patches from stdin to an IMAP folder.
-linkgit:git-p4[1]::
+linkgit:git-p4[git]::
Import from and submit to Perforce repositories.
-linkgit:git-quiltimport[1]::
+linkgit:git-quiltimport[git]::
Applies a quilt patchset onto the current branch.
-linkgit:git-request-pull[1]::
+linkgit:git-request-pull[git]::
Generates a summary of pending changes.
-linkgit:git-send-email[1]::
+linkgit:git-send-email[git]::
Send a collection of patches as emails.
-linkgit:git-svn[1]::
+linkgit:git-svn[git]::
Bidirectional operation between a Subversion repository and Git.
diff --git a/cmds-guide.txt b/cmds-guide.txt
index 3c0eeb3dc..e79055c86 100644
--- a/cmds-guide.txt
+++ b/cmds-guide.txt
@@ -1,39 +1,39 @@
-linkgit:gitcore-tutorial[7]::
+linkgit:gitcore-tutorial[git]::
A Git core tutorial for developers.
-linkgit:gitcredentials[7]::
+linkgit:gitcredentials[git]::
Providing usernames and passwords to Git.
-linkgit:gitcvs-migration[7]::
+linkgit:gitcvs-migration[git]::
Git for CVS users.
-linkgit:gitdiffcore[7]::
+linkgit:gitdiffcore[git]::
Tweaking diff output.
-linkgit:giteveryday[7]::
+linkgit:giteveryday[git]::
A useful minimum set of commands for Everyday Git.
-linkgit:gitfaq[7]::
+linkgit:gitfaq[git]::
Frequently asked questions about using Git.
-linkgit:gitglossary[7]::
+linkgit:gitglossary[git]::
A Git Glossary.
-linkgit:gitnamespaces[7]::
+linkgit:gitnamespaces[git]::
Git namespaces.
-linkgit:gitremote-helpers[7]::
+linkgit:gitremote-helpers[git]::
Helper programs to interact with remote repositories.
-linkgit:gitsubmodules[7]::
+linkgit:gitsubmodules[git]::
Mounting one repository inside another.
-linkgit:gittutorial[7]::
+linkgit:gittutorial[git]::
A tutorial introduction to Git.
-linkgit:gittutorial-2[7]::
+linkgit:gittutorial-2[git]::
A tutorial introduction to Git: part two.
-linkgit:gitworkflows[7]::
+linkgit:gitworkflows[git]::
An overview of recommended workflows with Git.
diff --git a/cmds-mainporcelain.txt b/cmds-mainporcelain.txt
index 073970e1f..1aa6141fc 100644
--- a/cmds-mainporcelain.txt
+++ b/cmds-mainporcelain.txt
@@ -1,129 +1,132 @@
-linkgit:git-add[1]::
+linkgit:git-add[git]::
Add file contents to the index.
-linkgit:git-am[1]::
+linkgit:git-am[git]::
Apply a series of patches from a mailbox.
-linkgit:git-archive[1]::
+linkgit:git-archive[git]::
Create an archive of files from a named tree.
-linkgit:git-bisect[1]::
+linkgit:git-bisect[git]::
Use binary search to find the commit that introduced a bug.
-linkgit:git-branch[1]::
+linkgit:git-branch[git]::
List, create, or delete branches.
-linkgit:git-bundle[1]::
+linkgit:git-bundle[git]::
Move objects and refs by archive.
-linkgit:git-checkout[1]::
+linkgit:git-checkout[git]::
Switch branches or restore working tree files.
-linkgit:git-cherry-pick[1]::
+linkgit:git-cherry-pick[git]::
Apply the changes introduced by some existing commits.
-linkgit:git-citool[1]::
+linkgit:git-citool[git]::
Graphical alternative to git-commit.
-linkgit:git-clean[1]::
+linkgit:git-clean[git]::
Remove untracked files from the working tree.
-linkgit:git-clone[1]::
+linkgit:git-clone[git]::
Clone a repository into a new directory.
-linkgit:git-commit[1]::
+linkgit:git-commit[git]::
Record changes to the repository.
-linkgit:git-describe[1]::
+linkgit:git-describe[git]::
Give an object a human readable name based on an available ref.
-linkgit:git-diff[1]::
+linkgit:git-diff[git]::
Show changes between commits, commit and working tree, etc.
-linkgit:git-fetch[1]::
+linkgit:git-fetch[git]::
Download objects and refs from another repository.
-linkgit:git-format-patch[1]::
+linkgit:git-format-patch[git]::
Prepare patches for e-mail submission.
-linkgit:git-gc[1]::
+linkgit:git-gc[git]::
Cleanup unnecessary files and optimize the local repository.
-linkgit:git-grep[1]::
+linkgit:git-grep[git]::
Print lines matching a pattern.
-linkgit:git-gui[1]::
+linkgit:git-gui[git]::
A portable graphical interface to Git.
-linkgit:git-init[1]::
+linkgit:git-init[git]::
Create an empty Git repository or reinitialize an existing one.
-linkgit:git-log[1]::
+linkgit:git-log[git]::
Show commit logs.
-linkgit:git-maintenance[1]::
+linkgit:git-maintenance[git]::
Run tasks to optimize Git repository data.
-linkgit:git-merge[1]::
+linkgit:git-merge[git]::
Join two or more development histories together.
-linkgit:git-mv[1]::
+linkgit:git-mv[git]::
Move or rename a file, a directory, or a symlink.
-linkgit:git-notes[1]::
+linkgit:git-notes[git]::
Add or inspect object notes.
-linkgit:git-pull[1]::
+linkgit:git-pull[git]::
Fetch from and integrate with another repository or a local branch.
-linkgit:git-push[1]::
+linkgit:git-push[git]::
Update remote refs along with associated objects.
-linkgit:git-range-diff[1]::
+linkgit:git-range-diff[git]::
Compare two commit ranges (e.g. two versions of a branch).
-linkgit:git-rebase[1]::
+linkgit:git-rebase[git]::
Reapply commits on top of another base tip.
-linkgit:git-reset[1]::
+linkgit:git-reset[git]::
Reset current HEAD to the specified state.
-linkgit:git-restore[1]::
+linkgit:git-restore[git]::
Restore working tree files.
-linkgit:git-revert[1]::
+linkgit:git-revert[git]::
Revert some existing commits.
-linkgit:git-rm[1]::
+linkgit:git-rm[git]::
Remove files from the working tree and from the index.
-linkgit:git-shortlog[1]::
+linkgit:git-shortlog[git]::
Summarize 'git log' output.
-linkgit:git-show[1]::
+linkgit:git-show[git]::
Show various types of objects.
-linkgit:git-sparse-checkout[1]::
+linkgit:git-sparse-checkout[git]::
Reduce your working tree to a subset of tracked files.
-linkgit:git-stash[1]::
+linkgit:git-stash[git]::
Stash the changes in a dirty working directory away.
-linkgit:git-status[1]::
+linkgit:git-status[git]::
Show the working tree status.
-linkgit:git-submodule[1]::
+linkgit:git-submodule[git]::
Initialize, update or inspect submodules.
-linkgit:git-switch[1]::
+linkgit:git-switch[git]::
Switch branches.
-linkgit:git-tag[1]::
+linkgit:git-tag[git]::
Create, list, delete or verify a tag object signed with GPG.
-linkgit:git-worktree[1]::
+linkgit:git-worktree[git]::
Manage multiple working trees.
-linkgit:gitk[1]::
+linkgit:gitk[git]::
The Git repository browser.
+linkgit:scalar[scalar]::
+ A tool for managing large Git repositories.
+
diff --git a/cmds-plumbinginterrogators.txt b/cmds-plumbinginterrogators.txt
index fe653a8d7..ad84df1bc 100644
--- a/cmds-plumbinginterrogators.txt
+++ b/cmds-plumbinginterrogators.txt
@@ -1,63 +1,63 @@
-linkgit:git-cat-file[1]::
+linkgit:git-cat-file[git]::
Provide content or type and size information for repository objects.
-linkgit:git-cherry[1]::
+linkgit:git-cherry[git]::
Find commits yet to be applied to upstream.
-linkgit:git-diff-files[1]::
+linkgit:git-diff-files[git]::
Compares files in the working tree and the index.
-linkgit:git-diff-index[1]::
+linkgit:git-diff-index[git]::
Compare a tree to the working tree or index.
-linkgit:git-diff-tree[1]::
+linkgit:git-diff-tree[git]::
Compares the content and mode of blobs found via two tree objects.
-linkgit:git-for-each-ref[1]::
+linkgit:git-for-each-ref[git]::
Output information on each ref.
-linkgit:git-for-each-repo[1]::
+linkgit:git-for-each-repo[git]::
Run a Git command on a list of repositories.
-linkgit:git-get-tar-commit-id[1]::
+linkgit:git-get-tar-commit-id[git]::
Extract commit ID from an archive created using git-archive.
-linkgit:git-ls-files[1]::
+linkgit:git-ls-files[git]::
Show information about files in the index and the working tree.
-linkgit:git-ls-remote[1]::
+linkgit:git-ls-remote[git]::
List references in a remote repository.
-linkgit:git-ls-tree[1]::
+linkgit:git-ls-tree[git]::
List the contents of a tree object.
-linkgit:git-merge-base[1]::
+linkgit:git-merge-base[git]::
Find as good common ancestors as possible for a merge.
-linkgit:git-name-rev[1]::
+linkgit:git-name-rev[git]::
Find symbolic names for given revs.
-linkgit:git-pack-redundant[1]::
+linkgit:git-pack-redundant[git]::
Find redundant pack files.
-linkgit:git-rev-list[1]::
+linkgit:git-rev-list[git]::
Lists commit objects in reverse chronological order.
-linkgit:git-rev-parse[1]::
+linkgit:git-rev-parse[git]::
Pick out and massage parameters.
-linkgit:git-show-index[1]::
+linkgit:git-show-index[git]::
Show packed archive index.
-linkgit:git-show-ref[1]::
+linkgit:git-show-ref[git]::
List references in a local repository.
-linkgit:git-unpack-file[1]::
+linkgit:git-unpack-file[git]::
Creates a temporary file with a blob's contents.
-linkgit:git-var[1]::
+linkgit:git-var[git]::
Show a Git logical variable.
-linkgit:git-verify-pack[1]::
+linkgit:git-verify-pack[git]::
Validate packed Git archive files.
diff --git a/cmds-plumbingmanipulators.txt b/cmds-plumbingmanipulators.txt
index b07e5673f..5f4db62c1 100644
--- a/cmds-plumbingmanipulators.txt
+++ b/cmds-plumbingmanipulators.txt
@@ -1,57 +1,57 @@
-linkgit:git-apply[1]::
+linkgit:git-apply[git]::
Apply a patch to files and/or to the index.
-linkgit:git-checkout-index[1]::
+linkgit:git-checkout-index[git]::
Copy files from the index to the working tree.
-linkgit:git-commit-graph[1]::
+linkgit:git-commit-graph[git]::
Write and verify Git commit-graph files.
-linkgit:git-commit-tree[1]::
+linkgit:git-commit-tree[git]::
Create a new commit object.
-linkgit:git-hash-object[1]::
+linkgit:git-hash-object[git]::
Compute object ID and optionally creates a blob from a file.
-linkgit:git-index-pack[1]::
+linkgit:git-index-pack[git]::
Build pack index file for an existing packed archive.
-linkgit:git-merge-file[1]::
+linkgit:git-merge-file[git]::
Run a three-way file merge.
-linkgit:git-merge-index[1]::
+linkgit:git-merge-index[git]::
Run a merge for files needing merging.
-linkgit:git-mktag[1]::
+linkgit:git-mktag[git]::
Creates a tag object with extra validation.
-linkgit:git-mktree[1]::
+linkgit:git-mktree[git]::
Build a tree-object from ls-tree formatted text.
-linkgit:git-multi-pack-index[1]::
+linkgit:git-multi-pack-index[git]::
Write and verify multi-pack-indexes.
-linkgit:git-pack-objects[1]::
+linkgit:git-pack-objects[git]::
Create a packed archive of objects.
-linkgit:git-prune-packed[1]::
+linkgit:git-prune-packed[git]::
Remove extra objects that are already in pack files.
-linkgit:git-read-tree[1]::
+linkgit:git-read-tree[git]::
Reads tree information into the index.
-linkgit:git-symbolic-ref[1]::
+linkgit:git-symbolic-ref[git]::
Read, modify and delete symbolic refs.
-linkgit:git-unpack-objects[1]::
+linkgit:git-unpack-objects[git]::
Unpack objects from a packed archive.
-linkgit:git-update-index[1]::
+linkgit:git-update-index[git]::
Register file contents in the working tree to the index.
-linkgit:git-update-ref[1]::
+linkgit:git-update-ref[git]::
Update the object name stored in a ref safely.
-linkgit:git-write-tree[1]::
+linkgit:git-write-tree[git]::
Create a tree object from the current index.
diff --git a/cmds-purehelpers.txt b/cmds-purehelpers.txt
index 259298821..f2693a414 100644
--- a/cmds-purehelpers.txt
+++ b/cmds-purehelpers.txt
@@ -1,54 +1,54 @@
-linkgit:git-check-attr[1]::
+linkgit:git-check-attr[git]::
Display gitattributes information.
-linkgit:git-check-ignore[1]::
+linkgit:git-check-ignore[git]::
Debug gitignore / exclude files.
-linkgit:git-check-mailmap[1]::
+linkgit:git-check-mailmap[git]::
Show canonical names and email addresses of contacts.
-linkgit:git-check-ref-format[1]::
+linkgit:git-check-ref-format[git]::
Ensures that a reference name is well formed.
-linkgit:git-column[1]::
+linkgit:git-column[git]::
Display data in columns.
-linkgit:git-credential[1]::
+linkgit:git-credential[git]::
Retrieve and store user credentials.
-linkgit:git-credential-cache[1]::
+linkgit:git-credential-cache[git]::
Helper to temporarily store passwords in memory.
-linkgit:git-credential-store[1]::
+linkgit:git-credential-store[git]::
Helper to store credentials on disk.
-linkgit:git-fmt-merge-msg[1]::
+linkgit:git-fmt-merge-msg[git]::
Produce a merge commit message.
-linkgit:git-hook[1]::
+linkgit:git-hook[git]::
Run git hooks.
-linkgit:git-interpret-trailers[1]::
+linkgit:git-interpret-trailers[git]::
Add or parse structured information in commit messages.
-linkgit:git-mailinfo[1]::
+linkgit:git-mailinfo[git]::
Extracts patch and authorship from a single e-mail message.
-linkgit:git-mailsplit[1]::
+linkgit:git-mailsplit[git]::
Simple UNIX mbox splitter program.
-linkgit:git-merge-one-file[1]::
+linkgit:git-merge-one-file[git]::
The standard helper program to use with git-merge-index.
-linkgit:git-patch-id[1]::
+linkgit:git-patch-id[git]::
Compute unique ID for a patch.
-linkgit:git-sh-i18n[1]::
+linkgit:git-sh-i18n[git]::
Git's i18n setup code for shell scripts.
-linkgit:git-sh-setup[1]::
+linkgit:git-sh-setup[git]::
Common Git shell script setup code.
-linkgit:git-stripspace[1]::
+linkgit:git-stripspace[git]::
Remove unnecessary whitespace.
diff --git a/cmds-synchelpers.txt b/cmds-synchelpers.txt
index 253c5d352..d7fa711bf 100644
--- a/cmds-synchelpers.txt
+++ b/cmds-synchelpers.txt
@@ -1,18 +1,18 @@
-linkgit:git-http-fetch[1]::
+linkgit:git-http-fetch[git]::
Download from a remote Git repository via HTTP.
-linkgit:git-http-push[1]::
+linkgit:git-http-push[git]::
Push objects over HTTP/DAV to another repository.
-linkgit:git-receive-pack[1]::
+linkgit:git-receive-pack[git]::
Receive what is pushed into the repository.
-linkgit:git-shell[1]::
+linkgit:git-shell[git]::
Restricted login shell for Git-only SSH access.
-linkgit:git-upload-archive[1]::
+linkgit:git-upload-archive[git]::
Send archive back to git-archive.
-linkgit:git-upload-pack[1]::
+linkgit:git-upload-pack[git]::
Send objects packed back to git-fetch-pack.
diff --git a/cmds-synchingrepositories.txt b/cmds-synchingrepositories.txt
index d3ddba3b9..ea75cfef1 100644
--- a/cmds-synchingrepositories.txt
+++ b/cmds-synchingrepositories.txt
@@ -1,15 +1,15 @@
-linkgit:git-daemon[1]::
+linkgit:git-daemon[git]::
A really simple server for Git repositories.
-linkgit:git-fetch-pack[1]::
+linkgit:git-fetch-pack[git]::
Receive missing objects from another repository.
-linkgit:git-http-backend[1]::
+linkgit:git-http-backend[git]::
Server side implementation of Git over HTTP.
-linkgit:git-send-pack[1]::
+linkgit:git-send-pack[git]::
Push objects over Git protocol to another repository.
-linkgit:git-update-server-info[1]::
+linkgit:git-update-server-info[git]::
Update auxiliary info file to help dumb servers.
diff --git a/cmds-userinterfaces.txt b/cmds-userinterfaces.txt
index dae805335..bbf661249 100644
--- a/cmds-userinterfaces.txt
+++ b/cmds-userinterfaces.txt
@@ -1,24 +1,24 @@
-linkgit:gitattributes[5]::
+linkgit:gitattributes[git]::
Defining attributes per path.
-linkgit:gitcli[7]::
+linkgit:gitcli[git]::
Git command-line interface and conventions.
-linkgit:githooks[5]::
+linkgit:githooks[git]::
Hooks used by Git.
-linkgit:gitignore[5]::
+linkgit:gitignore[git]::
Specifies intentionally untracked files to ignore.
-linkgit:gitmailmap[5]::
+linkgit:gitmailmap[git]::
Map author/committer names and/or E-Mail addresses.
-linkgit:gitmodules[5]::
+linkgit:gitmodules[git]::
Defining submodule properties.
-linkgit:gitrepository-layout[5]::
+linkgit:gitrepository-layout[git]::
Git Repository Layout.
-linkgit:gitrevisions[7]::
+linkgit:gitrevisions[git]::
Specifying revisions and ranges for Git.
diff --git a/git.html b/git.html
index 7c83e67a0..cba3c8d99 100644
--- a/git.html
+++ b/git.html
@@ -1097,7 +1097,7 @@ ancillary user utilities.</p></div>
<h3 id="_main_porcelain_commands">Main porcelain commands</h3>
<div class="dlist"><dl>
<dt class="hdlist1">
-<a href="git-add.html">git-add(1)</a>
+<a href="git-add.html">git-add(git)</a>
</dt>
<dd>
<p>
@@ -1105,7 +1105,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-am.html">git-am(1)</a>
+<a href="git-am.html">git-am(git)</a>
</dt>
<dd>
<p>
@@ -1113,7 +1113,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-archive.html">git-archive(1)</a>
+<a href="git-archive.html">git-archive(git)</a>
</dt>
<dd>
<p>
@@ -1121,7 +1121,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-bisect.html">git-bisect(1)</a>
+<a href="git-bisect.html">git-bisect(git)</a>
</dt>
<dd>
<p>
@@ -1129,7 +1129,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-branch.html">git-branch(1)</a>
+<a href="git-branch.html">git-branch(git)</a>
</dt>
<dd>
<p>
@@ -1137,7 +1137,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-bundle.html">git-bundle(1)</a>
+<a href="git-bundle.html">git-bundle(git)</a>
</dt>
<dd>
<p>
@@ -1145,7 +1145,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-checkout.html">git-checkout(1)</a>
+<a href="git-checkout.html">git-checkout(git)</a>
</dt>
<dd>
<p>
@@ -1153,7 +1153,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-cherry-pick.html">git-cherry-pick(1)</a>
+<a href="git-cherry-pick.html">git-cherry-pick(git)</a>
</dt>
<dd>
<p>
@@ -1161,7 +1161,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-citool.html">git-citool(1)</a>
+<a href="git-citool.html">git-citool(git)</a>
</dt>
<dd>
<p>
@@ -1169,7 +1169,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-clean.html">git-clean(1)</a>
+<a href="git-clean.html">git-clean(git)</a>
</dt>
<dd>
<p>
@@ -1177,7 +1177,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-clone.html">git-clone(1)</a>
+<a href="git-clone.html">git-clone(git)</a>
</dt>
<dd>
<p>
@@ -1185,7 +1185,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-commit.html">git-commit(1)</a>
+<a href="git-commit.html">git-commit(git)</a>
</dt>
<dd>
<p>
@@ -1193,7 +1193,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-describe.html">git-describe(1)</a>
+<a href="git-describe.html">git-describe(git)</a>
</dt>
<dd>
<p>
@@ -1201,7 +1201,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-diff.html">git-diff(1)</a>
+<a href="git-diff.html">git-diff(git)</a>
</dt>
<dd>
<p>
@@ -1209,7 +1209,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-fetch.html">git-fetch(1)</a>
+<a href="git-fetch.html">git-fetch(git)</a>
</dt>
<dd>
<p>
@@ -1217,7 +1217,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-format-patch.html">git-format-patch(1)</a>
+<a href="git-format-patch.html">git-format-patch(git)</a>
</dt>
<dd>
<p>
@@ -1225,7 +1225,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-gc.html">git-gc(1)</a>
+<a href="git-gc.html">git-gc(git)</a>
</dt>
<dd>
<p>
@@ -1233,7 +1233,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-grep.html">git-grep(1)</a>
+<a href="git-grep.html">git-grep(git)</a>
</dt>
<dd>
<p>
@@ -1241,7 +1241,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-gui.html">git-gui(1)</a>
+<a href="git-gui.html">git-gui(git)</a>
</dt>
<dd>
<p>
@@ -1249,7 +1249,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-init.html">git-init(1)</a>
+<a href="git-init.html">git-init(git)</a>
</dt>
<dd>
<p>
@@ -1257,7 +1257,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-log.html">git-log(1)</a>
+<a href="git-log.html">git-log(git)</a>
</dt>
<dd>
<p>
@@ -1265,7 +1265,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-maintenance.html">git-maintenance(1)</a>
+<a href="git-maintenance.html">git-maintenance(git)</a>
</dt>
<dd>
<p>
@@ -1273,7 +1273,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-merge.html">git-merge(1)</a>
+<a href="git-merge.html">git-merge(git)</a>
</dt>
<dd>
<p>
@@ -1281,7 +1281,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-mv.html">git-mv(1)</a>
+<a href="git-mv.html">git-mv(git)</a>
</dt>
<dd>
<p>
@@ -1289,7 +1289,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-notes.html">git-notes(1)</a>
+<a href="git-notes.html">git-notes(git)</a>
</dt>
<dd>
<p>
@@ -1297,7 +1297,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-pull.html">git-pull(1)</a>
+<a href="git-pull.html">git-pull(git)</a>
</dt>
<dd>
<p>
@@ -1305,7 +1305,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-push.html">git-push(1)</a>
+<a href="git-push.html">git-push(git)</a>
</dt>
<dd>
<p>
@@ -1313,7 +1313,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-range-diff.html">git-range-diff(1)</a>
+<a href="git-range-diff.html">git-range-diff(git)</a>
</dt>
<dd>
<p>
@@ -1321,7 +1321,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-rebase.html">git-rebase(1)</a>
+<a href="git-rebase.html">git-rebase(git)</a>
</dt>
<dd>
<p>
@@ -1329,7 +1329,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-reset.html">git-reset(1)</a>
+<a href="git-reset.html">git-reset(git)</a>
</dt>
<dd>
<p>
@@ -1337,7 +1337,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-restore.html">git-restore(1)</a>
+<a href="git-restore.html">git-restore(git)</a>
</dt>
<dd>
<p>
@@ -1345,7 +1345,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-revert.html">git-revert(1)</a>
+<a href="git-revert.html">git-revert(git)</a>
</dt>
<dd>
<p>
@@ -1353,7 +1353,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-rm.html">git-rm(1)</a>
+<a href="git-rm.html">git-rm(git)</a>
</dt>
<dd>
<p>
@@ -1361,7 +1361,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-shortlog.html">git-shortlog(1)</a>
+<a href="git-shortlog.html">git-shortlog(git)</a>
</dt>
<dd>
<p>
@@ -1369,7 +1369,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-show.html">git-show(1)</a>
+<a href="git-show.html">git-show(git)</a>
</dt>
<dd>
<p>
@@ -1377,7 +1377,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-sparse-checkout.html">git-sparse-checkout(1)</a>
+<a href="git-sparse-checkout.html">git-sparse-checkout(git)</a>
</dt>
<dd>
<p>
@@ -1385,7 +1385,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-stash.html">git-stash(1)</a>
+<a href="git-stash.html">git-stash(git)</a>
</dt>
<dd>
<p>
@@ -1393,7 +1393,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-status.html">git-status(1)</a>
+<a href="git-status.html">git-status(git)</a>
</dt>
<dd>
<p>
@@ -1401,7 +1401,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-submodule.html">git-submodule(1)</a>
+<a href="git-submodule.html">git-submodule(git)</a>
</dt>
<dd>
<p>
@@ -1409,7 +1409,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-switch.html">git-switch(1)</a>
+<a href="git-switch.html">git-switch(git)</a>
</dt>
<dd>
<p>
@@ -1417,7 +1417,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-tag.html">git-tag(1)</a>
+<a href="git-tag.html">git-tag(git)</a>
</dt>
<dd>
<p>
@@ -1425,7 +1425,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-worktree.html">git-worktree(1)</a>
+<a href="git-worktree.html">git-worktree(git)</a>
</dt>
<dd>
<p>
@@ -1433,13 +1433,21 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="gitk.html">gitk(1)</a>
+<a href="gitk.html">gitk(git)</a>
</dt>
<dd>
<p>
The Git repository browser.
</p>
</dd>
+<dt class="hdlist1">
+<a href="scalar.html">scalar(scalar)</a>
+</dt>
+<dd>
+<p>
+ A tool for managing large Git repositories.
+</p>
+</dd>
</dl></div>
</div>
<div class="sect2">
@@ -1447,7 +1455,7 @@ ancillary user utilities.</p></div>
<div class="paragraph"><p>Manipulators:</p></div>
<div class="dlist"><dl>
<dt class="hdlist1">
-<a href="git-config.html">git-config(1)</a>
+<a href="git-config.html">git-config(git)</a>
</dt>
<dd>
<p>
@@ -1455,7 +1463,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-fast-export.html">git-fast-export(1)</a>
+<a href="git-fast-export.html">git-fast-export(git)</a>
</dt>
<dd>
<p>
@@ -1463,7 +1471,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-fast-import.html">git-fast-import(1)</a>
+<a href="git-fast-import.html">git-fast-import(git)</a>
</dt>
<dd>
<p>
@@ -1471,7 +1479,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-filter-branch.html">git-filter-branch(1)</a>
+<a href="git-filter-branch.html">git-filter-branch(git)</a>
</dt>
<dd>
<p>
@@ -1479,7 +1487,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-mergetool.html">git-mergetool(1)</a>
+<a href="git-mergetool.html">git-mergetool(git)</a>
</dt>
<dd>
<p>
@@ -1487,7 +1495,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-pack-refs.html">git-pack-refs(1)</a>
+<a href="git-pack-refs.html">git-pack-refs(git)</a>
</dt>
<dd>
<p>
@@ -1495,7 +1503,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-prune.html">git-prune(1)</a>
+<a href="git-prune.html">git-prune(git)</a>
</dt>
<dd>
<p>
@@ -1503,7 +1511,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-reflog.html">git-reflog(1)</a>
+<a href="git-reflog.html">git-reflog(git)</a>
</dt>
<dd>
<p>
@@ -1511,7 +1519,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-remote.html">git-remote(1)</a>
+<a href="git-remote.html">git-remote(git)</a>
</dt>
<dd>
<p>
@@ -1519,7 +1527,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-repack.html">git-repack(1)</a>
+<a href="git-repack.html">git-repack(git)</a>
</dt>
<dd>
<p>
@@ -1527,7 +1535,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-replace.html">git-replace(1)</a>
+<a href="git-replace.html">git-replace(git)</a>
</dt>
<dd>
<p>
@@ -1538,7 +1546,7 @@ ancillary user utilities.</p></div>
<div class="paragraph"><p>Interrogators:</p></div>
<div class="dlist"><dl>
<dt class="hdlist1">
-<a href="git-annotate.html">git-annotate(1)</a>
+<a href="git-annotate.html">git-annotate(git)</a>
</dt>
<dd>
<p>
@@ -1546,7 +1554,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-blame.html">git-blame(1)</a>
+<a href="git-blame.html">git-blame(git)</a>
</dt>
<dd>
<p>
@@ -1554,7 +1562,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-bugreport.html">git-bugreport(1)</a>
+<a href="git-bugreport.html">git-bugreport(git)</a>
</dt>
<dd>
<p>
@@ -1562,7 +1570,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-count-objects.html">git-count-objects(1)</a>
+<a href="git-count-objects.html">git-count-objects(git)</a>
</dt>
<dd>
<p>
@@ -1570,7 +1578,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-difftool.html">git-difftool(1)</a>
+<a href="git-difftool.html">git-difftool(git)</a>
</dt>
<dd>
<p>
@@ -1578,7 +1586,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-fsck.html">git-fsck(1)</a>
+<a href="git-fsck.html">git-fsck(git)</a>
</dt>
<dd>
<p>
@@ -1586,7 +1594,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-help.html">git-help(1)</a>
+<a href="git-help.html">git-help(git)</a>
</dt>
<dd>
<p>
@@ -1594,7 +1602,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-instaweb.html">git-instaweb(1)</a>
+<a href="git-instaweb.html">git-instaweb(git)</a>
</dt>
<dd>
<p>
@@ -1602,7 +1610,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-merge-tree.html">git-merge-tree(1)</a>
+<a href="git-merge-tree.html">git-merge-tree(git)</a>
</dt>
<dd>
<p>
@@ -1610,7 +1618,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-rerere.html">git-rerere(1)</a>
+<a href="git-rerere.html">git-rerere(git)</a>
</dt>
<dd>
<p>
@@ -1618,7 +1626,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-show-branch.html">git-show-branch(1)</a>
+<a href="git-show-branch.html">git-show-branch(git)</a>
</dt>
<dd>
<p>
@@ -1626,7 +1634,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-verify-commit.html">git-verify-commit(1)</a>
+<a href="git-verify-commit.html">git-verify-commit(git)</a>
</dt>
<dd>
<p>
@@ -1634,7 +1642,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-verify-tag.html">git-verify-tag(1)</a>
+<a href="git-verify-tag.html">git-verify-tag(git)</a>
</dt>
<dd>
<p>
@@ -1642,7 +1650,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-whatchanged.html">git-whatchanged(1)</a>
+<a href="git-whatchanged.html">git-whatchanged(git)</a>
</dt>
<dd>
<p>
@@ -1650,7 +1658,7 @@ ancillary user utilities.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="gitweb.html">gitweb(1)</a>
+<a href="gitweb.html">gitweb(git)</a>
</dt>
<dd>
<p>
@@ -1665,7 +1673,7 @@ ancillary user utilities.</p></div>
people via patch over e-mail.</p></div>
<div class="dlist"><dl>
<dt class="hdlist1">
-<a href="git-archimport.html">git-archimport(1)</a>
+<a href="git-archimport.html">git-archimport(git)</a>
</dt>
<dd>
<p>
@@ -1673,7 +1681,7 @@ people via patch over e-mail.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-cvsexportcommit.html">git-cvsexportcommit(1)</a>
+<a href="git-cvsexportcommit.html">git-cvsexportcommit(git)</a>
</dt>
<dd>
<p>
@@ -1681,7 +1689,7 @@ people via patch over e-mail.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-cvsimport.html">git-cvsimport(1)</a>
+<a href="git-cvsimport.html">git-cvsimport(git)</a>
</dt>
<dd>
<p>
@@ -1689,7 +1697,7 @@ people via patch over e-mail.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-cvsserver.html">git-cvsserver(1)</a>
+<a href="git-cvsserver.html">git-cvsserver(git)</a>
</dt>
<dd>
<p>
@@ -1697,7 +1705,7 @@ people via patch over e-mail.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-imap-send.html">git-imap-send(1)</a>
+<a href="git-imap-send.html">git-imap-send(git)</a>
</dt>
<dd>
<p>
@@ -1705,7 +1713,7 @@ people via patch over e-mail.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-p4.html">git-p4(1)</a>
+<a href="git-p4.html">git-p4(git)</a>
</dt>
<dd>
<p>
@@ -1713,7 +1721,7 @@ people via patch over e-mail.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-quiltimport.html">git-quiltimport(1)</a>
+<a href="git-quiltimport.html">git-quiltimport(git)</a>
</dt>
<dd>
<p>
@@ -1721,7 +1729,7 @@ people via patch over e-mail.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-request-pull.html">git-request-pull(1)</a>
+<a href="git-request-pull.html">git-request-pull(git)</a>
</dt>
<dd>
<p>
@@ -1729,7 +1737,7 @@ people via patch over e-mail.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-send-email.html">git-send-email(1)</a>
+<a href="git-send-email.html">git-send-email(git)</a>
</dt>
<dd>
<p>
@@ -1737,7 +1745,7 @@ people via patch over e-mail.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-svn.html">git-svn(1)</a>
+<a href="git-svn.html">git-svn(git)</a>
</dt>
<dd>
<p>
@@ -1801,7 +1809,7 @@ repositories.</p></div>
<h3 id="_manipulation_commands">Manipulation commands</h3>
<div class="dlist"><dl>
<dt class="hdlist1">
-<a href="git-apply.html">git-apply(1)</a>
+<a href="git-apply.html">git-apply(git)</a>
</dt>
<dd>
<p>
@@ -1809,7 +1817,7 @@ repositories.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-checkout-index.html">git-checkout-index(1)</a>
+<a href="git-checkout-index.html">git-checkout-index(git)</a>
</dt>
<dd>
<p>
@@ -1817,7 +1825,7 @@ repositories.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-commit-graph.html">git-commit-graph(1)</a>
+<a href="git-commit-graph.html">git-commit-graph(git)</a>
</dt>
<dd>
<p>
@@ -1825,7 +1833,7 @@ repositories.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-commit-tree.html">git-commit-tree(1)</a>
+<a href="git-commit-tree.html">git-commit-tree(git)</a>
</dt>
<dd>
<p>
@@ -1833,7 +1841,7 @@ repositories.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-hash-object.html">git-hash-object(1)</a>
+<a href="git-hash-object.html">git-hash-object(git)</a>
</dt>
<dd>
<p>
@@ -1841,7 +1849,7 @@ repositories.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-index-pack.html">git-index-pack(1)</a>
+<a href="git-index-pack.html">git-index-pack(git)</a>
</dt>
<dd>
<p>
@@ -1849,7 +1857,7 @@ repositories.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-merge-file.html">git-merge-file(1)</a>
+<a href="git-merge-file.html">git-merge-file(git)</a>
</dt>
<dd>
<p>
@@ -1857,7 +1865,7 @@ repositories.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-merge-index.html">git-merge-index(1)</a>
+<a href="git-merge-index.html">git-merge-index(git)</a>
</dt>
<dd>
<p>
@@ -1865,7 +1873,7 @@ repositories.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-mktag.html">git-mktag(1)</a>
+<a href="git-mktag.html">git-mktag(git)</a>
</dt>
<dd>
<p>
@@ -1873,7 +1881,7 @@ repositories.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-mktree.html">git-mktree(1)</a>
+<a href="git-mktree.html">git-mktree(git)</a>
</dt>
<dd>
<p>
@@ -1881,7 +1889,7 @@ repositories.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-multi-pack-index.html">git-multi-pack-index(1)</a>
+<a href="git-multi-pack-index.html">git-multi-pack-index(git)</a>
</dt>
<dd>
<p>
@@ -1889,7 +1897,7 @@ repositories.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-pack-objects.html">git-pack-objects(1)</a>
+<a href="git-pack-objects.html">git-pack-objects(git)</a>
</dt>
<dd>
<p>
@@ -1897,7 +1905,7 @@ repositories.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-prune-packed.html">git-prune-packed(1)</a>
+<a href="git-prune-packed.html">git-prune-packed(git)</a>
</dt>
<dd>
<p>
@@ -1905,7 +1913,7 @@ repositories.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-read-tree.html">git-read-tree(1)</a>
+<a href="git-read-tree.html">git-read-tree(git)</a>
</dt>
<dd>
<p>
@@ -1913,7 +1921,7 @@ repositories.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-symbolic-ref.html">git-symbolic-ref(1)</a>
+<a href="git-symbolic-ref.html">git-symbolic-ref(git)</a>
</dt>
<dd>
<p>
@@ -1921,7 +1929,7 @@ repositories.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-unpack-objects.html">git-unpack-objects(1)</a>
+<a href="git-unpack-objects.html">git-unpack-objects(git)</a>
</dt>
<dd>
<p>
@@ -1929,7 +1937,7 @@ repositories.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-update-index.html">git-update-index(1)</a>
+<a href="git-update-index.html">git-update-index(git)</a>
</dt>
<dd>
<p>
@@ -1937,7 +1945,7 @@ repositories.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-update-ref.html">git-update-ref(1)</a>
+<a href="git-update-ref.html">git-update-ref(git)</a>
</dt>
<dd>
<p>
@@ -1945,7 +1953,7 @@ repositories.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-write-tree.html">git-write-tree(1)</a>
+<a href="git-write-tree.html">git-write-tree(git)</a>
</dt>
<dd>
<p>
@@ -1958,7 +1966,7 @@ repositories.</p></div>
<h3 id="_interrogation_commands">Interrogation commands</h3>
<div class="dlist"><dl>
<dt class="hdlist1">
-<a href="git-cat-file.html">git-cat-file(1)</a>
+<a href="git-cat-file.html">git-cat-file(git)</a>
</dt>
<dd>
<p>
@@ -1966,7 +1974,7 @@ repositories.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-cherry.html">git-cherry(1)</a>
+<a href="git-cherry.html">git-cherry(git)</a>
</dt>
<dd>
<p>
@@ -1974,7 +1982,7 @@ repositories.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-diff-files.html">git-diff-files(1)</a>
+<a href="git-diff-files.html">git-diff-files(git)</a>
</dt>
<dd>
<p>
@@ -1982,7 +1990,7 @@ repositories.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-diff-index.html">git-diff-index(1)</a>
+<a href="git-diff-index.html">git-diff-index(git)</a>
</dt>
<dd>
<p>
@@ -1990,7 +1998,7 @@ repositories.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-diff-tree.html">git-diff-tree(1)</a>
+<a href="git-diff-tree.html">git-diff-tree(git)</a>
</dt>
<dd>
<p>
@@ -1998,7 +2006,7 @@ repositories.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-for-each-ref.html">git-for-each-ref(1)</a>
+<a href="git-for-each-ref.html">git-for-each-ref(git)</a>
</dt>
<dd>
<p>
@@ -2006,7 +2014,7 @@ repositories.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-for-each-repo.html">git-for-each-repo(1)</a>
+<a href="git-for-each-repo.html">git-for-each-repo(git)</a>
</dt>
<dd>
<p>
@@ -2014,7 +2022,7 @@ repositories.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-get-tar-commit-id.html">git-get-tar-commit-id(1)</a>
+<a href="git-get-tar-commit-id.html">git-get-tar-commit-id(git)</a>
</dt>
<dd>
<p>
@@ -2022,7 +2030,7 @@ repositories.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-ls-files.html">git-ls-files(1)</a>
+<a href="git-ls-files.html">git-ls-files(git)</a>
</dt>
<dd>
<p>
@@ -2030,7 +2038,7 @@ repositories.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-ls-remote.html">git-ls-remote(1)</a>
+<a href="git-ls-remote.html">git-ls-remote(git)</a>
</dt>
<dd>
<p>
@@ -2038,7 +2046,7 @@ repositories.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-ls-tree.html">git-ls-tree(1)</a>
+<a href="git-ls-tree.html">git-ls-tree(git)</a>
</dt>
<dd>
<p>
@@ -2046,7 +2054,7 @@ repositories.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-merge-base.html">git-merge-base(1)</a>
+<a href="git-merge-base.html">git-merge-base(git)</a>
</dt>
<dd>
<p>
@@ -2054,7 +2062,7 @@ repositories.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-name-rev.html">git-name-rev(1)</a>
+<a href="git-name-rev.html">git-name-rev(git)</a>
</dt>
<dd>
<p>
@@ -2062,7 +2070,7 @@ repositories.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-pack-redundant.html">git-pack-redundant(1)</a>
+<a href="git-pack-redundant.html">git-pack-redundant(git)</a>
</dt>
<dd>
<p>
@@ -2070,7 +2078,7 @@ repositories.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-rev-list.html">git-rev-list(1)</a>
+<a href="git-rev-list.html">git-rev-list(git)</a>
</dt>
<dd>
<p>
@@ -2078,7 +2086,7 @@ repositories.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-rev-parse.html">git-rev-parse(1)</a>
+<a href="git-rev-parse.html">git-rev-parse(git)</a>
</dt>
<dd>
<p>
@@ -2086,7 +2094,7 @@ repositories.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-show-index.html">git-show-index(1)</a>
+<a href="git-show-index.html">git-show-index(git)</a>
</dt>
<dd>
<p>
@@ -2094,7 +2102,7 @@ repositories.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-show-ref.html">git-show-ref(1)</a>
+<a href="git-show-ref.html">git-show-ref(git)</a>
</dt>
<dd>
<p>
@@ -2102,7 +2110,7 @@ repositories.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-unpack-file.html">git-unpack-file(1)</a>
+<a href="git-unpack-file.html">git-unpack-file(git)</a>
</dt>
<dd>
<p>
@@ -2110,7 +2118,7 @@ repositories.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-var.html">git-var(1)</a>
+<a href="git-var.html">git-var(git)</a>
</dt>
<dd>
<p>
@@ -2118,7 +2126,7 @@ repositories.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-verify-pack.html">git-verify-pack(1)</a>
+<a href="git-verify-pack.html">git-verify-pack(git)</a>
</dt>
<dd>
<p>
@@ -2133,7 +2141,7 @@ the working tree.</p></div>
<h3 id="_syncing_repositories">Syncing repositories</h3>
<div class="dlist"><dl>
<dt class="hdlist1">
-<a href="git-daemon.html">git-daemon(1)</a>
+<a href="git-daemon.html">git-daemon(git)</a>
</dt>
<dd>
<p>
@@ -2141,7 +2149,7 @@ the working tree.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-fetch-pack.html">git-fetch-pack(1)</a>
+<a href="git-fetch-pack.html">git-fetch-pack(git)</a>
</dt>
<dd>
<p>
@@ -2149,7 +2157,7 @@ the working tree.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-http-backend.html">git-http-backend(1)</a>
+<a href="git-http-backend.html">git-http-backend(git)</a>
</dt>
<dd>
<p>
@@ -2157,7 +2165,7 @@ the working tree.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-send-pack.html">git-send-pack(1)</a>
+<a href="git-send-pack.html">git-send-pack(git)</a>
</dt>
<dd>
<p>
@@ -2165,7 +2173,7 @@ the working tree.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-update-server-info.html">git-update-server-info(1)</a>
+<a href="git-update-server-info.html">git-update-server-info(git)</a>
</dt>
<dd>
<p>
@@ -2177,7 +2185,7 @@ the working tree.</p></div>
typically do not use them directly.</p></div>
<div class="dlist"><dl>
<dt class="hdlist1">
-<a href="git-http-fetch.html">git-http-fetch(1)</a>
+<a href="git-http-fetch.html">git-http-fetch(git)</a>
</dt>
<dd>
<p>
@@ -2185,7 +2193,7 @@ typically do not use them directly.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-http-push.html">git-http-push(1)</a>
+<a href="git-http-push.html">git-http-push(git)</a>
</dt>
<dd>
<p>
@@ -2193,7 +2201,7 @@ typically do not use them directly.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-receive-pack.html">git-receive-pack(1)</a>
+<a href="git-receive-pack.html">git-receive-pack(git)</a>
</dt>
<dd>
<p>
@@ -2201,7 +2209,7 @@ typically do not use them directly.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-shell.html">git-shell(1)</a>
+<a href="git-shell.html">git-shell(git)</a>
</dt>
<dd>
<p>
@@ -2209,7 +2217,7 @@ typically do not use them directly.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-upload-archive.html">git-upload-archive(1)</a>
+<a href="git-upload-archive.html">git-upload-archive(git)</a>
</dt>
<dd>
<p>
@@ -2217,7 +2225,7 @@ typically do not use them directly.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-upload-pack.html">git-upload-pack(1)</a>
+<a href="git-upload-pack.html">git-upload-pack(git)</a>
</dt>
<dd>
<p>
@@ -2232,7 +2240,7 @@ typically do not use them directly.</p></div>
users typically do not use them directly.</p></div>
<div class="dlist"><dl>
<dt class="hdlist1">
-<a href="git-check-attr.html">git-check-attr(1)</a>
+<a href="git-check-attr.html">git-check-attr(git)</a>
</dt>
<dd>
<p>
@@ -2240,7 +2248,7 @@ users typically do not use them directly.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-check-ignore.html">git-check-ignore(1)</a>
+<a href="git-check-ignore.html">git-check-ignore(git)</a>
</dt>
<dd>
<p>
@@ -2248,7 +2256,7 @@ users typically do not use them directly.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-check-mailmap.html">git-check-mailmap(1)</a>
+<a href="git-check-mailmap.html">git-check-mailmap(git)</a>
</dt>
<dd>
<p>
@@ -2256,7 +2264,7 @@ users typically do not use them directly.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-check-ref-format.html">git-check-ref-format(1)</a>
+<a href="git-check-ref-format.html">git-check-ref-format(git)</a>
</dt>
<dd>
<p>
@@ -2264,7 +2272,7 @@ users typically do not use them directly.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-column.html">git-column(1)</a>
+<a href="git-column.html">git-column(git)</a>
</dt>
<dd>
<p>
@@ -2272,7 +2280,7 @@ users typically do not use them directly.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-credential.html">git-credential(1)</a>
+<a href="git-credential.html">git-credential(git)</a>
</dt>
<dd>
<p>
@@ -2280,7 +2288,7 @@ users typically do not use them directly.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-credential-cache.html">git-credential-cache(1)</a>
+<a href="git-credential-cache.html">git-credential-cache(git)</a>
</dt>
<dd>
<p>
@@ -2288,7 +2296,7 @@ users typically do not use them directly.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-credential-store.html">git-credential-store(1)</a>
+<a href="git-credential-store.html">git-credential-store(git)</a>
</dt>
<dd>
<p>
@@ -2296,7 +2304,7 @@ users typically do not use them directly.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-fmt-merge-msg.html">git-fmt-merge-msg(1)</a>
+<a href="git-fmt-merge-msg.html">git-fmt-merge-msg(git)</a>
</dt>
<dd>
<p>
@@ -2304,7 +2312,7 @@ users typically do not use them directly.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-hook.html">git-hook(1)</a>
+<a href="git-hook.html">git-hook(git)</a>
</dt>
<dd>
<p>
@@ -2312,7 +2320,7 @@ users typically do not use them directly.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-interpret-trailers.html">git-interpret-trailers(1)</a>
+<a href="git-interpret-trailers.html">git-interpret-trailers(git)</a>
</dt>
<dd>
<p>
@@ -2320,7 +2328,7 @@ users typically do not use them directly.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-mailinfo.html">git-mailinfo(1)</a>
+<a href="git-mailinfo.html">git-mailinfo(git)</a>
</dt>
<dd>
<p>
@@ -2328,7 +2336,7 @@ users typically do not use them directly.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-mailsplit.html">git-mailsplit(1)</a>
+<a href="git-mailsplit.html">git-mailsplit(git)</a>
</dt>
<dd>
<p>
@@ -2336,7 +2344,7 @@ users typically do not use them directly.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-merge-one-file.html">git-merge-one-file(1)</a>
+<a href="git-merge-one-file.html">git-merge-one-file(git)</a>
</dt>
<dd>
<p>
@@ -2344,7 +2352,7 @@ users typically do not use them directly.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-patch-id.html">git-patch-id(1)</a>
+<a href="git-patch-id.html">git-patch-id(git)</a>
</dt>
<dd>
<p>
@@ -2352,7 +2360,7 @@ users typically do not use them directly.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-sh-i18n.html">git-sh-i18n(1)</a>
+<a href="git-sh-i18n.html">git-sh-i18n(git)</a>
</dt>
<dd>
<p>
@@ -2360,7 +2368,7 @@ users typically do not use them directly.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-sh-setup.html">git-sh-setup(1)</a>
+<a href="git-sh-setup.html">git-sh-setup(git)</a>
</dt>
<dd>
<p>
@@ -2368,7 +2376,7 @@ users typically do not use them directly.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="git-stripspace.html">git-stripspace(1)</a>
+<a href="git-stripspace.html">git-stripspace(git)</a>
</dt>
<dd>
<p>
@@ -2385,7 +2393,7 @@ users typically do not use them directly.</p></div>
<div class="paragraph"><p>The following documentation pages are guides about Git concepts.</p></div>
<div class="dlist"><dl>
<dt class="hdlist1">
-<a href="gitcore-tutorial.html">gitcore-tutorial(7)</a>
+<a href="gitcore-tutorial.html">gitcore-tutorial(git)</a>
</dt>
<dd>
<p>
@@ -2393,7 +2401,7 @@ users typically do not use them directly.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="gitcredentials.html">gitcredentials(7)</a>
+<a href="gitcredentials.html">gitcredentials(git)</a>
</dt>
<dd>
<p>
@@ -2401,7 +2409,7 @@ users typically do not use them directly.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="gitcvs-migration.html">gitcvs-migration(7)</a>
+<a href="gitcvs-migration.html">gitcvs-migration(git)</a>
</dt>
<dd>
<p>
@@ -2409,7 +2417,7 @@ users typically do not use them directly.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="gitdiffcore.html">gitdiffcore(7)</a>
+<a href="gitdiffcore.html">gitdiffcore(git)</a>
</dt>
<dd>
<p>
@@ -2417,7 +2425,7 @@ users typically do not use them directly.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="giteveryday.html">giteveryday(7)</a>
+<a href="giteveryday.html">giteveryday(git)</a>
</dt>
<dd>
<p>
@@ -2425,7 +2433,7 @@ users typically do not use them directly.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="gitfaq.html">gitfaq(7)</a>
+<a href="gitfaq.html">gitfaq(git)</a>
</dt>
<dd>
<p>
@@ -2433,7 +2441,7 @@ users typically do not use them directly.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="gitglossary.html">gitglossary(7)</a>
+<a href="gitglossary.html">gitglossary(git)</a>
</dt>
<dd>
<p>
@@ -2441,7 +2449,7 @@ users typically do not use them directly.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="gitnamespaces.html">gitnamespaces(7)</a>
+<a href="gitnamespaces.html">gitnamespaces(git)</a>
</dt>
<dd>
<p>
@@ -2449,7 +2457,7 @@ users typically do not use them directly.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="gitremote-helpers.html">gitremote-helpers(7)</a>
+<a href="gitremote-helpers.html">gitremote-helpers(git)</a>
</dt>
<dd>
<p>
@@ -2457,7 +2465,7 @@ users typically do not use them directly.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="gitsubmodules.html">gitsubmodules(7)</a>
+<a href="gitsubmodules.html">gitsubmodules(git)</a>
</dt>
<dd>
<p>
@@ -2465,7 +2473,7 @@ users typically do not use them directly.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="gittutorial.html">gittutorial(7)</a>
+<a href="gittutorial.html">gittutorial(git)</a>
</dt>
<dd>
<p>
@@ -2473,7 +2481,7 @@ users typically do not use them directly.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="gittutorial-2.html">gittutorial-2(7)</a>
+<a href="gittutorial-2.html">gittutorial-2(git)</a>
</dt>
<dd>
<p>
@@ -2481,7 +2489,7 @@ users typically do not use them directly.</p></div>
</p>
</dd>
<dt class="hdlist1">
-<a href="gitworkflows.html">gitworkflows(7)</a>
+<a href="gitworkflows.html">gitworkflows(git)</a>
</dt>
<dd>
<p>
@@ -2499,7 +2507,7 @@ users are expected to interact with directly. See <code>--user-formats</code> in
<a href="git-help.html">git-help(1)</a> for more details on the critera.</p></div>
<div class="dlist"><dl>
<dt class="hdlist1">
-<a href="gitattributes.html">gitattributes(5)</a>
+<a href="gitattributes.html">gitattributes(git)</a>
</dt>
<dd>
<p>
@@ -2507,7 +2515,7 @@ users are expected to interact with directly. See <code>--user-formats</code> in
</p>
</dd>
<dt class="hdlist1">
-<a href="gitcli.html">gitcli(7)</a>
+<a href="gitcli.html">gitcli(git)</a>
</dt>
<dd>
<p>
@@ -2515,7 +2523,7 @@ users are expected to interact with directly. See <code>--user-formats</code> in
</p>
</dd>
<dt class="hdlist1">
-<a href="githooks.html">githooks(5)</a>
+<a href="githooks.html">githooks(git)</a>
</dt>
<dd>
<p>
@@ -2523,7 +2531,7 @@ users are expected to interact with directly. See <code>--user-formats</code> in
</p>
</dd>
<dt class="hdlist1">
-<a href="gitignore.html">gitignore(5)</a>
+<a href="gitignore.html">gitignore(git)</a>
</dt>
<dd>
<p>
@@ -2531,7 +2539,7 @@ users are expected to interact with directly. See <code>--user-formats</code> in
</p>
</dd>
<dt class="hdlist1">
-<a href="gitmailmap.html">gitmailmap(5)</a>
+<a href="gitmailmap.html">gitmailmap(git)</a>
</dt>
<dd>
<p>
@@ -2539,7 +2547,7 @@ users are expected to interact with directly. See <code>--user-formats</code> in
</p>
</dd>
<dt class="hdlist1">
-<a href="gitmodules.html">gitmodules(5)</a>
+<a href="gitmodules.html">gitmodules(git)</a>
</dt>
<dd>
<p>
@@ -2547,7 +2555,7 @@ users are expected to interact with directly. See <code>--user-formats</code> in
</p>
</dd>
<dt class="hdlist1">
-<a href="gitrepository-layout.html">gitrepository-layout(5)</a>
+<a href="gitrepository-layout.html">gitrepository-layout(git)</a>
</dt>
<dd>
<p>
@@ -2555,7 +2563,7 @@ users are expected to interact with directly. See <code>--user-formats</code> in
</p>
</dd>
<dt class="hdlist1">
-<a href="gitrevisions.html">gitrevisions(7)</a>
+<a href="gitrevisions.html">gitrevisions(git)</a>
</dt>
<dd>
<p>
@@ -2573,7 +2581,7 @@ other git developer interfaces. See <code>--developer-interfaces</code> in
<a href="git-help.html">git-help(1)</a>.</p></div>
<div class="dlist"><dl>
<dt class="hdlist1">
-<a href="gitformat-bundle.html">gitformat-bundle(5)</a>
+<a href="gitformat-bundle.html">gitformat-bundle(git)</a>
</dt>
<dd>
<p>
@@ -2581,7 +2589,7 @@ other git developer interfaces. See <code>--developer-interfaces</code> in
</p>
</dd>
<dt class="hdlist1">
-<a href="gitformat-chunk.html">gitformat-chunk(5)</a>
+<a href="gitformat-chunk.html">gitformat-chunk(git)</a>
</dt>
<dd>
<p>
@@ -2589,7 +2597,7 @@ other git developer interfaces. See <code>--developer-interfaces</code> in
</p>
</dd>
<dt class="hdlist1">
-<a href="gitformat-commit-graph.html">gitformat-commit-graph(5)</a>
+<a href="gitformat-commit-graph.html">gitformat-commit-graph(git)</a>
</dt>
<dd>
<p>
@@ -2597,7 +2605,7 @@ other git developer interfaces. See <code>--developer-interfaces</code> in
</p>
</dd>
<dt class="hdlist1">
-<a href="gitformat-index.html">gitformat-index(5)</a>
+<a href="gitformat-index.html">gitformat-index(git)</a>
</dt>
<dd>
<p>
@@ -2605,7 +2613,7 @@ other git developer interfaces. See <code>--developer-interfaces</code> in
</p>
</dd>
<dt class="hdlist1">
-<a href="gitformat-pack.html">gitformat-pack(5)</a>
+<a href="gitformat-pack.html">gitformat-pack(git)</a>
</dt>
<dd>
<p>
@@ -2613,7 +2621,7 @@ other git developer interfaces. See <code>--developer-interfaces</code> in
</p>
</dd>
<dt class="hdlist1">
-<a href="gitformat-signature.html">gitformat-signature(5)</a>
+<a href="gitformat-signature.html">gitformat-signature(git)</a>
</dt>
<dd>
<p>
@@ -2621,7 +2629,7 @@ other git developer interfaces. See <code>--developer-interfaces</code> in
</p>
</dd>
<dt class="hdlist1">
-<a href="gitprotocol-capabilities.html">gitprotocol-capabilities(5)</a>
+<a href="gitprotocol-capabilities.html">gitprotocol-capabilities(git)</a>
</dt>
<dd>
<p>
@@ -2629,7 +2637,7 @@ other git developer interfaces. See <code>--developer-interfaces</code> in
</p>
</dd>
<dt class="hdlist1">
-<a href="gitprotocol-common.html">gitprotocol-common(5)</a>
+<a href="gitprotocol-common.html">gitprotocol-common(git)</a>
</dt>
<dd>
<p>
@@ -2637,7 +2645,7 @@ other git developer interfaces. See <code>--developer-interfaces</code> in
</p>
</dd>
<dt class="hdlist1">
-<a href="gitprotocol-http.html">gitprotocol-http(5)</a>
+<a href="gitprotocol-http.html">gitprotocol-http(git)</a>
</dt>
<dd>
<p>
@@ -2645,7 +2653,7 @@ other git developer interfaces. See <code>--developer-interfaces</code> in
</p>
</dd>
<dt class="hdlist1">
-<a href="gitprotocol-pack.html">gitprotocol-pack(5)</a>
+<a href="gitprotocol-pack.html">gitprotocol-pack(git)</a>
</dt>
<dd>
<p>
@@ -2653,7 +2661,7 @@ other git developer interfaces. See <code>--developer-interfaces</code> in
</p>
</dd>
<dt class="hdlist1">
-<a href="gitprotocol-v2.html">gitprotocol-v2(5)</a>
+<a href="gitprotocol-v2.html">gitprotocol-v2(git)</a>
</dt>
<dd>
<p>
diff --git a/howto/coordinate-embargoed-releases.html b/howto/coordinate-embargoed-releases.html
index 3f88d5723..3c34fae83 100644
--- a/howto/coordinate-embargoed-releases.html
+++ b/howto/coordinate-embargoed-releases.html
@@ -873,7 +873,7 @@ Thanks,
<div id="footer">
<div id="footer-text">
Last updated
- 2022-09-15 16:31:11 PDT
+ 2022-09-19 15:04:18 PDT
</div>
</div>
</body>
diff --git a/howto/keep-canonical-history-correct.html b/howto/keep-canonical-history-correct.html
index 2a94e46c0..7eceec6c8 100644
--- a/howto/keep-canonical-history-correct.html
+++ b/howto/keep-canonical-history-correct.html
@@ -938,7 +938,7 @@ tip of your <em>master</em> again and redo the two merges:</p></div>
<div id="footer">
<div id="footer-text">
Last updated
- 2022-09-15 16:31:11 PDT
+ 2022-09-19 15:04:18 PDT
</div>
</div>
</body>
diff --git a/howto/maintain-git.html b/howto/maintain-git.html
index 170078353..27c48d24d 100644
--- a/howto/maintain-git.html
+++ b/howto/maintain-git.html
@@ -1469,7 +1469,7 @@ $ git update-ref -d $mf/ai/topic</code></pre>
<div id="footer">
<div id="footer-text">
Last updated
- 2022-09-15 16:31:11 PDT
+ 2022-09-19 15:04:18 PDT
</div>
</div>
</body>
diff --git a/howto/new-command.html b/howto/new-command.html
index ccc6f58eb..f39ac75b4 100644
--- a/howto/new-command.html
+++ b/howto/new-command.html
@@ -863,7 +863,7 @@ letter [PATCH 0/n].
<div id="footer">
<div id="footer-text">
Last updated
- 2022-09-15 16:31:09 PDT
+ 2022-09-19 15:04:15 PDT
</div>
</div>
</body>
diff --git a/howto/rebase-from-internal-branch.html b/howto/rebase-from-internal-branch.html
index 9946b8c3d..09ac6723e 100644
--- a/howto/rebase-from-internal-branch.html
+++ b/howto/rebase-from-internal-branch.html
@@ -895,7 +895,7 @@ the #1' commit.</p></div>
<div id="footer">
<div id="footer-text">
Last updated
- 2022-09-15 16:31:11 PDT
+ 2022-09-19 15:04:18 PDT
</div>
</div>
</body>
diff --git a/howto/rebuild-from-update-hook.html b/howto/rebuild-from-update-hook.html
index 5cb2fec47..fb1bbd1da 100644
--- a/howto/rebuild-from-update-hook.html
+++ b/howto/rebuild-from-update-hook.html
@@ -847,7 +847,7 @@ This is still crude and does not protect against simultaneous
<div id="footer">
<div id="footer-text">
Last updated
- 2022-09-15 16:31:10 PDT
+ 2022-09-19 15:04:17 PDT
</div>
</div>
</body>
diff --git a/howto/recover-corrupted-blob-object.html b/howto/recover-corrupted-blob-object.html
index 3de0a28e7..eddc3d8c6 100644
--- a/howto/recover-corrupted-blob-object.html
+++ b/howto/recover-corrupted-blob-object.html
@@ -880,7 +880,7 @@ thing.</p></div>
<div id="footer">
<div id="footer-text">
Last updated
- 2022-09-15 16:31:10 PDT
+ 2022-09-19 15:04:17 PDT
</div>
</div>
</body>
diff --git a/howto/recover-corrupted-object-harder.html b/howto/recover-corrupted-object-harder.html
index 0076fcadf..4ef81ee1f 100644
--- a/howto/recover-corrupted-object-harder.html
+++ b/howto/recover-corrupted-object-harder.html
@@ -1189,7 +1189,7 @@ int main(int argc, char **argv)
<div id="footer">
<div id="footer-text">
Last updated
- 2022-09-15 16:31:10 PDT
+ 2022-09-19 15:04:17 PDT
</div>
</div>
</body>
diff --git a/howto/revert-a-faulty-merge.html b/howto/revert-a-faulty-merge.html
index 46ba67e84..aea3f13d0 100644
--- a/howto/revert-a-faulty-merge.html
+++ b/howto/revert-a-faulty-merge.html
@@ -1025,7 +1025,7 @@ P---o---o---M---x---x---W---x---M2
<div id="footer">
<div id="footer-text">
Last updated
- 2022-09-15 16:31:10 PDT
+ 2022-09-19 15:04:17 PDT
</div>
</div>
</body>
diff --git a/howto/revert-branch-rebase.html b/howto/revert-branch-rebase.html
index 532deedf8..3720f1e7c 100644
--- a/howto/revert-branch-rebase.html
+++ b/howto/revert-branch-rebase.html
@@ -907,7 +907,7 @@ Committed merge 7fb9b7262a1d1e0a47bbfdcbbcf50ce0635d3f8f
<div id="footer">
<div id="footer-text">
Last updated
- 2022-09-15 16:31:09 PDT
+ 2022-09-19 15:04:16 PDT
</div>
</div>
</body>
diff --git a/howto/separating-topic-branches.html b/howto/separating-topic-branches.html
index 874d94669..3d3fd1bb3 100644
--- a/howto/separating-topic-branches.html
+++ b/howto/separating-topic-branches.html
@@ -841,7 +841,7 @@ o---o"master"</code></pre>
<div id="footer">
<div id="footer-text">
Last updated
- 2022-09-15 16:31:10 PDT
+ 2022-09-19 15:04:17 PDT
</div>
</div>
</body>
diff --git a/howto/setup-git-server-over-http.html b/howto/setup-git-server-over-http.html
index d2ec0e16b..b9e6e3574 100644
--- a/howto/setup-git-server-over-http.html
+++ b/howto/setup-git-server-over-http.html
@@ -1071,7 +1071,7 @@ help diagnosing the problem, but removes security checks.</p></div>
<div id="footer">
<div id="footer-text">
Last updated
- 2022-09-15 16:31:10 PDT
+ 2022-09-19 15:04:17 PDT
</div>
</div>
</body>
diff --git a/howto/update-hook-example.html b/howto/update-hook-example.html
index ed11ff587..8a2bbc2b7 100644
--- a/howto/update-hook-example.html
+++ b/howto/update-hook-example.html
@@ -930,7 +930,7 @@ that JC can make non-fast-forward pushes on it.</p></div>
<div id="footer">
<div id="footer-text">
Last updated
- 2022-09-15 16:31:10 PDT
+ 2022-09-19 15:04:16 PDT
</div>
</div>
</body>
diff --git a/howto/use-git-daemon.html b/howto/use-git-daemon.html
index 545440c77..c9de227ee 100644
--- a/howto/use-git-daemon.html
+++ b/howto/use-git-daemon.html
@@ -791,7 +791,7 @@ a good practice to put the paths after a "--" separator.</p></div>
<div id="footer">
<div id="footer-text">
Last updated
- 2022-09-15 16:31:10 PDT
+ 2022-09-19 15:04:16 PDT
</div>
</div>
</body>
diff --git a/howto/using-merge-subtree.html b/howto/using-merge-subtree.html
index 042a8dc7b..7ebc5e8f0 100644
--- a/howto/using-merge-subtree.html
+++ b/howto/using-merge-subtree.html
@@ -848,7 +848,7 @@ Please note that if the other project merges from you, then it will
<div id="footer">
<div id="footer-text">
Last updated
- 2022-09-15 16:31:09 PDT
+ 2022-09-19 15:04:16 PDT
</div>
</div>
</body>
diff --git a/howto/using-signed-tag-in-pull-request.html b/howto/using-signed-tag-in-pull-request.html
index 558e3de77..3f0b7eeaa 100644
--- a/howto/using-signed-tag-in-pull-request.html
+++ b/howto/using-signed-tag-in-pull-request.html
@@ -952,7 +952,7 @@ as part of the merge commit.</p></div>
<div id="footer">
<div id="footer-text">
Last updated
- 2022-09-15 16:31:09 PDT
+ 2022-09-19 15:04:16 PDT
</div>
</div>
</body>
diff --git a/scalar.html b/scalar.html
new file mode 100644
index 000000000..c47ab5e65
--- /dev/null
+++ b/scalar.html
@@ -0,0 +1,995 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.2.0" />
+<title>scalar(1)</title>
+<style type="text/css">
+/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
+
+/* Default font. */
+body {
+ font-family: Georgia,serif;
+}
+
+/* Title font. */
+h1, h2, h3, h4, h5, h6,
+div.title, caption.title,
+thead, p.table.header,
+#toctitle,
+#author, #revnumber, #revdate, #revremark,
+#footer {
+ font-family: Arial,Helvetica,sans-serif;
+}
+
+body {
+ margin: 1em 5% 1em 5%;
+}
+
+a {
+ color: blue;
+ text-decoration: underline;
+}
+a:visited {
+ color: fuchsia;
+}
+
+em {
+ font-style: italic;
+ color: navy;
+}
+
+strong {
+ font-weight: bold;
+ color: #083194;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ color: #527bbd;
+ margin-top: 1.2em;
+ margin-bottom: 0.5em;
+ line-height: 1.3;
+}
+
+h1, h2, h3 {
+ border-bottom: 2px solid silver;
+}
+h2 {
+ padding-top: 0.5em;
+}
+h3 {
+ float: left;
+}
+h3 + * {
+ clear: left;
+}
+h5 {
+ font-size: 1.0em;
+}
+
+div.sectionbody {
+ margin-left: 0;
+}
+
+hr {
+ border: 1px solid silver;
+}
+
+p {
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+}
+
+ul, ol, li > p {
+ margin-top: 0;
+}
+ul > li { color: #aaa; }
+ul > li > * { color: black; }
+
+.monospaced, code, pre {
+ font-family: "Courier New", Courier, monospace;
+ font-size: inherit;
+ color: navy;
+ padding: 0;
+ margin: 0;
+}
+pre {
+ white-space: pre-wrap;
+}
+
+#author {
+ color: #527bbd;
+ font-weight: bold;
+ font-size: 1.1em;
+}
+#email {
+}
+#revnumber, #revdate, #revremark {
+}
+
+#footer {
+ font-size: small;
+ border-top: 2px solid silver;
+ padding-top: 0.5em;
+ margin-top: 4.0em;
+}
+#footer-text {
+ float: left;
+ padding-bottom: 0.5em;
+}
+#footer-badges {
+ float: right;
+ padding-bottom: 0.5em;
+}
+
+#preamble {
+ margin-top: 1.5em;
+ margin-bottom: 1.5em;
+}
+div.imageblock, div.exampleblock, div.verseblock,
+div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
+div.admonitionblock {
+ margin-top: 1.0em;
+ margin-bottom: 1.5em;
+}
+div.admonitionblock {
+ margin-top: 2.0em;
+ margin-bottom: 2.0em;
+ margin-right: 10%;
+ color: #606060;
+}
+
+div.content { /* Block element content. */
+ padding: 0;
+}
+
+/* Block element titles. */
+div.title, caption.title {
+ color: #527bbd;
+ font-weight: bold;
+ text-align: left;
+ margin-top: 1.0em;
+ margin-bottom: 0.5em;
+}
+div.title + * {
+ margin-top: 0;
+}
+
+td div.title:first-child {
+ margin-top: 0.0em;
+}
+div.content div.title:first-child {
+ margin-top: 0.0em;
+}
+div.content + div.title {
+ margin-top: 0.0em;
+}
+
+div.sidebarblock > div.content {
+ background: #ffffee;
+ border: 1px solid #dddddd;
+ border-left: 4px solid #f0f0f0;
+ padding: 0.5em;
+}
+
+div.listingblock > div.content {
+ border: 1px solid #dddddd;
+ border-left: 5px solid #f0f0f0;
+ background: #f8f8f8;
+ padding: 0.5em;
+}
+
+div.quoteblock, div.verseblock {
+ padding-left: 1.0em;
+ margin-left: 1.0em;
+ margin-right: 10%;
+ border-left: 5px solid #f0f0f0;
+ color: #888;
+}
+
+div.quoteblock > div.attribution {
+ padding-top: 0.5em;
+ text-align: right;
+}
+
+div.verseblock > pre.content {
+ font-family: inherit;
+ font-size: inherit;
+}
+div.verseblock > div.attribution {
+ padding-top: 0.75em;
+ text-align: left;
+}
+/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
+div.verseblock + div.attribution {
+ text-align: left;
+}
+
+div.admonitionblock .icon {
+ vertical-align: top;
+ font-size: 1.1em;
+ font-weight: bold;
+ text-decoration: underline;
+ color: #527bbd;
+ padding-right: 0.5em;
+}
+div.admonitionblock td.content {
+ padding-left: 0.5em;
+ border-left: 3px solid #dddddd;
+}
+
+div.exampleblock > div.content {
+ border-left: 3px solid #dddddd;
+ padding-left: 0.5em;
+}
+
+div.imageblock div.content { padding-left: 0; }
+span.image img { border-style: none; vertical-align: text-bottom; }
+a.image:visited { color: white; }
+
+dl {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+dt {
+ margin-top: 0.5em;
+ margin-bottom: 0;
+ font-style: normal;
+ color: navy;
+}
+dd > *:first-child {
+ margin-top: 0.1em;
+}
+
+ul, ol {
+ list-style-position: outside;
+}
+ol.arabic {
+ list-style-type: decimal;
+}
+ol.loweralpha {
+ list-style-type: lower-alpha;
+}
+ol.upperalpha {
+ list-style-type: upper-alpha;
+}
+ol.lowerroman {
+ list-style-type: lower-roman;
+}
+ol.upperroman {
+ list-style-type: upper-roman;
+}
+
+div.compact ul, div.compact ol,
+div.compact p, div.compact p,
+div.compact div, div.compact div {
+ margin-top: 0.1em;
+ margin-bottom: 0.1em;
+}
+
+tfoot {
+ font-weight: bold;
+}
+td > div.verse {
+ white-space: pre;
+}
+
+div.hdlist {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+div.hdlist tr {
+ padding-bottom: 15px;
+}
+dt.hdlist1.strong, td.hdlist1.strong {
+ font-weight: bold;
+}
+td.hdlist1 {
+ vertical-align: top;
+ font-style: normal;
+ padding-right: 0.8em;
+ color: navy;
+}
+td.hdlist2 {
+ vertical-align: top;
+}
+div.hdlist.compact tr {
+ margin: 0;
+ padding-bottom: 0;
+}
+
+.comment {
+ background: yellow;
+}
+
+.footnote, .footnoteref {
+ font-size: 0.8em;
+}
+
+span.footnote, span.footnoteref {
+ vertical-align: super;
+}
+
+#footnotes {
+ margin: 20px 0 20px 0;
+ padding: 7px 0 0 0;
+}
+
+#footnotes div.footnote {
+ margin: 0 0 5px 0;
+}
+
+#footnotes hr {
+ border: none;
+ border-top: 1px solid silver;
+ height: 1px;
+ text-align: left;
+ margin-left: 0;
+ width: 20%;
+ min-width: 100px;
+}
+
+div.colist td {
+ padding-right: 0.5em;
+ padding-bottom: 0.3em;
+ vertical-align: top;
+}
+div.colist td img {
+ margin-top: 0.3em;
+}
+
+@media print {
+ #footer-badges { display: none; }
+}
+
+#toc {
+ margin-bottom: 2.5em;
+}
+
+#toctitle {
+ color: #527bbd;
+ font-size: 1.1em;
+ font-weight: bold;
+ margin-top: 1.0em;
+ margin-bottom: 0.1em;
+}
+
+div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+div.toclevel2 {
+ margin-left: 2em;
+ font-size: 0.9em;
+}
+div.toclevel3 {
+ margin-left: 4em;
+ font-size: 0.9em;
+}
+div.toclevel4 {
+ margin-left: 6em;
+ font-size: 0.9em;
+}
+
+span.aqua { color: aqua; }
+span.black { color: black; }
+span.blue { color: blue; }
+span.fuchsia { color: fuchsia; }
+span.gray { color: gray; }
+span.green { color: green; }
+span.lime { color: lime; }
+span.maroon { color: maroon; }
+span.navy { color: navy; }
+span.olive { color: olive; }
+span.purple { color: purple; }
+span.red { color: red; }
+span.silver { color: silver; }
+span.teal { color: teal; }
+span.white { color: white; }
+span.yellow { color: yellow; }
+
+span.aqua-background { background: aqua; }
+span.black-background { background: black; }
+span.blue-background { background: blue; }
+span.fuchsia-background { background: fuchsia; }
+span.gray-background { background: gray; }
+span.green-background { background: green; }
+span.lime-background { background: lime; }
+span.maroon-background { background: maroon; }
+span.navy-background { background: navy; }
+span.olive-background { background: olive; }
+span.purple-background { background: purple; }
+span.red-background { background: red; }
+span.silver-background { background: silver; }
+span.teal-background { background: teal; }
+span.white-background { background: white; }
+span.yellow-background { background: yellow; }
+
+span.big { font-size: 2em; }
+span.small { font-size: 0.6em; }
+
+span.underline { text-decoration: underline; }
+span.overline { text-decoration: overline; }
+span.line-through { text-decoration: line-through; }
+
+div.unbreakable { page-break-inside: avoid; }
+
+
+/*
+ * xhtml11 specific
+ *
+ * */
+
+div.tableblock {
+ margin-top: 1.0em;
+ margin-bottom: 1.5em;
+}
+div.tableblock > table {
+ border: 3px solid #527bbd;
+}
+thead, p.table.header {
+ font-weight: bold;
+ color: #527bbd;
+}
+p.table {
+ margin-top: 0;
+}
+/* Because the table frame attribute is overridden by CSS in most browsers. */
+div.tableblock > table[frame="void"] {
+ border-style: none;
+}
+div.tableblock > table[frame="hsides"] {
+ border-left-style: none;
+ border-right-style: none;
+}
+div.tableblock > table[frame="vsides"] {
+ border-top-style: none;
+ border-bottom-style: none;
+}
+
+
+/*
+ * html5 specific
+ *
+ * */
+
+table.tableblock {
+ margin-top: 1.0em;
+ margin-bottom: 1.5em;
+}
+thead, p.tableblock.header {
+ font-weight: bold;
+ color: #527bbd;
+}
+p.tableblock {
+ margin-top: 0;
+}
+table.tableblock {
+ border-width: 3px;
+ border-spacing: 0px;
+ border-style: solid;
+ border-color: #527bbd;
+ border-collapse: collapse;
+}
+th.tableblock, td.tableblock {
+ border-width: 1px;
+ padding: 4px;
+ border-style: solid;
+ border-color: #527bbd;
+}
+
+table.tableblock.frame-topbot {
+ border-left-style: hidden;
+ border-right-style: hidden;
+}
+table.tableblock.frame-sides {
+ border-top-style: hidden;
+ border-bottom-style: hidden;
+}
+table.tableblock.frame-none {
+ border-style: hidden;
+}
+
+th.tableblock.halign-left, td.tableblock.halign-left {
+ text-align: left;
+}
+th.tableblock.halign-center, td.tableblock.halign-center {
+ text-align: center;
+}
+th.tableblock.halign-right, td.tableblock.halign-right {
+ text-align: right;
+}
+
+th.tableblock.valign-top, td.tableblock.valign-top {
+ vertical-align: top;
+}
+th.tableblock.valign-middle, td.tableblock.valign-middle {
+ vertical-align: middle;
+}
+th.tableblock.valign-bottom, td.tableblock.valign-bottom {
+ vertical-align: bottom;
+}
+
+
+/*
+ * manpage specific
+ *
+ * */
+
+body.manpage h1 {
+ padding-top: 0.5em;
+ padding-bottom: 0.5em;
+ border-top: 2px solid silver;
+ border-bottom: 2px solid silver;
+}
+body.manpage h2 {
+ border-style: none;
+}
+body.manpage div.sectionbody {
+ margin-left: 3em;
+}
+
+@media print {
+ body.manpage div#toc { display: none; }
+}
+
+
+</style>
+<script type="text/javascript">
+/*<![CDATA[*/
+var asciidoc = { // Namespace.
+
+/////////////////////////////////////////////////////////////////////
+// Table Of Contents generator
+/////////////////////////////////////////////////////////////////////
+
+/* Author: Mihai Bazon, September 2002
+ * http://students.infoiasi.ro/~mishoo
+ *
+ * Table Of Content generator
+ * Version: 0.4
+ *
+ * Feel free to use this script under the terms of the GNU General Public
+ * License, as long as you do not remove or alter this notice.
+ */
+
+ /* modified by Troy D. Hanson, September 2006. License: GPL */
+ /* modified by Stuart Rackham, 2006, 2009. License: GPL */
+
+// toclevels = 1..4.
+toc: function (toclevels) {
+
+ function getText(el) {
+ var text = "";
+ for (var i = el.firstChild; i != null; i = i.nextSibling) {
+ if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
+ text += i.data;
+ else if (i.firstChild != null)
+ text += getText(i);
+ }
+ return text;
+ }
+
+ function TocEntry(el, text, toclevel) {
+ this.element = el;
+ this.text = text;
+ this.toclevel = toclevel;
+ }
+
+ function tocEntries(el, toclevels) {
+ var result = new Array;
+ var re = new RegExp('[hH]([1-'+(toclevels+1)+'])');
+ // Function that scans the DOM tree for header elements (the DOM2
+ // nodeIterator API would be a better technique but not supported by all
+ // browsers).
+ var iterate = function (el) {
+ for (var i = el.firstChild; i != null; i = i.nextSibling) {
+ if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
+ var mo = re.exec(i.tagName);
+ if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
+ result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
+ }
+ iterate(i);
+ }
+ }
+ }
+ iterate(el);
+ return result;
+ }
+
+ var toc = document.getElementById("toc");
+ if (!toc) {
+ return;
+ }
+
+ // Delete existing TOC entries in case we're reloading the TOC.
+ var tocEntriesToRemove = [];
+ var i;
+ for (i = 0; i < toc.childNodes.length; i++) {
+ var entry = toc.childNodes[i];
+ if (entry.nodeName.toLowerCase() == 'div'
+ && entry.getAttribute("class")
+ && entry.getAttribute("class").match(/^toclevel/))
+ tocEntriesToRemove.push(entry);
+ }
+ for (i = 0; i < tocEntriesToRemove.length; i++) {
+ toc.removeChild(tocEntriesToRemove[i]);
+ }
+
+ // Rebuild TOC entries.
+ var entries = tocEntries(document.getElementById("content"), toclevels);
+ for (var i = 0; i < entries.length; ++i) {
+ var entry = entries[i];
+ if (entry.element.id == "")
+ entry.element.id = "_toc_" + i;
+ var a = document.createElement("a");
+ a.href = "#" + entry.element.id;
+ a.appendChild(document.createTextNode(entry.text));
+ var div = document.createElement("div");
+ div.appendChild(a);
+ div.className = "toclevel" + entry.toclevel;
+ toc.appendChild(div);
+ }
+ if (entries.length == 0)
+ toc.parentNode.removeChild(toc);
+},
+
+
+/////////////////////////////////////////////////////////////////////
+// Footnotes generator
+/////////////////////////////////////////////////////////////////////
+
+/* Based on footnote generation code from:
+ * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
+ */
+
+footnotes: function () {
+ // Delete existing footnote entries in case we're reloading the footnodes.
+ var i;
+ var noteholder = document.getElementById("footnotes");
+ if (!noteholder) {
+ return;
+ }
+ var entriesToRemove = [];
+ for (i = 0; i < noteholder.childNodes.length; i++) {
+ var entry = noteholder.childNodes[i];
+ if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")
+ entriesToRemove.push(entry);
+ }
+ for (i = 0; i < entriesToRemove.length; i++) {
+ noteholder.removeChild(entriesToRemove[i]);
+ }
+
+ // Rebuild footnote entries.
+ var cont = document.getElementById("content");
+ var spans = cont.getElementsByTagName("span");
+ var refs = {};
+ var n = 0;
+ for (i=0; i<spans.length; i++) {
+ if (spans[i].className == "footnote") {
+ n++;
+ var note = spans[i].getAttribute("data-note");
+ if (!note) {
+ // Use [\s\S] in place of . so multi-line matches work.
+ // Because JavaScript has no s (dotall) regex flag.
+ note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
+ spans[i].innerHTML =
+ "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
+ "' title='View footnote' class='footnote'>" + n + "</a>]";
+ spans[i].setAttribute("data-note", note);
+ }
+ noteholder.innerHTML +=
+ "<div class='footnote' id='_footnote_" + n + "'>" +
+ "<a href='#_footnoteref_" + n + "' title='Return to text'>" +
+ n + "</a>. " + note + "</div>";
+ var id =spans[i].getAttribute("id");
+ if (id != null) refs["#"+id] = n;
+ }
+ }
+ if (n == 0)
+ noteholder.parentNode.removeChild(noteholder);
+ else {
+ // Process footnoterefs.
+ for (i=0; i<spans.length; i++) {
+ if (spans[i].className == "footnoteref") {
+ var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
+ href = href.match(/#.*/)[0]; // Because IE return full URL.
+ n = refs[href];
+ spans[i].innerHTML =
+ "[<a href='#_footnote_" + n +
+ "' title='View footnote' class='footnote'>" + n + "</a>]";
+ }
+ }
+ }
+},
+
+install: function(toclevels) {
+ var timerId;
+
+ function reinstall() {
+ asciidoc.footnotes();
+ if (toclevels) {
+ asciidoc.toc(toclevels);
+ }
+ }
+
+ function reinstallAndRemoveTimer() {
+ clearInterval(timerId);
+ reinstall();
+ }
+
+ timerId = setInterval(reinstall, 500);
+ if (document.addEventListener)
+ document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
+ else
+ window.onload = reinstallAndRemoveTimer;
+}
+
+}
+asciidoc.install();
+/*]]>*/
+</script>
+</head>
+<body class="manpage">
+<div id="header">
+<h1>
+scalar(1) Manual Page
+</h1>
+<h2>NAME</h2>
+<div class="sectionbody">
+<p>scalar -
+ A tool for managing large Git repositories
+</p>
+</div>
+</div>
+<div id="content">
+<div class="sect1">
+<h2 id="_synopsis">SYNOPSIS</h2>
+<div class="sectionbody">
+<div class="verseblock">
+<pre class="content">scalar clone [--single-branch] [--branch &lt;main-branch&gt;] [--full-clone] &lt;url&gt; [&lt;enlistment&gt;]
+scalar list
+scalar register [&lt;enlistment&gt;]
+scalar unregister [&lt;enlistment&gt;]
+scalar run ( all | config | commit-graph | fetch | loose-objects | pack-files ) [&lt;enlistment&gt;]
+scalar reconfigure [ --all | &lt;enlistment&gt; ]
+scalar diagnose [&lt;enlistment&gt;]
+scalar delete &lt;enlistment&gt;</pre>
+<div class="attribution">
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_description">DESCRIPTION</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Scalar is a repository management tool that optimizes Git for use in large
+repositories. Scalar improves performance by configuring advanced Git settings,
+maintaining repositories in the background, and helping to reduce data sent
+across the network.</p></div>
+<div class="paragraph"><p>An important Scalar concept is the enlistment: this is the top-level directory
+of the project. It usually contains the subdirectory <code>src/</code> which is a Git
+worktree. This encourages the separation between tracked files (inside <code>src/</code>)
+and untracked files, such as build artifacts (outside <code>src/</code>). When registering
+an existing Git worktree with Scalar whose name is not <code>src</code>, the enlistment
+will be identical to the worktree.</p></div>
+<div class="paragraph"><p>The <code>scalar</code> command implements various subcommands, and different options
+depending on the subcommand. With the exception of <code>clone</code>, <code>list</code> and
+<code>reconfigure --all</code>, all subcommands expect to be run in an enlistment.</p></div>
+<div class="paragraph"><p>The following options can be specified <em>before</em> the subcommand:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+-C &lt;directory&gt;
+</dt>
+<dd>
+<p>
+ Before running the subcommand, change the working directory. This
+ option imitates the same option of <a href="git.html">git(1)</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+-c &lt;key&gt;=&lt;value&gt;
+</dt>
+<dd>
+<p>
+ For the duration of running the specified subcommand, configure this
+ setting. This option imitates the same option of <a href="git.html">git(1)</a>.
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_commands">COMMANDS</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_clone">Clone</h3>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+clone [&lt;options&gt;] &lt;url&gt; [&lt;enlistment&gt;]
+</dt>
+<dd>
+<p>
+ Clones the specified repository, similar to <a href="git-clone.html">git-clone(1)</a>. By
+ default, only commit and tree objects are cloned. Once finished, the
+ worktree is located at <code>&lt;enlistment&gt;/src</code>.
+</p>
+<div class="paragraph"><p>The sparse-checkout feature is enabled (except when run with <code>--full-clone</code>)
+and the only files present are those in the top-level directory. Use
+<code>git sparse-checkout set</code> to expand the set of directories you want to see,
+or <code>git sparse-checkout disable</code> to expand to all files (see
+<a href="git-sparse-checkout.html">git-sparse-checkout(1)</a> for more details). You can explore the
+subdirectories outside your sparse-checkout by using <code>git ls-tree
+HEAD[:&lt;directory&gt;]</code>.</p></div>
+</dd>
+<dt class="hdlist1">
+-b &lt;name&gt;
+</dt>
+<dt class="hdlist1">
+--branch &lt;name&gt;
+</dt>
+<dd>
+<p>
+ Instead of checking out the branch pointed to by the cloned
+ repository&#8217;s HEAD, check out the <code>&lt;name&gt;</code> branch instead.
+</p>
+</dd>
+<dt class="hdlist1">
+--[no-]single-branch
+</dt>
+<dd>
+<p>
+ Clone only the history leading to the tip of a single branch, either
+ specified by the <code>--branch</code> option or the primary branch remote&#8217;s
+ <code>HEAD</code> points at.
+</p>
+<div class="paragraph"><p>Further fetches into the resulting repository will only update the
+remote-tracking branch for the branch this option was used for the initial
+cloning. If the HEAD at the remote did not point at any branch when
+<code>--single-branch</code> clone was made, no remote-tracking branch is created.</p></div>
+</dd>
+<dt class="hdlist1">
+--[no-]full-clone
+</dt>
+<dd>
+<p>
+ A sparse-checkout is initialized by default. This behavior can be
+ turned off via <code>--full-clone</code>.
+</p>
+</dd>
+</dl></div>
+</div>
+<div class="sect2">
+<h3 id="_list">List</h3>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+list
+</dt>
+<dd>
+<p>
+ List enlistments that are currently registered by Scalar. This
+ subcommand does not need to be run inside an enlistment.
+</p>
+</dd>
+</dl></div>
+</div>
+<div class="sect2">
+<h3 id="_register">Register</h3>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+register [&lt;enlistment&gt;]
+</dt>
+<dd>
+<p>
+ Adds the enlistment&#8217;s repository to the list of registered repositories
+ and starts background maintenance. If <code>&lt;enlistment&gt;</code> is not provided,
+ then the enlistment associated with the current working directory is
+ registered.
+</p>
+<div class="paragraph"><p>Note: when this subcommand is called in a worktree that is called <code>src/</code>, its
+parent directory is considered to be the Scalar enlistment. If the worktree is
+<em>not</em> called <code>src/</code>, it itself will be considered to be the Scalar enlistment.</p></div>
+</dd>
+</dl></div>
+</div>
+<div class="sect2">
+<h3 id="_unregister">Unregister</h3>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+unregister [&lt;enlistment&gt;]
+</dt>
+<dd>
+<p>
+ Remove the specified repository from the list of repositories
+ registered with Scalar and stop the scheduled background maintenance.
+</p>
+</dd>
+</dl></div>
+</div>
+<div class="sect2">
+<h3 id="_run">Run</h3>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+scalar run ( all | config | commit-graph | fetch | loose-objects | pack-files ) [&lt;enlistment&gt;]
+</dt>
+<dd>
+<p>
+ Run the given maintenance task (or all tasks, if <code>all</code> was specified).
+ Except for <code>all</code> and <code>config</code>, this subcommand simply hands off to
+ <a href="git-maintenance.html">git-maintenance(1)</a> (mapping <code>fetch</code> to <code>prefetch</code> and
+ <code>pack-files</code> to <code>incremental-repack</code>).
+</p>
+<div class="paragraph"><p>These tasks are run automatically as part of the scheduled maintenance,
+as soon as the repository is registered with Scalar. It should therefore
+not be necessary to run this subcommand manually.</p></div>
+<div class="paragraph"><p>The <code>config</code> task is specific to Scalar and configures all those
+opinionated default settings that make Git work more efficiently with
+large repositories. As this task is run as part of <code>scalar clone</code>
+automatically, explicit invocations of this task are rarely needed.</p></div>
+</dd>
+</dl></div>
+</div>
+<div class="sect2">
+<h3 id="_reconfigure">Reconfigure</h3>
+<div class="paragraph"><p>After a Scalar upgrade, or when the configuration of a Scalar enlistment
+was somehow corrupted or changed by mistake, this subcommand allows to
+reconfigure the enlistment.</p></div>
+<div class="paragraph"><p>With the <code>--all</code> option, all enlistments currently registered with Scalar
+will be reconfigured. Use this option after each Scalar upgrade.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_diagnose">Diagnose</h3>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+diagnose [&lt;enlistment&gt;]
+</dt>
+<dd>
+<p>
+ When reporting issues with Scalar, it is often helpful to provide the
+ information gathered by this command, including logs and certain
+ statistics describing the data shape of the current enlistment.
+</p>
+<div class="paragraph"><p>The output of this command is a <code>.zip</code> file that is written into
+a directory adjacent to the worktree in the <code>src</code> directory.</p></div>
+</dd>
+</dl></div>
+</div>
+<div class="sect2">
+<h3 id="_delete">Delete</h3>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+delete &lt;enlistment&gt;
+</dt>
+<dd>
+<p>
+ This subcommand lets you delete an existing Scalar enlistment from your
+ local file system, unregistering the repository.
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_see_also">SEE ALSO</h2>
+<div class="sectionbody">
+<div class="paragraph"><p><a href="git-clone.html">git-clone(1)</a>, <a href="git-maintenance.html">git-maintenance(1)</a>.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_git">GIT</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Part of the <a href="git.html">git(1)</a> suite</p></div>
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Last updated
+ 2022-09-19 15:03:44 PDT
+</div>
+</div>
+</body>
+</html>
diff --git a/scalar.txt b/scalar.txt
new file mode 100644
index 000000000..f33436c7f
--- /dev/null
+++ b/scalar.txt
@@ -0,0 +1,166 @@
+scalar(1)
+=========
+
+NAME
+----
+scalar - A tool for managing large Git repositories
+
+SYNOPSIS
+--------
+[verse]
+scalar clone [--single-branch] [--branch <main-branch>] [--full-clone] <url> [<enlistment>]
+scalar list
+scalar register [<enlistment>]
+scalar unregister [<enlistment>]
+scalar run ( all | config | commit-graph | fetch | loose-objects | pack-files ) [<enlistment>]
+scalar reconfigure [ --all | <enlistment> ]
+scalar diagnose [<enlistment>]
+scalar delete <enlistment>
+
+DESCRIPTION
+-----------
+
+Scalar is a repository management tool that optimizes Git for use in large
+repositories. Scalar improves performance by configuring advanced Git settings,
+maintaining repositories in the background, and helping to reduce data sent
+across the network.
+
+An important Scalar concept is the enlistment: this is the top-level directory
+of the project. It usually contains the subdirectory `src/` which is a Git
+worktree. This encourages the separation between tracked files (inside `src/`)
+and untracked files, such as build artifacts (outside `src/`). When registering
+an existing Git worktree with Scalar whose name is not `src`, the enlistment
+will be identical to the worktree.
+
+The `scalar` command implements various subcommands, and different options
+depending on the subcommand. With the exception of `clone`, `list` and
+`reconfigure --all`, all subcommands expect to be run in an enlistment.
+
+The following options can be specified _before_ the subcommand:
+
+-C <directory>::
+ Before running the subcommand, change the working directory. This
+ option imitates the same option of linkgit:git[1].
+
+-c <key>=<value>::
+ For the duration of running the specified subcommand, configure this
+ setting. This option imitates the same option of linkgit:git[1].
+
+COMMANDS
+--------
+
+Clone
+~~~~~
+
+clone [<options>] <url> [<enlistment>]::
+ Clones the specified repository, similar to linkgit:git-clone[1]. By
+ default, only commit and tree objects are cloned. Once finished, the
+ worktree is located at `<enlistment>/src`.
++
+The sparse-checkout feature is enabled (except when run with `--full-clone`)
+and the only files present are those in the top-level directory. Use
+`git sparse-checkout set` to expand the set of directories you want to see,
+or `git sparse-checkout disable` to expand to all files (see
+linkgit:git-sparse-checkout[1] for more details). You can explore the
+subdirectories outside your sparse-checkout by using `git ls-tree
+HEAD[:<directory>]`.
+
+-b <name>::
+--branch <name>::
+ Instead of checking out the branch pointed to by the cloned
+ repository's HEAD, check out the `<name>` branch instead.
+
+--[no-]single-branch::
+ Clone only the history leading to the tip of a single branch, either
+ specified by the `--branch` option or the primary branch remote's
+ `HEAD` points at.
++
+Further fetches into the resulting repository will only update the
+remote-tracking branch for the branch this option was used for the initial
+cloning. If the HEAD at the remote did not point at any branch when
+`--single-branch` clone was made, no remote-tracking branch is created.
+
+--[no-]full-clone::
+ A sparse-checkout is initialized by default. This behavior can be
+ turned off via `--full-clone`.
+
+List
+~~~~
+
+list::
+ List enlistments that are currently registered by Scalar. This
+ subcommand does not need to be run inside an enlistment.
+
+Register
+~~~~~~~~
+
+register [<enlistment>]::
+ Adds the enlistment's repository to the list of registered repositories
+ and starts background maintenance. If `<enlistment>` is not provided,
+ then the enlistment associated with the current working directory is
+ registered.
++
+Note: when this subcommand is called in a worktree that is called `src/`, its
+parent directory is considered to be the Scalar enlistment. If the worktree is
+_not_ called `src/`, it itself will be considered to be the Scalar enlistment.
+
+Unregister
+~~~~~~~~~~
+
+unregister [<enlistment>]::
+ Remove the specified repository from the list of repositories
+ registered with Scalar and stop the scheduled background maintenance.
+
+Run
+~~~
+
+scalar run ( all | config | commit-graph | fetch | loose-objects | pack-files ) [<enlistment>]::
+ Run the given maintenance task (or all tasks, if `all` was specified).
+ Except for `all` and `config`, this subcommand simply hands off to
+ linkgit:git-maintenance[1] (mapping `fetch` to `prefetch` and
+ `pack-files` to `incremental-repack`).
++
+These tasks are run automatically as part of the scheduled maintenance,
+as soon as the repository is registered with Scalar. It should therefore
+not be necessary to run this subcommand manually.
++
+The `config` task is specific to Scalar and configures all those
+opinionated default settings that make Git work more efficiently with
+large repositories. As this task is run as part of `scalar clone`
+automatically, explicit invocations of this task are rarely needed.
+
+Reconfigure
+~~~~~~~~~~~
+
+After a Scalar upgrade, or when the configuration of a Scalar enlistment
+was somehow corrupted or changed by mistake, this subcommand allows to
+reconfigure the enlistment.
+
+With the `--all` option, all enlistments currently registered with Scalar
+will be reconfigured. Use this option after each Scalar upgrade.
+
+Diagnose
+~~~~~~~~
+
+diagnose [<enlistment>]::
+ When reporting issues with Scalar, it is often helpful to provide the
+ information gathered by this command, including logs and certain
+ statistics describing the data shape of the current enlistment.
++
+The output of this command is a `.zip` file that is written into
+a directory adjacent to the worktree in the `src` directory.
+
+Delete
+~~~~~~
+
+delete <enlistment>::
+ This subcommand lets you delete an existing Scalar enlistment from your
+ local file system, unregistering the repository.
+
+SEE ALSO
+--------
+linkgit:git-clone[1], linkgit:git-maintenance[1].
+
+GIT
+---
+Part of the linkgit:git[1] suite
diff --git a/technical/scalar.html b/technical/scalar.html
new file mode 100644
index 000000000..12b4355d0
--- /dev/null
+++ b/technical/scalar.html
@@ -0,0 +1,840 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.2.0" />
+<title>Scalar</title>
+<style type="text/css">
+/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
+
+/* Default font. */
+body {
+ font-family: Georgia,serif;
+}
+
+/* Title font. */
+h1, h2, h3, h4, h5, h6,
+div.title, caption.title,
+thead, p.table.header,
+#toctitle,
+#author, #revnumber, #revdate, #revremark,
+#footer {
+ font-family: Arial,Helvetica,sans-serif;
+}
+
+body {
+ margin: 1em 5% 1em 5%;
+}
+
+a {
+ color: blue;
+ text-decoration: underline;
+}
+a:visited {
+ color: fuchsia;
+}
+
+em {
+ font-style: italic;
+ color: navy;
+}
+
+strong {
+ font-weight: bold;
+ color: #083194;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ color: #527bbd;
+ margin-top: 1.2em;
+ margin-bottom: 0.5em;
+ line-height: 1.3;
+}
+
+h1, h2, h3 {
+ border-bottom: 2px solid silver;
+}
+h2 {
+ padding-top: 0.5em;
+}
+h3 {
+ float: left;
+}
+h3 + * {
+ clear: left;
+}
+h5 {
+ font-size: 1.0em;
+}
+
+div.sectionbody {
+ margin-left: 0;
+}
+
+hr {
+ border: 1px solid silver;
+}
+
+p {
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+}
+
+ul, ol, li > p {
+ margin-top: 0;
+}
+ul > li { color: #aaa; }
+ul > li > * { color: black; }
+
+.monospaced, code, pre {
+ font-family: "Courier New", Courier, monospace;
+ font-size: inherit;
+ color: navy;
+ padding: 0;
+ margin: 0;
+}
+pre {
+ white-space: pre-wrap;
+}
+
+#author {
+ color: #527bbd;
+ font-weight: bold;
+ font-size: 1.1em;
+}
+#email {
+}
+#revnumber, #revdate, #revremark {
+}
+
+#footer {
+ font-size: small;
+ border-top: 2px solid silver;
+ padding-top: 0.5em;
+ margin-top: 4.0em;
+}
+#footer-text {
+ float: left;
+ padding-bottom: 0.5em;
+}
+#footer-badges {
+ float: right;
+ padding-bottom: 0.5em;
+}
+
+#preamble {
+ margin-top: 1.5em;
+ margin-bottom: 1.5em;
+}
+div.imageblock, div.exampleblock, div.verseblock,
+div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
+div.admonitionblock {
+ margin-top: 1.0em;
+ margin-bottom: 1.5em;
+}
+div.admonitionblock {
+ margin-top: 2.0em;
+ margin-bottom: 2.0em;
+ margin-right: 10%;
+ color: #606060;
+}
+
+div.content { /* Block element content. */
+ padding: 0;
+}
+
+/* Block element titles. */
+div.title, caption.title {
+ color: #527bbd;
+ font-weight: bold;
+ text-align: left;
+ margin-top: 1.0em;
+ margin-bottom: 0.5em;
+}
+div.title + * {
+ margin-top: 0;
+}
+
+td div.title:first-child {
+ margin-top: 0.0em;
+}
+div.content div.title:first-child {
+ margin-top: 0.0em;
+}
+div.content + div.title {
+ margin-top: 0.0em;
+}
+
+div.sidebarblock > div.content {
+ background: #ffffee;
+ border: 1px solid #dddddd;
+ border-left: 4px solid #f0f0f0;
+ padding: 0.5em;
+}
+
+div.listingblock > div.content {
+ border: 1px solid #dddddd;
+ border-left: 5px solid #f0f0f0;
+ background: #f8f8f8;
+ padding: 0.5em;
+}
+
+div.quoteblock, div.verseblock {
+ padding-left: 1.0em;
+ margin-left: 1.0em;
+ margin-right: 10%;
+ border-left: 5px solid #f0f0f0;
+ color: #888;
+}
+
+div.quoteblock > div.attribution {
+ padding-top: 0.5em;
+ text-align: right;
+}
+
+div.verseblock > pre.content {
+ font-family: inherit;
+ font-size: inherit;
+}
+div.verseblock > div.attribution {
+ padding-top: 0.75em;
+ text-align: left;
+}
+/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
+div.verseblock + div.attribution {
+ text-align: left;
+}
+
+div.admonitionblock .icon {
+ vertical-align: top;
+ font-size: 1.1em;
+ font-weight: bold;
+ text-decoration: underline;
+ color: #527bbd;
+ padding-right: 0.5em;
+}
+div.admonitionblock td.content {
+ padding-left: 0.5em;
+ border-left: 3px solid #dddddd;
+}
+
+div.exampleblock > div.content {
+ border-left: 3px solid #dddddd;
+ padding-left: 0.5em;
+}
+
+div.imageblock div.content { padding-left: 0; }
+span.image img { border-style: none; vertical-align: text-bottom; }
+a.image:visited { color: white; }
+
+dl {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+dt {
+ margin-top: 0.5em;
+ margin-bottom: 0;
+ font-style: normal;
+ color: navy;
+}
+dd > *:first-child {
+ margin-top: 0.1em;
+}
+
+ul, ol {
+ list-style-position: outside;
+}
+ol.arabic {
+ list-style-type: decimal;
+}
+ol.loweralpha {
+ list-style-type: lower-alpha;
+}
+ol.upperalpha {
+ list-style-type: upper-alpha;
+}
+ol.lowerroman {
+ list-style-type: lower-roman;
+}
+ol.upperroman {
+ list-style-type: upper-roman;
+}
+
+div.compact ul, div.compact ol,
+div.compact p, div.compact p,
+div.compact div, div.compact div {
+ margin-top: 0.1em;
+ margin-bottom: 0.1em;
+}
+
+tfoot {
+ font-weight: bold;
+}
+td > div.verse {
+ white-space: pre;
+}
+
+div.hdlist {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+div.hdlist tr {
+ padding-bottom: 15px;
+}
+dt.hdlist1.strong, td.hdlist1.strong {
+ font-weight: bold;
+}
+td.hdlist1 {
+ vertical-align: top;
+ font-style: normal;
+ padding-right: 0.8em;
+ color: navy;
+}
+td.hdlist2 {
+ vertical-align: top;
+}
+div.hdlist.compact tr {
+ margin: 0;
+ padding-bottom: 0;
+}
+
+.comment {
+ background: yellow;
+}
+
+.footnote, .footnoteref {
+ font-size: 0.8em;
+}
+
+span.footnote, span.footnoteref {
+ vertical-align: super;
+}
+
+#footnotes {
+ margin: 20px 0 20px 0;
+ padding: 7px 0 0 0;
+}
+
+#footnotes div.footnote {
+ margin: 0 0 5px 0;
+}
+
+#footnotes hr {
+ border: none;
+ border-top: 1px solid silver;
+ height: 1px;
+ text-align: left;
+ margin-left: 0;
+ width: 20%;
+ min-width: 100px;
+}
+
+div.colist td {
+ padding-right: 0.5em;
+ padding-bottom: 0.3em;
+ vertical-align: top;
+}
+div.colist td img {
+ margin-top: 0.3em;
+}
+
+@media print {
+ #footer-badges { display: none; }
+}
+
+#toc {
+ margin-bottom: 2.5em;
+}
+
+#toctitle {
+ color: #527bbd;
+ font-size: 1.1em;
+ font-weight: bold;
+ margin-top: 1.0em;
+ margin-bottom: 0.1em;
+}
+
+div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+div.toclevel2 {
+ margin-left: 2em;
+ font-size: 0.9em;
+}
+div.toclevel3 {
+ margin-left: 4em;
+ font-size: 0.9em;
+}
+div.toclevel4 {
+ margin-left: 6em;
+ font-size: 0.9em;
+}
+
+span.aqua { color: aqua; }
+span.black { color: black; }
+span.blue { color: blue; }
+span.fuchsia { color: fuchsia; }
+span.gray { color: gray; }
+span.green { color: green; }
+span.lime { color: lime; }
+span.maroon { color: maroon; }
+span.navy { color: navy; }
+span.olive { color: olive; }
+span.purple { color: purple; }
+span.red { color: red; }
+span.silver { color: silver; }
+span.teal { color: teal; }
+span.white { color: white; }
+span.yellow { color: yellow; }
+
+span.aqua-background { background: aqua; }
+span.black-background { background: black; }
+span.blue-background { background: blue; }
+span.fuchsia-background { background: fuchsia; }
+span.gray-background { background: gray; }
+span.green-background { background: green; }
+span.lime-background { background: lime; }
+span.maroon-background { background: maroon; }
+span.navy-background { background: navy; }
+span.olive-background { background: olive; }
+span.purple-background { background: purple; }
+span.red-background { background: red; }
+span.silver-background { background: silver; }
+span.teal-background { background: teal; }
+span.white-background { background: white; }
+span.yellow-background { background: yellow; }
+
+span.big { font-size: 2em; }
+span.small { font-size: 0.6em; }
+
+span.underline { text-decoration: underline; }
+span.overline { text-decoration: overline; }
+span.line-through { text-decoration: line-through; }
+
+div.unbreakable { page-break-inside: avoid; }
+
+
+/*
+ * xhtml11 specific
+ *
+ * */
+
+div.tableblock {
+ margin-top: 1.0em;
+ margin-bottom: 1.5em;
+}
+div.tableblock > table {
+ border: 3px solid #527bbd;
+}
+thead, p.table.header {
+ font-weight: bold;
+ color: #527bbd;
+}
+p.table {
+ margin-top: 0;
+}
+/* Because the table frame attribute is overridden by CSS in most browsers. */
+div.tableblock > table[frame="void"] {
+ border-style: none;
+}
+div.tableblock > table[frame="hsides"] {
+ border-left-style: none;
+ border-right-style: none;
+}
+div.tableblock > table[frame="vsides"] {
+ border-top-style: none;
+ border-bottom-style: none;
+}
+
+
+/*
+ * html5 specific
+ *
+ * */
+
+table.tableblock {
+ margin-top: 1.0em;
+ margin-bottom: 1.5em;
+}
+thead, p.tableblock.header {
+ font-weight: bold;
+ color: #527bbd;
+}
+p.tableblock {
+ margin-top: 0;
+}
+table.tableblock {
+ border-width: 3px;
+ border-spacing: 0px;
+ border-style: solid;
+ border-color: #527bbd;
+ border-collapse: collapse;
+}
+th.tableblock, td.tableblock {
+ border-width: 1px;
+ padding: 4px;
+ border-style: solid;
+ border-color: #527bbd;
+}
+
+table.tableblock.frame-topbot {
+ border-left-style: hidden;
+ border-right-style: hidden;
+}
+table.tableblock.frame-sides {
+ border-top-style: hidden;
+ border-bottom-style: hidden;
+}
+table.tableblock.frame-none {
+ border-style: hidden;
+}
+
+th.tableblock.halign-left, td.tableblock.halign-left {
+ text-align: left;
+}
+th.tableblock.halign-center, td.tableblock.halign-center {
+ text-align: center;
+}
+th.tableblock.halign-right, td.tableblock.halign-right {
+ text-align: right;
+}
+
+th.tableblock.valign-top, td.tableblock.valign-top {
+ vertical-align: top;
+}
+th.tableblock.valign-middle, td.tableblock.valign-middle {
+ vertical-align: middle;
+}
+th.tableblock.valign-bottom, td.tableblock.valign-bottom {
+ vertical-align: bottom;
+}
+
+
+/*
+ * manpage specific
+ *
+ * */
+
+body.manpage h1 {
+ padding-top: 0.5em;
+ padding-bottom: 0.5em;
+ border-top: 2px solid silver;
+ border-bottom: 2px solid silver;
+}
+body.manpage h2 {
+ border-style: none;
+}
+body.manpage div.sectionbody {
+ margin-left: 3em;
+}
+
+@media print {
+ body.manpage div#toc { display: none; }
+}
+
+
+</style>
+<script type="text/javascript">
+/*<![CDATA[*/
+var asciidoc = { // Namespace.
+
+/////////////////////////////////////////////////////////////////////
+// Table Of Contents generator
+/////////////////////////////////////////////////////////////////////
+
+/* Author: Mihai Bazon, September 2002
+ * http://students.infoiasi.ro/~mishoo
+ *
+ * Table Of Content generator
+ * Version: 0.4
+ *
+ * Feel free to use this script under the terms of the GNU General Public
+ * License, as long as you do not remove or alter this notice.
+ */
+
+ /* modified by Troy D. Hanson, September 2006. License: GPL */
+ /* modified by Stuart Rackham, 2006, 2009. License: GPL */
+
+// toclevels = 1..4.
+toc: function (toclevels) {
+
+ function getText(el) {
+ var text = "";
+ for (var i = el.firstChild; i != null; i = i.nextSibling) {
+ if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
+ text += i.data;
+ else if (i.firstChild != null)
+ text += getText(i);
+ }
+ return text;
+ }
+
+ function TocEntry(el, text, toclevel) {
+ this.element = el;
+ this.text = text;
+ this.toclevel = toclevel;
+ }
+
+ function tocEntries(el, toclevels) {
+ var result = new Array;
+ var re = new RegExp('[hH]([1-'+(toclevels+1)+'])');
+ // Function that scans the DOM tree for header elements (the DOM2
+ // nodeIterator API would be a better technique but not supported by all
+ // browsers).
+ var iterate = function (el) {
+ for (var i = el.firstChild; i != null; i = i.nextSibling) {
+ if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
+ var mo = re.exec(i.tagName);
+ if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
+ result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
+ }
+ iterate(i);
+ }
+ }
+ }
+ iterate(el);
+ return result;
+ }
+
+ var toc = document.getElementById("toc");
+ if (!toc) {
+ return;
+ }
+
+ // Delete existing TOC entries in case we're reloading the TOC.
+ var tocEntriesToRemove = [];
+ var i;
+ for (i = 0; i < toc.childNodes.length; i++) {
+ var entry = toc.childNodes[i];
+ if (entry.nodeName.toLowerCase() == 'div'
+ && entry.getAttribute("class")
+ && entry.getAttribute("class").match(/^toclevel/))
+ tocEntriesToRemove.push(entry);
+ }
+ for (i = 0; i < tocEntriesToRemove.length; i++) {
+ toc.removeChild(tocEntriesToRemove[i]);
+ }
+
+ // Rebuild TOC entries.
+ var entries = tocEntries(document.getElementById("content"), toclevels);
+ for (var i = 0; i < entries.length; ++i) {
+ var entry = entries[i];
+ if (entry.element.id == "")
+ entry.element.id = "_toc_" + i;
+ var a = document.createElement("a");
+ a.href = "#" + entry.element.id;
+ a.appendChild(document.createTextNode(entry.text));
+ var div = document.createElement("div");
+ div.appendChild(a);
+ div.className = "toclevel" + entry.toclevel;
+ toc.appendChild(div);
+ }
+ if (entries.length == 0)
+ toc.parentNode.removeChild(toc);
+},
+
+
+/////////////////////////////////////////////////////////////////////
+// Footnotes generator
+/////////////////////////////////////////////////////////////////////
+
+/* Based on footnote generation code from:
+ * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
+ */
+
+footnotes: function () {
+ // Delete existing footnote entries in case we're reloading the footnodes.
+ var i;
+ var noteholder = document.getElementById("footnotes");
+ if (!noteholder) {
+ return;
+ }
+ var entriesToRemove = [];
+ for (i = 0; i < noteholder.childNodes.length; i++) {
+ var entry = noteholder.childNodes[i];
+ if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")
+ entriesToRemove.push(entry);
+ }
+ for (i = 0; i < entriesToRemove.length; i++) {
+ noteholder.removeChild(entriesToRemove[i]);
+ }
+
+ // Rebuild footnote entries.
+ var cont = document.getElementById("content");
+ var spans = cont.getElementsByTagName("span");
+ var refs = {};
+ var n = 0;
+ for (i=0; i<spans.length; i++) {
+ if (spans[i].className == "footnote") {
+ n++;
+ var note = spans[i].getAttribute("data-note");
+ if (!note) {
+ // Use [\s\S] in place of . so multi-line matches work.
+ // Because JavaScript has no s (dotall) regex flag.
+ note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
+ spans[i].innerHTML =
+ "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
+ "' title='View footnote' class='footnote'>" + n + "</a>]";
+ spans[i].setAttribute("data-note", note);
+ }
+ noteholder.innerHTML +=
+ "<div class='footnote' id='_footnote_" + n + "'>" +
+ "<a href='#_footnoteref_" + n + "' title='Return to text'>" +
+ n + "</a>. " + note + "</div>";
+ var id =spans[i].getAttribute("id");
+ if (id != null) refs["#"+id] = n;
+ }
+ }
+ if (n == 0)
+ noteholder.parentNode.removeChild(noteholder);
+ else {
+ // Process footnoterefs.
+ for (i=0; i<spans.length; i++) {
+ if (spans[i].className == "footnoteref") {
+ var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
+ href = href.match(/#.*/)[0]; // Because IE return full URL.
+ n = refs[href];
+ spans[i].innerHTML =
+ "[<a href='#_footnote_" + n +
+ "' title='View footnote' class='footnote'>" + n + "</a>]";
+ }
+ }
+ }
+},
+
+install: function(toclevels) {
+ var timerId;
+
+ function reinstall() {
+ asciidoc.footnotes();
+ if (toclevels) {
+ asciidoc.toc(toclevels);
+ }
+ }
+
+ function reinstallAndRemoveTimer() {
+ clearInterval(timerId);
+ reinstall();
+ }
+
+ timerId = setInterval(reinstall, 500);
+ if (document.addEventListener)
+ document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
+ else
+ window.onload = reinstallAndRemoveTimer;
+}
+
+}
+asciidoc.install();
+/*]]>*/
+</script>
+</head>
+<body class="article">
+<div id="header">
+<h1>Scalar</h1>
+</div>
+<div id="content">
+<div id="preamble">
+<div class="sectionbody">
+<div class="paragraph"><p>Scalar is a repository management tool that optimizes Git for use in large
+repositories. It accomplishes this by helping users to take advantage of
+advanced performance features in Git. Unlike most other Git built-in commands,
+Scalar is not executed as a subcommand of <em>git</em>; rather, it is built as a
+separate executable containing its own series of subcommands.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_background">Background</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Scalar was originally designed as an add-on to Git and implemented as a .NET
+Core application. It was created based on the learnings from the VFS for Git
+project (another application aimed at improving the experience of working with
+large repositories). As part of its initial implementation, Scalar relied on
+custom features in the Microsoft fork of Git that have since been integrated
+into core Git:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+partial clone,
+</p>
+</li>
+<li>
+<p>
+commit graphs,
+</p>
+</li>
+<li>
+<p>
+multi-pack index,
+</p>
+</li>
+<li>
+<p>
+sparse checkout (cone mode),
+</p>
+</li>
+<li>
+<p>
+scheduled background maintenance,
+</p>
+</li>
+<li>
+<p>
+etc
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>With the requisite Git functionality in place and a desire to bring the benefits
+of Scalar to the larger Git community, the Scalar application itself was ported
+from C# to C and integrated upstream.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_features">Features</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Scalar is comprised of two major pieces of functionality: automatically
+configuring built-in Git performance features and managing repository
+enlistments.</p></div>
+<div class="paragraph"><p>The Git performance features configured by Scalar (see "Background" for
+examples) confer substantial performance benefits to large repositories, but are
+either too experimental to enable for all of Git yet, or only benefit large
+repositories. As new features are introduced, Scalar should be updated
+accordingly to incorporate them. This will prevent the tool from becoming stale
+while also providing a path for more easily bringing features to the appropriate
+users.</p></div>
+<div class="paragraph"><p>Enlistments are how Scalar knows which repositories on a user&#8217;s system should
+utilize Scalar-configured features. This allows it to update performance
+settings when new ones are added to the tool, as well as centrally manage
+repository maintenance. The enlistment structure - a root directory with a
+<code>src/</code> subdirectory containing the cloned repository itself - is designed to
+encourage users to route build outputs outside of the repository to avoid the
+performance-limiting overhead of ignoring those files in Git.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_design">Design</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Scalar is implemented in C and interacts with Git via a mix of child process
+invocations of Git and direct usage of <code>libgit.a</code>. Internally, it is structured
+much like other built-ins with subcommands (e.g., <code>git stash</code>), containing a
+<code>cmd_&lt;subcommand&gt;()</code> function for each subcommand, routed through a <code>cmd_main()</code>
+function. Most options are unique to each subcommand, with <code>scalar</code> respecting
+some "global" <code>git</code> options (e.g., <code>-c</code> and <code>-C</code>).</p></div>
+<div class="paragraph"><p>Because <code>scalar</code> is not invoked as a Git subcommand (like <code>git scalar</code>), it is
+built and installed as its own executable in the <code>bin/</code> directory, alongside
+<code>git</code>, <code>git-gui</code>, etc.</p></div>
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Last updated
+ 2022-09-19 15:03:44 PDT
+</div>
+</div>
+</body>
+</html>
diff --git a/technical/scalar.txt b/technical/scalar.txt
index 0600150b3..921cb104c 100644
--- a/technical/scalar.txt
+++ b/technical/scalar.txt
@@ -64,64 +64,3 @@ some "global" `git` options (e.g., `-c` and `-C`).
Because `scalar` is not invoked as a Git subcommand (like `git scalar`), it is
built and installed as its own executable in the `bin/` directory, alongside
`git`, `git-gui`, etc.
-
-Roadmap
--------
-
-NOTE: this section will be removed once the remaining tasks outlined in this
-roadmap are complete.
-
-Scalar is a large enough project that it is being upstreamed incrementally,
-living in `contrib/` until it is feature-complete. So far, the following patch
-series have been accepted:
-
-- `scalar-the-beginning`: The initial patch series which sets up
- `contrib/scalar/` and populates it with a minimal `scalar` command that
- demonstrates the fundamental ideas.
-
-- `scalar-c-and-C`: The `scalar` command learns about two options that can be
- specified before the command, `-c <key>=<value>` and `-C <directory>`.
-
-- `scalar-diagnose`: The `scalar` command is taught the `diagnose` subcommand.
-
-- `scalar-generalize-diagnose`: Move the functionality of `scalar diagnose`
- into `git diagnose` and `git bugreport --diagnose`.
-
-- 'scalar-add-fsmonitor: Enable the built-in FSMonitor in Scalar
- enlistments. At the end of this series, Scalar should be feature-complete
- from the perspective of a user.
-
-Roughly speaking (and subject to change), the following series are needed to
-"finish" this initial version of Scalar:
-
-- Move Scalar to toplevel: Move Scalar out of `contrib/` and into the root of
- `git`. This includes a variety of related updates, including:
- - building & installing Scalar in the Git root-level 'make [install]'.
- - builing & testing Scalar as part of CI.
- - moving and expanding test coverage of Scalar (including perf tests).
- - implementing 'scalar help'/'git help scalar' to display scalar
- documentation.
-
-Finally, there are two additional patch series that exist in Microsoft's fork of
-Git, but there is no current plan to upstream them. There are some interesting
-ideas there, but the implementation is too specific to Azure Repos and/or VFS
-for Git to be of much help in general.
-
-These still exist mainly because the GVFS protocol is what Azure Repos has
-instead of partial clone, while Git is focused on improving partial clone:
-
-- `scalar-with-gvfs`: The primary purpose of this patch series is to support
- existing Scalar users whose repositories are hosted in Azure Repos (which does
- not support Git's partial clones, but supports its predecessor, the GVFS
- protocol, which is used by Scalar to emulate the partial clone).
-
- Since the GVFS protocol will never be supported by core Git, this patch series
- will remain in Microsoft's fork of Git.
-
-- `run-scalar-functional-tests`: The Scalar project developed a quite
- comprehensive set of integration tests (or, "Functional Tests"). They are the
- sole remaining part of the original C#-based Scalar project, and this patch
- adds a GitHub workflow that runs them all.
-
- Since the tests partially depend on features that are only provided in the
- `scalar-with-gvfs` patch series, this patch cannot be upstreamed.