-
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-source
option (works the same as--merge-source
formerge
command) - target path - repository path from working copy, where
svn-buddy.phar release
command was executed
The workflow:
- user executes the
svn-buddy.phar release
command - 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 workflow
is thrown (see how it's done incommit
command) - the
{target path}
folder is deleted in the repository viasvn rm
command (use above entered commit message) - the
{source path}
in repository is copied into{target path}
path viasvn 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 usesvn 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