0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Error: error converting ".git" to absolute: EvalSymlinks: too many links (Windows 10)

Posted at

要約

Windows上でgit lfsを利用する場合、junction (mount point)は使えず、ドライブレターを割り当てたパス直接でないとならない。
BoxのようなCloud同期する場所もダメらしい。

不具合詳細

gitでlfsを使うリポジトリ(github, gitlabとリンク)をCドライブに置いていたが、容量が(別の理由で)逼迫してきたので、余っていたパーティションをCドライブの下のディレクトリにマウントする形(WindowsではJUNCTION というらしい)でつなぎ、その中にgit管理しているディレクトリを移動した。
image.png
ドライブ文字を与えなかったのは、Linuxのmountみたいなものだと考えて試してみたかったから。問題が起きるとは思っていなかった。

するとpullやbranchの切替を行う度にタイトルに上げたエラーが発生。加えてリポジトリのトップディレクトリにlfs, hooksといった名称のディレクトリが湧いて出るようになった。
エラーのせいでremoteにプッシュも出来ない(lfsエラーで止まる)。

湧いたlfs, hooksは消しても問題ないらしいという情報をネットで得て一旦消すも、branch切り替える度に再度湧き出る。
勿論エラーも解消されない。

さらに検索した結果以下のIssueに到達。

Goのバグらしいが治す予定は無いとgolangチームから言われたそう。
git v2.31でなんとかfix出来るかもとなってますが、

の最後にも報告がある(2021-09-26)ように、治せてないと思われる。

対策

マウントする設定を消して単純にドライブレターを与えたら普通に使えるようになりました。

lfsファイルをコミット後に湧いて出たlfs, hooksといったディレクトリを消したりしたリポジトリは、lfsの実体ファイルが見つからない等の別のエラーに見舞われたので、remoteからクローンしなおしました。
多分、lfsファイルのコミットをして無ければ問題なかったのじゃないかな。

未確認ですが、lfsオブジェクトが無ければjunctionでも問題ないのかも知れない。

システム情報

Windows 10 Enterprise (build 19041.1237)
git version 2.32.0.windows.2
git-lfs/2.13.3 (GitHub; windows amd64; go 1.16.2; git a5e65851)

補足情報

にBoxと同期するディレクトリで同じエラーに見舞われている報告があり、治せないと回答されて強制クローズされているので、そういったCloudストレージと同期するディレクトリも避けたほうが良さそう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?