Mercurial: The Definitive Guide Compiled From C3863298abc7 (2009 05 21) Mercurial
User Manual:
Open the PDF directly: View PDF
Page Count: 194 [warning: Documents this large are best viewed by clicking the View PDF Link!]
- Mercurial: The Definitive Guide
- Table of Contents
- Preface
- Chapter 1. How did we get here?
- 1.1. Why revision control? Why Mercurial?
- 1.2. About the examples in this book
- 1.3. Trends in the field
- 1.4. A few of the advantages of distributed revision control
- 1.5. Why choose Mercurial?
- 1.6. Mercurial compared with other tools
- 1.7. Switching from another tool to Mercurial
- 1.8. A short history of revision control
- Chapter 2. A tour of Mercurial: the basics
- Chapter 3. A tour of Mercurial: merging work
- Chapter 4. Behind the scenes
- Chapter 5. Mercurial in daily use
- Chapter 6. Collaborating with other people
- 6.1. Mercurial's web interface
- 6.2. Collaboration models
- 6.2.1. Factors to keep in mind
- 6.2.2. Informal anarchy
- 6.2.3. A single central repository
- 6.2.4. A hosted central repository
- 6.2.5. Working with multiple branches
- 6.2.6. Feature branches
- 6.2.7. The release train
- 6.2.8. The Linux kernel model
- 6.2.9. Pull-only versus shared-push collaboration
- 6.2.10. Where collaboration meets branch management
- 6.3. The technical side of sharing
- 6.4. Informal sharing with hg serve
- 6.5. Using the Secure Shell (ssh) protocol
- 6.6. Serving over HTTP using CGI
- 6.7. System-wide configuration
- Chapter 7. File names and pattern matching
- Chapter 8. Managing releases and branchy development
- 8.1. Giving a persistent name to a revision
- 8.2. The flow of changes—big picture vs. little
- 8.3. Managing big-picture branches in repositories
- 8.4. Don't repeat yourself: merging across branches
- 8.5. Naming branches within one repository
- 8.6. Dealing with multiple named branches in a repository
- 8.7. Branch names and merging
- 8.8. Branch naming is generally useful
- Chapter 9. Finding and fixing mistakes
- Chapter 10. Handling repository events with hooks
- 10.1. An overview of hooks in Mercurial
- 10.2. Hooks and security
- 10.3. A short tutorial on using hooks
- 10.4. Writing your own hooks
- 10.5. Some hook examples
- 10.6. Bundled hooks
- 10.7. Information for writers of hooks
- 10.8. Hook reference
- 10.8.1. changegroup—after remote changesets added
- 10.8.2. commit—after a new changeset is created
- 10.8.3. incoming—after one remote changeset is added
- 10.8.4. outgoing—after changesets are propagated
- 10.8.5. prechangegroup—before starting to add remote changesets
- 10.8.6. precommit—before starting to commit a changeset
- 10.8.7. preoutgoing—before starting to propagate changesets
- 10.8.8. pretag—before tagging a changeset
- 10.8.9. pretxnchangegroup—before completing addition of remote changesets
- 10.8.10. pretxncommit—before completing commit of new changeset
- 10.8.11. preupdate—before updating or merging working directory
- 10.8.12. tag—after tagging a changeset
- 10.8.13. update—after updating or merging working directory
- Chapter 11. Customizing the output of Mercurial
- Chapter 12. Managing change with Mercurial Queues
- 12.1. The patch management problem
- 12.2. The prehistory of Mercurial Queues
- 12.3. The huge advantage of MQ
- 12.4. Understanding patches
- 12.5. Getting started with Mercurial Queues
- 12.6. More about patches
- 12.7. More on patch management
- 12.8. Getting the best performance out of MQ
- 12.9. Updating your patches when the underlying code changes
- 12.10. Identifying patches
- 12.11. Useful things to know about
- 12.12. Managing patches in a repository
- 12.13. Third party tools for working with patches
- 12.14. Good ways to work with patches
- 12.15. MQ cookbook
- 12.16. Differences between quilt and MQ
- Chapter 13. Advanced uses of Mercurial Queues
- 13.1. The problem of many targets
- 13.2. Conditionally applying patches with guards
- 13.3. Controlling the guards on a patch
- 13.4. Selecting the guards to use
- 13.5. MQ's rules for applying patches
- 13.6. Trimming the work environment
- 13.7. Dividing up the series file
- 13.8. Maintaining the patch series
- 13.9. Useful tips for developing with MQ
- Chapter 14. Adding functionality with extensions
- Appendix A. Migrating to Mercurial
- Appendix B. Mercurial Queues reference
- B.1. MQ command reference
- B.1.1. qapplied—print applied patches
- B.1.2. qcommit—commit changes in the queue repository
- B.1.3. qdelete—delete a patch from the series file
- B.1.4. qdiff—print a diff of the topmost applied patch
- B.1.5. qfold—move applied patches into repository history
- B.1.6. qfold—merge (fold) several patches into one
- B.1.7. qheader—display the header/description of a patch
- B.1.8. qimport—import a third-party patch into the queue
- B.1.9. qinit—prepare a repository to work with MQ
- B.1.10. qnew—create a new patch
- B.1.11. qnext—print the name of the next patch
- B.1.12. qpop—pop patches off the stack
- B.1.13. qprev—print the name of the previous patch
- B.1.14. qpush—push patches onto the stack
- B.1.15. qrefresh—update the topmost applied patch
- B.1.16. qrename—rename a patch
- B.1.17. qseries—print the entire patch series
- B.1.18. qtop—print the name of the current patch
- B.1.19. qunapplied—print patches not yet applied
- B.1.20. hg strip—remove a revision and descendants
- B.2. MQ file reference
- B.1. MQ command reference
- Appendix C. Installing Mercurial from source
- Appendix D. Open Publication License