-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Labels
Description
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-sourceoption (works the same as--merge-sourceformergecommand) - target path - repository path from working copy, where
svn-buddy.phar releasecommand was executed
The workflow:
- user executes the
svn-buddy.phar releasecommand - user is presented with interactive editor for entering the commit message (defaults to
Releasing from {source path} to {target path}) - user is presented with confirmation message like:
Are you sure you want to release {source path} into {target path} - when user doesn't confirm an exception with
User has aborted the workflowis thrown (see how it's done incommitcommand) - the
{target path}folder is deleted in the repository viasvn rmcommand (use above entered commit message) - the
{source path}in repository is copied into{target path}path viasvn cpcommand (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 rmcommand usesvn mvcommand to rename{target path}into{target path}_YYYY-MM-DD(YYYY-MM-DDis 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