Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

I think the name of this project causes issues for windows users. #1

Closed
Matthew-Maclean opened this issue Apr 30, 2017 · 18 comments
Closed

Comments

@Matthew-Maclean
Copy link

When cargo updates its crates.io registry, it creates a file for each crate, no extension, just the name.

The name nul is not a valid name in windows 10, so cargo fails to update the registry, and then aborts whatever it was doing (building, searching, ect.).

I think this project should be re-published to crates.io under a new name, something like null-strings perhaps?

@khaale
Copy link

khaale commented Apr 30, 2017

Causes rust-lang/cargo#3982

@coder543
Copy link

Cargo is literally broken on Windows. Yanking the package might help, it might not.

@nagisa
Copy link

nagisa commented Apr 30, 2017

Yanking will not help.

@retep998
Copy link

The index has been screwed until someone manually commits to the index to remove the offending crate. Someone will also have to add code to crates.io to prevent such crates from ever being published.

@SSheldon
Copy link
Owner

SSheldon commented Apr 30, 2017

@carols10cents is deleting this crate from crates.io and I promise not to re-publish it under the same name 😄

@nelsonjchen
Copy link

Can this repo even be cloned to Windows?

@lnicola
Copy link

lnicola commented Apr 30, 2017

Yes, git clone works (but does not create the file).

@nelsonjchen
Copy link

Ah, and there's also the workaround of having a different destination folder.

@ruabmbua
Copy link

I am going to switch my windows development to linux...
I guess cross compiling is in the picture now?

@SSheldon
Copy link
Owner

nul was removed from crates.io, so rust-lang/cargo#3982 is all fixed now. I've enjoyed our time together everyone, see you next time I manage to bring down crates.io 😊

@ruabmbua
Copy link

Don`t you dare!

@matematikaadit
Copy link

Congrats, you win the internet 👍

@niamster
Copy link

IMO it's a shame they forced you to delete the project. cargo should be fixed instead.

@retep998
Copy link

@niamster The problem is that older versions of cargo need to work with newer versions of the index, so we can't just change how the index is structured without breaking older versions of cargo.

@coder543
Copy link

coder543 commented Apr 30, 2017

@niamster arguably, fixing it well would require fixing Windows. It might be possible to hack around special names for each platform, but that would still be a hack. It's both easier and cleaner to just ban problematic names from the Crates registry. cargo will be fixed as well, but only to prevent the same issue from occurring in the future, but there's no good way to "fix" it such that nul is an acceptable name for a crate.

@retep998
Copy link

retep998 commented Apr 30, 2017

Even if a new version of Windows came out that made breaking changes to how it resolves paths to "fix" this issue, or if cargo figured out how to use verbatim paths everywhere (especially inside libgit2) to avoid that problematic path resolution, we'd still have to worry about all the people using older versions, so we'd never be able to allow such crate names on crates.io (unless we migrated to a new index with a newer cargo version which could cause a catastrophic ecosystem split).

@niamster
Copy link

@retep998 @coder543 There's always a good way to keep backward compatibility. I understand that changing that isn't easy and not obvious. Blacklisting names is the a hack by itself.

SSheldon added a commit that referenced this issue May 29, 2017
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

No branches or pull requests