Bazaar User Guide

74 pages

Please download to get full document.

View again

of 74
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Bazaar User Guide Bazaar User Guide Contents 1 Introduction 1.1 Introducing Bazaar 1.2 Core concepts 1.3 Workflows Getting started 2.1 Installing Bazaar 2.2 Entering commands 2.3 Getting help 2.4 Configuring Bazaar 2.5 Using aliases 2.6 Using plugins 2.7 Bazaar Zen Personal version control 3.1 Going solo 3.2 Starting a project 3.3 Controlling file registration 3.4 Reviewing changes 3.5 Recording changes 3.6 Browsing history 3.7 Releasi
  Bazaar User Guide Contents 1 Introduction1.1 Introducing Bazaar1.2 Core concepts1.3 Workflows2 Getting started2.1 Installing Bazaar2.2 Entering commands2.3 Getting help2.4 Configuring Bazaar2.5 Using aliases2.6 Using plugins2.7 Bazaar Zen3 Personal version control3.1 Going solo3.2 Starting a project3.3 Controlling file registration3.4 Reviewing changes3.5 Recording changes3.6 Browsing history3.7 Releasing a project3.8 Undoing mistakes4 Sharing with peers4.1 Working with another4.2 Branching a project4.3 Merging changes4.4 Resolving conflicts4.5 Annotating changes5 Team collaboration, central style5.1 Centralized development5.2 Publishing a branch5.3 Using checkouts5.4 Working offline on a central branch5.5 Reusing a checkout6 Team collaboration, distributed style6.1 Distributed development6.2 Organizing branches6.3 Using gatekeepers6.4 Sending changes7 Miscellaneous topics7.1 The journey ahead7.2 Pseudo merging7.3 Shelving Changes7.4 Filtered views7.5 Using stacked branches7.6 Running a smart server7.7 Using hooks7.8 Exporting version information8 A brief tour of some popular plugins Bazaar User Guide of 747/24/2009 9:14 AM  8.1 BzrTools8.2 bzr-svn9 Integrating Bazaar into your environment9.1 Web browsing9.2 Bug trackers10 Appendices10.1 Specifying revisions10.2 Organizing your workspace10.3 Advanced shared repository layouts10.4 Configuring email10.5 Serving Bazaar with FastCGI10.6 Writing a plugin 1 Introduction 1.1 Introducing Bazaar 1.1.1 What is Bazaar? Bazaar is a tool for helping people collaborate. It tracks the changes that you and other peoplemake to a group of files - such as software source code - to give you snapshots of each stage of their evolution. Using that information, Bazaar can effortlessly merge your work with otherpeople's.Tools like Bazaar are called version control systems (VCS) and have long been popular withsoftware developers. Bazaar's ease of use, flexibility and simple setup make it ideal not only forsoftware developers but also for other groups who work together on files and documents, suchas technical writers, web designers and translators.This guide takes you through installing Bazaar and how to use it, whether on your own or witha team of other people. If you're already familiar with distributed version control and want todive straight in, you may wish to skim this section and jump straight toLearning more. 1.1.2 A brief history of version control systems Version control tools have been evolving for several decades now. In simple terms, there havebeen 4 generations of tools:file versioning tools, e.g. SCCS, RCS1.tree versioning tools - central style, e.g. CVS2.tree versioning tools - central style, take two, e.g. Subversion3.tree versioning tools - distributed style, e.g. Bazaar.4.The design and implementation of Bazaar builds on the lessons learned from all the previousgenerations of tools. In particular, Bazaar cleanly supports both the central and the distributedversion control models so you can change models as it makes sense, without needing to changetools. 1.1.3 Central vs distributed VCS Many traditional VCS tools require a central server which provides the change history or repository  for a tree of files. To work on the files, users need to connect to the server and checkout  the files. This gives them a directory or working tree in which a person can makechanges. To record or commit  these changes, the user needs access to the central server andthey need to ensure they have merged their work with the latest version stored before tryingto commit. This approach is known as the centralized model. Bazaar User Guide of 747/24/2009 9:14 AM  The centralized model has proven useful over time but it can have some notable drawbacks.Firstly, a centralized VCS requires that one is able to connect to the server whenever onewants to do version control work. Secondly, the centralized model tightly links the act of  snapshotting changes with the act of  publishing those changes. This can be good in somecircumstances but it has a negative influence on quality in others.Distributed VCS tools let users and teams have multiple repositories rather than just a singlecentral one. In Bazaar's case, the history is normally kept in the same place as the code that isbeing version controlled. This allows the user to commit their changes whenever it makessense, even when offline. Network access is only required when publishing changes or whenaccessing changes in another location.In fact, using distributed VCS tools wisely can have advantages well beyond the obvious one of disconnected operations for developers. Other advantages include:easier for developers to create experimental brancheseasier ad-hoc collaboration with peersless time required on mechanical tasks - more time for creativityincreased release management flexibility through the use of feature-wide commitstrunk quality and stability can be kept higher, making everyone's job lessstressfulin open source communities:easier for non-core developers to create and maintain changeseasier for core developers to work with non-core developers and movethem into the corein companies, easier to work with distributed and outsourced teams.For a detailed look at the advantages of distributed VCS tools over centralized VCS tools, see 1.1.4 Key features of Bazaar While Bazaar is not the only distributed VCS tool around, it does have some notable featuresthat make it an excellent choice for many teams and communities. A summary of these andcomparisons with other VCS tools can be found on the Bazaar Wiki, the many features, one in particular is worth highlighting: Bazaar is completely freesoftware written in Python. As a result, it is easy to contribute improvements. If you wish to getinvolved, please see 1.1.5 Learning more This manual provides an easy to read introduction to Bazaar and how to use it effectively. It isrecommended that all users read at least the rest of this chapter as it:explains the core concepts users need to knowintroduces some popular ways of using Bazaar to collaborate.Chapters 2-6 provide a closer look at how to use Bazaar to complete various tasks. It isrecommended that most users read these in first-to-last order shortly after starting to useBazaar. Chapter 7 and beyond provide additional information that helps you make the most of Bazaar once the core functionality is understood. This material can be read when required andin any order.If you are already familiar with other version control tools, you may wish to get started quicklyby reading the following documents: Bazaar User Guide of 747/24/2009 9:14 AM  Bazaar in five minutes- a mini-tutorialBazaar Quick Start Card- a one page summary of commonly used commands.In addition, the online help andBazaar User Referenceprovide all the details on the commandsand options available.We hope you find this manual useful. If you have suggestions on how it or the rest of Bazaar'sdocumentation can be improved, please contact us on the mailing list, 1.2 Core concepts 1.2.1 A simple user model To use Bazaar you need to understand four core concepts: Revision - a snapshot of the files you're working with. Working tree - the directory containing your version-controlled files and sub-directories. Branch - an ordered set of revisions that describe the history of a set of files. Repository - a store of revisions.Let's look at each in more detail. 1.2.2 Revision A revision is a snapshot  of the state of a tree of files and directories, including their content andshape. A revision also has some metadata associated with it, including:Who committed itWhen it was committedA commit messageParent revisions from which it was derivedRevisions are immutable and can be globally, uniquely identified by a revision-id  . An examplerevision-id is: Revision-ids are generated at commit time or, for imports from other systems, at the time of import. While revision-ids are necessary for internal use and external tool integration, branch-specific revision numbers are the preferred interface for humans.Revision numbers are dotted decimal identifiers like 1, 42 and 2977.1.59 that trace a paththrough the revision number graph for a branch. Revision numbers are generally shorter thanrevision-ids and, within a single branch, can be compared with each other to get a sense of their relationship. For example, revision 10 is the mainline (see below) revision immediatelyafter revision 9. Revision numbers are generated on the fly when commands are executing,because they depend on which revision is the tip (i.e. most recent revision) in the branch.SeeSpecifying revisionsin the appendices for a closer look at the numerous ways thatrevisions and ranges of revisions can be specified in Bazaar, andUnderstanding RevisionNumbersfor a more detailed description of revision numbering. 1.2.3 Working Tree A working tree is a version-controlled directory  holding files the user can edit. A working tree isassociated with a branch . Bazaar User Guide of 747/24/2009 9:14 AM
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks

We need your sign to support Project to invent "SMART AND CONTROLLABLE REFLECTIVE BALLOONS" to cover the Sun and Save Our Earth.

More details...

Sign Now!

We are very appreciated for your Prompt Action!