view docs/notes.rst @ 337:e89eb63fc319

treesum: .write_file_digest() method: the "size" parameter is now positional and mandatory
author Franz Glasner <fzglas.hg@dom66.de>
date Mon, 31 Mar 2025 13:38:57 +0200
parents c72f5b2dbc6f
children 4a8026cbcecf
line wrap: on
line source

.. -*- coding: utf-8; indent-tabs-mode: nil; -*-


In a aggregated directory checksum at the end of a block:
A path equals

  ``./@/``

      Symlink to directory

  ``./@``

      Symlink to other filesystem object.
      Also used if the link is broken and the target type cannot determined.

Other paths that *end* with:

  ``/./@/``

      Symlink to a directory

  ``/./@``

      Symlink to other filesystem object.
      Also used if the link is broken and the target type cannot determined.

  ``/./|``, ``/./@|``

      FIFO and symlink to FIFO

  ``/./=``, ``/./@=``

      Socket and symlink to socket

  ``/./>``,  ``/./@>``

      Door (Solaris) and symlink to door

  ``/./%``,  ``/./@%``

      Whiteout and symlink to whiteout (used by union filesystems) (BSD)

Nonstandard path endings are:

   ``/./:``, ``/./@:``

      Character special and symlink to character special

   ``/./;``, ``/./@;``

      Block special and symlink to block special

  ``/./)``, ``/./@+``

      Event port (Solaris, Illumos) and symlink to event port


.. note:: :command:`ls` can also use ``*`` for regular files that are
          executable.


Fields:

  ``FSENCODING``

      The result of :func:`os.getfilesystemencoding` that is in effect when
      generating treesum digests (process environment)

   ``ERROR``

      Errors are reported:

      - For directories if the one of filenames has a filename problem

   ``FLAGS``

      Some flags are always printed.

      - no file modes and no file mtime is taken into account for digesting
      - no file size is printed

      Contains:

      - ``with-metadata-fullmode``: if a file mode is used completely as
        given by the OS for digest computation
      - ``with-metadata-mode``: if just the "portable" file modes are used
        for digest computation
      - ``with-metadata-mtime``: if the mtime as ISO-String and truncated to
        seconds is used in digest computation
      - ``print-size``: if the filesize is to to be printed also -- does not
                        change digests
      - ``fs-encoding``: the filenames are given in FS encoding
      - ``utf8-encoding``: the filenames are given in UTF-8 encoding
      - ``follow-symlinks-XXX`` and ``no-follow-symlinkx-XXX``: if symlinks are followed on the command
        line, while directory walking or for files
      - ``size-only``: if no digest is to be computed and only a file's size
        is printed and the accumulated file sizes for a directory tree

  ``ROOT``

      Always printed in UTF-8 encoding

  ``COMMENT``

      Always printed in UTF-8 encoding


Offene Fragen
=============

VFAT und Encoding
-----------------

Verfolgung von Encoding-Einstellungen über Mount-Punkte hinweg -- gerade
für externe Medien mit VFAT/MSDOS-FS.

  Erst einmal zurückgestellt