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

@Matthew-Maclean Matthew-Maclean commented Apr 30, 2017

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 khaale commented Apr 30, 2017

@coder543
Copy link

@coder543 coder543 commented Apr 30, 2017

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

@nagisa
Copy link

@nagisa nagisa commented Apr 30, 2017

Yanking will not help.

@retep998
Copy link

@retep998 retep998 commented Apr 30, 2017

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 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

@nelsonjchen nelsonjchen commented Apr 30, 2017

Can this repo even be cloned to Windows?

@lnicola
Copy link

@lnicola lnicola commented Apr 30, 2017

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

@nelsonjchen
Copy link

@nelsonjchen nelsonjchen commented Apr 30, 2017

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

@ruabmbua
Copy link

@ruabmbua ruabmbua commented Apr 30, 2017

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

@SSheldon
Copy link
Owner

@SSheldon SSheldon commented Apr 30, 2017

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 😊

@SSheldon SSheldon closed this Apr 30, 2017
@ruabmbua
Copy link

@ruabmbua ruabmbua commented Apr 30, 2017

Don`t you dare!

@matematikaadit
Copy link

@matematikaadit matematikaadit commented Apr 30, 2017

Congrats, you win the internet 👍

@niamster
Copy link

@niamster niamster commented Apr 30, 2017

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

@retep998
Copy link

@retep998 retep998 commented Apr 30, 2017

@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 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 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

@niamster niamster commented Apr 30, 2017

@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
Linked pull requests

Successfully merging a pull request may close this issue.

None yet