Savana

2,314 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,314
On SlideShare
0
From Embeds
0
Number of Embeds
426
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Savana

  1. 1. SAVANATransactional Workspaces for SVN Hutsul Yaroslav
  2. 2.  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
  3. 3.  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
  4. 4.  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
  5. 5.  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
  6. 6.  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
  7. 7.  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
  8. 8.  Create promote.txt file in project root directory. Run sav -F promote.txt promote. Result in svn logs:Promote wit promote.txt
  9. 9. Base development workflow
  10. 10. Base workflow with SAVANA
  11. 11.  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
  12. 12.  http://savana.codehaus.orgInfo source

×