CSDIFF(1)

πŸ“¦
version 3.5.7 Β· 4 versions
, in epel 10, fedora 43, fedora 44

πŸ’– CSDIFF πŸ’–

okay bestie, so this is csdiff, a little tool from the User Commands corner of the manual (that's CSDIFF(1) to the nerds πŸŽ€). it takes two lists of defects, compares them, and hands you back either the ones that got added or the ones that got fixed. literally that simple, no cap.


✨ NAME ✨

csdiff β€” take two lists of defects and output either added or fixed ones πŸ¦‹


πŸŽ€ SYNOPSIS πŸŽ€

csdiff [options] old.err new.err, where options are:

yes babe, two input files, old.err and new.err, and a whole lil menu of options that we're gonna go through rn πŸ’…


🌸 DESCRIPTION 🌸

okay so here's the whole vibe β€” every option, every flag, nothing skipped, we're doing this properly πŸ’œ

  • -x, --fixed β€” prints the fixed defects instead of the added ones. plot twist: it just swaps the arguments under the hood 😌
  • -z, --ignore-path β€” matching happens without caring about the directory structure. paths? never heard of her 🫢
  • -i, --show-internal β€” pulls internal warnings into the output too. they get a seat at the table ✨
  • -q, --quiet β€” shhh 🀫 no parsing errors get reported.
  • -c, --coverity-output β€” writes the result in Coverity format.
  • -j, --json-output β€” writes the result in JSON format.
  • --html-output β€” writes the result in HTML format.
  • -s, --file-rename arg β€” accounts for a change in the file base-name, [OLD,NEW] β€” and heads up bestie, it's marked testing ⚠️
  • -f, --filter-file arg β€” reads custom filtering rules from a file in JSON format. (the format is further down, keep reading πŸ‘€)
  • --color β€” colorized console output. it's the default when you're connected to a terminal, so honestly iconic of it πŸ’…
  • --no-color β€” no colorized console output. plain. minimal. also valid.
  • --help β€” produce help message.
  • --version β€” print version.

πŸ‘‘ OPTIONS πŸ‘‘

so the --filter-file option takes a list of JSON files in this exact format. and listen β€” a missing replace entry is equal to "replace" : "", okay? write that down πŸ“

{
    "msg-filter" : [
        {
             "checker" : "DIVINE|SYMBIOTIC",
             "regexp" : "memory"
        },
        {
             "checker" : "COMPILER_WARNING",
             "regexp" : "called on unallocated object",
             "replace" : "called correctly, no UB here"
        }
    ]
}

🌈 EXIT STATUS 🌈

csdiff exits with status 0 if the arguments are valid and the input files are parsed successfully.

and the cute part: it does not matter whether any defects were matched or not. matched, not matched, zero, some β€” doesn't matter, still 0 πŸ’–


⭐ the sign-off ⭐

that's the whole page bestie, you ate it 🫢 this was csdiff 3.5.7, dated March 2026, and it lives in the CSDIFF(1) section of the manual. go forth and diff those defects πŸ’…βœ¨

πŸ“¦ where this page comes from