#605430 subversion: please add an RA call to list revprop edits (for svnsync and friends)

Package:
subversion
Source:
subversion
Description:
Advanced version control system
Submitter:
Jonathan Nieder
Date:
2010-11-29 21:21:13 UTC
Severity:
wishlist
#605430#5
Date:
2008-03-04 14:14:32 UTC
From:
To:
SVN supports updating the svn:log property (and others) on old revisions
if there is a certain hook set. It would be nice if git could update
these and rewrite the git commit logs to match the svn ones.

#605430#10
Date:
2010-11-28 17:46:25 UTC
From:
To:
tags 469298 + upstream
quit

Hi Paul,

Paul Wise wrote:

Yes, I agree.  Unfortunately I am not sure if this could be implemented as
transparently as I'd like.

svnsync has a copy-revprops subcommand to explicitly reexamine revision
properties for a collection of old revisions.  Does the svn protocol provide
a way to list revisions with changed properties after a certain moment, or
is this explicit reexamination always necessary?

#605430#17
Date:
2010-11-29 03:01:51 UTC
From:
To:
IIRC git has the ability to attach data to a commit after it was made
without updating/rewriting history (git notes). I would suggest that
git-svn repositories make use of this mechanism to store the SVN commit
message and commit URL, leaving the git commit log entry empty. This way
you could also support git svn switch more easily too. If user instead
used the --convert option, that would copy the SVN commit logs into git
commit log messages and drop the SVN commit URLs, with an option to keep
them if desired.

Unsure about that, you might need to talk with SVN upstream but AFAIK
explicit reexamination is necessary.

#605430#22
Date:
2010-11-29 18:45:06 UTC
From:
To:
[Jonathan Nieder]

Pretty sure there is no such API.  In fact the modification time in
question is not even stored except as a file timestamp for the revision
as a whole, and it seems even that will go away at some point in favor
of packing more than one revision's properties into a single file.

This is why modifying revprops after commit requires defining a hook
script to allow it.  Modifying a revprop represents throwing data away,
so the hook is supposed to arrange, if needed, for that data to be
saved in some way (such as posting a diff to a list).  Appending a line
to an rsyncable file, regarding changing properties of a particular
revision, would be one way to allow external sync tools to know what
they need to pull.

#605430#27
Date:
2010-11-29 21:17:05 UTC
From:
To:
clone 469298 -1
retitle -1 subversion: please add an RA call to list revprop edits (for svnsync and friends)
reassign -1 subversion 1.6.12dfsg-2
tags -1 + upstream
submitter -1 !
quit

Peter Samuelson wrote:

Admins that want to encourage casual copying of full history might
benefit from one.  (Mentioned recently at [1].)  Recording the bug
so I don't forget.

Thanks, that was helpful.
Jonathan

[1] http://thread.gmane.org/gmane.comp.version-control.subversion.devel/122840/focus=122944