You can close this course on using Subversion with Java with a few bits of miscellaneous information about how SVN works, where all your local information is stored, and where to go to get more information. This video ends with some links to important and useful documentation for your next steps using SVN for version control.
- [Instructor] In closing, here are a few useful bits of information that didn't seem to fit anywhere else in the course. Along with some links to a lot more information about how to work with Subversion more effectively. One question that might have popped into your head is how many working copies of a project can I have? Sometimes you might want to have a local working copy of trunk and a local working copy of a branch or maybe working copies of several different branches or more than one project revision. The answer is you can have as many local working copies as you want.
Subversion doesn't keep track of how many times people have checked out a project, so there can be any number of local working copies in the wild either on your machine or on a lot of different machines. If you're using the command line tools or TortoiseSVN, you just set up a different file system folder for each working copy you check out. With Eclipse, you can use a different work space for each working copy, or you can even have more than one working copy in a single workspace. Using just one workspace gets kind of confusing, and it's pretty easy to make mistakes if you do that, but, hey, Eclipse let's you do it if you want.
The way Subversion keeps track of working copies is by creating a hidden .svn folder at the root of each working copy directory. This folder contains files that have information about the server you're syncing with, the branch you're pointing to, the log in name you're using, and lots more. With older version of Subversion, there used to be a separate .svn folder in every single sub folder of a working copy too. This got changed in Subversion 1.7, so now there's only a single hidden folder at the root of the project. This is also why you can create a brand new working copy by making a file system copy of a local project folder.
As long as you also copy over the hidden .svn folder, your Subversion clients will treat the copied folder as a new working copy. There are some things that get stored globally on your machine too like authentication information, SSL certificates, and global configuration files. On a Windows machine, that's normally in the %APPDATA%\Subversion folder although there's usually an option to store the information in the registry instead. On Mac and Linux, the information is usually stored in the ~/.subversion folder of your user directory. That's normally user/your username/.subversion.
This is a hidden folder, so on a Mac, for example, you might not see it in finder. If login passwords are stored, they're sometimes stored in the operating system secure password storage facility. On Windows, this might be Credential Manager, and on Mac it would be Keychain. Also it's worth repeating that for everything I've shown in this course, there's probably another way to do it. Subversion is nothing if not flexible. Everything with the graphical tools, like Eclipse and TortoiseSVN, often have at least two or three different ways to perform a specific task.
I've tried to show you some good ways to get your work done, but in most cases, they're not the only way. You should definitely experiment with all the tools and commands to decide how to do things that make the most sense for your own personal workflow. The great thing about using a tool like Subversion is it's really hard to mess things up in a completely nonrecoverable way. Usually if you merge yourself into a bind, you can just grab a new working copy or revert to a previous revision and start again. Don't be afraid to try things out.
- Trunks, tags, and branches
- Checkout, commits, and revisions
- Merging, locking, and working with a team
- TortoiseSVN on Windows
- SVN integration with Eclipse
- Connecting to a project
- Creating a new Java project in Eclipse
- Connecting to an existing Java project using Eclipse
- Dealing with projects that move to a new location
- Making changes and creating branches
- Tracking changes and dealing with conflicts
- Creating a release