-
Notifications
You must be signed in to change notification settings - Fork 148
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
Add --allow-downgrade
option to set-version command
#863
Comments
This was previously discussed in #782 (somehow I missed it when previously searching or I would have linked to it). That was mostly closed because there wasn't a use case to justify the exposing the behavior when moving backwards is generally not what should be done.
Can you expand on this. Why are you making packages of source code from a newer version than you are releasing but wanting to release with that old version? |
We are using monorepo with multiple independently versioned components. Components are released through Described approach is not ideal but for our usecase is perfectly fine. We are using cargo-edit as a tool to manage versions of application, not source code and for this reason we sometimes want to intentionally break the semver rules. As pointed out in #782 |
I just want to chime in and say that my colleague was just blocked by this. We're having a problem similar to that of @wiktorsikora where we need to internally release some versions that don't follow semantic versioning. We'll find another way to solve our problem of course, but this feature would have been perfect. |
We are just hit by the same issue. I think it makes sense to allow downgrades it the user explicitly states this. A strategy of preventing the user from making mistakes by default is valuable. A strategy of patronizing the user is not. Even in Rust you can go with I guess our use case is similar to the already reported ones. We have a CI, we use |
Just for people running into the same issue, looking for a solution. Install You can then run the following command to set any version for a workspace, ignoring changes, not creating a git commit/tag.
|
I wish there was a --force option. Of course downgrading is not recommended, but you don't know everyone's workflows. In our case, we cut a release branch and During these "doc" fixes, we want to
I guess we'll need to look at |
Build information ( Unless there is something I'm missing in this case, the lack of downgrade in this situation seems to be working as intended as its calling out suspect behavior. |
Sheesh... it's called "set version", not "bump version" or "increase version" or "upgrade version". It should allow the version to be set to anything that is a valid version number. Initially, it seems like the perfect tool to use for CI control of versioning, except that it doesn't actually "set" the version, it imposes its own rules on what it allows. Tools should be simple and not try to double-guess their users. For everyone who thought that cargo-edit might actually be useful, but discovered like I did that it has its own opinionated thoughts on what version you can "set", just use Time and time again I come across authors of such programs who think they know best, impose their opinions on what the tools can do, and don't realise that what integrators really need is simple tools that do what they say on the tin. We can create and solve our own problems, but not if the tools constantly add their own complications we have to work around. It's tiresome. UNIX philosophy: simple tools should do simple things. Let us dig our own holes and dig ourselves out of them, we're not children. |
I will add that I was just the program locally to see how tauri updates work, and wanted to revert my change. ❯ cargo set-version 1.6.1
Error: Cannot downgrade from 1.6.2 to 1.6.1 The current message reads as if it is not okay to downgrade in A message like this seems nicer for the user: ❯ cargo set-version 1.6.1
Error: Refusing to downgrade from 1.6.2 to 1.6.1 unless `--allow-downgrade` is used.
Downgrading is not a supported CI workflow, for example, crates.io does not support republishing versions, refer to https://doc.rust-lang.org/cargo/reference/publishing.html. My thoughts:
|
I was blocked today with this also. We use cargo set-version in CI workflows as ways to move versions forward when preparing for releases, and it does a great job of editing all the right files in a large workspace in one swoop. Problem arose when we accidentally used the wrong release candidate version, we used The tool presents as a tool for editing cargo files, but it appears to be more opinionated about publishing specifically. |
This bites us every release |
I would like to add an option to allow downgrade version when using
set-version
command.In my use case this feature is necessary since our CI/CD needs to create dev packages (deb/rpm) for already released versions.
I have already created PR for this feature (Sorry about that, I misunderstood contribution guidelines 😕)
The text was updated successfully, but these errors were encountered: