SlideShare une entreprise Scribd logo
1  sur  12
SAVANA
Transactional 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 License




What 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 repository




How to start
   Create user branch with command ―cub‖




  Performed steps:
        - new branch was created in ―branches/user‖ folder in
repository
        - current local directory was switched to new branch
        - info about branch and its parent added to .savanna
file

   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 in
repository
        - current local directory was switched to new branch
        - info about branch and its parent added to .savanna
file

   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 that
have been made since the user branch was created or
last synchronized
       - merged changes into the working copy
       - updated the Savana metadata that tracks
merge history
 This command will not commit merged changes



Synchronization 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‖ command



Promote
   Create promote.txt file in project root directory.




   Run sav -F promote.txt promote. Result in svn logs:





Promote wit promote.txt
Base development workflow
Base workflow with SAVANA
   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
   http://savana.codehaus.org




Info source

Contenu connexe

Tendances

Releases - CFEngine presentation - Configuration Management Camp 2015
Releases - CFEngine presentation - Configuration Management Camp 2015Releases - CFEngine presentation - Configuration Management Camp 2015
Releases - CFEngine presentation - Configuration Management Camp 2015kacfengine
 
Your first rails app - 2
 Your first rails app - 2 Your first rails app - 2
Your first rails app - 2Blazing Cloud
 
Understanding asset pipeline plugin
Understanding asset pipeline pluginUnderstanding asset pipeline plugin
Understanding asset pipeline pluginRailsCarma
 
SAP LVM Integration with SAP BPA
SAP LVM Integration with SAP BPASAP LVM Integration with SAP BPA
SAP LVM Integration with SAP BPAAliter Consulting
 

Tendances (6)

Releases - CFEngine presentation - Configuration Management Camp 2015
Releases - CFEngine presentation - Configuration Management Camp 2015Releases - CFEngine presentation - Configuration Management Camp 2015
Releases - CFEngine presentation - Configuration Management Camp 2015
 
Your first rails app - 2
 Your first rails app - 2 Your first rails app - 2
Your first rails app - 2
 
Rails engines
Rails enginesRails engines
Rails engines
 
Understanding asset pipeline plugin
Understanding asset pipeline pluginUnderstanding asset pipeline plugin
Understanding asset pipeline plugin
 
Version control 101
Version control 101Version control 101
Version control 101
 
SAP LVM Integration with SAP BPA
SAP LVM Integration with SAP BPASAP LVM Integration with SAP BPA
SAP LVM Integration with SAP BPA
 

En vedette

Savanas, campos e estepes
Savanas, campos e estepesSavanas, campos e estepes
Savanas, campos e estepesLipe6999
 
Floresta tropical - Savana, pradaria e deserto
Floresta tropical - Savana, pradaria e desertoFloresta tropical - Savana, pradaria e deserto
Floresta tropical - Savana, pradaria e desertoMarcos Otilio
 
Biomas: CAMPOS, CERRADOS e DESERTOS. E + Estepes e Savanas.
Biomas: CAMPOS, CERRADOS e DESERTOS. E + Estepes e Savanas.Biomas: CAMPOS, CERRADOS e DESERTOS. E + Estepes e Savanas.
Biomas: CAMPOS, CERRADOS e DESERTOS. E + Estepes e Savanas.Ajuda Escolar
 
Savana
SavanaSavana
Savanatotal
 
05 julho21junho 103 lucas nicolas e guilherme savana
05 julho21junho 103 lucas nicolas e guilherme savana05 julho21junho 103 lucas nicolas e guilherme savana
05 julho21junho 103 lucas nicolas e guilherme savanaIvoneti de Lima
 
Campos, desertos e savanas
Campos, desertos e savanasCampos, desertos e savanas
Campos, desertos e savanasCamila Raccioni
 
Mediterrâneo, Florestas Temperadas e Tundras
Mediterrâneo, Florestas Temperadas e TundrasMediterrâneo, Florestas Temperadas e Tundras
Mediterrâneo, Florestas Temperadas e Tundrasnatalia machado
 
Factores Bióticos
Factores BióticosFactores Bióticos
Factores BióticosCatir
 
Deserto e caatinga
Deserto e caatingaDeserto e caatinga
Deserto e caatingaDiego Zago
 

En vedette (20)

Savana
Savana Savana
Savana
 
