[Closed] Svn?
We are looking for a solution finally for dealing with versioning now that we have more then one of us programming. Just been lazy I guess.
I’m looking for a free solution, perforce is great but very expensive at $900 per seat. Tortoise and Subversion look good, are there others that I should be considering?
What are you using?
One of the needs is to have the database on my web server as we are often working remotely. As well support for Py is a must.
Any suggestions are welcome.
My experience with remote updating SVN using tortoise haven’t been very good… Updating could literally take hours. Especially with large projects this could be a real pain. It has to be said that mainly the game content was a problem, not so much code/text files.
And I also had quite frequent issues with merging going wrong with xml files… but that could possibly be attributed to my incompetence in dealing with the software, hehe.
Just my 2cents.
Used tortoise last 3 places for code, and it’s been great. No experience with remote stuff however… I can see how that could be slow, especially on the first checkout
Turtoise over VPN is dead(!!) slow even for simple code, it’s a known limitation (at least till a half a year ago or something). We also tried it for max files and textures, but quickly decided against it, because it was too slow and impractical. But for just a shared script base, it should be okay. Just make a copy of your libs and try it! It’s quite easy. One thing that bothers me is when you have a library of scripts in the same repository and you update that script, the whole repository version gets it’s buildnr +1, so build numbers don’t mean much there… But it’s a nice and save way to play with rewriting of scripts, you always have an older version to go back to (instead of myCoolScript_0161.ms).
-Johan
So do you think that Tortoise is part of the slow down or just that working over the internet is the issue?
IIRC, Tortoise is just a front end/connection to SVN.
EDIT: From the Tortoise wesbite “Summary: Windows Shell Extension for Subversion”.
-Eric
I’ve used SVN (mainly Tortoise, but also SmartSVN).
Tortoise has its problems but once you understand it you can get your way out of almost any weird version control hiccups.
SmartSVN is much more like P4 in concept, but the execution of it is very odd and has its draw backs. This could just be me being more familiar with Tortoise, thus making SmartSVN feel odd.
To be fair, I think whatever you pick will be fine as long as you are dedicated to learning it well.
With regard to remote SVN, that all depends on how the servers are set up. Remote (with Tortoise) used to be aweful; required VPN access and it was horribly slow. Recently our IT guy changed a few things with the servers (don’t know what exactly), but I no longer have to use VPN and the speeds are greatly increased; it is a breeze to use now.
Well that sounds a bit better. We really do need something but as always time is not on our sides so I hope we can get something working reasonably easily. From there we can learn the deep dark secrets.
Keep the information coming please.
Hey there,
we’re using SVN since quite a while here for quite a lot of code (not compared to a developer shop, but given we’re just a rather smallish viz studio it’s quite a lot i’d say heh).
I wouldnt really suggest using SVN for content/assets but it’s great for code. As in regards to the version going up, this is the revision of the whole repository yes, but doesnt directly relate to the specific projects. If a file hasnt changed it wont show a version for each revision of course. So you can relate to specific revisions of a file using revision graph and the other tools provided. Typically you’d set up a tag/branch/trunk folderstructure, where trunk is the main development folder, branch would be for making experiments and tag would basically be a release. So you’d basically do the following:
start a script in the trunk folder and create an initial version
use the tag command to create a copy in the tag dir named _v0.1 for example
keep developing in the trunk and as you feel you reach stable states to deploy create tags of that state
now lets assume you reached 1.0 and have that crazy feature idea…would be too cool but you got no idea if it will work the way you expect. You’d create a branch and give it a go. Hey, great! you succeded and created a new killer feature. So afterwards you’d use the merge feature to merge the branch back into the trunk and create a tag of the new version.
Just a rough and of course simplified case but kinda illustrates the way you’d go for it i assume. As for alternatives, there was a lot of fuzz recently about distributed VCS systems like git or mercurial (the latter beeing even written in python heh). While i liked quite some stuff i read i couldnt really be arsed to switch all over
As for python support, they all do. They support anything that is a textfile. They do of course also support assets and binaries but operations like merging revisions wont really work naturally.
Kind Regards,
Thorsten