Microsoft KB Archive/931804

= Visual SourceSafe daylight saving time issues in 2007 =

Article ID: 931804

Article Last Modified on 8/15/2007

-

APPLIES TO


 * Microsoft Visual SourceSafe 2005 Standard Edition
 * Microsoft Visual SourceSafe 6.0d

-



Daylight saving time changes
Because of the Energy Policy Act of 2005, the start date and the end date for daylight saving time (DST) in the United States will change in 2007. DST in the United States will start three weeks earlier and will end one week later than in previous years. DST will start at 2:00 A.M. on the second Sunday in March and will end at 2:00 A.M. on the first Sunday in November.

Microsoft Visual SourceSafe uses the operating system for time stamping. Therefore, Visual SourceSafe users will be affected by this change. How you are affected depends on the following:
 * The version of Visual SourceSafe that you are using
 * Which services you have enabled

All servers and client computers should be updated
All servers and client computers that run Visual SourceSafe 2005 should be updated by using the operating system updates that Microsoft has released to address the DST issue. Links to these updates appear in the &quot;References&quot; section.

If you do not update the servers and the client computers, you may lose check-in information
You must update the servers and the client computers. Otherwise, you may lose check-in information. This issue may occur if the following conditions are true:
 * A client computer that has been updated checks in a project or a file.
 * A client computer that has not been updated checks in the same project or file.
 * Both check-in processes occur less than one hour after the project or the file was created.

In this scenario, the history for the project or for the file is lost.

A timestamp is generated when the project or the file is first added to the repository. Then, the second check-in process generates a timestamp that is earlier than the first timestamp. Therefore, this issue occurs.

For more information about this issue, click the following article number to view the article in the Microsoft Knowledge Base:

150643 Setting wrong system date causes lost project history



Visual SourceSafe 2005
Visual SourceSafe 2005 introduces the regional time zones feature. This feature helps synchronize time between the server and all client computers. The Visual SourceSafe repository is stored on the server. When you enable the regional time zones feature, the way that Visual SourceSafe 2005 handles time stamping differs from the behavior in earlier versions of Visual SourceSafe.

Instead of using the time on the client computer, Visual SourceSafe 2005 uses &quot;server local time&quot; for all Visual SourceSafe operations. In this case, server local time is not the current local time of the server. Server local time is the local time that Visual SourceSafe reads from the associated repository. The associated repository is determined by the source code control (SCC) operations.

Visual SourceSafe calculates server local time by using the UTC time that is known by the server. To obtain the server local time value, the client creates a temporary file in the database share every few minutes. Then, the client reads the file creation times. Clocks on client computers may be in the same time zone and may be only seconds or minutes apart. The behavior of Visual SourceSafe causes these clocks to become unsynchronized.

This method for computing server local time helps Visual SourceSafe to put SCC records in the correct order. Therefore, Visual SourceSafe administrators must make sure that the operating system updates that appear in the &quot;References&quot; section have been applied to all servers and client computers.

When the time zone is changed on a Visual SourceSafe client computer, the check-in times are different in Visual SourceSafe Explorer. This difference occurs because Visual SourceSafe uses the new time zone information from the client computer to calculate the values.

Visual SourceSafe 2005 administrators must perform the following task after all server and client computer operating systems have been updated:
 * 1) Start Visual SourceSafe Administrator.
 * 2) Open the database by using the SrcSafe.ini file that is located in the root of the database folder and not by using the local Srcsafe.ini file if it exists.
 * 3) On the Tools menu, click Options.
 * 4) In the Options dialog box, click the TimeZone tab.
 * 5) Click OK, and then exit Visual SourceSafe Administrator.

These steps will update the Srcsafe.ini file by using the updated operating system DST values.

If no time zone is specified in the Time Zone dialog box of Visual SourceSafe Administrator, Visual SourceSafe 2005 will revert to the behavior of Visual SourceSafe 6.0d. Therefore, time stamping will occur on the client computers.

Note There are special considerations for Microsoft Windows 2000 users. Windows 2000 users must manually update their computers. For more information, click the following article numbers to view the articles in the Microsoft Knowledge Base:

914387 How to configure daylight saving time for the United States in 2007

930688 Support WebCast: Deploying Microsoft Windows 2000 updates for daylight saving time changes for worldwide use

Visual SourceSafe 6.0d and earlier versions
If all servers and client computers are using Visual SourceSafe 6.0d, you will find no changes to the way that you currently use the product. In Visual SourceSafe 6.0, time stamping occurs on the client computer. Therefore, you must update the clock on each client computer to reflect the time on the server.

Visual SourceSafe 6.0d administrators should still make sure that the operating system updates that appear in the &quot;References&quot; section have been applied to all servers and client computers.

Visual SourceSafe 2005 stores time zone information in the Srcsafe.ini file. When a file is checked in, the time that is written in the database is calculated as follows:

(UTC) + (time zone from the Srcsafe.ini file)

The time that appears on the client computer is calculated as follows:

(server local time) - (time zone from the Srcsafe.ini file) + (client time zone)

If you do not change the time zone value that is written in the Srcsafe.ini file, the file times will be reported to the client computer by using the local time zone for that client computer.

