Version Control with Subversion - Revisions: Numbers, Keywords, and Dates, Oh My! - Revision Dates
Revision Dates
Anywhere that you specify a revision number or revision
keyword, you can also specify a date
inside curly braces “{}”. You can even access
a range of changes in the repository using both dates and
revisions together!
Here are examples of the date formats that Subversion
accepts. Remember to use quotes around any date that contains
spaces.
$ svn checkout --revision {2002-02-17}
$ svn checkout --revision {15:30}
$ svn checkout --revision {15:30:00.200000}
$ svn checkout --revision {"2002-02-17 15:30"}
$ svn checkout --revision {"2002-02-17 15:30 +0230"}
$ svn checkout --revision {2002-02-17T15:30}
$ svn checkout --revision {2002-02-17T15:30Z}
$ svn checkout --revision {2002-02-17T15:30-04:00}
$ svn checkout --revision {20020217T1530}
$ svn checkout --revision {20020217T1530Z}
$ svn checkout --revision {20020217T1530-0500}
…
When you specify a date as a revision, Subversion finds
the most recent revision of the repository as of that
date:
$ svn log --revision {2002-11-28}
------------------------------------------------------------------------
r12 | ira | 2002-11-27 12:31:51 -0600 (Wed, 27 Nov 2002) | 6 lines
…
You can also use a range of dates. Subversion will find
all revisions between both dates, inclusive:
$ svn log --revision {2002-11-20}:{2002-11-29}
…
As we pointed out, you can also mix dates and revisions:
$ svn log --revision {2002-11-20}:4040
Users should be aware of a subtlety that can become quite
a stumbling-block when dealing with dates in Subversion. Since
the timestamp of a revision is stored as a property of the
revision—an unversioned, modifiable
property—revision timestamps can be changed to represent
complete falsifications of true chronology, or even removed
altogether. This will wreak havoc on the internal
date-to-revision conversion that Subversion performs.
[an error occurred while processing this directive]
|