Mercurial > hg
view contrib/python-hook-examples.py @ 24643:a8e6897dffbe
graft: allow creating sibling grafts
Previously it was impossible to graft a commit onto it's own parent (i.e. create
a copy of the commit). This is useful when wanting to create a backup of the
commit before continuing to amend it. This patch enables that behavior.
The change to the histedit test is because histedit uses graft to apply commits.
The test in question moves a commit backwards onto an ancestor. Since the graft
logic now more explicitly supports this, it knows to simply accept the incoming
changes (since they are more recent), instead of prompting.
author | Durham Goode <durham@fb.com> |
---|---|
date | Sun, 05 Apr 2015 11:55:38 -0700 |
parents | a8d13ee0ce68 |
children | 2b585677220e |
line wrap: on
line source
''' Examples of useful python hooks for Mercurial. ''' from mercurial import patch, util def diffstat(ui, repo, **kwargs): '''Example usage: [hooks] commit.diffstat = python:/path/to/this/file.py:diffstat changegroup.diffstat = python:/path/to/this/file.py:diffstat ''' if kwargs.get('parent2'): return node = kwargs['node'] first = repo[node].p1().node() if 'url' in kwargs: last = repo['tip'].node() else: last = node diff = patch.diff(repo, first, last) ui.write(patch.diffstat(util.iterlines(diff)))