O SlideShare utiliza cookies para otimizar a funcionalidade e o desempenho do site, assim como para apresentar publicidade mais relevante aos nossos usuários. Se você continuar a navegar o site, você aceita o uso de cookies. Leia nosso Contrato do Usuário e nossa Política de Privacidade.
O SlideShare utiliza cookies para otimizar a funcionalidade e o desempenho do site, assim como para apresentar publicidade mais relevante aos nossos usuários. Se você continuar a utilizar o site, você aceita o uso de cookies. Leia nossa Política de Privacidade e nosso Contrato do Usuário para obter mais detalhes.
SAVANATransactional Workspaces for SVN Hutsul Yaroslav
Simple tools for SVN created by Bazaarvoice Inc. Help manage and work with user branches, release candidates Transactional Workspaces - branches that are aware of the branch (or trunk) from which they were created Contains metadata info about repository in .savana file GNU Lesser General Public LicenseWhat is SAVANA
Install Savana Checkout your project Run ―sav bootstrap <PROJECT_NAME> TRUNK‖ command (in case common repository structure) Result – created .savana file with metadata about your project. Commit .savana into the repositoryHow to start
Create user branch with command ―cub‖ Performed steps: - new branch was created in ―branches/user‖ folder inrepository - current local directory was switched to new branch - info about branch and its parent added to .savannafile If locally modified items are in the working copy then creating a user branch will fail. ―—force‖ parameter can be used to create the branch anyway.User branch
Create release branch from trunk with command ―crb‖ Performed steps: - new branch was created in ―branches‖ folder inrepository - current local directory was switched to new branch - info about branch and its parent added to .savannafile Promotes can not be performed from release branches. Command ―sav sync‖ cannot be used for release branches.Release branch
Run ―sav sync‖ to pull down changes from a source branch to a user branch. Performed steps: - pulled down changes in the source branch thathave been made since the user branch was created orlast synchronized - merged changes into the working copy - updated the Savana metadata that tracksmerge history This command will not commit merged changesSynchronization with parent
Run ―sav promote‖ Performed steps: - switched to parent - merged changes from branch into parent - committed changes - deleted branch after successful promote There should be no modified files in local branch before run ―promote‖ commandPromote
Create promote.txt file in project root directory. Run sav -F promote.txt promote. Result in svn logs:Promote wit promote.txt
Rename of class can produce conflicts during processing of ―sav sync‖ command Promote will remove branch, so if you need merge changes not just into parent – need to do merge with other branches/trunk first.Possible issues