Skip to content

Git support fails when path to project includes symlinks

Version support fails when there are any symlinks in path to project.

Steps to reproduce

  1. mkdir simpledir; cd simpledir; git clone https://github.com/TinyTapeout/tt-demo-pcb.git

  2. cd .. ; ln -s simpledir symlink

  3. open project in simpledir/: kicad simpledir/tt-demo-pcb/tinytapeout-demo.kicad_pro and all is well (first screenshot).

  4. open same project, but through symlink: kicad symlink/tt-demo-pcb/tinytapeout-demo.kicad_pro and though it does see that versionning is available and the [main] is visible, none of the icons or modified files are available (second image).

    indir.png

    throughsymlink.png

This seems to occur any time there is a symlink anywhere in the path to the project directory. This does not occur, for example, if the .git/config has symlinks in the path to a local file store like

[remote "origin"]
   url = file:///path/through/symlinks/kicad/gittest
   fetch = +refs/heads/*:refs/remotes/origin/*

So the underlying libgit2 isn't having a problem, it's just something with how kicad is traversing the project structure.

KiCad Version

Application: KiCad x86_64 on x86_64

Version: 9.0.2-unknown-202505112105~9e17baecbc~ubuntu24.04.1, release build

Libraries:
	wxWidgets 3.2.4
	FreeType 2.13.2
	HarfBuzz 8.3.0
	FontConfig 2.15.0

Platform: Ubuntu 24.04.2 LTS, 64 bit, Little endian, wxGTK, X11, ubuntu, x11

	wxWidgets: 3.2.4 (wchar_t,wx containers) GTK+ 3.24
	Boost: 1.83.0
	OCC: 7.6.3
	Curl: 8.5.0
	ngspice: 42
	Compiler: GCC 13.3.0 with C++ ABI 1018
	KICAD_IPC_API=ON

Locale: 
	Lang: en_US
	Enc: UTF-8
	Num: 1,234.5
	Encoded кΩ丈: D0BACEA9E4B888 (sys), D0BACEA9E4B888 (utf8)