Sample Prompts

hg-prompt supports many keywords, but you probably don't want to use them all at once. Which keywords you'll find useful depends on the workflow(s) you commonly use.

Here are some example prompts to get you started.

A Basic Prompt

A very simple prompt could tell you:

To get a prompt like this you could add this to your ~/.bashrc file:

export PS1='\u in \w`hg prompt "{on {branch}}{status}{update}" 2>/dev/null` $'

The result would look something like this:

username in ~/src $ cd project
username in ~/src/project on feature-branch $ touch sample
username in ~/src/project on feature-branch? $ hg add sample
username in ~/src/project on feature-branch! $ hg commit -m 'Add a file.'
username in ~/src/project on feature-branch $ hg update default
username in ~/src/project on default $ hg update 0
username in ~/src/project on default^ $

The 2>/dev/null part of the prompt command prevents errors from showing when you're not currently in a Mercurial repository.

The keywords ({branch}, {status} and {update}) display the relevant information.

The extra text in the {branch} keyword will only display if a branch exists, so you won't see the word "on" if you're not in a repository.

A More Compact Basic Prompt

Some people prefer a smaller, less obtrusive prompt. To get that kind of prompt you can omit some of the less important text:

export PS1='\w`hg prompt "[{branch}{status}{update}]" 2>/dev/null` $'

That will give you something like this:

~/src $ cd project
~/src/project[feature-branch] $ touch sample
~/src/project[feature-branch?] $ hg add sample
~/src/project[feature-branch!] $ hg commit -m 'Add a file.'
~/src/project[feature-branch] $ hg update default
~/src/project[default] $ hg update 0
~/src/project[default^] $