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

Copy directories with the .svn subdirs leads to weird behavior

From: Michael Ruder <ruder_at_tau-tec.de>
Date: 2004-02-11 16:16:56 CET

Hi,

first of all: thanks for this very nice revision control system!

if you copy directories in the working copy with normal copy instead of
svn copy and if the copy includes the .svn subdirectories, the copy is
considered "versioned" by subversion and you can checkin files from there,
leading to weird behavior:

# svnadmin create test
# svn checkout file:///path/to/test/test wd
Checked out revision 0.
# cd wd
# mkdir d1
# svn add d1
A d1
# touch d1/test1
# svn add d1/test1
A d1/test1
# svn commit
Adding d1
Adding d1/test1
Transmitting file data .
Committed revision 1.
# cp -a d1 d2
# touch d2/test2
# svn add d2/test2
A d2/test2
# svn commit d2 # neccessary, svn commit alone won't see the change in d2
Adding d2/test2
Transmitting file data .
Committed revision 2.
# svn update
A d1/test2 # GETS CHECKED OUT TO d1!!!
Updated to revision 2.

Obviously, even though svn thinks that it is checking in to d2 and that d2
is a versioned resource, the changes were checked in to d1, as this was
probably in the .svn-files

While one is not supposed to do all this, it is still confusing and can
happen quickly, if you copy with normal copy because you don't want the
logs to be copied.

I also got the feeling that doing the above, some integrity of the
repository is broken (at lease sometimes), as I got files where the above
happened in some way and for these files, the svn blame won't work but
will return

svn: Missing changed-path information for revision 749 of '/trunk/config/hosts.cfg'

Regards,

-- 
.      -Michael
    /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
   < Hans Michael Ruder, mailto: ruder_at_tau-tec.de, http://www.tau-tec.de/ >
    \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
      PGP (DH/DSS) fingerprint: E36AA1E3E9083C104E71 8374375B2F4272C7E44E
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Feb 11 16:26:26 2004

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.