subversion-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Julian Foad (JIRA)" <>
Subject [jira] [Created] (SVN-4798) svn revert: option to remove added items from disk
Date Fri, 21 Dec 2018 15:32:00 GMT
Julian Foad created SVN-4798:

             Summary: svn revert: option to remove added items from disk
                 Key: SVN-4798
             Project: Subversion
          Issue Type: Improvement
          Components: cmdline client
            Reporter: Julian Foad

"svn revert" normally un-schedules a locally *added* file or dir (scheduled for addition,
not a copy), leaving it unversioned. This is the opposite of "svn add", and is considered
the "safer" and "correct" of the two possible behaviours: see SVN-741.

In the case of a *copied* file or directory (scheduled for "addition with history"), "svn
revert" has deleted it from disk since SVN-3101.

Sometimes, however, the user knows that the added files and dirs do not contain valuable data
and should be deleted as part of the revert. For example, if they have been created by a merge,
or by a foreign-repository copy, or by a script, or simply that the user wrote the content
and no longer wants it.

This issue is for an *option* for revert to also delete from disk any schedule-add items that
it reverts.

Why? Or why aren't existing work-arounds good enough? A work-around like running "revert"
first and then "svn cleanup --remove-unversioned" is too broad: it deletes other unversioned
files as well as the ones that were adds. This task should be simple, and I don't see any
correct and simple work-around.

Furthermore, the corresponding option has been available in the API since Subversion 1.11
as svn_client_revert4(added_keep_local=FALSE), because it was needed within the implementation
of shelving. It just is not yet exposed in the CLI.


This message was sent by Atlassian JIRA

View raw message