Savanas, campos e estepes
Savanas, campos e estepesSavanas, campos e estepes
Savanas, campos e estepes
 
Floresta tropical - Savana, pradaria e deserto
Floresta tropical - Savana, pradaria e desertoFloresta tropical - Savana, pradaria e deserto
Floresta tropical - Savana, pradaria e deserto
 
Biomas: CAMPOS, CERRADOS e DESERTOS. E + Estepes e Savanas.
Biomas: CAMPOS, CERRADOS e DESERTOS. E + Estepes e Savanas.Biomas: CAMPOS, CERRADOS e DESERTOS. E + Estepes e Savanas.
Biomas: CAMPOS, CERRADOS e DESERTOS. E + Estepes e Savanas.
 
Savana
SavanaSavana
Savana
 
Savana ppt
Savana pptSavana ppt
Savana ppt
 
05 julho21junho 103 lucas nicolas e guilherme savana
05 julho21junho 103 lucas nicolas e guilherme savana05 julho21junho 103 lucas nicolas e guilherme savana
05 julho21junho 103 lucas nicolas e guilherme savana
 
Floresta Tropical
Floresta TropicalFloresta Tropical
Floresta Tropical
 
Campos, desertos e savanas
Campos, desertos e savanasCampos, desertos e savanas
Campos, desertos e savanas
 
Floresta tropical
Floresta tropicalFloresta tropical
Floresta tropical
 
Savana e serengueti
Savana e serenguetiSavana e serengueti
Savana e serengueti
 
Ecosistemas savanas
Ecosistemas savanasEcosistemas savanas
Ecosistemas savanas
 
Floresta tropical
Floresta tropicalFloresta tropical
Floresta tropical
 
Mediterrâneo, Florestas Temperadas e Tundras
Mediterrâneo, Florestas Temperadas e TundrasMediterrâneo, Florestas Temperadas e Tundras
Mediterrâneo, Florestas Temperadas e Tundras
 
Factores Bióticos
Factores BióticosFactores Bióticos
Factores Bióticos
 
Alan, Franciele
Alan, FrancieleAlan, Franciele
Alan, Franciele
 
Savana(catea)
Savana(catea)Savana(catea)
Savana(catea)
 
Pradaria
Pradaria Pradaria
Pradaria
 
Savana – 1ºA
Savana – 1ºASavana – 1ºA
Savana – 1ºA
 
Deserto e caatinga
Deserto e caatingaDeserto e caatinga
Deserto e caatinga
 

Similaire à Savana

Git and GitFlow branching model
Git and GitFlow branching modelGit and GitFlow branching model
Git and GitFlow branching modelPavlo Hodysh
 
Introduction to Subversion and Google Project Hosting
Introduction to Subversion and Google Project HostingIntroduction to Subversion and Google Project Hosting
Introduction to Subversion and Google Project HostingPhilip Johnson
 
Sap bw lo extraction
Sap bw lo extractionSap bw lo extraction
Sap bw lo extractionObaid shaikh
 
Strategy to setup Subversion for Salesforce development for Agile Team
Strategy to setup Subversion for Salesforce development for Agile TeamStrategy to setup Subversion for Salesforce development for Agile Team
Strategy to setup Subversion for Salesforce development for Agile TeamBuyan Thyagarajan
 
SVN Usage & Best Practices
SVN Usage & Best PracticesSVN Usage & Best Practices
SVN Usage & Best PracticesAshraf Fouad
 
SAP HANA Developer Access Beta program - 7 steps towards your first HANA report
SAP HANA Developer Access Beta program - 7 steps towards your first HANA reportSAP HANA Developer Access Beta program - 7 steps towards your first HANA report
SAP HANA Developer Access Beta program - 7 steps towards your first HANA reportRonald Konijnenburg
 
SVN Tool Information : Best Practices
SVN Tool Information  : Best PracticesSVN Tool Information  : Best Practices
SVN Tool Information : Best PracticesMaidul Islam
 
Maven in mulesoft
Maven in mulesoftMaven in mulesoft
Maven in mulesoftvenkata20k
 
Apache maven, a software project management tool
Apache maven, a software project management toolApache maven, a software project management tool
Apache maven, a software project management toolRenato Primavera
 
BW Migration to HANA Part 3 - Post-processing on the Migrated System
BW Migration to HANA Part 3 - Post-processing on the Migrated SystemBW Migration to HANA Part 3 - Post-processing on the Migrated System
BW Migration to HANA Part 3 - Post-processing on the Migrated SystemLinh Nguyen
 
