testing, staging, deployment processes

Kenneth Burgener kenneth at mail1.ttak.org
Wed Sep 21 16:26:37 MDT 2011


Lonnie Olson wrote:
> a branch is fairly expensive in SVN as it requires a complete copy of 
> the code base. With a large code base and frequent (daily+) releases, 
> these tags can make your repository become quite unwieldy. This is 
> often why many agile developers prefer other version control systems.


SVN uses "cheap copies" and are *not* expensive:


"When you copy a directory, you don't need to worry about the repository 
growing huge---Subversion doesn't actually duplicate any data. Instead, 
it creates a new directory entry that points to an /existing/ tree. If 
you're an experienced Unix user, you'll recognize this as the same 
concept behind a hard link. As further changes are made to files and 
directories beneath the copied directory, Subversion continues to employ 
this hard link concept where it can. It duplicates data only when it is 
necessary to disambiguate different versions of objects.

This is why you'll often hear Subversion users talk about "cheap 
copies." It doesn't matter how large the directory is---it takes a very 
tiny, constant amount of time and space to make a copy of it. In fact, 
this feature is the basis of how commits work in Subversion: each 
revision is a "cheap copy" of the previous revision, with a few items 
lazily changed within"    
[http://svnbook.red-bean.com/en/1.5/svn.branchmerge.using.html]




More information about the PLUG mailing list