Log In
Or create an account -> 
Imperial Library
  • Home
  • About
  • News
  • Upload
  • Forum
  • Help
  • Login/SignUp

Index
Bazaar Version Control
Table of Contents Bazaar Version Control Credits About the Author About the Reviewers www.PacktPub.com
Support files, eBooks, discount offers and more
Why Subscribe? Free Access for Packt account holders
Preface
What this book covers What you need for this book Who this book is for Conventions Reader feedback Customer support Downloading the example code Errata Piracy Questions
1. Getting Started
Version control systems
Reverting a project to a previous state Viewing the log of changes Viewing the differences between revisions Branching and merging Acronyms related to version control
Centralized version control systems (CVCS) Distributed version control systems (DVCS) What is Bazaar? Installing Bazaar and its plugins
GNU/Linux
Ubuntu, Debian, and derivatives Red Hat, Fedora, CentOS, and derivatives openSUSE and derivatives Installing Bazaar using pip Other installation methods
Windows Mac OS X Bazaar in a shared hosting environment
Interacting with Bazaar
Using the command-line interface Using the graphical user interface Using the two user interfaces together
Upgrading Bazaar to the latest version Uninstalling Bazaar Getting help Summary
2. Diving into Bazaar
Understanding the core concepts
Revision Repository Branch Working tree Putting the concepts together Storing Bazaar's data in the filesystem
Introducing the user interfaces
Using the command-line interface (CLI) Using Bazaar Explorer
Configuring Bazaar
Configuring the author information Configuring the default editor Other configuration options
Performing the basic version control operations
Putting a directory under version control
Using the command line Using Bazaar Explorer
Checking the status of files and directories
Using the command line Using Bazaar Explorer
Adding files to version control
Using the command line Using Bazaar Explorer
Recording a new revision
Using the command line Using Bazaar Explorer
Ignoring files
Using the command line Using Bazaar Explorer Checkpoint
Deleting files
Using the command line Using Bazaar Explorer
Undoing changes
Using the command line Using Bazaar Explorer
Editing files
Using the command line Using Bazaar Explorer
Viewing differences in changed files
Using the command line Using Bazaar Explorer Checkpoint
Renaming or moving files
Using the command line Using Bazaar Explorer Checkpoint
Viewing the revision history
Using the command line Using Bazaar Explorer
Restoring files from a past revision
Using the command line Using Bazaar Explorer
Putting it all together
Making different kinds of changes
Understanding the output the revert command Understanding the output of the status command
Understanding the backup files created by Bazaar Understanding the .bzr directory How often to commit?
Beyond the basics
Mastering the command line
Common flags Common behavior in all the commands Using shorter aliases of commands Quick reference card
Using tags Specifying revisions
Specifying a single revision Specifying a range of revisions
Viewing differences between any two revisions
Viewing differences between any revision and the working tree Viewing differences between any two revisions Viewing differences going from one revision to the next
Cloning your project
Summary
3. Using Branches
What is a branch?
A single branch with a linear history Multiple diverged branches Branches with non-linear history Unrelated branches
What can you do with branches?
Creating branches Comparing branches Merging branches Mirroring branches
Why use more than one branch?
Separating the development of new features Switching between tasks Experimenting with different approaches Maintaining multiple versions
Understanding core terms and concepts
trunk, master, and mainline The tip of a branch Source and target branches Parent branch Diverged branches and the base revision Storing branch data
Using a shared repository
Using the command line Using Bazaar Explorer
Basic branching and merging
Getting the example project
Using the command line Using Bazaar Explorer
Creating a feature branch
Using the command line Using Bazaar Explorer
Working on a branch Starting another branch Merging the bugfix branch
Using the command line Using Bazaar Explorer
Viewing merged revisions in the log
Using the command line Using Bazaar Explorer
Using the branch command
Creating branches based on an older revision
Using the command line Using Bazaar Explorer
Viewing basic branch information Comparing branches
Using the command line
Viewing missing revisions between branches Viewing the differences between branches
Using Bazaar Explorer
Viewing the tree of branches Viewing missing revisions between branches Viewing the differences between branches
Merging branches
Performing a three-way merge Completing the merge
Committing the merge Aborting the merge
Resolving conflicts
Resolving text conflicts Resolving content conflicts Redoing the merge Resolving other types of conflicts
Merging a subset of revisions
Merging up to a specific revision Merging a range of revisions Cherry-picking
Understanding revision numbers Merging from multiple branches
Mirroring branches
Mirroring from another branch Mirroring from the current branch
Summary
4. Using Bazaar in a Small Team
Collaborating with others
Working with remote branches Implementing simple workflows
Sharing branches over the network
Specifying remote branches
Using URL parameters Using remote branches through a proxy
Sharing branches using a distributed filesystem Sharing branches over SSH
Using individual SSH accounts Using individual SSH accounts with SFTP Using a shared restricted SSH account Using SSH host aliases Using a different SSH client
Sharing branches using bzr serve Sharing branches using inetd Sharing branches over HTTP or HTTPS
Working with remote branches
Working with remote branches directly Using local mirror branches
Creating a local mirror Using a shared repository Updating a local mirror
Using remote mirror branches
Creating a remote mirror Using a shared repository Updating a remote mirror
Using branches without a working tree
Creating a local branch without a working tree Creating or removing the working tree Reconfiguring working trees in a shared repository Creating remote branches without a working tree
Slicing and dicing branches
Implementing simple workflows
Using independent personal branches
Merging from branches repeatedly Handling criss-cross merges Viewing the history from different perspectives
Using feature branches and a common trunk
Merging into a common remote trunk Merging feature branches in lock-step Doing "code reviews"
Summary
5. Working with Bazaar in Centralized Mode
The centralized mode
Core operations The centralized workflow
Checkout from the central branch Making changes Committing changes Updating from the server Handling conflicts during update
Advantages
Easy to understand Easy to synchronize efforts Widely used
Disadvantages
Single point of failure Administrative overhead of access control The update operation is not safe Unrelated changes interleaved in the revision history
Using Bazaar in centralized mode
Bound branches Creating a checkout
Using the command line Using Bazaar Explorer
Updating a checkout
Using the command line Using Bazaar Explorer Visiting an older revision
Committing a new revision Practical tips when working in centralized mode
Working with bound branches
Unbinding from the master branch Binding to a branch Using local commits
Working with multiple branches Setting up a central server
Using an SSH server
Using the smart server over SSH Using individual SSH accounts Using a shared restricted SSH account Using SFTP
Using bzr serve directly Using bzr serve over inetd
Creating branches on the central server
Creating a shared repository without working trees Reconfiguring a shared repository to not use working trees Removing an existing working tree Creating branches on the server without a working tree
Practical use cases
Working on branches using multiple computers Synchronizing backup branches
Summary
6. Working with Bazaar in Distributed Mode
The distributed mode in general
Collaborators work independently The mainline branch is just a convention Collaborators write only to their own branches The distributed mode gives great flexibility Encouraging feature branches The revision history depends on the perspective
The human gatekeeper workflow
Overview Setting guidelines to accept merge proposals The role of the gatekeeper Creating a merge proposal
Using a Bazaar hosting site Sharing the branch URL with the gatekeeper Sending a merge directive
Creating a merge directive Merging from a merge directive Merge directives without revision content
Rejecting a merge proposal Accepting a merge proposal Reusing a branch Commander/Lieutenant model Switching from the peer-to-peer workflow
The automatic gatekeeper workflow
Patch Queue Manager (PQM) Revision history graph
The shared mainline workflow
Updating the mainline using push operations
Updating the mainline using a new local mirror Re-using an existing local mirror
Updating the mainline using a bound branch
Updating the mainline using a new checkout Reusing an existing checkout
Choosing a distributed workflow Summary
7. Integrating Bazaar in CDE
What is a CDE? Working with Launchpad
Creating a Launchpad account
Creating an account
Configuring your Launchpad account Configuring SSH public keys
Associating bzr with Launchpad Testing your setup
Hosting personal branches
Uploading personal branches Using personal branches Deleting branches
Hosting a project
Using the Sandbox site Creating a project Uploading project branches Viewing project branches Viewing your own branches Setting a focus branch Using series Viewing and editing branch details
Using merge proposals
Creating a merge proposal Viewing and editing a merge proposal Approving / rejecting a merge proposal Using the e-mail interface to handle a merge proposal
Browsing the content of a branch Using the bug tracking system
Reporting bugs Linking commits to bugs
Useful tips when using Launchpad
Deleting or renaming a project The karma system Hosting private projects
Integrating Bazaar into Redmine Integrating Bazaar into Trac
Enabling the plugin globally Enabling the plugin for one project only Browsing Bazaar branches Getting help
Linking commits to bug trackers
Configuring bug trackers in Bazaar Linking to public bug trackers Linking to Launchpad Linking to Bugzilla Linking to Trac Linking to other bug trackers Advanced integration with bug trackers
Web-based repository browsing with Loggerhead
Installing Loggerhead Running Loggerhead locally Running Loggerhead in production
Summary
8. Using the Advanced Features of Bazaar
Using aliases Undoing commits Shelving changes
Putting changes "on a shelf" Listing and viewing shelved changes Restoring shelved changes Using shelves to revert partial changes in a file Using shelves to commit partial changes in a file
Using lightweight checkouts
Creating a lightweight checkout Converting a checkout to a lightweight checkout Converting a branch to a lightweight checkout Converting from a lightweight checkout
Re-using a working tree
Setting up the example Preparing to switch branches Switching to another branch using core commands Switching to another branch by using switch Using a lightweight checkout for switching branches
Using stacked branches Signing revisions using GnuPG
Configuring the signing key used by Bazaar Setting up a sample repository Verifying signatures Signing existing revisions Signing a range of commits Signing new commits automatically
Configuring a hook to send an e-mail on commit
Setting up the example Installing the email plugin Enabling commit emails Testing the configuration Customizing the plugin
Summary
9. Using Bazaar Together with Other VCS
Working with other VCS in general
Working with foreign branches Installing plugins
Installing plugins in Windows or Mac OS X Installing plugins in Linux Installing plugins using Pip Installing additional requirements
Understanding the protocol overhead Using shared repositories Limitations Issues and crashes
Using Bazaar with Subversion
Installing bzr-svn Supported protocols and URL schemes Using the example Subversion repository Understanding branches in Subversion Branching or checkout from Subversion Preserving Subversion metadata
Preserving original revision numbers Preserving versioned properties Preserving revision and file IDs
Pulling or updating from Subversion Committing to Subversion Pushing to Subversion Merging Subversion branches Merging local branches into Subversion Binding and unbinding to Subversion locations Using lightweight checkouts Browsing the logs Limitations of bzr-svn Final remarks on bzr-svn
Using Bazaar with Git
Installing bzr-git Supported protocols and URL schemes Using the example Git repository Branching from git Preserving version control metadata
Preserving Git revision ids Preserving merged branches and revisions
Pulling from Git Pushing to Git Merging Git branches Merging local branches into Git Limitations of bzr-git Final remarks on bzr-git
Migrating between version control systems
Installing bzr-fastimport Exporting version control data
Exporting Subversion data Exporting Git data Exporting Bazaar data Exporting other VCS data
Importing version control data Querying fast-import files Filtering fast-import
Summary
10. Programming Bazaar
Using Bazaar programmatically
Using bzrlib outside of bzr Accessing Bazaar objects
Accessing branch data Accessing branch configuration values Accessing revision history Accessing the contents of a revision Formatting revision info using a log format More examples
Locating BZRLIB
Creating a plugin
Using the example plugins
Using the summary plugin Using the customlog plugin Using the appendlog plugin
Naming the plugin Creating the plugin directory Implementing the plugin Writing the README file Creating __init__.py
Setting help and documentation texts Declaring the API version Declaring the plugin version Verifying the loaded module name Registering new functionality
Registering a new command Registering a new log format Registering a hook Registering other kinds of functionalities
Registering a test suite Performance considerations
Writing unit tests Creating setup.py Browsing existing plugins Registering your plugin
Creating a hook
Hook points, hook classes, and hook types Registering hooks Activating hooks
References Summary
Index
  • ← Prev
  • Back
  • Next →
  • ← Prev
  • Back
  • Next →

Chief Librarian: Las Zenow <zenow@riseup.net>
Fork the source code from gitlab
.

This is a mirror of the Tor onion service:
http://kx5thpx2olielkihfyo4jgjqfb7zx7wxr3sd4xzt26ochei4m6f7tayd.onion