Hi all, I'm following through on a thread I started on the users list, about "sparsifying a working copy" [1] (i.e. invoking 'svn up --set-depth empty' on a parent directory, in order to selectively retrieve specific children later). It looks like there is a bug when "emptying" a directory like that, and I'd like to get some opinions here about the expected behaviour.
When making a directory depth=empty, svn is careful not to lose local modifications (modified files are left there as part of the sparse working copy -- same for added files). However, local deletes are lost (and consequently also moves are broken, only the A+ is left). It think that's a bug, it makes it hard to confidently make a working copy more sparse. Copy-pasting some reproduction transcripts from the users@-thread below: Sparsification breaking a move [2]: [[[ C:\svntest>svnadmin create r C:\svntest>svn co -q file:///c:/svntest/r wc C:\svntest>cd wc C:\svntest\wc>touch iota C:\svntest\wc>svn add -q iota C:\svntest\wc>svn ci -q -m r1 C:\svntest\wc>svn up -q C:\svntest\wc>svn mv iota kappa A kappa D iota C:\svntest\wc>svn st D iota > moved to kappa A + kappa > moved from iota C:\svntest\wc>svn up --set-depth empty D iota Updating '.': Updated to revision 1. C:\svntest\wc>svn st A + kappa ]]] Sparsification losing a simple delete [3]: [[[ C:\svntest>svn co file:///c:/svntest/r wc2 A wc2\iota Checked out revision 1. C:\svntest>cd wc2 C:\svntest\wc2>svn rm iota D iota C:\svntest\wc2>svn st D iota C:\svntest\wc2>svn up --set-depth empty D iota Updating '.': Updated to revision 1. C:\svntest\wc2>svn st ]]] [1] http://svn.haxx.se/users/archive-2016-06/0064.shtml [2] http://svn.haxx.se/users/archive-2016-06/0077.shtml [3] http://svn.haxx.se/users/archive-2016-06/0088.shtml -- Johan