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.