previous | next
 
home  |  search  |  contact  
 
 
 Introduction 
 BitKeeper Concepts  
 Getting Started  
 Advanced Operations 
      - Resolving Conflicts  
        . When is a Resolve is Needed?  
        . Resolve 
        . Merging Content Conflicts  
      - Specifying Older Revisions 
        . File level 
        . ChangeSet level 
        . Tag level 
      - Tags  
        . Creating a Tag 
        . Updating a Tag 
        . Revert to a tree as of Tag 
      - Branching  
        . When to Create a Clone 
        . How to Enforce Work Flow 
        . Branching and Merging 
      - Revision Ranges 
        . Specifying by Revisions 
        . Specifying by Dates 
        . Revision and Date 
      - Remote repositories 
        . bkd 
        . Sending Changes via Email 
        . Receiving Changes via Email 
 Advanced Topics 
 Reporting and Data Mining  
 Appendix A: Installation 
 Appendix B: Administration 
 Site Map 
    
How to Enforce Work Flow
Branching is accomplished in BitKeeper by cloning a repository to another repository and using ``levels''. Levels are arbitrary numbers assigned to the repository that are used to control the flow of changesets between repositories.

To enforce the flow of work, the bk level command is used to set the level of a repository. Setting the level of a repository tells BitKeeper whether or not to allow changes into that repository from another repository with a different level. A repository with no level setting defaults to level 1. The level is automatically set when a repository is cloned to the level of the parent repository.

If the level of repository A is lower than the level of repository B, work may flow from A into B, but not from B into A. If the level of repository A is equal to the level of repository B, work may flow in both directions from A to B and B to A.

In the example above, the level for stable-1.0 is N. The stable-1.0 repository was cloned to bugfixes-1.0 which takes on the level of its parent which is N. The level of dev-1.1, however, should be manually set to N+1 after it has been cloned from stable-1.0 to prevent new development work back flowing to stable-1.0 or bugfixes-1.0.

To check the level of a repository:

cd repository
bk level

To set the level of a repository:

cd repository
bk level
num


Home    Company    Products    How to Buy    Downloads    Contact Us    Documentation    Support    Site Map

© 1997-2005, BitMover, Inc.