Re: add vs delete question
From: Russ <rsivak_at_istandfor.com>
Date: 2006-05-04 16:16:48 CEST
You could check out the original library from source control, the delete everything in that folder save for the .svn folders, and then untar the new version of the library into that folder. This might prove a little more difficult with multiple subfolders, but its doable.
Sent wirelessly via BlackBerry from T-Mobile.
I've got a question about a passage in the online book. In chapter 7: vendor branches, it states,
"To perform this upgrade, we checkout a copy of our vendor branch, and replace the code in the current directory with the new libcomplex 1.1 source code. We quite literally copy new files on top of existing files, perhaps exploding the libcomplex 1.1 release tarball atop our existing files and directories. The goal here is to make our current directory contain only the libcomplex 1.1 code, and to ensure that all that code is under version control. Oh, and we want to do this with as little version control history disturbance as possible.
After replacing the 1.0 code with 1.1 code, svn status will show files with local modifications as well as, perhaps, some unversioned or missing files. If we did what we were supposed to do, the unversioned files are only those new files introduced in the 1.1 release of libcomplexwe run svn add on those to get them under version control. The missing files are files that were in 1.0 but not in 1.1, and on those paths we run svn delete. Finally, once our current working copy contains only the libcomplex 1.1 code, we commit the changes we made to get it looking that way."
Now, I've highlighted the part that doesn't seem to fit. The 'add' command is pretty simple and straight-forward; it will find missing files/directories and put them under version control. However, if I've just exploded a tarball over the top of my code, it doesn't automatically mark things to be deleted. I would actually have to expand it to a different directory and run some utility to find missing files, compile that into a script and run the 'delete' command using the script.
Am I correct? Or is there an easier way?
This is an archived mail posted to the Subversion Users mailing list.