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

SVN-4709 shelve: deleted file becomes 'replaced'

From: Julian Foad <julianfoad_at_apache.org>
Date: Wed, 24 Jan 2018 21:32:18 +0000

When 'svn patch' applies an 'add file' patch onto a WC path whose local
schedule is 'delete', it changes the schedule to 'replace'.

Sequences such as this...

> svn rm foo
> svn diff > rm-foo.diff
> svn patch --reverse-diff rm-foo.diff

or this...

> svn add foo
> svn diff > add-foo.diff
> svn commit
> svn patch --reverse-diff add-foo.diff
> svn patch add-foo.diff

... result in 'foo' being scheduled as 'replace'.

stsp and I discussed on IRC (
http://colabti.org/irclogger/irclogger_log/svn-dev?date=2017-12-15#l19 )
and agreed that this is not what users would generally want or expect.

I propose to make 'patch' always generate a 'modified' (or unmodified)
schedule when it applies an 'add file' diff (or reverse-applies a
'delete file' diff) onto a schedule 'deleted' working copy file.

It is not inherently necessary that shelving and manual use of 'svn
patch' should share the same solution, but in this case I think that is
best.

- Julian
Received on 2018-01-24 22:32:24 CET

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