Skip to content

add rcs support to cargo-new|init #15518

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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

worr
Copy link

@worr worr commented May 11, 2025

RCS is a venerable version control system available in many UNIX systems for local version tracking. Adds support for initializing an RCS repo and discovering it as an existing version control system.


I was starting a Rust project on an OpenBSD system that didn't have git available, and reached for my other typical local VCS, RCS. I thought it'd be nice if Cargo could make RCS repos automatically, and so added support for it.

Differing a bit from other VCSes, we need to init RCS slightly later in the lifetime of creating a repo, which is why I included a late_init function to complete the initialization after the package has already been laid out.

I tested creating several projects locally, and doing cargo init on existing projects without RCS repos.

@rustbot
Copy link
Collaborator

rustbot commented May 11, 2025

r? @weihanglo

rustbot has assigned @weihanglo.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot rustbot added A-cli Area: Command-line interface, option parsing, etc. A-completions Area: shell completions A-documenting-cargo-itself Area: Cargo's documentation A-vcs Area: general VCS issues Command-new S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 11, 2025
@rustbot rustbot added the A-cli-help Area: built-in command-line help label May 11, 2025
@rustbot rustbot added the A-testing-cargo-itself Area: cargo's tests label May 11, 2025
RCS is a venerable version control system available in many UNIX systems for
local version tracking. Adds support for initializing an RCS repo and
discovering it as an existing version control system.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for being interested in this! I am sorry to tell you that this might be postponed at this moment 😞. Please read this comment for the team's thought on adding new VCS support. In short,

  • We currently not accept adding any new VCS support.
  • It's unclear what it means to “have VCS support built-in” in Cargo.
  • We are interested in making VCS support more extensible, such as leveraging tooling from VCS itself or working on Cargo templates.

Also, per the contributor guide, it is encouraged to start from an issue first before submitting a pull request, so we can avoid the situation like this. Sorry again.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@worr would you mind turning this into an issue? And we'll can link them holistically.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-cli Area: Command-line interface, option parsing, etc. A-cli-help Area: built-in command-line help A-completions Area: shell completions A-documenting-cargo-itself Area: Cargo's documentation A-testing-cargo-itself Area: cargo's tests A-vcs Area: general VCS issues Command-new S-waiting-on-review Status: Awaiting review from the assignee but also interested parties.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants