summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorMike Frysinger <vapier@google.com>2020-02-09 02:28:34 -0500
committerMike Frysinger <vapier@google.com>2020-02-19 18:11:33 +0000
commit979d5bdc3ebe45998a76dbbaff46c33d4e59683b (patch)
tree97c639570a60dd02a6ee9b712dff091a83ac8110 /docs
parent56ce3468b4f2faa1cccfea01dc91e7db73fb3843 (diff)
downloadgit-repo-979d5bdc3ebe45998a76dbbaff46c33d4e59683b.tar.gz
add experimental git worktree support
This provides initial support for using git worktrees internally instead of our own ad-hoc symlink tree. It's been lightly tested which is why it's not currently exposed via --help. When people opt-in to worktrees in an existing repo client checkout, no projects are migrated. Instead, only new projects will use the worktree method. This allows for limited testing/opting in without having to completely blow things away or get a second checkout. Bug: https://crbug.com/gerrit/11486 Change-Id: Ic3ff891b30940a6ba497b406b2a387e0a8517ed8 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/254075 Tested-by: Mike Frysinger <vapier@google.com> Reviewed-by: Mike Frysinger <vapier@google.com>
Diffstat (limited to 'docs')
-rw-r--r--docs/internal-fs-layout.md6
1 files changed, 6 insertions, 0 deletions
diff --git a/docs/internal-fs-layout.md b/docs/internal-fs-layout.md
index 8e62cde2..f4740291 100644
--- a/docs/internal-fs-layout.md
+++ b/docs/internal-fs-layout.md
@@ -102,6 +102,11 @@ support, see the [manifest-format.md] file.
102 respective servers ... 102 respective servers ...
103* `subprojects/`: Like `projects/`, but for git submodules. 103* `subprojects/`: Like `projects/`, but for git submodules.
104* `subproject-objects/`: Like `project-objects/`, but for git submodules. 104* `subproject-objects/`: Like `project-objects/`, but for git submodules.
105* `worktrees/`: Bare checkouts of every project synced by the manifest. The
106 filesystem layout matches the `<project name=...` setting in the manifest
107 (i.e. the path on the remote server).
108
109 This is used when git worktrees are enabled.
105 110
106### Global settings 111### Global settings
107 112
@@ -121,6 +126,7 @@ User controlled settings are initialized when running `repo init`.
121| repo.partialclone | `--partial-clone` | Create [partial git clones] | 126| repo.partialclone | `--partial-clone` | Create [partial git clones] |
122| repo.reference | `--reference` | Reference repo client checkout | 127| repo.reference | `--reference` | Reference repo client checkout |
123| repo.submodules | `--submodules` | Sync git submodules | 128| repo.submodules | `--submodules` | Sync git submodules |
129| repo.worktree | `--worktree` | Use `git worktree` for checkouts |
124| user.email | `--config-name` | User's e-mail address; Copied into `.git/config` when checking out a new project | 130| user.email | `--config-name` | User's e-mail address; Copied into `.git/config` when checking out a new project |
125| user.name | `--config-name` | User's name; Copied into `.git/config` when checking out a new project | 131| user.name | `--config-name` | User's name; Copied into `.git/config` when checking out a new project |
126 132