A Community discussion forum for Halo Custom Edition, Halo 2 Vista, Portal and Halo Machinima

Home  Search Register  Login Member ListRecent Posts
  
 
»Forums Index »Halo Custom Edition (Bungie/Gearbox) »Halo CE General Discussion »Tutorial - SVN Use

Author Topic: Tutorial - SVN Use (8 messages, Page 1 of 1)
Moderators: Dennis

Higuy
Joined: Mar 6, 2007

@lucasgovatos


Posted: Dec 9, 2013 10:35 PM    Msg. 1 of 8       
TUTORIAL - How to use an SVN

Hello everyone. Recently I have been doing a lot of server work for my upcoming game project and team, so I also thought I'd share a few things with other people on how to use an SVN, what it is, and how it can immensely benefit people that work in a team on any kind of project, including Halo CE. It's one thing I always wish I had used with Lumoria and so many things would have been addressed more closely if we had used it.

Please keep in mind I also have my very own server machine running on my network using Windows Server 2008, so a few things might be a bit different if you attempt to run it on your own machine or on regular Windows. But the concepts are very similar.

What is a SVN? -

You can use an SVN to keep track of files and other data while collaborating with partners. No more sending files through Skype, Xfire, hosting them online, etc. They are all hosted on a repository, and each person connected to the repository also has all of the files locally on their machine.

By using an SVN, you can commit and update files. This way if a team member has made some changes to some files, he can simply commit the changes to the SVN and you can update your local copy so they match. Your files will always be up to date.

How do I set this up?

This is the complicated bit and takes a while. You will need at the very least two programs.

1. Visual SVN -> http://www.visualsvn.com/server/download/
2. Tortoise SVN -> http://tortoisesvn.net/downloads.html

Note*: I also recommend you use a different machine for hosting the files, as it will essentially become a dedicated computer for it. If you do this, you can also install Windows Server 2008, which allows you to create windows users with passwords and plenty of other complex options for control over the people who will be reaching your data. Lastly, by using a dedicated machine, every single time you commit your files you will essentially be creating two working copies of your files, one that your editing and one that is always backed up on the server. You can also use VisualSVN to create more backups of your files. Your files are also very much protected by being in repository and can't just be accessed normally through the normal Windows Explorer.

Once you have the two above programs installed, create a new Repository using Visual SVN. You can do this by right clicking Repository's in the tree view and selected "Create New Repository". Make sure to unclick create structure folders, as these are unnecessary for what we are trying to accomplish.

On your local normal machine that you will be doing general work on, you'll need to create a new folder (preferably something like "SVN"). Inside of that folder, you can make another folder with the same name as your repository you just made.

Right click your new folder and select "SVN Checkout". A dialog box will pop up asking for an IP path. Assuming this is on your own network, you'll need to use: https://192.168.1.111/svn/"repo name here". "repo name here" should be replaced with whatever name you gave your repository. If your setting this up for Halo, it might be tags, data, or something like HaloCE to contain both tags and data! (to connect by defualt to a linksys router, go to your web browser and type: 192.168.1.1. A dialog box should pop up for user/pass, just type admin for both and hit okay)

Note*: The 111 extension is created in your router. You'll also need to open some ports in your router/server as well that add to this, on both TCP and UDP. I used port range 443 for my server personally, which seems to work. I don't know a whole lot about port forwarding, but hey, it works!

Now that you have the repository synced to your local machine, you should also try and have a team member connect as well. You'll need to figure out your IP address for this, and itll be something along the lines of: https://ipaddresshere/svn/"repo name here"

If you set up Windows Server and added some windows users, they will also be most likely prompted with a username and password they must enter to continue.

Note*: You can create users in Windows Server 2008 by going to "Active Directory Users and Computers". You can set up administrators and regular users and manage accounts from that program. I won't go too in depth on this as this is not what the tutorial covers, however, I highly recommend setting up something like this for privacy and file protection. You can set up user names and passwords, so whenever anyone trys to connect to your server network, they will be halted with a dialog box asking for their credentials. It will also pop up in any web browser as well (you can view files online using Visual SVN!)

Once your new repo is set up, go ahead and put whatever files you want inside of there, then right click your folder we checked out and hit "SVN Commit". This will upload all the files to your repository! Thats it!

