gauravmm / HierarchicalPcb

MIT License
29 stars 5 forks source link

Issue when using paths from parent folder with absolute paths #22

Closed JLA4444 closed 2 days ago

JLA4444 commented 3 weeks ago

Plugin version 1.1.0 1.3 MB 11.1 MB ✔ stable

Traceback (most recent call last):

File "/home/h-tech/snap/kicad/12/.local/share/kicad/8.0/3rdparty/plugins/com_github_gauravmm_hierarchicalpcb/hplugin.py", line 54, in Run RunActual(cfg, wx_frame, board)

File "/home/h-tech/snap/kicad/12/.local/share/kicad/8.0/3rdparty/plugins/com_github_gauravmm_hierarchicalpcb/hplugin.py", line 62, in RunActual hD.load(cfg) # Load defaults

File "/home/h-tech/snap/kicad/12/.local/share/kicad/8.0/3rdparty/plugins/com_github_gauravmm_hierarchicalpcb/hdata.py", line 214, in load str(subpcb.path.relative_to(self.basedir)),

File "/usr/lib/python3.10/pathlib.py", line 818, in relative_to raise ValueError("{!r} is not in the subpath of {!r}"

ValueError: '/home/h-tech/Projekt/electronic/subcircuits/TPS62912/TPS62912.kicad_pcb' is not in the subpath of '/home/h-tech/Projekt/electronic/MainBoard/ADC16DV160/MainBoard' OR one path is relative and the other is absolute.

KICAD version Application: KiCad PCB Editor x86_64 on x86_64

Version: 8.0.1, release build

Libraries: wxWidgets 3.2.4 FreeType 2.11.1 HarfBuzz 8.3.0 FontConfig 2.13.1 libcurl/7.81.0 OpenSSL/3.0.2 zlib/1.2.11 brotli/1.0.9 zstd/1.4.8 libidn2/2.3.2 libpsl/0.21.2 (+libidn2/2.3.2) libssh/0.9.6/openssl/zlib nghttp2/1.43.0 librtmp/2.3 OpenLDAP/2.5.17

Platform: Ubuntu Core 22, 64 bit, Little endian, wxGTK, X11, ubuntu, x11

Build Info: Date: Apr 20 2024 12:12:08 wxWidgets: 3.2.4 (wchar_t,wx containers) GTK+ 3.24 Boost: 1.74.0 OCC: 7.5.1 Curl: 7.81.0 ngspice: 36 Compiler: GCC 11.2.0 with C++ ABI 1016

Build settings: KICAD_USE_EGL=ON

gauravmm commented 1 week ago

Oh, yeah, that's deliberate behavior. I generally recommend using git submodules to manage dependencies like this.

What is your use-case? If the reason is sufficiently compelling, I'll be happy to support it as well.

(If you'd like to patch it just for yourself, you can eliminate .relative_to(self.basedir) on line 214 of hdata.py.)