Skip to content

[release] Create "release" command as alternative to merging #35

@aik099

Description

@aik099

The merge command is handling classic merge strategy, where specified revisions. Sometimes however another approach seems more appropriate - releasing.

Concepts:

  • source path - obtained from --release-source option (works the same as --merge-source for merge command)
  • target path - repository path from working copy, where svn-buddy.phar release command was executed

The workflow:

  1. user executes the svn-buddy.phar release command
  2. user is presented with interactive editor for entering the commit message (defaults to Releasing from {source path} to {target path})
  3. user is presented with confirmation message like: Are you sure you want to release {source path} into {target path}
  4. when user doesn't confirm an exception with User has aborted the workflow is thrown (see how it's done in commit command)
  5. the {target path} folder is deleted in the repository via svn rm command (use above entered commit message)
  6. the {source path} in repository is copied into {target path} path via svn cp command (use above entered commit message)

When optional --backup option is specified, then:

  • when {target path} doesn't exist in repository, then throw an exception
  • instead of svn rm command use svn mv command to rename {target path} into {target path}_YYYY-MM-DD (YYYY-MM-DD is date of last commit to {target path})
  • the confirmation message and default commit message will have (backup: {target path}_YYYY-MM-DD) added to the end

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions