Major diff/merge changes in bzr and explorer
andreas.sommer87 at googlemail.com
Thu May 3 08:16:56 UTC 2012
From: David Ingamells <david.ingamells at mapscape.eu>
Sent: 03.05.2012 07:50
To: bazaar at lists.canonical.com
Subject: Re: Major diff/merge changes in bzr and explorer
> On 29/04/12 09:43, Andreas Sommer wrote:
>> Hi all,
>> since Canonical didn't participate in GSoC, I couldn't implement the
>> idea I described below. Also I was not accepted for GSoC because I'm
>> writing my master's thesis, and organizations expect full-time
>> commitments (applied for Debian and Monkey). So much about that... Still
>> I'd like to do some work on diff/merge tool definitions because for me
>> this is a feature that I am totally missing, so I would like to have
>> your opinion and feedback about the idea I already presented some weeks
>> ago - it is outlined below. Are you okay with the changes I'm proposing,
>> do you see problems, do you think I shouldn't mess around with your code
>> :P ? Any links on Bazaar development (like a source code overview or so)
>> will also be helpful.
>> Best regards
> Dear Andreas,
> A plea if you are looking at how bzr handles diff tools:
> When an interactive diff tool like meld is used and you run a diff on a
> branch where files have been added or removed then bzr just dumps the
> content of the added or removed file to the terminal instead of also
> showing the contents via the diff tool with an empty counterpart. This
> is very annoying as one has to switch between the terminal and the
> interactive diff tool to see the changes and the 'dumped' contents may
> be larger than the scroll buffer.
> If bzr knowns about diff/merge tool definitions then it can also be told
> that a tool is interactive and in that case all changes should be shown
> through that tool.
> So if it fits in your work I'd be very pleased if you could look at this
> issue too :-)
I addressed this already in my first commit. My plan is to define for
each tool which kinds of changes it can display, e.g. modified file,
missing file, added file, etc. This is handled with the parameters
old_kind/new_kind as I saw, so I added a new setting that allows to
define which changes a tool supports, e.g.
"bzr.difftool.TortoiseDiff.supports_kinds_from_to = none-file,file-file"
for a tool that handles added and modified files. The default is that it
can only show modified files because I guess that most diff tools need
two files as parameters, not just one?!
More information about the bazaar