##// END OF EJS Templates
dependencies: bumped / freeze some libraries to make rhodecode-tools/vcsserver in sync...
dependencies: bumped / freeze some libraries to make rhodecode-tools/vcsserver in sync - pyparsing-2.4.5 - pyasn1-0.4.8 - pluggy-0.13.1 - contextlib2-0.6.0.post1 - attrs-19.3.0

File last commit:

r1:854a839a default
r4113:10cc3443 default
Show More
branching-vs-bookmarking.rst
41 lines | 1.3 KiB | text/x-rst | RstLexer
/ docs / tutorials / branching-vs-bookmarking.rst

|hg| Branching Vs Bookmarking

If you wish to use the branching workflow in |hg|, as mentioned in the :ref:`workflow` section, then there is a subtle but important difference to note between what branching means in |git| and |hg|.

  • |hg| stores branch information as a permanent part of each commit. Each branch needs to be named and is assigned persistent symbolic links inside the |repo|.
  • In |git|, by contrast, a branch is simply a lightweight movable pointer to a commit.

This is where bookmarks replicate the |git| branch functionality in |hg|. A bookmark is a references to a commit that can be automatically updated when new commits are made. For more information, see the Mercurial Bookmark documentation.

To use |hg| bookmarks like |git| branches, see the following example.

# Make a bookmark particular revision
$ hg bookmark -r 3400 my-bookmark

# push the bookmark to the server
$ hg push -B my-bookmark

# Delete remote bookmark, by deleting locally, then push deletion
$ hg bookmark -d my-bookmark
$ hg push -B my-bookmark

To open a |pr| from a bookmark using |RCE|, use the usual |pr| steps.

../images/pr-from-bookmark.png