infrastructure for the bazaar
play

Infrastructure for the Bazaar Clifford Wolf LINBIT - PowerPoint PPT Presentation

Distributed Software Development using Subversion and SubMaster Infrastructure for the Bazaar Clifford Wolf LINBIT http://www.linbit.com Clifford Wolf, September 22, 2004 SubMaster p. 1 Introduction Development Models


  1. Distributed Software Development using Subversion and SubMaster Infrastructure for the Bazaar Clifford Wolf LINBIT http://www.linbit.com Clifford Wolf, September 22, 2004 SubMaster – p. 1

  2. Introduction ● Development Models ● Requirements ● What is Subversion (1) ● What is Subversion (2) ● Subversion is for the Cathedral ● What is SubMaster Introduction ● Components ● Mortal Kombat Using Subversion The SubMaster Client The SubMaster Server The smap helper script SubMaster Action Scripts URLs and References Clifford Wolf, September 22, 2004 SubMaster – p. 2

  3. Development Models Introduction D i s t r i b u t e d M o d e l C e n t r a l i z e d M o d e l ● Development Models ● Requirements ● What is Subversion (1) ● What is Subversion (2) ● Subversion is for the Cathedral ● What is SubMaster ● Components ● Mortal Kombat Using Subversion The SubMaster Client The SubMaster Server The smap helper script D e c e n t r a l i z e d M o d e l H i e r a r c h i c M o d e l SubMaster Action Scripts URLs and References Clifford Wolf, September 22, 2004 SubMaster – p. 3

  4. Requirements ■ Everyone must have the possibility to send patches Introduction ● Development Models ● Requirements ● What is Subversion (1) ● What is Subversion (2) ■ There must be no way for patches to be lost or ignored ● Subversion is for the Cathedral ● What is SubMaster ● Components ● Mortal Kombat ■ Creating and sending patches must be as easy as possible Using Subversion The SubMaster Client ■ Keeping local changes and main tree in sync must be easy The SubMaster Server The smap helper script SubMaster Action Scripts ■ There must be no restictions due to licences or binary only URLs and References executables ■ Using the system without a GUI should be possible Clifford Wolf, September 22, 2004 SubMaster – p. 4

  5. What is Subversion (1) ■ Subversion is a a version control system Introduction ● Development Models ● Requirements ● What is Subversion (1) ● What is Subversion (2) ■ The entire history of a project including all branches is stored ● Subversion is for the Cathedral ● What is SubMaster in a Database called Subversion Repository ● Components ● Mortal Kombat Using Subversion ■ A Subversion Repository can also be seen as a filesystem The SubMaster Client with special capabilities The SubMaster Server The smap helper script ■ Pleople can check out files or directories from a Subversion SubMaster Action Scripts Repository, change them and commit the changes back to URLs and References the repository ■ Some changes can be done directly on the repository without creating a working copy Clifford Wolf, September 22, 2004 SubMaster – p. 5

  6. What is Subversion (2) ■ Subversion Repositories can be accessed thru the Introduction ● Development Models filesystem, using HTTP/WebDAV or by a special SVN:// ● Requirements ● What is Subversion (1) protocol ● What is Subversion (2) ● Subversion is for the Cathedral ● What is SubMaster ● Components ● Mortal Kombat ■ The tool for creating and maintaining the database behind a Using Subversion Subversion Repository is called ’svnadmin’ The SubMaster Client The SubMaster Server ■ The tool for working with the Subversion Repository and The smap helper script Working copies is called ’svn’ SubMaster Action Scripts URLs and References ■ The calling convention for ’svn’ is simmilar to the calling convention for ’cvs’ Clifford Wolf, September 22, 2004 SubMaster – p. 6

  7. Subversion is for the Cathedral ■ Subversion on it’s own is not good for bazaar-style Introduction ● Development Models development ● Requirements ● What is Subversion (1) ● What is Subversion (2) ● Subversion is for the Cathedral ● What is SubMaster ■ There is only one central repository ● Components ● Mortal Kombat Using Subversion ■ Only a limited number of people has write access to the tree The SubMaster Client The SubMaster Server ■ Everyone else has to send patches per email The smap helper script SubMaster Action Scripts URLs and References ■ It’s hard to keep a local tree with patches in sync with the official tree Clifford Wolf, September 22, 2004 SubMaster – p. 7

  8. What is SubMaster ■ SubMaster is a set of scripts based on Subversion targeting Introduction ● Development Models bazaar-style development ● Requirements ● What is Subversion (1) ● What is Subversion (2) ● Subversion is for the Cathedral ● What is SubMaster ■ Everyone has his own local Subversion repository ● Components ● Mortal Kombat Using Subversion ■ SubMaster keeps the local repository in sync with the master The SubMaster Client repository preserving local changes The SubMaster Server The smap helper script ■ SubMaster provides an infrastructure for sending patches, SubMaster Action Scripts collecting feedback and applying patches to the master tree URLs and References ■ Working with SubMaster almost feels like having write access to the official tree Clifford Wolf, September 22, 2004 SubMaster – p. 8

  9. Components Introduction C o m p o n e n t s o f ● Development Models S e r v e r C o m p o n e n t s ● Requirements a S u b M a s t e r ● What is Subversion (1) ● What is Subversion (2) E n v i r o n m e n t ● Subversion is for the Cathedral ● What is SubMaster SubMaster Subversion ● Components ● Mortal Kombat Server Master Using Subversion Repository s m . p l s m a p . s h The SubMaster Client The SubMaster Server The smap helper script SubMaster Action Scripts L o c a l D e v e l o p e r T r e e P r o j e c t M a i n t a i n e r URLs and References SVN Working Copy SVN Working Copy Subversion Client Repository Clifford Wolf, September 22, 2004 SubMaster – p. 9

  10. Mortal Kombat ■ In his keynote about Linux Kenrel development at the Introduction ● Development Models german Linux Kongress, Russty Russel did talk about "Code ● Requirements ● What is Subversion (1) By Confrontation". ● What is Subversion (2) ● Subversion is for the Cathedral ● What is SubMaster ● Components ● Mortal Kombat ■ He called that Using Subversion The Mortal Kombat Model The SubMaster Client of Software Development The SubMaster Server The smap helper script ■ So the SubMaster tools are nothing else than SubMaster Action Scripts URLs and References The Weapons and Battlefield of the Mortal Kombat of Software Development Clifford Wolf, September 22, 2004 SubMaster – p. 10

  11. Introduction Using Subversion ● Creating a repository ● Creating a working copy ● Making changes (1) ● Making changes (2) Using Subversion ● Committing changes ● Branches and tags ● Getting Help (1) ● Getting Help (2) The SubMaster Client The SubMaster Server The smap helper script SubMaster Action Scripts URLs and References Clifford Wolf, September 22, 2004 SubMaster – p. 11

  12. Creating a repository ■ Creating the repository itself is easy: Introduction s v n a d m i n c r e a t e / h o m e / s v n / r e p o s Using Subversion ● Creating a repository ● Creating a working copy ● Making changes (1) ● Making changes (2) ■ If the repository should be accessable thru HTTP/WebDAV ● Committing changes ● Branches and tags (http://), you need to configure your apache to load the ● Getting Help (1) ● Getting Help (2) Subversion module and set it up. The SubMaster Client The SubMaster Server ■ If the repository should be accessable thru the Subversion The smap helper script protocol (svn://), you need to set up the Subversion server SubMaster Action Scripts s v n s e r v e . URLs and References Clifford Wolf, September 22, 2004 SubMaster – p. 12

  13. Creating a working copy ■ Using the tool s v n is very simmilar to using c v s . Introduction Using Subversion ● Creating a repository ● Creating a working copy ■ A Working copy can be created with: ● Making changes (1) s v n c o f i l e : / / / h o m e / s v n / r e p o s l o c a l d i r ● Making changes (2) ● Committing changes c d l o c a l d i r ● Branches and tags ● Getting Help (1) ● Getting Help (2) The SubMaster Client ■ Note that no equivalent to $CVSROOT exists. The SubMaster Server The smap helper script ■ Within the working copy, every directory has a . s v n SubMaster Action Scripts subdirectory containing the Subversion metadata. URLs and References Clifford Wolf, September 22, 2004 SubMaster – p. 13

  14. Making changes (1) ■ Modifying files: Introduction ◆ Just edit them as usual with your favorite editor Using Subversion ● Creating a repository ◆ Note that Subversion is using binary deltas and has good ● Creating a working copy ● Making changes (1) support for non-ascii files ● Making changes (2) ● Committing changes ● Branches and tags ● Getting Help (1) ● Getting Help (2) ■ Adding files: The SubMaster Client ◆ First create the new file as usual ◆ Then execute s v n a d d The SubMaster Server filename The smap helper script SubMaster Action Scripts ■ Removing files: URLs and References ◆ Just execute s v n r m filename ◆ The file will automatically removed by s v n Clifford Wolf, September 22, 2004 SubMaster – p. 14

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend