Solved

Is RCS / CVS Y2K compliant?

Posted on 1998-06-23
6
413 Views
Last Modified: 2010-04-21
My underlying OS (SVR4) is Y2K compliant but I was wondering whether RCS and CVS was capable of storing and manipulating dates beyond 1999?

Has anyone actually tested this?
Iis there anything like a site that could provide an "official" answer to this question (eg. support@gnu.com)?:
0
Comment
Question by:firefox032697
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
6 Comments
 
LVL 51

Expert Comment

by:ahoffmann
ID: 2008153
0
 
LVL 2

Expert Comment

by:richrussell
ID: 2008154
In general most unix applications that have been rewritten several times (RCS certainly has), will use the unix time C library. This is a 32 bit counter from 1/1/1970 in seconds. So it will wrap round in 2038.

However, anything compiled using very recent libraries (ie last year or so), will probably be using a 64 bit counter. This will expire in about 500,000,000,000 - the Earth is set to be swalled up by the Sun in about 20,000,000. So no need to worry there!

I know this doesn't answer the question, but it's interesting all the same...
0
 
LVL 51

Expert Comment

by:ahoffmann
ID: 2008155
RCS and SCCS store dates in the form  yy/mm/dd, so they are not Y2k complient.
AFAIK, SCCS uses 1969 as base (not 1970) and therefore is y2k complient 'till 2068.
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 4

Expert Comment

by:jos010697
ID: 2008156
I just checked GNU's implementation of RCS and they explicitely mention
that:

'Y' contains just the last two digits of the year for years from 1900 through
1999, and all the digits of years thereafter.  Dates use the Gregorian calendar;
times use UTC.

This makes me feel quite confident the (at least GNU's) RCS is Y2K 'safe' ...

kind regards,

Jos aka jos@and.nl

0
 
LVL 51

Expert Comment

by:ahoffmann
ID: 2008157
jos, it couldn't be Y2K safe if it just uses 2 digits per year.
Example:
  have a file with deltas made
    01-jan-1999, 31-dec-1999,
    01-jan-2000, 01-jan-2099, 02-jan-2099, 31-dec-2099
then use:
    co -d"1999-01-01" file
    co -d"2099-01-01" file
to get it back.
I never tested this, but I expect that you get deltas from 01-jan-1999 and newer for both co commands.
0
 
LVL 2

Accepted Solution

by:
JYoungman earned 50 total points
ID: 2008158
RCS 5.x is y2k compliant.   For backward compatibility with (very) old versions it uses 2-digit dates until the end of 1999.   After that it uses 4 digits.    

CVS 1.9 itself is not y2k compliant, but there are updates to it (numbered 1.9.x) which are definitely y2k compliant.

It is *possible* for SCCS to be y2k compiant, as ahoffmann stated, but most installed versions of unix have a non-compliant version.    All the Unix vendors offer a compliant version currently though -- you would need to pay for it.  
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Let's say you need to move the data of a file system from one partition to another. This generally involves dismounting the file system, backing it up to tapes, and restoring it to a new partition. You may also copy the file system from one place to…
I have been running these systems for a few years now and I am just very happy with them.   I just wanted to share the manual that I have created for upgrades and other things.  Oooh yes! FreeBSD makes me happy (as a server), no maintenance and I al…
Learn how to navigate the file tree with the shell. Use pwd to print the current working directory: Use ls to list a directory's contents: Use cd to change to a new directory: Use wildcards instead of typing out long directory names: Use ../ to move…
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.

739 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question