Contributing to Rustup - help with code structure needed


#1

Heya ! Hope you’re having a beautiful day !

Not sure where to find this information, hence posting here, if this is not the best place please let me know.

I have some time now over the holiday break to put into open source, would like to tackle the issue I’m hitting on CI: https://github.com/rust-lang-nursery/rustup.rs/issues/1239 and potentially some more there as well.

I have some questions regarding how should I structure the tests that would replicate the issue, where to add them and the general approach to the fix. Asked some initial ones there in the issue comments but no one seemed to respond.

Is there a person that could help me out here ? If not - is it okay if I just proceed with a PR ? Who should I ping there to get it merged ?

thank you !


#2

I can’t speak from personal experience as I haven’t contributed to Rust yet, but according to the org revamp rustup falls under the Dev Tools working group and it looks like that’s headed up by @nrc (or @aturon).

Other team members can be found on the Community’s Rust Team page.

One of the goals on the 2018 Roadmap is to invest in mentoring and developing mentorship relationships so I’m sure they’ll be able to provide guidance in some way.


#3

Hi @cyplo as you’ve noticed Rustup is currently a bit under-staffed. You can ping me on any PR and I’ll either review or try and find someone to review.

I’m not sure how you reproduce this for a test - it feels like you would need to run in an environment where rename does not work, I’m not sure how to emulate that in a test - it seems hard to mock out since the function is in the standard library.

Looking at the sources, there already exists a wrapper function called utils::rename_file, it’s used by components and transaction. Would that be a good candidate here to replace every other call to fs::rename ?

This sounds like a good approach, but I’m not sure exactly how to detect the correct course of action inside rename_file - doing a copy and delete seems suboptimal, so we should only do it where necessary, which I think precludes doing it on all Linux systems.


#4

Heya !

Thank you for taking the time to read through my original post and replying here :slight_smile: I’m going to try some things out and report back with a PR in some time there and then ping you.

thanks again and have a great day !