Search code examples
svntagsbranchworking-copy

SVN - When you tag a working copy is it still a cheap copy?


Using Subversion, in my working copy I make a minor modification (update a version number). I would then like to tag my working copy. Would this tag still be a cheap copy with the modification, or would SVN duplicate the files? I would hate to see my repository grow enormously in size because I'm trying to save a version number change.

The reason I ask about creating a tag that contains a modification rather than committing then tagging involves my build server. The build server creates a CCNetLabel which I use to update the version numbers of my projects (AssemblyInfo.cs). When the build is successful it creates a tag. When I use ForceBuild the tag is based on the working copy which would contain the modified version number. I want the tag to contain the appropriate version number.

note: It's debatable if I'm creating a branch or a tag, however SVN does not make a distinction between the two.


Solution

  • It depends. If your working copy is up to date (all nodes have the same revision) it is just as cheap as tagging from the repository.

    For every file/directory (or actually subtree) with a different revision than its parent additional data will be added. And if you have local modifications even more data will be added.

    But it is still reasonable cheap: It doesn't duplicate any files that are already in the repository.