First Post!
by Maarten Goldstein, Mar 15, 2007 8:27am PDTI keep getting interrupted by random things, boo. Movie: I see dumb people.
Aban Hawkins & the 1,001 Spikes pokes its way onto Vita
Nicalis is bringing out their inner masochists for Aban Hawkins & the 1,001...
1
Skulls of the Shogun escaping Windows 8 exclusivity
We described Skulls of the Shogun as "a deceptively brilliant strategy game" in...
1
Rayman Legends wouldn't sell enough on Wii U, says Ubisoft
Rayman Legends was delayed because 'the Wii U was not going to sell enough,'...
2
Criterion staff assisting Ghost Games with Need For Speed: Rivals
Criterion is lending Ghost Games a helping hand with Need For Speed: Rivals,...
3
The Bureau: XCOM Declassified first DLC is Xbox-exclusive
With only two months to go until the launch of The Bureau: XCOM Declassified, you...
1I keep getting interrupted by random things, boo. Movie: I see dumb people.
I really need some help trying to figure out WTF with SVN. Everybody here and elsewhere regards it so highly, and I think for a normal software dev it'd be perfect, but I'm not entirely sure we can use it at work.
I really need to know if SVN will work for us, because right now I'm not so sure that it will do the things we need. And if it does, then how? I can't figure it out.
Our current development situation is this:
We do web site development, mostly in PHP. We're based in Edmond, OK but our servers are at The Planet in Dallas. Local servers are Windows based due to Exchange and Sharepoint and other crap not directly related to our programming. The servers in Dallas are all on Linux. Currently our dev server is the same physical box as our live server, but we're looking towards fixing this obvious problem (and moving the dev box to one that is local instead of in Dallas), but there's no gurantees we'll be allowed to do that.
Currently we use Dreamweaver's checkin/checkout file locking as our only manner of source control. We have all the source on a network drive here for local editing, and then upload the file to the servers in Dallas. This is a lot quicker than it sounds because Dreamweaver has a shortcut which uploads the file to the remote FTP. But dreamweaver is crap and we want to move away from it and towards an actual source control solution (and we all want to use Rapid PHP or gVim).
Can SVN be set up so that the working copy isn't on each developer's local machine, but is instead just on a network drive somewhere, and then we could set up Apache to read from that working copy? But this wouldn't really help in a situation where you have multiple developers all working on that same codebase, would it? Running apache on each developer's workstation w/ a seperate copy of apache isn't an option for us.
Also, what's with Trunks/Branches/the other thing? I understand the tree metaphor, it's just the actual implementation of it that I don't get. Do you keep stuff forked forever or do they eventually merge back in?
We frequently face situations where one feature is done and needs to go into the next push to the live servers, but another isn't. Is this the sort of situation that branching could be great for? Maybe have a branch for each area of change and only merge the finished one back in, and then that new trunk revision is the one that gets pushed to the live server?
Sorry for the long paragraphs and if any of this doesn't make much sense; I'm on my lunch break right now and am trying to type fast so I still have some time left to eat.
TLDR: SVN!? Helps :O
Thread Truncated. Click to see all 11 replies.
I'll try to put everything here rather than in several subreplies because they all seem to overlap.
I do intend to read the SVN book, but I haven't gotten to yet since this isn't really an official project yet; we're just looking at it on the side till we get the okay to invest our time on it. So far I've just read the TortoiseSVN manual and played around with it a bit just locally on my machine.
We really don't need each dev to have his own working copy though, since we're only going to have 1 dev web server (and that isn't going to change). I guess it doesn't really hurt for each dev to have his own working copy, aside from the fact that we have a few thousand different files spread across many directories. And also we have 2 or 3 different projects, so it'd be swapping those in and out of the working directory a lot... (or can you have different working directories for different projects?)
And we'd have to do a commit every time we wanted to test the change on the web server, right? That's a lot more steps than just hitting ctrl+shift+u to upload it and being done with it. What I mean is, that's a lot of overhead regarding the time it takes to do things vs. how long it takes right now. Maybe we don't need SVN, but something else? Are there any alternatives besides CVS and SourceSafe?
I'm glad to hear that branching is kind of what I was thinking it was, yet I'm still unclear as to how to actually make that happen. Would we just have one trunk for the live site, a sub-trunk for the dev site, and then branches for each feature change/bugfix? Merge the branches to the dev sub-trunk when they're ready to go out, and then push that to our beta server (btw we have a beta site too, it's just not used as often as we should use it), and then commit that to the live trunk, which would have a hook to syncronize a directory somewhere w/ the latest revision for apache? Or am I thinking about this too hard again?
Maybe this is something I will be able to know after I RTFM. Sorry for sounding like I'm just asking the same question over and over again and expecting you guys to walk me through it. It's just that this is new territory for me and everyone else at work and when I was reading the TortoiseSVN manual I was really having a hard time trying to think of how we could make it work for us.
I am thankful for your replies though. For those who have done something similar, I don't suppose you could give a rough overview of how you did it?
Bleh. I'm tired of even thinking about this junk. I'm gonna go play some Crackdown. :P
You must be logged in to post.