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

Re: [GSoC][RFC] Convert mergetool to builtin

From
Kaartic Sivaraam <kaartic.sivaraam@gmail.com>
Date
Mar 19, 2020, 08:42 UTC
Message-ID
<1bb8e4f9-6e6e-0874-b1ef-47eccf93a98b@gmail.com>
In-Reply-To
<CAHk66fu7dZ4H8tvnbxfdBRcRdx-3f_cJSdVAoKrE3UbR3nehfA@mail.gmail.com>
Hi Abishek,

Just wanted to share a general suggestion which is not related to your proposal. In future, when you quote a portion of the e-mail retain the complete meta information about the quote (like the one you see below) or the person who wrote the quoted portion at the very least. It helps people who join late in the discussion to *quickly* get up-to-speed with the discussion.

Anyways, good luck with your proposal. :)
On 18-03-2020 22:00, Abhishek Kumar wrote:
Show 37 quoted lines
>>> ### Conversion of mergetool--lib
>>>
>>> As mentioned earlier, conversion of the mergetool-related scripts has to be
>>> spread over 2-3 SoC or similar projects due to the size of scripts involved.
>>> Conversion of mergetool would set up most of the plumbing required for
>>> mergetool--lib and makes the subsequent conversion possible.
>>
>> I wonder if it would be better to convert git-mergetool--lib.sh first
>> and then git-difftool--helper.sh and git-mergetool.sh that are using
>> it.
> 
> I had been agonizing over this decision while I was initially writing
> the proposal.
> 
> My justifications for mergetool.sh over mergetool--lib.sh at the time were:
> 
> 1. mergetool.sh makes many more calls to git subcommands than mergetool--lib.
> Therefore, its performance improves from both moving from bash to C and use of
> git internals.
> 2. I had *incorrectly* counted overall lines to be over 1,700 with
> 1,200 lines for mergetool--lib + difftool--helper + mergetools/ whereas it
> actually stands at rather manageable 1,000 lines with mergetools/ being fairly
> formulaic.
> 
> There are solid reasons to consider the conversion of mergetool--lib too:
> 1. The code path of difftool-helper would be entirely in C, improving its
> performance on Windows particularly well.
> 2. It has two well-defined entry points, which makes conversion straightforward
> and with less code churn.
> 3. It could be done with the more frequently-adopted approach of script
> calling the builtin.
> 
> As it stands now, I am open to converting either scripts.
> 
> I have CC'ed Johannes as well. I am sure he would like to weigh in
> this discussion.
> 

-- Sivaraam

Previous: Abhishek KumarNext: Christian Couder
Message 2 of 3 in “Re: [GSoC][RFC] Convert mergetool to builtin”
  1. Abhishek KumarMar 18, 2020
  2. Kaartic SivaraamMar 19, 2020
  3. Christian CouderMar 22, 2020

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.