$# This file is part of Vervis. $# $# Written in 2018, 2019, 2022 by fr33domlover . $# $# ♡ Copying is an act of love. Please copy, reuse and share. $# $# The author(s) have dedicated all copyright and related and neighboring $# rights to this software to the public domain worldwide. This software is $# distributed without any warranty. $# $# You should have received a copy of the CC0 Public Domain Dedication along $# with this software. If not, see $# .
By $maybe (person, actor) <- mpersonWritten ^{personLinkW person actor} $nothing #{authorName author} $maybe (committer, _) <- patchCommitted patch ; $maybe (person, actor) <- mpersonCommitted ^{personLinkW person actor} $nothing #{authorName committer}
At #{showDate written} $maybe (_, committed) <- patchCommitted patch ; #{showDate committed}
Title #{patchTitle patch}
Description

#{patchDescription patch} $if null parents

    $forall edit <- patchDiff patch
  • $case edit $of AddTextFile path mode lines

    Add file #{path} #{mode} $forall (n, t) <- number lines
    + #{n}
    #{t}
              $of AddBinaryFile path mode size
                

    Add binary file #{path} #{mode} #{size} $of RemoveTextFile path mode lines

    Remove file #{path} #{mode} $forall (n, t) <- number lines
    - #{n}
    #{t}
              $of RemoveBinaryFile path mode size
                

    Remove binary file #{path} #{mode} #{size} $of MoveFile oldPath oldMode newPath newMode

    Move file #{oldPath} #{oldMode} → #{newPath} #{newMode} $of ChmodFile path old new

    Change file mode #{path} #{old} → #{new} $of EditTextFile path orig hunks oldMode newMode

    Edit file #{path} #{oldMode} → #{newMode} ^{inlineDiffW orig hunks} $of EditBinaryFile path oldSize oldMode newSize newMode

    Edit binary file #{path} #{oldSize} #{oldMode} → #{newSize} #{newMode} $of TextToBinary path lines oldMode newSize newMode

    Edit file #{path} #{oldMode} → #{newSize} #{newMode} $forall (n, t) <- number lines
    - #{n}
    #{t}
              $of BinaryToText path oldSize oldMode lines newMode
                

    Edit file #{path} #{oldMode} #{oldSize} → #{newMode} $forall (n, t) <- number lines
    + #{n}
    #{t}
    $else
      

    This commit has multiple parents, and to be honest, I'm unsure how exactly to decide against which one to run the diff. Do I just pick the first parent? Or otherwise somehow detect which one is the right one? Advice is very welcome. For now, to help me find and observe such cases, I'm just listing here the parents of the commit:

      $forall parent <- parents
    1. #{parent}