git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: recur status on linux-2.6

From
Junio C Hamano <junkio@cox.net>
Date
Aug 22, 2006, 08:27 UTC
Message-ID
<7virklp438.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<20060819104630.GA5213@c165.ib.student.liu.se>
Fredrik Kuivinen <freku045@student.liu.se> writes:
Show 16 quoted lines
> On Sun, Aug 13, 2006 at 03:54:19PM +0200, Johannes Schindelin wrote:
>> Hi,
>> 
>> I tested git-merge-recur vs. git-merge-recursive on the linux-2.6 
>> repository last night. It contains 2298 two-head merges. _All_ of them 
>> come out identically with -recur as compared to -recursive (looking at 
>> the resulting index only).
>
> After the latest updates to git-merge-recur it passes all the tests I
> have too.
>  
>> That was the good news. The bad news is: it _seems_, that -recur is only 
>> about 6x faster than -recursive, not 10x, and this number becomes smaller, 
>> the longer the merge takes. So I see a startup effect here, probably.
>
> That is a quite nice improvement anyway :)

Maybe we should welcome Linus back with a surprise change that makes recur take over recursive ;-).

Well, maybe not *that* fast.
Here is what I have in mind.
 * Not in too distant future, like this weekend, we would:
   - remove "TEST" at toplevel;
   - merge the C merge-recur work in "master".
   At this stage, people still have to ask for "recur" by either
   explicitly saying "-s recur" or by exporting the environment
   variable GIT_USE_RECUR_FOR_RECURSIVE=YesPlease; git
   developers are encouraged to use this while running tests and
   production.
 * Before stabilization for 1.4.3, we would:
   - rename merge-recursive to merge-recursive-old and
     merge-recur to merge-recursive.
   - we remove GIT_USE_RECUR_FOR_RECURSIVE hack.
   - we make --no-python in t/ directory no-op and only test C
     recursive implementation by default.
   After this, people who would want to keep using the original
   recursive have to ask for it by "-s recursive-old".
 * We release 1.4.3 with C recursive as the default merge
   strategy.

I am not at this moment thinking about removing recursive in Python altogether. We still have a few contrib scripts (p4import and gitview) that are in Python, so doing that would not remove our dependency on Python anyway.

Previous: Fredrik KuivinenNext: Johannes Schindelin
Message 9 of 10 in “recur status on linux-2.6”
  1. Johannes SchindelinAug 13, 2006
  2. Junio C HamanoAug 13, 2006
  3. Johannes SchindelinAug 13, 2006
  4. Junio C HamanoAug 13, 2006
  5. Johannes SchindelinAug 13, 2006
  6. Junio C HamanoAug 18, 2006
  7. Johannes SchindelinAug 18, 2006
  8. Fredrik KuivinenAug 19, 2006
  9. Junio C HamanoAug 22, 2006
  10. Johannes SchindelinAug 22, 2006

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.