subversion-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Johan Corveleyn <>
Subject Making working copy sparse loses local deletes / moves
Date Thu, 16 Jun 2016 21:32:12 GMT
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




View raw message