diff options
author | Mathnerd314 <mathnerd314.gph+hs@gmail.com> | 2016-06-08 15:39:06 -0600 |
---|---|---|
committer | Atomic Bot <atomic-devel@projectatomic.io> | 2016-06-09 18:04:55 +0000 |
commit | 0e9a875393ec038de5fdfa2aa0934ee03ff75334 (patch) | |
tree | 81daefc3bbc4564f82bdedcbe59f70fba0ff02cf /docs | |
parent | f94b191ae5e3eab191bc7e9773d780725da896d9 (diff) | |
download | ostree-0e9a875393ec038de5fdfa2aa0934ee03ff75334.tar.gz |
repo: use OSTREE_TIMESTAMP (=1) for checked-out files
1 is a better choice than 0 because some programs use 0
as a special value; for example, GNU Tar warns of an
"implausibly old timestamp" with 0.
Closes: #330
Approved by: cgwalters
Diffstat (limited to 'docs')
-rw-r--r-- | docs/manual/repo.md | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/docs/manual/repo.md b/docs/manual/repo.md index d6f67090..bce7e0c9 100644 --- a/docs/manual/repo.md +++ b/docs/manual/repo.md @@ -47,6 +47,22 @@ payload sections. The header contains uid, gid, mode, and symbolic link target (for symlinks), as well as extended attributes. After the header, for regular files, the content follows. +The OSTree data format intentionally does not contain timestamps. The reasoning +is that data files may be downloaded at different times, and by different build +systems, and so will have different timestamps but identical physical content. +These files may be large, so most users would like them to be shared, both in +the repository and between the repository and deployments. + +This could cause problems with programs that check if files are out-of-date by +comparing timestamps. For Git, the logical choice is to not mess with +timestamps, because unnecessary rebuilding is better than a broken tree. +However, OSTree has to hardlink files to check them out, and commits are assumed +to be internally consistent with no build steps needed. For this reason, OSTree +acts as though all timestamps are set to time_t 1, so that comparisons will be +considered up-to-date. 1 is a better choice than 0 because some programs use 0 +as a special value; for example, GNU Tar warns of an "implausibly old time +stamp" with 0. + # Repository types and locations Also unlike git, an OSTree repository can be in one of three separate |