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

Comments

Projects
None yet
@Matthew-Maclean

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

This comment has been minimized.

Show comment
Hide comment
@coder543

This comment has been minimized.

Show comment
Hide comment
@coder543

coder543 Apr 30, 2017

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

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

@nagisa

This comment has been minimized.

Show comment
Hide comment
@nagisa

nagisa Apr 30, 2017

Yanking will not help.

nagisa commented Apr 30, 2017

Yanking will not help.

@retep998

This comment has been minimized.

Show comment
Hide comment
@retep998

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

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

This comment has been minimized.

Show comment
Hide comment
@SSheldon

SSheldon Apr 30, 2017

Owner

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

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

This comment has been minimized.

Show comment
Hide comment
@nelsonjchen

nelsonjchen Apr 30, 2017

Can this repo even be cloned to Windows?

Can this repo even be cloned to Windows?

@lnicola

This comment has been minimized.

Show comment
Hide comment
@lnicola

lnicola Apr 30, 2017

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

lnicola commented Apr 30, 2017

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

@nelsonjchen

This comment has been minimized.

Show comment
Hide comment
@nelsonjchen

nelsonjchen Apr 30, 2017

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

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

@ruabmbua

This comment has been minimized.

Show comment
Hide comment
@ruabmbua

ruabmbua Apr 30, 2017

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

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

@SSheldon

This comment has been minimized.

Show comment
Hide comment
@SSheldon

SSheldon Apr 30, 2017

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 😊

Owner

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

This comment has been minimized.

Show comment
Hide comment
@ruabmbua

ruabmbua Apr 30, 2017

Don`t you dare!

Don`t you dare!

@matematikaadit

This comment has been minimized.

Show comment
Hide comment
@matematikaadit

matematikaadit Apr 30, 2017

Congrats, you win the internet 👍

Congrats, you win the internet 👍

@niamster

This comment has been minimized.

Show comment
Hide comment
@niamster

niamster Apr 30, 2017

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

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

@retep998

This comment has been minimized.

Show comment
Hide comment
@retep998

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

@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

This comment has been minimized.

Show comment
Hide comment
@coder543

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

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

This comment has been minimized.

Show comment
Hide comment
@retep998

retep998 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).

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

This comment has been minimized.

Show comment
Hide comment
@niamster

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

@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