# git svn and SVN property svn:original-date

4 messages from 2017-03-22 to 2017-03-23. Participants: Craig McQueen, Eric Wong.
Thread: https://gitlist.dev/t/45473

## Craig McQueen, 2017-03-22 23:26

Subject: git svn and SVN property svn:original-date
Message-ID: <5500469A22567C4BAF673A6E86AFA3A40295E65B42D1@IR-CENTRAL.corp.innerrange.com>
URL: https://gitlist.dev/e/5500469A22567C4BAF673A6E86AFA3A40295E65B42D1%40IR-CENTRAL.corp.innerrange.com

```
When doing "git svn dcommit", the SVN revision just has the date/time stamp of the time of the dcommit.

Apparently SVN revisions can have an "svn:original-date" property, which would be good to set on dcommit, to preserve the timestamp from the git repository.

https://subversion.apache.org/docs/api/1.7/group__svn__props__revision__props.html#ga8f17351dd056149da9cb490f1daf4018
"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 [svn:original-date] can be used to record the TRUE, original date of the commit."

-- 
Craig McQueen


```

## Eric Wong, 2017-03-23 02:56

Subject: Re: git svn and SVN property svn:original-date
Message-ID: <20170323025623.GA14619@starla>
URL: https://gitlist.dev/e/20170323025623.GA14619%40starla
In-Reply-To: <5500469A22567C4BAF673A6E86AFA3A40295E65B42D1@IR-CENTRAL.corp.innerrange.com>

```
Craig McQueen <craig.mcqueen@innerrange.com> wrote:
> When doing "git svn dcommit", the SVN revision just has the date/time stamp of the time of the dcommit.

Yeah, that's sometimes annoying to me, too.

> Apparently SVN revisions can have an "svn:original-date" property, which would be good to set on dcommit, to preserve the timestamp from the git repository.
> 
> https://subversion.apache.org/docs/api/1.7/group__svn__props__revision__props.html#ga8f17351dd056149da9cb490f1daf4018

Any idea if which versions of SVN it's supported in and how
recent the feature is?

Perhaps we can enable it everywhere, and maybe only old clients
won't understand it, but won't fail; and we could start using
it as the author date with "git svn fetch".

OTOH, that would break the (perhaps unofficial)
independently-created-git-svn-mirrors-should-have-same-oids-by-default
rule when people run different versions of git, so maybe it
could be an option...

```

## Craig McQueen, 2017-03-23 04:18

Subject: RE: git svn and SVN property svn:original-date
Message-ID: <5500469A22567C4BAF673A6E86AFA3A40295E65B4365@IR-CENTRAL.corp.innerrange.com>
URL: https://gitlist.dev/e/5500469A22567C4BAF673A6E86AFA3A40295E65B4365%40IR-CENTRAL.corp.innerrange.com
In-Reply-To: <20170323025623.GA14619@starla>

```
Eric Wong wrote:
> Craig McQueen <craig.mcqueen@innerrange.com> wrote:
> > When doing "git svn dcommit", the SVN revision just has the date/time
> stamp of the time of the dcommit.
> 
> Yeah, that's sometimes annoying to me, too.
> 
> > Apparently SVN revisions can have an "svn:original-date" property, which
> would be good to set on dcommit, to preserve the timestamp from the git
> repository.
> >
> >
> https://subversion.apache.org/docs/api/1.7/group__svn__props__revision
> > __props.html#ga8f17351dd056149da9cb490f1daf4018
> 
> Any idea if which versions of SVN it's supported in and how recent the
> feature is?

I see discussion about it in 2003, so I guess it's been there right from 1.0.0.

> Perhaps we can enable it everywhere, and maybe only old clients won't
> understand it, but won't fail; and we could start using it as the author date
> with "git svn fetch".

Using it for author date sounds sensible.

> OTOH, that would break the (perhaps unofficial) independently-created-git-
> svn-mirrors-should-have-same-oids-by-default
> rule when people run different versions of git, so maybe it could be an
> option...

Hmm, good question. Maybe it should be an option, though I hope it would be enabled by default (since the feature would be more metadata-preserving, which is a good thing), with an option to disable it to allow backwards compatibility with people running an older version of git. That's my opinion anyway, and I realise my opinion is not necessarily well-informed regarding all considerations.

Note, I'm unclear as to whether Subversion is willing to store timezone information in svn:original-date. But I guess having git author date correspond to svn:original-date is an improvement for preserving more metadata, even if the timezone is lost in the process.

-- 
Craig McQueen


```

## Eric Wong, 2017-03-23 17:31

Subject: Re: git svn and SVN property svn:original-date
Message-ID: <20170323173156.GA29732@starla>
URL: https://gitlist.dev/e/20170323173156.GA29732%40starla
In-Reply-To: <5500469A22567C4BAF673A6E86AFA3A40295E65B4365@IR-CENTRAL.corp.innerrange.com>

```
Craig McQueen <craig.mcqueen@innerrange.com> wrote:
> Eric Wong wrote:
> > Craig McQueen <craig.mcqueen@innerrange.com> wrote:
> > > Apparently SVN revisions can have an "svn:original-date" property, which
> > would be good to set on dcommit, to preserve the timestamp from the git
> > repository.
> > >
> > >
> > https://subversion.apache.org/docs/api/1.7/group__svn__props__revision
> > > __props.html#ga8f17351dd056149da9cb490f1daf4018
> > 
> > Any idea if which versions of SVN it's supported in and how recent the
> > feature is?
> 
> I see discussion about it in 2003, so I guess it's been there right from 1.0.0.
> 
> > Perhaps we can enable it everywhere, and maybe only old clients won't
> > understand it, but won't fail; and we could start using it as the author date
> > with "git svn fetch".
> 
> Using it for author date sounds sensible.

OK, I'd be inclined to accept a patch + tests for that;
my plate might be full with non-git stuff until April.

> > OTOH, that would break the (perhaps unofficial) independently-created-git-
> > svn-mirrors-should-have-same-oids-by-default
> > rule when people run different versions of git, so maybe it could be an
> > option...
> 
> Hmm, good question. Maybe it should be an option, though I
> hope it would be enabled by default (since the feature would
> be more metadata-preserving, which is a good thing), with an
> option to disable it to allow backwards compatibility with
> people running an older version of git. That's my opinion
> anyway, and I realise my opinion is not necessarily
> well-informed regarding all considerations.

Given git-svn behavior hasn't changed much in over a decade, I'd
rather be conservative with regards to changing any existing
behavior.  We could offer one warning about it to inform users
about it if original-date is seen, however.

> Note, I'm unclear as to whether Subversion is willing to store
> timezone information in svn:original-date. But I guess having
> git author date correspond to svn:original-date is an
> improvement for preserving more metadata, even if the timezone
> is lost in the process.

Can you find any examples of it in the wild?  I prefer having
real-world examples to look at.  Thanks.

```
