Title: Port of the week: diffoscope Author: Solène Date: 20 March 2021 Tags: openbsd Description: # Introduction Today I will introduce you to Diffoscope, a command line software to compare two directories. I find it very useful when looking for changes between two extracted tarballs, I use it to compare changes between two version of a program to see what changed. (HTM) Diffoscope project website # How to install On OpenBSD you can use "pkg_add diffoscope", on other systems you may have a package for it, but it could be installed via pip too. # Usage It is really easy to use, as parameter give the two directories you want to compare, diffoscope will then show the uid, gid, permissions, modification/creation/access time changes between the two directories. The output on a simple example looks like the following: ```diffoscope output --- t/ +++ a/ │ --- t/foo ├── +++ a/foo │ @@ -1 +1 @@ │ -hello │ +not hello │ ├── stat {} │ │ @@ -1 +1 @@ │ │ -1043 492483 -rw-r--r-- 1 solene wheel 1973218 6 "Mar 20 18:31:08 2021" "Mar 20 18:31:14 2021" "Mar 20 18:31:14 2021" 16384 4 0 t/foo │ │ +1043 77762 -rw-r--r-- 1 solene wheel 314338 10 "Mar 20 18:31:08 2021" "Mar 20 18:31:18 2021" "Mar 20 18:31:18 2021" 16384 4 0 a/foo ``` Diffoscope has many flags, if you want to only compare the directories content, you have to use "--exclude-directory-metadata yes". Using the same example as previously with --exclude-directory-metadata yes, it looks like: ```diffoscope output without directories metadata --- t/ +++ a/ │ --- t/foo ├── +++ a/foo │ @@ -1 +1 @@ │ -hello │ +not hello ```