[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: the @ syntax - date format

From: Mark D. Baushke <mdb_at_juniper.net>
Date: 2002-04-06 02:16:42 CEST

>Date: Fri, 5 Apr 2002 14:31:45 -0800
>From: Greg Stein <gstein@lyra.org>
>
>Here is an idea: what if we say that a trailing @ means "no revision
>specified". Essentially, the syntax would be:
>
> file '@' revision
>
>Where revision can be empty, a number, a few keywords, or a date. Since we
>only look at the *last* '@' symbol, then a shell script can simply do:
>
>for f in $*; do
> svn add $f@
>done
>
>That trailing @ ensures that we don't look at a @ symbol in $f and attempt
>to process it.

I like it.

+1

However, I suspect that the time specification mechanism needs to be
exmained more closely...

> Date: Sat, 06 Apr 2002 00:52:59 +0100
> From: Hontvari Jozsef <hontvari@solware.com>
>
> > @2002-04-05-14:19 should be able to work.
>
> this is a bit different subject, ISO8601 about international date in
> information exchange specifies the "T" as time designator. So I would use
> @2002-04-05T14:19. Because neither "T" nor "-" is very readable as a time
> designator I would prefer the standard.

I agree that using ISO 8601 timestamps to be another way to specify
the version is a good ida. I am not sure I like it to be naked after
the "@" character.

BTW: If you are going to talk about ISO8601, then you probably should
include the timezone indicator even though the default should be the
time at the zero meridian.

@2002-04-05T14:19Z or @20020405T1419Z

The hyphens and colons are optional under ISO8601. And this is what
may lead to problems in revision parsing for an ISO8601 date.

Given this time:

  Fri, 05 Apr 2002 23:41:21 +0000 (UTC)

which is equivalent to these times:

  Sat, 06 Apr 2002 00:41:21 +0100 (Central European Time)
  Fri, 05 Apr 2002 15:41:21 -0800 (US/Pacific Standard Time)

  Year 2002 Day 095 23:41:21 +0000 (UTC)
  Year 2002 Week 14, Day 5 23:41:21 +0000 (UTC)

We can specify a three digit number 001 thru 366 for the day of the year.
We can also use the Week (01 thru 53) and the day of the week (Monday = 1)

So, we can write these times in ISO8601 in a number of different ways:

  @2002-04-05T15:41:21-0800 # specify the US/Pacific Time zone
  @2002-04-05T23:41:21 # default to the zero merdian time zone
  @2002-04-05T23:41:21Z # specify the zero meridian
  @2002-04-06T00:41:21+0100 # specify the Central Euopean Time zone
  @2002-095T23:41:21Z # specify the 95th day of the year
  @2002-W14-5T23:41:21Z # specify the 5th day of the 14th week of 2002

The above formats would be easy to distinguish from version
numbers. However, the formats that don't have the dash or colon
separators could be more difficult.

  @20020405T154121-0800 # specify the US/Pacific Time zone
  @20020405T234121 # default to the zero merdian time zone
  @20020405T234121Z # specify the zero meridian
  @20020406T004121+0100 # specify the Central Euopean Time zone
  @2002095T234121Z # specify the 95th day of the year
  @2002W145T234121Z # specify the 5th day of the 14th week of 2002

Are there any intentions to allow full ISO8601 for the time
specifications? What happens if users choose to specify only the day
and not the time or time zone?

    @20020405

is that a version number or a time?

Would it make sense to let a date specification have a prefix character?

   @D20020405 implies 2002-04-05T00:00:01Z
   @D2002095 implies 2002-04-05T00:00:01Z

comments?

        Enjoy!
        -- Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Apr 6 02:17:41 2002

This is an archived mail posted to the Subversion Dev mailing list.