Skip to content

Conversation

RossBencina
Copy link

@RossBencina RossBencina commented Aug 2, 2025

Without this patch, git clone fails checkout on Windows because there are file paths containing colons:

Microsoft Windows [Version 10.0.19045.5965]
(c) Microsoft Corporation. All rights reserved.

F:\Share\pipelinec>git clone https://github.com/JulianKemmerer/PipelineC.git
Cloning into 'PipelineC'...
remote: Enumerating objects: 15757, done.
remote: Counting objects: 100% (2375/2375), done.
remote: Compressing objects: 100% (294/294), done.
remote: Total 15757 (delta 2252), reused 2088 (delta 2077), pack-reused 13382 (from 3)
Receiving objects: 100% (15757/15757), 78.78 MiB | 2.25 MiB/s, done.
Resolving deltas: 100% (9620/9620), done.
error: invalid path 'path_delay_cache/gowin/GW2AR-LV18QN88PC8:C/syn/BIN_OP_EQ_uint10_t_uint1_t.delay'
fatal: unable to checkout working tree
warning: Clone succeeded, but checkout failed.        
You can inspect what was checked out with 'git status'
and retry with 'git restore --source=HEAD :/'

This PR fixes the problem by:

  1. Renaming the offending directory inside path_delay_cache to use an underscore instead of a colon.
  2. When a part name contains a colon (part names are specified using the #pragma PART directive), the path_delay_cache loader code now replaces colons with underscores.

@RossBencina RossBencina changed the title Don't use colons in file system names (e.g. path_delay_cache/gowin/GW2AR-LV18QN88PC8:C) but allow in path names Don't use colons in file system names (e.g. path_delay_cache/gowin/GW2AR-LV18QN88PC8:C) but allow in *part* names Aug 2, 2025
@RossBencina
Copy link
Author

Note that I am not sure why the gowin part name contains the ":C" suffix in the first place. It does not show up in a superficial search. Perhaps it is the speed grade but that is just a guess.

@JulianKemmerer
Copy link
Owner

later there is a split( on colon in that gowin py file that I think needs to be changed to underscore? or another alternative safe to split on char chosen?

I think there is some discussion about why that might have been chosen arbitrarily kinda here where I say sounds reasonable because at the time it did sound that way 😏 #190 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants