0

Is Subversion's 'Lazy Copy' still lazy when overwriting a previously deleted file?

I store my externals in a separate folder for each version: i.e say for dojo I'd have:

 webroot\
  scripts\
   dojo-v-1.0.0\
   dojo-v-1.1.0\

etc. By doing this, for me at least, I feel it makes it easier to switch over to a new version.

By only adding each new version i am not really giving svn the history it needs to do lazy copies. So one tactic I have used is to

  • svn copy over the old version over to where the new one will be
  • then svn delete that whole folder
  • then unpack my newer version into that place
  • then svn add them

The idea is to avoid having a massive amount of duplicated data in my repo.

I hope svn is looking at the new files and saying,

"hey, i already had this once, copied, then deleted...so i am going to be lazy and only store the changes".

That was my theory - but does that happen in practice?

p.s. Yes I know an alternative is to set the 'externals properties on the folder' - but that's another question.

Kevin Reid
  • 37,492
  • 13
  • 80
  • 108
JW.
  • 4,821
  • 5
  • 43
  • 60

1 Answers1

0

You should read the chapter "vendor branches" in subversion book, because this is exactly what they are about.

To answer your question:

No, subversion will not use a lazy copy on new added files in your described scenario.

If you want to avoid this, use load_dirs.pl (which is also described in vendor branches chapter)

Nader Shirazie
  • 10,736
  • 2
  • 37
  • 43
Peter Parker
  • 29,093
  • 5
  • 52
  • 80