doc/hgmerge.1.txt
author mason@suse.com
Fri, 12 Aug 2005 07:10:21 -0800
changeset 879 953ccddd57bd
parent 466 c084cfbb2389
child 1341 3ab6e55ee361
permissions -rw-r--r--
dirstate walking optimizations The repo walking code introduces a number of calls to dirstate.map.copy(), significantly slowing down the walk on large trees. When a list of files is passed to the walking code, we should only look at map entries relevant to the file list passed in. dirstate.filterfiles() is added to return a subset of the dirstate map. The subset includes in files passed in, and if one of the files requested is actually a directory, it includes any files inside that directory tree. This brings the time for hg diff Makefile down from 1.7s to .3s on a linux kernel repo. Also, the diff command was unconditionally calling makewalk, leading to an extra pass through repo.changes. This patch avoids the call to makewalk when commands.diff isn't given a list of patterns, cutting the time for hg diff (with no args) in half. Index: mine/mercurial/hg.py ===================================================================

HGMERGE(1)
==========
Matt Mackall <mpm@selenic.com>
v0.1, 27 May 2005

NAME
----
hgmerge - default wrapper to merge files in Mercurial SCM system

SYNOPSIS
--------
'hgmerge' local ancestor remote

DESCRIPTION
-----------
The hgmerge(1) command provides a graphical interface to merge files in the
Mercurial system. It is a simple wrapper around kdiff3, merge(1) and tkdiff(1),
or simply diff(1) and patch(1) depending on what is present on the system.

hgmerge(1) is used by the Mercurial SCM if the environment variable HGMERGE is
not set.

AUTHOR
------
Written by Vincent Danjean <Vincent.Danjean@free.fr>

SEE ALSO
--------
hg(1) - the command line interface to Mercurial SCM

COPYING
-------
Copyright (C) 2005 Matt Mackall.
Free use of this software is granted under the terms of the GNU General
Public License (GPL).