diff options
Diffstat (limited to 'third_party/git/Documentation/gitnamespaces.txt')
-rw-r--r-- | third_party/git/Documentation/gitnamespaces.txt | 64 |
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[] |