[PATCH 3 of 5] add merge sections to hgrc.5

Steve Borho steve at borho.org
Fri Feb 1 04:56:48 UTC 2008


# HG changeset patch
# User Steve Borho <steve at borho.org>
# Date 1201840331 21600
# Node ID f3231b697c3d8f31f1c5729c43edbc04b1a52b80
# Parent  023c3e19566ddd6ce10e2cb79af3f6ddf902433a
add merge sections to hgrc.5

diff --git a/doc/hgrc.5.txt b/doc/hgrc.5.txt
--- a/doc/hgrc.5.txt
+++ b/doc/hgrc.5.txt
@@ -232,6 +232,105 @@
     filenames. Enabled by default. Disabling this option will allow
     you to store longer filenames in some situations at the expense of
     compatibility.
+
+merge::
+  Configures the default merge system.  If Mercurial's built-in
+  three-way merge routine encounters conflicts, an interactive tool is
+  by default started for the user to manually resolve them. This behaviour
+  can be turned off through the setting 'resolve_conflicts'. Then conflict
+  markers will be left in the merged file.
+
+  Mercurial comes with a set of stock tool specifications which the user
+  can revise and extend.  The user can also configure file
+  patterns to specify tools for use on specific file types.  File
+  patterns are globs by default, rooted at the repository root.  For
+  example, to match any file ending in ".txt" in the root directory
+  only, use the pattern "*.txt".  To match any file ending in ".c"
+  anywhere in the repository, use the pattern "**.c".
+  
+  There are two special tools intended for use with file patterns:
+  'takelocal' and 'takeother' (with predictable behaviors).
+
+  If Mercurial detects a file type (binary or symlink) which is not
+  supported by the selected tool, it will prompt the user to select
+  between the 'local' and 'other' file versions.
+
+  The debuginstall command will list successfully detected tools, in
+  the order they were searched.
+
+  To override the automated merge system, the HGMERGE environment
+  variable (or ui.merge) can specify a tool which is unconditionally
+  used to perform all merges.
+  
+  default;;
+    Optionally specify the default merge tool. This will be the preferred tool
+    unless one has been specified for the file type.
+    Default: None.
+  resolve_conflicts;;
+    Automatically launch interactive tool to resolve merge conflicts.
+    Default: True.
+
+  Example ~/.hgrc:
+
+    [merge]
+    default = kdiff3
+    **.html = myHtmlTool
+    **.lib = takelocal
+
+merge-tools::
+  The user can modify the stock merge tools as well as adding new ones by
+  adding entries to this section.
+
+  Example ~/.hgrc:
+
+    [hgmerge-tools]
+    # Override stock tool location
+    kdiff3.executable = ~/bin/kdiff3
+    # Specify command line
+    kdiff3.args = $base $local $other -o $output
+    # Give higher priority
+    kdiff3.priority = 1
+
+    # Define new tool
+    myHtmlTool.args = -m $local $other $base $output
+    myHtmlTool.winreg_key = Software\FooSoftware\HtmlMerge
+    myHtmlTool.priority = 1
+
+  Supported arguments:
+  priority;;
+    The priority in which to evaluate this tool.
+    Default: 0.
+  executable;;
+    Either just the name of the executable or its pathname.
+    Default: the tool name.
+  args;;
+    The arguments to pass to the tool executable. You can refer to the files
+    being merged as well as the output file through these variables: $base,
+    $local, $other, $output.
+    Default: $output $base $other
+  binary;;
+    This tool can merge binary files.  Defaults to False, unless tool
+    was selected by file pattern match.
+  symlink;;
+    This tool can merge symlinks.  Defaults to False, even if tool was
+    selected by file pattern match.
+  stdout;;
+    Should the tool's standard output be used as the merge result.
+    Default: False
+  check_conflicts;;
+    Check whether there are conflicts even though the tool reported
+    none.
+    Default: False
+  winreg_key;;
+    Windows registry key which describes install location of this tool.
+    Mercurial will search for this key first under HKEY_CURRENT_USER and
+    then under HKEY_LOCAL_MACHINE.  Default: None
+  winreg_name;;
+    Name of value to read from specified registry key.  Defaults to the
+    unnamed (default) value.
+  winreg_append;;
+    String to append to the value read from the registry, typically the
+    executable name of the tool.  Default: None
 
 hooks::
   Commands or Python functions that get automatically executed by


More information about the Mercurial-devel mailing list