If a user accidentally commits a change to a tag directory, you can simply undo the change as discussed in the previous section. This is version control, after all! For example, pretend your project is much larger than our calc example: suppose it contains a number of subdirectories and many more files. In the course of your work, you may decide that you need to create a working copy that is designed to have specific features and bug fixes.
You can accomplish this by selectively backdating files or directories to particular revisions using svn update with the -r option liberally , by switching files and directories to particular branches making use of svn switch , or even just by making a bunch of local changes.
When you're done, your working copy is a hodgepodge of repository locations from different revisions. But after testing, you know it's the precise combination of data you need to tag. Time to make a snapshot. Copying one URL to another won't work here. In this case, you want to make a snapshot of your exact working copy arrangement and store it in the repository. Luckily, svn copy actually has four different uses which you can read about in Chapter 9, Subversion Complete Reference , including the ability to copy a working copy tree to the repository:.
Other users have found interesting uses for this feature. Sometimes there are situations where you have a bunch of local changes made to your working copy, and you'd like a collaborator to see them. Your collaborator can then either check out a verbatim copy of your working copy or use svn merge to receive your exact changes.
While this is a nice method for uploading a quick snapshot of your working copy, note that this is not a good way to initially create a branch. You and your team think pulling together a prototype version for this functionality would be a great idea. Your team wants to work together and collaborate on this so you want to continue using SVN for this new work. What you need is a new copy of the files in your repository that you can make changes to without affecting the existing repository.
Thinking ahead though you will want, at some point in the future, to combine this new prototype code with your existing working code.
These concepts of Tagging and Branching are explained in detail below. Head back to the VisualSVN server app and select create new repository:. Now we have a repository with the required starting structure. Folders to contain the different types of file collections.
So create a top level folder on your local machine:. Then commit the files to the repository, adding a commit message as you walk through the commit dialogue boxes….
I can think of several reasons why people try to do sparse tagging : They want a list of the files that were modified. You can use the svn diff --summarize to do that. They have various versions of various files checked out in the workspace.
In this case, you should be working off of a branch based upon a particular release, and have those changes placed in a branch. They're use to CVS and don't want to waste the time it takes to tag everything. In CVS, tagging cat take 30 to 40 minutes, maybe longer in a big repository. However, Subversion tagging is based upon a link to a particular URL and revision.
Tagging in Subversion is quick and painless, so you simply tag everything. David W. There are some rare occasions when you do want to tag together parts of various revisions. However it usually involves large chunks of code and is caused by something that was unforeseen. It's a broken process in CVS, but it becomes hard to maintain in Subversion.
I need to make up for what was missed out by the developers. I did not want to tag each and every single file manually and needed a shortcut — BVAD. You simply released one or two files at a time?
Or, was an entire release done, but from mixed revisions? My suggested course of action is this: Identify the single revision number that represents release 1. Apply a tag to the identified revision number.
Repeat the above for each prior release that you want to tag. Repeat, rinse, and wash, until done. Complications The above procedure should work most of the time. Michael Sorens Michael Sorens Sign up or log in Sign up using Google. Sign up using Facebook. Sign up using Email and Password. Post as a guest Name. Email Required, but never shown.
0コメント