ctime != create time patch
Björn JACKE <[email protected]> Wed, 18 Jan 2006 07:29:50 +0100
| Newsgroups | gmane.comp.archivers.star.user |
|---|---|
| Organization | Service Network GmbH, Goettingen, Germany |
| Message-ID | <[email protected]> |
Hello, there is a ctime in the Windows world - there it is "create time" - and there is a ctime in the Unix world - there is is the (inode) change time. In POSIX there is no time stamp for create time and there are lots of documentations which falsly refer to ctime as "create time". The only Unix systems I know which have something like a create time are some *BSD systems (FreeBSD for example) - there this 4th timestamp is called "birth time". Joerg - do you consider to support such a 4th timestamp in star, too? Applied is a patch to correct the ctime descriptions in star. Bjoern
star-changetime.diff
(text/plain, 3.8 KB)
diff -ur star-1.5-old/star/spax.1 star-1.5/star/spax.1
--- star-1.5-old/star/spax.1 2005-01-17 12:50:41.000000000 +0100
+++ star-1.5/star/spax.1 2006-01-17 00:52:59.000000000 +0100
@@ -3657,12 +3657,10 @@
.BI \-p " e
options. The
.I ctime
-creation time (actually
-.I inode
-modification
-time) is described with "appropriate privilege" so that it can be
+inode change time
+is described with "appropriate privilege" so that it can be
ignored when writing to the file system. POSIX does not provide a
-portable means to change file creation time. Nothing is intended
+portable means to modify the change time. Nothing is intended
to prevent a non-portable implementation of
.B pax
from restoring the
@@ -4179,11 +4177,11 @@
.I st_ctime
member of the
.B stat
-structure does not refer to a file creation time. No field in
+structure does not refer to a file change time. No field in
the standard stat structure from
.B <sys/stat.h>
includes a file
-creation time.
+change time.
.PP
IEEE Std 1003.1-2001/Cor 2-2004, item XCU/TC2/D6/26 is applied,
making it clear that
diff -ur star-1.5-old/star/star.1 star-1.5/star/star.1
--- star-1.5-old/star/star.1 2005-11-03 23:14:04.000000000 +0100
+++ star-1.5/star/star.1 2006-01-17 00:32:32.000000000 +0100
@@ -415,7 +415,7 @@
.B \-atime
lists the access time instead of the modification time, the option
.B \-ctime
-lists the file creation time instead of the modification time.
+lists the file (inode) change time instead of the modification time.
The option
.B \-tpath
may be used in addition to modify the output so it may be used in shell scripts.
@@ -625,7 +625,7 @@
The
.B star
format allows to archive special files (even sockets) and records access time and
-creation time besides the modification time. Newer versions of the old
+change time besides the modification time. Newer versions of the old
.B star
format allow very long filenames (100+155\ chars and above), linknames > 100 chars
and sparse files (if
@@ -728,12 +728,12 @@
This is an upward/downward compatible enhancement
of the IEEE/Posix1003/IEC\-9945\-1 Standard Data Interchange format.
It allows among others very long filenames (100+130\ chars and above)
-and records access time and creation time.
+and records access time and change time.
Sparse files will be archived correctly (if
.B \-sparse
is used).
.sp
-The access time and creation time are stored at the end of the POSIX
+The access time and inode change time are stored at the end of the POSIX
file name prefix (this limits the prefix to 130 chars).
These extensions do not interfere with the POSIX standard as the
fields for mtime and ctime field are always separated from the
diff -ur star-1.5-old/star/star.c star-1.5/star/star.c
--- star-1.5-old/star/star.c 2005-11-16 01:25:10.000000000 +0100
+++ star-1.5/star/star.c 2006-01-17 00:30:41.000000000 +0100
@@ -1162,7 +1162,7 @@
error("\tsparse\t\tcompare if both files are sparse or not\n");
error("\tatime\t\tcompare access time of file (only star)\n");
error("\tmtime\t\tcompare modification time of file\n");
- error("\tctime\t\tcompare creation time of file (only star)\n");
+ error("\tctime\t\tcompare inode change time of file (only star)\n");
error("\ttimes\t\tcompare all times of file\n");
error("\tlmtime\t\tcompare modification time of symlinks\n");
error("\txtimes\t\tcompare all times and lmtime\n");
diff -ur star-1.5-old/STARvsGNUTAR star-1.5/STARvsGNUTAR
--- star-1.5-old/STARvsGNUTAR 2005-08-28 15:06:32.000000000 +0200
+++ star-1.5/STARvsGNUTAR 2006-01-18 07:12:10.000000000 +0100
@@ -47,7 +47,7 @@
of the star implementation.
- deals with all 3 times, it stores/restores all 3 times of a file
- (even creation time)
+ (even inode change time)
On Solaris, it may reset access time after doing the backup without
clobbering the ctime.