timestamp preservation design (issue 1256)
From: Ben Collins-Sussman <sussman_at_collab.net>
Date: 2003-06-19 17:37:29 CEST
As a wise fictional character once said, it's not the answers that
Let's begin by describing exactly what svn does/doesn't do right now:
* Entering the repository (import, add, commit):
We do nothing, no timestamp metadata is preserved. All files in
* Exiting the repository (checkout, export, update/switch):
Working-file timestamps are untouched, they reflect the moment
Ghudson has pointed out that two different designs have been bantered
1. The "Simple" Approach
* Entering the repository:
Still do nothing.
* Exiting the repository:
Working-file timestamps should be set to the "commit time" of
2. The "Complex" Approach (this seems to be what P.Marek has been
* Entering the repository:
Remember every timestamp, save it in the repository somehow.
* Exiting the repository:
Recover the original timestamp. The "commit time" only exists as
* Example:
foo.c, under version control, is locally modified at time X, so
These two behaviors seem mutually exclusive. That is, they can't
*** Criticism against complex approach:
mbk points out that the complex proposal is inherently dangerous,
*** Criticism against the simple approach:
mbk points out this from the CVS manpage:
<mbk> -M[rev]
For example, if you backdate a working copy via 'svn up', a .c file
*** An open question to this list:
What exactly does CVS do, and how does it justify the behavior?
For the record: I don't want to get into UI issues just yet. I
---------------------------------------------------------------------
|
This is an archived mail posted to the Subversion Dev mailing list.
This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.