I wanted to point out this commit for discussion on the list. I've spoken
about this idea with a number of people off-list, and the consensus has been
"yup. makes sense." Just wanted to validate that here, too...
I see at least two use cases for generating this property:
1) cvs2svn creates revisions into an existing repository. the date of the
youngest rev (call it R) in the repos is *later* than some of the CVS
commits. because of the time-ordering requirement on svn:date, cvs2svn
cannot create a rev before R, the original commit date cannot be applied
to the new rev. instead, it has to put "now" onto the rev, and then it
can use this property to record the original CVS commit timestamp.
2) you 'svnadmin load' a dumpfile that has revisions that are older than
revision R. again, the dates don't match, so you load the revisions, but
migrate their date to svn:original-date and just use "now" for the
newly-loaded revisions.
At the moment, I see tools like cvs2svn and ViewCVS using/displaying this
date. Where/how we filter it into the rest of SVN is definitely a larger
discussion. For example:
* do we encode this into 'svnadmin load' as suggested above?
* if a dumpfile has revisions with svn:original-date, but the new repository
is going to allow that date (e.g. the revisions up to R are not present in
the loading-into repos), do we toss the dumpfile's revision dates and go
back to the original-date?
* do we propagate this date across the wire?
* is there a future scenario where revisions do not need to be time-ordered,
so maybe this points to a flow in the current implementation?
* etc
Again, for now, I'm just looking to use this in "external" tools.
Cheers,
-g
On Tue, Mar 18, 2003 at 12:34:06AM -0600, gstein@tigris.org wrote:
> Author: gstein
> Date: Tue Mar 18 00:34:02 2003
> New Revision: 5369
>
> Modified:
> trunk/subversion/include/svn_props.h
> Log:
> * include/svn_props.h:
> (SVN_PROP_REVISION_ORIG_DATE): add new property definition
>
>
> Modified: trunk/subversion/include/svn_props.h
> ==============================================================================
> --- trunk/subversion/include/svn_props.h (original)
> +++ trunk/subversion/include/svn_props.h Tue Mar 18 00:34:02 2003
> @@ -256,6 +256,19 @@
> /** The fs revision property that stores a commit's date. */
> #define SVN_PROP_REVISION_DATE SVN_PROP_PREFIX "date"
>
> +/** The fs revision property that stores a commit's "original" date.
> + *
> + * The svn:date property must be monotonically increasing, along with
> + * the revision number. In certain scenarios, this may pose a problem
> + * when the revision represents a commit that occurred at a time which
> + * does not fit within the sequencing required for svn:date. This can
> + * happen, for instance, when the revision represents a commit to a
> + * foreign version control system, or possibly when two Subversion
> + * repositories are combined. This property can be used to record the
> + * true, original date of the commit.
> + */
> +#define SVN_PROP_REVISION_ORIG_DATE SVN_PROP_PREFIX "original-date"
> +
> /** @} */
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: svn-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: svn-help@subversion.tigris.org
--
Greg Stein, http://www.lyra.org/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Mar 18 08:36:13 2003