Skip to content

Recreating a release branch under a new name is impossible #137

Open
@mcmire

Description

@mcmire

Right now, each time the tool is run, it will generate a release branch name from the newly computed release version. If the user is on this branch already, then it won't attempt to create the branch, but will merely apply any new changes on top of it. Source:

const releaseBranchName = `release/${newReleaseVersion}`;
const currentBranchName = await getCurrentBranchName(project.directoryPath);
if (currentBranchName === releaseBranchName) {

What if the user needs to make a second version of a release branch, however? For instance, say a release branch already exists, but it's missing a bunch of changes, and it's too late in the day to talk to the original authors, so it's easier to recreate it. In that case, we'd have to come up with a new name for this branch to be able to push the new branch.

So, say in this scenario that we run the tool to generate an initial branch. But then say that there are errors with the release spec (some packages were omitted, or whatever). We fix the errors with the release spec, but then we also rename the branch. Then we re-run the tool. However, because of the logic I explained up top, the tool won't see that we're already on a release branch and will recreate the original branch.

To fix this, the tool should just look at the current branch name; if it matches release/*, assume the user knows what they're doing and is already on some kind of release branch.

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions