On 18 March 2013 20:18, Svein Seldal <[email protected]> wrote:
> On 03/15/2013 09:20 PM, Kai Willadsen wrote:
>>
>> I think you want the --diff command line argument, which launches a
>> tab for a two or three-way comparison. You can give Meld this argument
>> as many times as you like, and all of the comparisons will be launched
>> in tabs in a single window.
>
>
> I just tried it with --diff, but it generates too many tabs for any
> reasonable sized list.

Ah okay... I misunderstood what you were looking for.

> What I'd like to have is a directory view with the list I provide meld, and
> let the user pick the files to view diff on. This list is coming from python
> already, so I can access the meld classes directly if I have to.
>
> The reason I do this is because I need a tool for comparing root file
> systems. Meld is perfect for visualising the differences, but it has some
> features which spoils my usage. Meld seems to follow symlinks, which
> pollutes melds output and it might end up comparing the wrong file (e.g. a
> symlink pointing out of the file system). I know you can disable symlinks
> alltogether, but that isn't what I need either. And then you have special
> files (blk, chr, fifo and sockets).
>
> I understand that this functionality is outside meld's scope, so I wrote my
> own directory diff program in Py. It compares two directory trees and it
> compares the metadata of files, e.g. link content/data instead of following
> the link, blk/chr dev major/minor compare. For ordinary files it just
> compares sizes and sha1 hashsums. If not equal I'd like to display the diff
> in meld.

This all sounds good, but I can't think of any sensible way to do this
without hacking into the internals of Meld. The stuff you're looking
for is in DirDiff, which is sizable and not very well organised. Good
luck!

It sounds to me like you want to populate the folder comparison tree
with your own data and your own columns. Adding new columns is no (as
of 1.7.1) a feasible option (see e.g., column creation in
DirDiff.__init__ and state setting in DirDiff._update_item_state). The
hard part is filling your custom model. Depending on how your existing
Python code works, you may want to see whether you can shim the
additional information into DirDiff._search_recursively_iter, or you
may want to see whether you can replace that stuff entirely by just
manually creating your own treestore and setting it on DirDiff.

Anyway, those are just my guesses. Hope that helps.

cheers,
Kai
_______________________________________________
meld-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/meld-list

Reply via email to