Category: user

Synopsis:
ci(1) manpage: clarify accepted formats for -d, document 06:00 default, and 
explain -z limitation

Environment:
OpenBSD 7.8 GENERIC.MP#32 amd64

Description:
The manual page of ci(1) does not accurately describe the accepted formats for 
the -d option and its interaction with time zones.

Observed issues:
-d accepts only specific formats. ISO 8601 with +HH:MM fails, but +HHMM works. 
This is not documented.

If only a date is given (e.g. -d '2025-09-15'), the time defaults to 06:00:00. 
This is surprising and undocumented.

The manual states that -z zone specifies the zone for keyword substitution, but 
does not clarify that it has no effect on how -d parses dates. In practice, -d 
always requires an explicit numeric offset.

How to reproduce:
$ ci -d '2025-09-15T13:13:13' -mTEST file
# stored date is 06:13:13 UTC  (interpreted as PDT, undocumented)

$ ci -d '2025-09-15 13:13:13 +0200' -mTEST file
# stored date is 11:13:13 UTC (as expected)

$ ci -d '2025-09-15 13:13:13 +02:00' -mTEST file
ci: invalid date   # not documented

$ ci -d '2025-09-15' -mTEST file
# stored date is 2025/09/15 06:00:00 UTC

Expected behavior:
The manual should clearly state which formats are accepted, what the default 
time is if none is given, and that -z does not affect -d parsing.

Fix:
The attached diff updates ci.1 accordingly.

Patch:
--- ci.1.orig   Fri Sep 13 12:00:00 2025
+++ ci.1        Wed Sep 17 18:00:00 2025
@@ -224,10 +224,25 @@
.It Fl d Ns Ar date
Uses
.Ar date
-for the check-in date and time.
-If
-.Ar date
-is not specified, use the working file's last modification time.
+for the check-in date and time.
+If
+.Ar date
+is not specified, the working file's last modification time is used.
+.
+The accepted formats are limited; portable usage is:
+.Bd -literal -offset indent
+YYYY-MM-DD HH:MM:SS +ZZZZ
+.Ed
+where
+.Ar +ZZZZ
+is a numeric time zone offset (for example, +0200).
+The colon form
+.Ar +HH:MM
+is not accepted.
+If only a calendar date is given without a time,
+.Nm
+defaults to
+06:00:00.
+This historical default should not be relied on without specifying time 
explicitly.
.It Fl f
Forces a deposit; the new revision is deposited even if it is not
different from the preceding one.
@@ -304,7 +319,10 @@
.It Fl z Ns Ar zone
Specify the
.Ar zone
-to use for keyword substitution.
+to use for keyword substitution.
+This does not affect parsing of dates supplied with
+.Fl d .
+The check-in date parsing always requires an explicit offset as described 
above.
.El

Reply via email to