Mercurial/Tips And Tricks

From Apache OpenOffice Wiki
< Mercurial
Revision as of 00:05, 27 October 2009 by B michaelsen (Talk | contribs)

Jump to: navigation, search

Mercurial.png

Mercurial

Quick Navigation

About this template


This is the page to add your favorite Mercurial tip.

Tips and Tricks

After pulling/merging

  • hg log --follow-first is a convenient way to display your CWS changes at the top of the log.
  • hg log --follow-first -P <original_clone_milestone> will show only the CWS changesets.
  • hg outgoing works as well, of course.

Combined diff which contains exactly the changes of your CWS without anything pulled from master

  • If your current milestone tag is locally available: hg diff -r <current_milestone_tag>
  • If your current milestone tag is *not* locally available (might happen, see above):
    • search for your last pull/merge from the master with hg log -m
    • hg diff -r <second_parent_of_last_master_merge>
    • Alternatively, if you just did a pull/merge from master: hg export --switch-parent tip

Styles

The default output format of some commands does not suit you? Use styles:

  • hg log --style=compact
  • hg outgoing --style=changelog"
  • Or create your own format with the template engine:
    • hg outgoing --template '{date|shortdate} {author|person} {desc}\n' --newest-first

On Windows/cygwin

Using TortoiseHg in Cygwin

Depending on the cygwin version, using cygwins hg (and other tools) sometimes fails. TortoiseHg (http://bitbucket.org/tortoisehg/stable/wiki/Home) can be used as alternative.

To get rid of cygwin's hg rename /usr/bin/hg.

You can decide which ssl support you use in the cygwin shell. If you want to use the ssh-agent then you have to specify the following line in the [ui] section of ~/.hgrc:

ssh = <Windows path to cygwin>\bin\ssh.exe -C

For the graphical interface of TortoiseHg Putty's pageant is the default ssh key provider. TortoiseHg allows easy graphical access to hg repositories within the Windows Explorer.

Accessing repository over ssh

  • If you want to use the ssh client of your Cygwin shell (and also ssh-agent), add the following to the [ui] section of your mercurial.ini:
ssh = ssh -C
Personal tools