Posts tagged with " workspace"

Subversion: art or science?

Sunday, 04/05/2008 ≅21:21 ©brainycat

I've been messing around with subversion lately. I can't really say I've made great strides. I've been able to import the website into the repo. But I had a heck of a time trying to get files back out of it. It seems that if you import files, they aren't automatically added as a local workspace. In fact, I'm not even sure that svn thinks of workspaces the way I'm used to from the days I cut my teeth with perforce. I somehow got around that issue with the svn switch command, but not after I created immense problems for myself by failing to properly declare the path for the src, creating several trees that are just all wrong.

I guess I'm expecting SVN to act like p4. I was expecting to be able to copy the entire hierarchy from the depo, but only checkout the specific files I want to edit. It seems that SVN wants you to checkout to get a copy, but then it doesn't care how many open working copies there are in the wild. I hope, anyway.

Another feature that I find myself wishing I knew how to implement is the ability to map different parts of the repo to my workspace. I may just need to find a new way to work. I was expecting to be able to create a branch but map it into the trunk while working on it, then merge the branch back to the trunk after getting it stabilized. Ideally, I'd like to NOT have to change where the files live on my workstation.

Another issue I didn't think through is that the dev site is running off the trunk. But I generated a branch for my WordPress theme. So none of the updates are showing up on the dev site. Two possible solutions present themselves immediately: Find a way to map the branch into the workspace, or do the development against the trunk. That's the way I've done things before, without involving SCM, and I don't want to keep making the same mistakes. However, for the most part WP is modular enough that nearly everything I'm doing would be in it's own node in the hierarchy, so it becomes feasible if not advisable to work in the trunk.

Remember the switch command? Yeah, I broke something with that. I was trying to figure out why I couldn't branch from the dev site. It made no sense at the time. I had /dev.site/FILES and was able to import them. I was able to goto /live.site/ and do svn update and that worked fine, voila! www.brainycat.com is up and running. But in the /dev.site/, I couldn't do ANY svn operations. Remember, I had tonsilitis, a fever, no sleep, no food for many, many, many hours prior to trying to teach myself this software by implementing it. So I deleted the files in that dir, then tried to do an svn update. But I got the tree all wrong. I tried to delete the local files and try again, working under the idea that SVN doesn't care what I have locally. Nope, not able to try a new update. So I dig around in the book for a while and I find that switch option. It worked; but now it takes forever to do any sort of updates to the repo. I'm afraid I somehow crossrefererenced everything to each other. I'm seriously contemplating blowing the entire config and starting over.

But first I'm going to eat now that I can.