Since I know a bunch of you are using Subversion I'm going to lean on 'ya all for a few questions that I've run into while using Subversion here.
Since I last posted about Source Control I started using Subversion for source control fairly extensively on a host of projects. As many had suggested in the comments of that post Tortoise SVN can get quite addictive and it's true enough. It took me a while to warm up to that idea, but I've become quite enamored with the shell extension and don't miss the source control inside of VS.NET at all. Life's been good and I have a shared depository running on my site for the last few months.
There are a couple of things that I need some best practices advice on.
Exporting to SVN and getting a Checked out Copy
I've started creating a secondary repository for all sorts of different development stuff that's a bit older, just to have it stored away etc. So I've been creating a bunch of new repository folders and adding projects into them.
Even with having gone through this process a bunch of times now I still haven't found a really clean way to create a repository on the server. What I seem to have to do to make this really fly is:
- Clean up my folders to get them ready for Export
- Do the Import into SVN
- Delete or rename the directory
- Use Check Out to get a local Working Copy
I tried a bunch of different ways to do this but the above seems to be the only way to go from a plain directory to a directory that's under SVN control. Is there an easier way? It seems that Import should somewhere have an option to automatically put the uploaded files under source control, but the docs actually say that that's not so. Doing a Checkout on the existing folder also doesn't work as Tortoise will not override existing files apparently.
Am I missing something?
Branching Individual Files
I'm currently working with both VS.NET 2005 and VS.NET 2008 for a couple of .NET 2.0 projects. I basically have separate folders for VS 2008 and VS 2005 where I store my projects which works fine for the main projects. However, for my library projects - Web Controls, Business Object Library, Utilities etc. - these libraries I'd actually like to share between versions because they're used in both. So for now I have a my Projects2005 branch on disk and a Projects2008 branch and each of the project folders under Subversion control using the Subversion to keep the two folder versions in sync.
It actually works well, except for one thing. The project files of course are incompatible between versions so I have to be careful when updating (or rather not updating) the project file with the Subversion repository.
So I thought it would be nice if I could just branch the project file or at least exclude the project file from the VS.2008 folder, but I haven't figured out a way to do this. I can't quite figure out how to remove the files from version control but leave the file actually there in such a way that an update won't put an updated file back.
In short I want to be able to update the file without Subversion knowing about it or wanting to update the file.
I suppose there's another workaround which is just to copy the project file give it a new name and don't add that file to SVN, but I'd like to avoid that if possible.
This is probably doable but after futzing around with this I can't quite see how to get it done...
Other Posts you might also like