about summary refs log tree commit diff
path: root/third_party/git/Documentation/gitnamespaces.txt
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/git/Documentation/gitnamespaces.txt')
-rw-r--r--third_party/git/Documentation/gitnamespaces.txt64
1 files changed, 0 insertions, 64 deletions
diff --git a/third_party/git/Documentation/gitnamespaces.txt b/third_party/git/Documentation/gitnamespaces.txt
deleted file mode 100644
index b614969ad2c1..000000000000
--- a/third_party/git/Documentation/gitnamespaces.txt
+++ /dev/null
@@ -1,64 +0,0 @@
-gitnamespaces(7)
-================
-
-NAME
-----
-gitnamespaces - Git namespaces
-
-SYNOPSIS
---------
-[verse]
-GIT_NAMESPACE=<namespace> 'git upload-pack'
-GIT_NAMESPACE=<namespace> 'git receive-pack'
-
-
-DESCRIPTION
------------
-
-Git supports dividing the refs of a single repository into multiple
-namespaces, each of which has its own branches, tags, and HEAD.  Git can
-expose each namespace as an independent repository to pull from and push
-to, while sharing the object store, and exposing all the refs to
-operations such as linkgit:git-gc[1].
-
-Storing multiple repositories as namespaces of a single repository
-avoids storing duplicate copies of the same objects, such as when
-storing multiple branches of the same source.  The alternates mechanism
-provides similar support for avoiding duplicates, but alternates do not
-prevent duplication between new objects added to the repositories
-without ongoing maintenance, while namespaces do.
-
-To specify a namespace, set the `GIT_NAMESPACE` environment variable to
-the namespace.  For each ref namespace, Git stores the corresponding
-refs in a directory under `refs/namespaces/`.  For example,
-`GIT_NAMESPACE=foo` will store refs under `refs/namespaces/foo/`.  You
-can also specify namespaces via the `--namespace` option to
-linkgit:git[1].
-
-Note that namespaces which include a `/` will expand to a hierarchy of
-namespaces; for example, `GIT_NAMESPACE=foo/bar` will store refs under
-`refs/namespaces/foo/refs/namespaces/bar/`.  This makes paths in
-`GIT_NAMESPACE` behave hierarchically, so that cloning with
-`GIT_NAMESPACE=foo/bar` produces the same result as cloning with
-`GIT_NAMESPACE=foo` and cloning from that repo with `GIT_NAMESPACE=bar`.  It
-also avoids ambiguity with strange namespace paths such as `foo/refs/heads/`,
-which could otherwise generate directory/file conflicts within the `refs`
-directory.
-
-linkgit:git-upload-pack[1] and linkgit:git-receive-pack[1] rewrite the
-names of refs as specified by `GIT_NAMESPACE`.  git-upload-pack and
-git-receive-pack will ignore all references outside the specified
-namespace.
-
-The smart HTTP server, linkgit:git-http-backend[1], will pass
-GIT_NAMESPACE through to the backend programs; see
-linkgit:git-http-backend[1] for sample configuration to expose
-repository namespaces as repositories.
-
-For a simple local test, you can use linkgit:git-remote-ext[1]:
-
-----------
-git clone ext::'git --namespace=foo %s /tmp/prefixed.git'
-----------
-
-include::transfer-data-leaks.txt[]