-
-
Notifications
You must be signed in to change notification settings - Fork 6
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
Copy Git's behavior for resuming/aborting a workflow #24
Comments
It would be easier to address #17 before addressing this issue. This is because currently it is possible for the tool to crash while executing a release spec, leaving the release branch in a mixed state (changes have been made to some packages, but other changes are outstanding). In such a state, the user could conceivably edit the release spec, then re-run the tool. That would really confuse the tool as now it would be following a different set of instructions on top of the instructions it's already followed, but we would have to account for this possibility while implementing the
If we revert all changes after a crash, however, then it places the tool in the same state as if they were to have run it for the first time and failed to edit the release spec. This means that we can recommend that the user (re-)edit the release spec (and frankly I think this is a reasonable request). Using
Therefore I am marking this issue as blocked by #17. |
The branch for this is called |
When you run this tool for the first time, when it generates a release spec template, if it can't open your editor, it'll just spit out the path to the file it made and quit. Then when you've edited the file, you can just re-run the tool and it'll read the file and resume the workflow.
The problem is that if the tool throws an error while it's executing the release spec, the release spec file will stick around. That's fine, but it means that if you run the tool again, it will attempt to resume the workflow instead of regenerating a fresh release spec. That doesn't always work right now, because some things may have already been applied — some versions of packages might have been updated already, or the release branch may have already been created, or something like that.
Two things: 1) We plan on fixing this issue in #9, and 2)To get around this, we have a--reset
option that lets you restart the entire workflow if that's what you want.But it raises a question: is it expected that re-running the tool will resume the workflow? I'm not so sure. Git, for instance, will produce an error if you attempt to restart a merge or rebase or reapply a cherry-pick while you are resolving conflicts. If you want to start over, you can say
--abort
; if you want to resume, you can say--continue
. This seems like a good workflow, and I think it would make sense to adopt this instead of a--reset
option.The text was updated successfully, but these errors were encountered: