Table of Content
A Brief History of Revision Control
- Why Revision Control? Why Mercurial?
- This Book Is a Work in Progress
- About the Examples in This Book
- Trends in the Field
- A Few Advantages of Distributed Revision Control
Why Choose Mercurial?
- Mercurial Compared with Other Tools
- Switching from another Tool to Mercurial
- A Short History of Revision Control
A Tour of Mercurial: The Basics
- Installing Mercurial on Your System
- Getting Started
- Working with a Repository
- A Tour through History
- All about Command Options
- Making and Reviewing Changes
- Recording Changes in a New Changeset
- Sharing Changes
- Starting a New Project
A Tour of Mercurial: Merging Work
- Merging Streams of Work
- Merging Conflicting Changes
- Simplifying the Pull-Merge-Commit Sequence
- Renaming, Copying, and Merging
Behind the Scenes
- Mercurial’s Historical Record
- Safe, Efficient Storage
- Revision History, Branching, and Merging
- The Working Directory
- Other Interesting Design Features
Mercurial in Daily Use
- Telling Mercurial Which Files to Track
- How to Stop Tracking a File
- Copying Files
- Renaming Files
- Recovering from Mistakes
- Dealing with Tricky Merges
- More Useful Diffs
- Which Files to Manage, and Which to Avoid
- Backups and Mirroring
Collaborating with Other People
- Mercurial’s Web Interface
- Collaboration Models
- The Technical Side of Sharing
- Informal Sharing with hg serve
- Using the Secure Shell Protocol
- Serving Over HTTP Using CGI
- System-Wide Configuration
Filenames and Pattern Matching
- Simple File Naming
- Running Commands without Any Filenames
- Telling You What’s Going On
- Using Patterns to Identify Files
- Filtering Files
- Permanently Ignoring Unwanted Files and Directories
- Case Sensitivity
Managing Releases and Branchy Development
- Giving a Persistent Name to a Revision
- The Flow of Changes: Big Picture versus Little Picture
- Managing Big-Picture Branches in Repositories
- Don’t Repeat Yourself: Merging Across Branches
- Naming Branches within One Repository
- Dealing with Multiple Named Branches in a Repository
- Branch Names and Merging
- Branch Naming Is Generally Useful
Finding and Fixing Mistakes
- Erasing Local History
- Reverting the Mistaken Change
- Dealing with Committed Changes
- Changes That Should Never Have Been
- Finding the Source of a Bug
- Tips for Finding Bugs Effectively
Handling Repository Events with Hooks
- An Overview of Hooks in Mercurial
- Hooks and Security
- A Short Tutorial on Using Hooks
- Writing Your Own Hooks
- Some Hook Examples
- Bundled Hooks
- Information for Writers of Hooks
- Hook Reference
Customizing the Output of Mercurial
- Using Precanned Output Styles
- Commands That Support Styles and Templates
- The Basics of Templating
- Common Template Keywords
- Escape Sequences
- Filtering Keywords to Change Their Results
- From Templates to Styles
- Style Files by Example
Managing Changes with Mercurial Queues
- The Patch Management Problem
- The Prehistory of Mercurial Queues
- The Huge Advantage of MQ
- Understanding Patches
- Getting Started with Mercurial Queues
- More about Patches
- More on Patch Management
- Getting the Best Performance Out of MQ
- Updating Your Patches When the Underlying Code Changes
- Identifying Patches
- Useful Things to Know About
- Managing Patches in a Repository
- Third-Party Tools for Working with Patches
- Good Ways to Work with Patches
- MQ Cookbook
- Differences between Quilt and MQ
Advanced Uses of Mercurial Queues
- The Problem of Many Targets
- Conditionally Applying Patches with Guards
- Controlling the Guards on a Patch
- Selecting the Guards to Use
- MQ’s Rules for Applying Patches
- Trimming the Work Environment
- Dividing Up the Series File
- Maintaining the Patch Series
- Useful Tips for Developing with MQ
Adding Functionality with Extensions
- Improve Performance with the inotify Extension
- Flexible Diff Support with the extdiff Extension
- Cherry-Picking Changes with the transplant Extension
- Sending Changes via Email with the patchbomb Extension
Migrating to Mercurial
- Importing History from another System
- Migrating from Subversion
- Useful Tips for Newcomers
- Appendix Mercurial Queues Reference
- MQ Command Reference
- MQ File Reference
Installing Mercurial from Source
- On a Unix-Like System
- On Windows
Apply for Certification
https://www.vskills.in/certification/Mercurial-Version-Control-Certification