threads / discuss / 45473

git svn and SVN property svn:original-date

Subject: git svn and SVN property svn:original-date

## tl;dr

4 messages between Mar 22, 2017 and Mar 23, 2017.

replies: 3people: 2as markdown or json

Craig McQueen· Mar 22, 2017, 23:26 UTC · lore
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· Mar 23, 2017, 02:56 UTC · re: Craig McQueen · lore

Re: git svn and SVN property svn:original-date

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· Mar 23, 2017, 04:18 UTC · re: Eric Wong · lore

RE: git svn and SVN property svn:original-date

Eric Wong wrote:
Show 16 quoted lines
> 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· Mar 23, 2017, 17:31 UTC · re: Craig McQueen · lore

Re: git svn and SVN property svn:original-date

Craig McQueen <craig.mcqueen@innerrange.com> wrote:
Show 20 quoted lines
> 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.

Show 12 quoted lines
> > 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.

Show 5 quoted lines
> 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.

← back to recent threads