[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Feature request (3) -- Partial or separated revert operations.

From: Rob Hubbard <rob.hubbard_at_softel.co.uk>
Date: Fri, 13 Feb 2009 10:35:03 -0000

Suppose that you have modified and renamed a file:
    $ svn mv old_filename new_filename
    $ ### (edit contents of new_filename)
(You might now also set or changed a load of properties on that file.)
    $ svn st
    A + new_filename
    D old_filename
There are now at least two respects in which the file has changed:
    * its name
    * its contents
    * (possibly, its properties)
It is possible to revert these aspects separately?
(As of SVN 1.5, I suppose the rename is somewhat revertible by renaming
If not, I'd like to suggest extensions to SVN along the following lines:
To revert the contents only:
    $ svn revert new_filename --only-contents ### (new option)
To revert only the properties:
    $ svn revert new_filename --only-props
To revert a particular property:
    $ svn proprevert prop_name new_filename
[I admit properties are a problem in terms of what is the BASE for the
properties? Is it the values at the point that they were copied?
Probably they should just be the BASE of the file that the new_filename
is a copy of, i.e. the BASE of old_filename_at_rev]
Finally, to revert only the rename:
    $ svn revert new_filename --only-filename
This operation should be equivalent to
    $ svn mv new_filename old_filename
and that should deal with copying the properties too.
To succeed, that requires that no replacement old_filename exists.
[Ignoring properties, it is roughly equivalent to:
    $ svn revert old_filename ### undo the delete aspect of the rename
    $ rm old_filename
    $ mv new_filename old_filename
    $ svn revert new_filename ### undo the add aspect of the rename

Another, closely related situation occurs when the contents and
    $ svn st
    MM my_file
Again, it would be useful to be able to revert just the contents or just
the properties. Can this already be done?
If not, I'd like to suggest further extensions to SVN along the
following lines:
To revert the contents only (same as before):
    $ svn revert my_file --only-contents ### (new option)
To revert all the properties but nothing else:
    $ svn revert my_file --only-props
To revert only a particular property:
    $ svn proprevert prop_name my_file ### (new subcommand)

This would also be useful for reverting properties "globally":
To revert all instances of all properties:
    $ svn revert . --recursive --only-props
To revert all instances of a particular property:
    $ svn proprevert prop_name . --recursive

Rob Hubbard.

This message has been independently scanned for the Softel Group and cleared of containing viruses and other malicious data.

Powering Television Beyond the Video (TM)


To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_subversion.tigris.org].
Received on 2009-02-13 11:35:58 CET

This is an archived mail posted to the Subversion Users mailing list.