dlang-community / Pegged

A Parsing Expression Grammar (PEG) module, using the D programming language.
534 stars 66 forks source link

Remove colon from the "Behind the Curtain: How Pegged Works" wiki page #270

Closed chrisoldwood closed 4 years ago

chrisoldwood commented 4 years ago

As of Git for Windows 2.24.1+ (November 2019) cloning this repo fails when pulling the wiki submodule in the docs folder because the wiki page Behind the Curtain: How Pegged Works has a colon in it and therefore so does the filename which is not allowed on Windows. This restriction is now reflected in Git itself going forward when checking out files and it generates an "invalid path" error.

Hence, it would make life easier if the page title, and therefore it's filename, could be changed to exclude the colon.

There is a workaround, setting core.ProtectNTFS to false, but given this was added to address various security issues it would be nicer if we didn't have to use it.

veelo commented 4 years ago

It is a wiki, which can be edited by anyone online ;-) Should be fixed now.

chrisoldwood commented 4 years ago

It is a wiki, which can be edited by anyone online ;-) Should be fixed now.

Thanks, I didn't know that! (I thought only collaborators could edit the wiki.)

chrisoldwood commented 4 years ago

It looks like the submodule reference in the docs folder needs bumping as I'm still getting the old wiki page filename.

> git clone https://github.com/PhilippeSigaud/Pegged.git --recursive
Cloning into 'Pegged'...
...
Submodule 'pegged/docs/wiki' (https://github.com/PhilippeSigaud/Pegged.wiki.git) registered for path 'pegged/docs/wiki'
Cloning into 'C:/Dev/Pegged/pegged/docs/wiki'...
...
error: invalid path 'Behind-the-Curtain:-How-Pegged-Works.md'
Unable to checkout '18dc86f8c79001d640248062f1c381e938d33108' in submodule path 'pegged/docs/wiki'
veelo commented 4 years ago

Ah, I forgot about that. I will see if I can fix that. What is the reason that you are cloning recursively? That would only be necessary if you want to edit the wiki offline, and then you’ll not be able to preview the result.

Cloning at all is only necessary if you plan to hack on Pegged itself, for general use I can recommend using it through dub and code.dlang.org.

chrisoldwood commented 4 years ago

Cloning at all is only necessary if you plan to hack on Pegged itself, for general use I can recommend using it through dub and code.dlang.org.

We have many dub packages and submodules in our main codebase and this one is occasionally, forked. For the CI pipeline it's easier to just clone our repos with --recurse-submodules rather than have to customise how the CI builds up the working copy. This also means our fork remains as true as possible for its short existence. I realise it's very much an edge case so thanks for making the effort :o).

thedeemon commented 4 years ago

Hi, it seems the issue is back somehow, as this page still contains the bad link: https://github.com/PhilippeSigaud/Pegged/wiki And github says the page hasn't changed from 2017.

veelo commented 4 years ago

That link slipped through the net, and was actually broken. I fixed it now.

I need to document some new additions in the wiki first, then I'll bump the wiki sub module commit again.

veelo commented 4 years ago

I just tagged a new beta. Can you give it another go?