Stripping large output while diff

Dear all,

I would like to configure Meld to follow some rules/filters during diff. A similar question has already been asked here, but it doesn’t work when the comparison is between two files.
For git I configured nbstripout to strip outputs for Jupyter notebooks. It is working good for git diff a.ipyn b.ipynb from terminal, but when the two files are loaded from within Meld and/or from terminal (i.e meld a.ipyn b.ipynb) all the outputs are displayed.

On an Ubuntu 20.04 LTS system, my ~/.gitconfig looks like:

[user]
	name = me
	email = me@me.com
[diff "pandoc"]
   textconv=pandoc --to=markdown
   prompt = false
   tool = meld
[alias]
   wdiff = diff --word-diff=color --unified=1
[filter "nbstripout"]
	clean = \"/home/me/anaconda3/bin/python3.8\" -m nbstripout
	smudge = cat
[diff "ipynb"]
	textconv = \"/home/me/anaconda3/bin/python3.8\" -m nbstripout -t
[diff "git-clean-diff"]
    command = git-clean-diff
[credential]
	helper = cache
[difftool]
    prompt = false
[difftool "meld"]
    cmd = meld "$LOCAL" "$REMOTE"

my ~/.config/git/attributes

*.ipynb filter=nbstripout
*.ipynb diff=ipynb
*.ipynb diff=git-clean-diff

and finally the bash script in /bin is

#!/bin/bash
# pass the stripped working tree file and the repo copy 
# to meld for diffing
meld <(cat $1 | -m nbstripout -t) $2

As suggested in the mentioned question, I tried the commad meld <(cat a.ipynb | nbstripout) b.ipynb alone: it correctly opens Meld and the two notebooks, but without stripping. When I git difftool a.ipynb the outputs are still displayed.
I have tried the GUI diff tool Kompare too, but the issue remains. Am I overlooking something? Any idea on how to solve it?

Best I know, this should work. We accidentally broke process subsitution a while back, but it should work fine in current 3.20 releases. What version of Meld are you running?

I don’t use nbstripout, but it looks like your command line there might be missing a -t option?

Hi! I am using the latest 3.20.2 version. With the command line input meld <(cat a.ipynb | nbstripout -t) b.ipynb meld opens up, shows the two files, but just the first one has a different name 63-a.ipyb located in /dev/fd(probably because of cat?). Nevertheless, the files are not stripped.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.