Introduction to maven, its configuration, lifecycle and relationship to JS world
Introduction to maven, its configuration, lifecycle and relationship to JS worldIntroduction to maven, its configuration, lifecycle and relationship to JS world
Introduction to maven, its configuration, lifecycle and relationship to JS worldDmitry Bakaleinik
 
How to Reduce Database Load with Sparse Branches
How to Reduce Database Load with Sparse BranchesHow to Reduce Database Load with Sparse Branches
How to Reduce Database Load with Sparse BranchesPerforce
 

Similaire à Savana (20)

Git and GitFlow branching model
Git and GitFlow branching modelGit and GitFlow branching model
Git and GitFlow branching model
 
SVN essentials
SVN essentialsSVN essentials
SVN essentials
 
Introduction to Subversion and Google Project Hosting
Introduction to Subversion and Google Project HostingIntroduction to Subversion and Google Project Hosting
Introduction to Subversion and Google Project Hosting
 
Sap bw lo extraction
Sap bw lo extractionSap bw lo extraction
Sap bw lo extraction
 
Strategy to setup Subversion for Salesforce development for Agile Team
Strategy to setup Subversion for Salesforce development for Agile TeamStrategy to setup Subversion for Salesforce development for Agile Team
Strategy to setup Subversion for Salesforce development for Agile Team
 
Gitflow
GitflowGitflow
Gitflow
 
Svn Basic Tutorial
Svn Basic TutorialSvn Basic Tutorial
Svn Basic Tutorial
 
SVN Usage & Best Practices
SVN Usage & Best PracticesSVN Usage & Best Practices
SVN Usage & Best Practices
 
SVN Information
SVN Information  SVN Information
SVN Information
 
SAP HANA Developer Access Beta program - 7 steps towards your first HANA report
SAP HANA Developer Access Beta program - 7 steps towards your first HANA reportSAP HANA Developer Access Beta program - 7 steps towards your first HANA report
SAP HANA Developer Access Beta program - 7 steps towards your first HANA report
 
SVN Tool Information : Best Practices
SVN Tool Information  : Best PracticesSVN Tool Information  : Best Practices
SVN Tool Information : Best Practices
 
Maven in mulesoft
Maven in mulesoftMaven in mulesoft
Maven in mulesoft
 
Subversion User Guide
Subversion User GuideSubversion User Guide
Subversion User Guide
 
Apache maven, a software project management tool
Apache maven, a software project management toolApache maven, a software project management tool
Apache maven, a software project management tool
 
BW Migration to HANA Part 3 - Post-processing on the Migrated System
BW Migration to HANA Part 3 - Post-processing on the Migrated SystemBW Migration to HANA Part 3 - Post-processing on the Migrated System
BW Migration to HANA Part 3 - Post-processing on the Migrated System
 
Maven
MavenMaven
Maven
 
Automated Drupal deployment with Git and Capistrano
Automated Drupal deployment with Git and CapistranoAutomated Drupal deployment with Git and Capistrano
Automated Drupal deployment with Git and Capistrano
 
Introduction to maven, its configuration, lifecycle and relationship to JS world
Introduction to maven, its configuration, lifecycle and relationship to JS worldIntroduction to maven, its configuration, lifecycle and relationship to JS world
Introduction to maven, its configuration, lifecycle and relationship to JS world
 
How to Reduce Database Load with Sparse Branches
How to Reduce Database Load with Sparse BranchesHow to Reduce Database Load with Sparse Branches
How to Reduce Database Load with Sparse Branches
 
Svn Subversion
Svn SubversionSvn Subversion
Svn Subversion
 

Plus de IT Booze

Erlang - concurrency-oriented programming by Serhiy Yvtyshenko
Erlang - concurrency-oriented programming by Serhiy YvtyshenkoErlang - concurrency-oriented programming by Serhiy Yvtyshenko
Erlang - concurrency-oriented programming by Serhiy YvtyshenkoIT Booze
 
Cloud Providers: Amazon, Rackspace, Azure by Andriy Tsok
Cloud Providers: Amazon, Rackspace, Azure by Andriy TsokCloud Providers: Amazon, Rackspace, Azure by Andriy Tsok
Cloud Providers: Amazon, Rackspace, Azure by Andriy TsokIT Booze
 
