docs/wiki/quickstart/index.mdown @ 5faf9b0ae984

bookmarks: check if bookmark is actually current

Mercurial doesn't remove the bookmarks.current file when updating away
from a bookmark, and repo._bookmarkcurrent() doesn't check whether the
bookmark read from bookmarks.current is actually current.

This patch prevents hg-prompt from reporting a current bookmark when the
bookmark in bookmarks.current isn't actually the working directory's
first parent. This matches the behavior of the `hg bookmarks` command.
author Kevin Bullock <kbullock@umn.edu>
date Tue, 05 Jul 2011 14:19:52 -0500
parents e35a2b4aa170
children (none)
Quick Start
===========

This guide will get you up and running so you can put some useful information
into your shell prompt.

If you haven't already [installed][install] it, do that now.

[install]: /installation/

A Simple (But Useful) Prompt
----------------------------

Edit your `~/.bashrc` file to include something like this:

    :::bash
    hg_ps1() {
        hg prompt "{ on {branch}}{ at {bookmark}}{status}" 2> /dev/null
    }
    
    export PS1='\u at \h in \w$(hg_ps1)\n$ '

`source ~/.bashrc` after to test it out. Make sure you're in a Mercurial
repository or you won't see anything. This little prompt will give you
something like this:

    :::console
    steve at myhost in ~/src/hg-prompt on default at feature-bookmark?
    $

An Advanced Prompt
------------------

How about something a little more interesting?

    :::bash
    hg_ps1() {
        hg prompt "{[+{incoming|count}]-->}{root|basename}{/{branch}}{-->[+{outgoing|count}]}{ at {bookmark}}{status}" 2> /dev/null
    }
    
    export PS1='$(hg_ps1)\n\u at \h in \w\n$ '

And the result (this example assumes one incoming changeset and two outgoing):

    :::console
    [+1]-->hg-prompt/default-->[+2] at feature-bookmark
    steve at myhost in ~/src/hg-prompt
    $

Learn More
----------

From here you can take a look at the [full documentation][] to see all the
interesting things `hg-prompt` can do.

[full documentation]: /documentation/