Re: bug: git submodule add fails when .git is a symlink
- From
Stefan Beller <sbeller@google.com>
- Date
- Mar 1, 2016, 21:49 UTC
- Message-ID
- <CAGZ79kbV9y6nDuBgqLbzQ=xaroG_uF8RF6gqzk=unJ-9rrtvfw@mail.gmail.com>
- In-Reply-To
- <CAGZ79kY6Lf6u0=s8J_cqRNFsry4nu2SdL0GZ2gkFsu6gBrB65Q@mail.gmail.com>
On Tue, Mar 1, 2016 at 1:39 PM, Stefan Beller <sbeller@google.com> wrote:
Show 12 quoted lines
> On Tue, Mar 1, 2016 at 12:42 PM, Joey Hess <id@joeyh.name> wrote: >> git init gitdir >> mkdir worktree >> cd worktree >> ln -s ../gitdir/.git .git >> git submodule add /any/git/repo sub >> >> fatal: Could not chdir to '../../../sub': No such file or directory >> >> Fairly sure this is a bug.. > > Which version(s) of Git do you use?
To elaborate on that: Starting in 2.7 parts of the submodule stuff has been rewritten in C, in 2.8 even more and there is more in flight for > 2.8.
However your bug is also to be found in 2.6, which doesn't contain any recent rewrites, so it is a rather long standing bug, I would presume.
As a workaround for now:
echo "gitdir: ../gitdir/.git" > .git
instead of the symbolic link in your example (works in 2.6 and also in 2.8.0-rc0)
Thanks, Stefan