Compare two folder structures and list files which exist in both, but are different

Solution 1:

While I'm a big proponent of utilizing built in tools (+1 for nohillside's answer) rather than searching for the nearest app, from time to time I do find really invaluable applications. In this case, I found a graphical differencing and merging application called Meld.

Meld is a visual diff and merge tool targeted at developers. Meld helps you compare files, directories, and version controlled projects. It provides two- and three-way comparison of both files and directories, and has support for many popular version control systems.

Meld Screenshot

Meld is probably overkill for what you're looking to do, but not so much that it makes the software cumbersome to use. The best part is that it's free (as in beer).

Solution 2:

You can use diff for this after downloading the public folder:

diff -q -r working-folder public-folder

It will give you the list of files which are different, omit -q to also show a list of the actual differences.

To supress the listing of files only available in public-folder you can easily filter them via grep:

diff -q -r working-folder public-folder | grep -v '^Only in public-folder'

(make sure to replace the public-folder part with the real name in both occurances)