Date/revision notation
d1..d2 gets you everything from d1 to d2, inclusive ..d2 is the same as 1.1..d2 d1.. is the same as d1..TOT where TOT is the most recent delta
For dates, the start rounds down, the end rounds up. To override the rounding, the dates can be prefixed with "-" or "+" to round down or up, respectively.
So the full syntax is
[-|+]date..[-|+]date
Dates can also be represented as symbols; if the symbol exists in the file, then the date from the delta associated with the symbol is used.
Typical specifications are:
-d<date>[op<date>] -r<rev>[op<rev>]
This does not allow me to specify
<rev> .. <symbol>
We do that like so
cmd -r1.3 -dsym
Date format
yymmddhhmmss Rounds up at the end, rounds down at the beginning. For month, day, hour, minute, second fields, any value that is too large, is truncated back to its highest value. This is so you can always use "31" as the last day of the month and the right thing happens.
The range interface will take all of the above and return two revision numbers to use as args to the get/diffs/whatever.
Commands which want ranges of some sort:
diffs - 1 or 2 revs sccslog - 1 or 2 revs prs - 1 or 2 revs get - 1 rev co - 1 rev
diffs <>: TOT and clear text file -r: specified rev and clear text file -r -r: specified revs -r -d: specified revs -d -d: specified revs
Possible forms:
-r implies TOT -r<rev> -r<rev><op> <rev>. == <rev>; <rev>. == first rev after -r<op><rev> .<rev> == <rev>; ,<rev> == first rev before -d<date> -d<date><op> <d>. == <d>; <d>, == first after date -d<op><date> .<d> == <d>; ,<d> == first before date
get, etc <null> TOT (A A, first delta after point A [A A. first delta at or after point A A) ,A A first delta before point A A] .A first delta at or before point A
prs, sccslog (A A, everything after point A [A A. everything after point, including point A A) ,A everything before point A A] .A A everything before point A, including point A
diffs, prs, sccslog (A,B) A,,B everything after A and before B (A,B] A,.B everything after A and up to and including B [A,B) A.,B everything from A to before B [A,B] A..B everything from A to A
Defaults: Inclusive In two item specifications, first rounds down, second rounds up In single item specifications, round up
Testing Add a -1 option to PRS that says just this one. Then use PRS to test each case.
OK, so that works. Now I need to make
prs -c89]
mean everything up to 89]. In other words, imply -e.
And
prs -c[90
mean everything after 1990. That one works already, I think.