Let's teach your child programming with Greenfoot by Oleg Pashkevych
Let's teach your child programming with Greenfoot by Oleg Pashkevych Let's teach your child programming with Greenfoot by Oleg Pashkevych
Let's teach your child programming with Greenfoot by Oleg Pashkevych IT Booze
 
Overview of Google spreadsheet API for Java by Nazar Kostiv
Overview of Google spreadsheet API for Java by Nazar Kostiv Overview of Google spreadsheet API for Java by Nazar Kostiv
Overview of Google spreadsheet API for Java by Nazar Kostiv IT Booze
 
Microsoft Dynamics CRM Overview by Anatoly Kvasnikov
Microsoft Dynamics CRM Overview by Anatoly KvasnikovMicrosoft Dynamics CRM Overview by Anatoly Kvasnikov
Microsoft Dynamics CRM Overview by Anatoly KvasnikovIT Booze
 
Windows Phone and mobile application development
Windows Phone and mobile application developmentWindows Phone and mobile application development
Windows Phone and mobile application developmentIT Booze
 
Windows 8 and Metro design applications
Windows 8 and Metro design applicationsWindows 8 and Metro design applications
Windows 8 and Metro design applicationsIT Booze
 
Introduction to mercurial
Introduction to mercurialIntroduction to mercurial
Introduction to mercurialIT Booze
 

Plus de IT Booze (9)

Erlang - concurrency-oriented programming by Serhiy Yvtyshenko
Erlang - concurrency-oriented programming by Serhiy YvtyshenkoErlang - concurrency-oriented programming by Serhiy Yvtyshenko
Erlang - concurrency-oriented programming by Serhiy Yvtyshenko
 
Cloud Providers: Amazon, Rackspace, Azure by Andriy Tsok
Cloud Providers: Amazon, Rackspace, Azure by Andriy TsokCloud Providers: Amazon, Rackspace, Azure by Andriy Tsok
Cloud Providers: Amazon, Rackspace, Azure by Andriy Tsok
 
Let's teach your child programming with Greenfoot by Oleg Pashkevych
Let's teach your child programming with Greenfoot by Oleg Pashkevych Let's teach your child programming with Greenfoot by Oleg Pashkevych
Let's teach your child programming with Greenfoot by Oleg Pashkevych
 
Overview of Google spreadsheet API for Java by Nazar Kostiv
Overview of Google spreadsheet API for Java by Nazar Kostiv Overview of Google spreadsheet API for Java by Nazar Kostiv
Overview of Google spreadsheet API for Java by Nazar Kostiv
 
Microsoft Dynamics CRM Overview by Anatoly Kvasnikov
Microsoft Dynamics CRM Overview by Anatoly KvasnikovMicrosoft Dynamics CRM Overview by Anatoly Kvasnikov
Microsoft Dynamics CRM Overview by Anatoly Kvasnikov
 
Windows Phone and mobile application development
Windows Phone and mobile application developmentWindows Phone and mobile application development
Windows Phone and mobile application development
 
Windows 8 and Metro design applications
Windows 8 and Metro design applicationsWindows 8 and Metro design applications
Windows 8 and Metro design applications
 
Introduction to mercurial
Introduction to mercurialIntroduction to mercurial
Introduction to mercurial
 
Git
GitGit
Git
 

Dernier

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 

Dernier (20)

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 

Savana

  • 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 License What is SAVANA
  • 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 repository How to start
  • 4. Create user branch with command ―cub‖  Performed steps: - new branch was created in ―branches/user‖ folder in repository - current local directory was switched to new branch - info about branch and its parent added to .savanna file  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. Create release branch from trunk with command ―crb‖  Performed steps: - new branch was created in ―branches‖ folder in repository - current local directory was switched to new branch - info about branch and its parent added to .savanna file  Promotes can not be performed from release branches.  Command ―sav sync‖ cannot be used for release branches. Release branch
  • 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 that have been made since the user branch was created or last synchronized - merged changes into the working copy - updated the Savana metadata that tracks merge history  This command will not commit merged changes Synchronization with parent
  • 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‖ command Promote
  • 8. Create promote.txt file in project root directory.  Run sav -F promote.txt promote. Result in svn logs:  Promote wit promote.txt
  • 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. http://savana.codehaus.org Info source