Re: working directory status
- From
Johannes Sixt <j6t@kdbg.org>
- Date
- Nov 17, 2019, 22:26 UTC
- Message-ID
- <6bb36048-6649-ebe3-062f-c5564f7d4ec4@kdbg.org>
- In-Reply-To
- <CACKP9cv=J=_sDUsLZi7-GerFD=qbHuJT0MBdfgsMsN4pD25L2A@mail.gmail.com>
Am 17.11.19 um 21:33 schrieb Sivanandan Srilakshmanan:
Show 5 quoted lines
> Reading git documentation, my understanding is that, if you needed to > use "git worktree add" then it is recommended to keep your work tree > (Working Dir) outside of your repository. > My understanding, please correct me if I am wrong, is to have multiple > worktree outside of the Git Repository.
That sounds reasonable. Note though that if you need N worktrees, then you have one worktree with the (non-bare) repository, and N-1 worktrees outside that repository.
> if you used "git clone" to setup your directory and your worktree is > included in the same location as the Git Repository, then GIT_DIR is > not required.
Yes.
Show 12 quoted lines
> Please assist me to understand what I am doing incorrectly. The > "output 1" below is incorrect because Local_Newfeature (working > directory / worktree) is associated with the incorrect branch > (Local_Kumfeature_branch) > Local_Newfeature directory should be pointing to "Local_Newfeature_branch". > > Output 2 is correct. > > ====== Output 1 - incorrect ========================================= > C:\test\Local_Newfeature>git --work-tree=C:\test\Local_Newfeature status > On branch Local_Kumfeature_branch > Your branch is up to date with 'Lakshman/feature_branch'.
You observe this incorrect output because you have GIT_DIR set. Obvously, Git looks at the branch that the HEAD of $GIT_DIR refers to.
Do not set GIT_DIR if you do not know what it is good for.
Show 7 quoted lines
> ===== Output 2 - correct ============================================= > C:\test\Local_Newfeature>git branch > * Local_Kumfeature_branch > Local_MyTest_branch > + Local_Newfeature_branch > + Local_SGSfeature_branch > Local_feature_branch
If Output 1 is incorrect, this is not correct, either: Note that Local_Kumfeature_branch is marked as the branch for this directory, but you intend it to be Local_Newfeature_branch, yet it is marked as living in a different worktree.
Do not set GIT_DIR if you do not understand the consequences.
Show 5 quoted lines
> C:\test\Local_Newfeature>git worktree list > C:\GitRepo (bare) > C:/test/Local_Kumfeature b0a097e [Local_Kumfeature_branch] > C:/test/Local_Newfeature b0a097e [Local_Newfeature_branch] > C:/test/Local_SGSfeature b0a097e [Local_SGSfeature_branch]
I do not know whether it is a sane use-case to have a bare repository and separate worktrees.
Do not do that. Make a regular clone with a worktree and create secondary worktrees from there.
-- Hannes