Skip to content
This repository has been archived by the owner on Jan 6, 2023. It is now read-only.

File changes

Patrick McCarty edited this page Nov 28, 2016 · 2 revisions

Overview

The swupd-server, when building an update, must detect that a file has changed. This happens by computing the hash of a file (see Hash-calculation). If the current version file hash is different from the prior version file hash, then the file data or file metadata must have changed. There are many cases of such changes, with code for detecting/handling the various cases. Each case should be defined below (currently incomplete).

Types of file changes

Case Expected results
The content of a file has changed (major modification) Full tar created on server, correctly applied by client
The content of a file has changed (minor modification) Bsdiff created on server, correctly applied by client
A new file is created New file present
A file became a directory Modification applied
A file has been renamed File correctly renamed (content unchanged)
A symlink points to an unchanged file The link and the file are present and unchanged
A sub-folder is renamed Sub folder renamed and content unchanged
Base attributes of a file have changed Attributes of the file updated and file content unchanged
Extended attributes of a file have changed Extended attributes of the file updated and file content unchanged
Unchanged file File always present and the file content unchanged
A symlink points to a modified file Link unchanged, file content updated
A broken link Broken link always present
An empty sub-folder Empty sub-folder always present
A non-empty sub-folder Non-empty sub-folder always present and content unchanged
Clone this wiki locally