Re: [PATCH 22/32] checkout: support checking out into a new working directory
- From
- Scott Schmit <i.grok@comcast.net>
- Date
- Sep 5, 2014, 03:26 UTC
- Message-ID
- <20140905032633.GB25339@odin.ulthar.us>
- In-Reply-To
- <5405D983.3050707@xiplink.com>
On Tue, Sep 02, 2014 at 10:51:47AM -0400, Marc Branchaud wrote:
Show 18 quoted lines
> MULTIPLE WORKING TREES > ---------------------- > > A git repository can support multiple working trees, allowing you to check > out more than one branch at a time. With `git checkout --to` a new working > tree is associated with the repository. This new working tree is called a > "linked working tree" as opposed to the "main working tree" prepared by "git > init" or "git clone". A repository has one main working tree (if it's not a > bare repository) and zero or more linked working trees. > > Each linked working tree has a private sub-directory in the repository's > $GIT_DIR/worktrees directory. The private sub-directory's name is usually > the base name of the linked working tree's path, possibly appended with a > number to make it unique. For example, when `$GIT_DIR=/path/main/.git` the > command `git checkout --to /path/other/test-next next` creates the linked > working tree in `/path/other/test-next` and also creates a > `$GIT_DIR/worktrees/test-next` directory (or `$GIT_DIR/worktrees/test-next1` > if `test-next` is already taken).
As a user, this leaves me with one other question -- what happens when I'm done with the test-next working tree and want to delete/rename it? Is that cleaned up automatically, or do I need to register that I'm getting rid of/renaming it? (Another use case is if I put the working tree on removable media for some reason.)