#11120: Autodetect installed 3-way merge programs (invalidates #4434)
------------------------+---------------------------------------------------
   Reporter:  kini      |       Owner:  tbd            
       Type:  defect    |      Status:  needs_review   
   Priority:  major     |   Milestone:  sage-4.7       
  Component:  packages  |    Keywords:  mercurial, os x
     Author:            |    Upstream:  N/A            
   Reviewer:            |      Merged:                 
Work_issues:            |  
------------------------+---------------------------------------------------
Changes (by kini):

  * status:  new => needs_review


Old description:

> #4434 should be backed out and fixed (if even still necessary) in a more
> modern fashion. In the newer versions of Mercurial currently shipped with
> sage, hgmerge is obsolete (and in fact has been since 1.0, which might
> explain why no script at all was being copied over, as mentioned in the
> description of #4434). It's not a good idea to rely on outdated
> functionality.
>
> See http://mercurial.selenic.com/wiki/hgmerge :
>
> >Before Mercurial 1.0, a script named hgmerge was installed by default.
> As of Mercurial 1.0, hgmerge is no longer installed (and it should not be
> distributed with Mercurial), but hg still uses it, if it's present on the
> system and no other merge tools are configured. See
> [http://mercurial.selenic.com/wiki/MergeToolConfiguration
> MergeToolConfiguration] for the new mechanism.
>
> Hopefully removing this hgmerge file will simply work on OS X -
> otherwise, a solution should be made using hgrc as described at
> [http://mercurial.selenic.com/wiki/MergeToolConfiguration
> MergeToolConfiguration].
>
> Apply trac_11120-re-fix-trac_4434.mercurial-spkg.patch to mercurial spkg
> base repository

New description:

 In Mercurial versions earlier than 1.0, a script called `hgmerge` was
 installed to the system when you installed mercurial. This script called
 whatever 3-way merge programs you had installed in order to manually
 intervene in Mercurial's merging process when it couldn't figure out how
 to resolve a conflict.

 This was deprecated in version 1.0, and now Mercurial calls 3-way merge
 programs directly instead of relying on an `hgmerge` script. In order to
 make this work properly, one should set the proper configuration variables
 to help Mercurial find any installed 3-way merge programs.

 There is a file, `contrib/mergetools.rc`, in the Mercurial source
 distribution which provides exactly these configuration variables, though
 the upstream installer script does not actually install it anywhere.

 The problem reported at trac #4434 was caused, I guess, by the fact that
 `hgmerge` was deprecated and we sage people didn't notice, so the patch
 there simply caused our distribution of Mercurial to continue using
 `hgmerge`. The patch also did this only on the OS X platform, though as
 far as I can tell the same fundamental problem actually appears on Linux
 as well (see comments below).

 A better way to fix the problem on trac #4434, and fix it for Linux too,
 would be to use the `contrib/mergetools.rc` file as it was designed to be
 used.

 Apply trac_11120-re-fix-trac_4434.mercurial-spkg.patch to mercurial spkg
 base repository

 Depends on #11121

--

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11120#comment:4>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to