summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorMathnerd314 <mathnerd314.gph+hs@gmail.com>2016-06-08 15:39:06 -0600
committerAtomic Bot <atomic-devel@projectatomic.io>2016-06-09 18:04:55 +0000
commit0e9a875393ec038de5fdfa2aa0934ee03ff75334 (patch)
tree81daefc3bbc4564f82bdedcbe59f70fba0ff02cf /docs
parentf94b191ae5e3eab191bc7e9773d780725da896d9 (diff)
downloadostree-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.md16
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