It might not seem like a lot but it can be to get set up. However, the results are extremely rewarding when used in these scenarios and can very much speed up the process of content creation. You can also use these kinds of servers for hosting things like a dedicated Halo server or Minecraft server for example, warranted that your internet connection is powerful enough to do so.

I hope this tutorial helps out people who are attempting or thinking about making the change to this type of file system, but don't know where to start or how it works. Or maybe you just got a good read out of it all!

--

Lastly, if I left any details out, please be sure to point them out. Or, if you have questions, feel free to ask me! You can also contact me more directly on any issues too at xfire (higuy5).
Edited by Higuy on Dec 9, 2013 at 10:36 PM
Edited by Higuy on Dec 9, 2013 at 10:40 PM


Slayer117
Joined: Oct 3, 2008

Host of CE3 2010-forever!


Posted: Dec 9, 2013 10:50 PM    Msg. 2 of 8       
So this is just like dropbox then?


Higuy
Joined: Mar 6, 2007

@lucasgovatos


Posted: Dec 9, 2013 10:52 PM    Msg. 3 of 8       
It's better than dropbox.

For example, you could make your tags folder a repository, have others connect to it and update their files and commit them too, and you'd never even send a file manually anywhere. All you have to do is commit and update your files. The sever keeps the most up to date files that have been committed between your group.


MatthewDratt
Joined: Sep 11, 2010

TAKEDOWN IS OUT MattDratt.com


Posted: Dec 9, 2013 10:55 PM    Msg. 4 of 8       
Quote: --- Original message by: Higuy
It's better than dropbox.

For example, you could make your tags folder a repository, have others connect to it and update their files and commit them too, and you'd never even send a file manually anywhere. All you have to do is commit and update your files. The sever keeps the most up to date files that have been committed between your group.


Like dropbox? Multiple people can share a DB account


renegade343
Joined: Jun 26, 2012

CE3 Stage Modeler, Editor, and Writer


Posted: Dec 10, 2013 12:48 AM    Msg. 5 of 8       
It's kinda like Dropbox.
But instead of hosting the files on a commercial cloud, you have control of the dedicated computer that'll manage all the files for your project.

It's easier to keep track of changes in each file for your project, to keep archives of your old content, and to add new members to your project.
(i.e. -you'd have to get your new collaborator's email, passwords etc. linked to your group Dropbox, but all they'd have to do for SVN is to access the server.)

Basically, it makes it a lot easier for developers to add and change files, and for new people to jump in or get the latest version of your files.

Gitorious (I call it "Git" sometimes) at https://gitorious.org/ is another good place that works like SVN servers, and it's easy to download new files, too.


NOTE: Higuy, what I described is actually how Git works, but I'm guessing SVNs work the same way. If I'm wrong, please go ahead and correct me. Thanks~
Edited by renegade343 on Dec 10, 2013 at 12:50 AM


Dumb AI
Joined: Sep 18, 2011

Dead.


Posted: Dec 10, 2013 10:13 AM    Msg. 6 of 8       
Quote: --- Original message by: Mootjuh
Would be convenient.. But what if you're working alone?

I suppose SVN could still be used as a storage place.


Higuy
Joined: Mar 6, 2007

@lucasgovatos


Posted: Dec 10, 2013 11:17 AM    Msg. 7 of 8       
It can still be used if your working by yourself. Like others said, its similar to "the cloud", as you can simply backup all your files on the server while you edit them locally. You can also connect to it over the internet as well, so if your out somewhere and want to check out the svn real quick, you can connect through an internet browser, and even dl files from it.


renegade343
Joined: Jun 26, 2012

CE3 Stage Modeler, Editor, and Writer


Posted: Dec 10, 2013 07:19 PM    Msg. 8 of 8       
If you've been following ChBgt, Jesse etc.'s recent projects, having problems that could be prevented by backing up data can even happen to the best of us.
It's always better to be safe and sorry, right? :P

(Plus, who knows? Even if you're working alone now, you might want to release everything you have from your archives one day -and this would make that a LOT easier)

 

 
Previous Older Thread    Next newer Thread







Time: Thu January 19, 2023 8:08 AM 141 ms.
A Halo Maps Website